Magestore_BannerSlider - Version 3.0.0

Version Notes

Magestore_BannerSlider

Download this release

Release Info

Developer Magestore
Extension Magestore_BannerSlider
Version 3.0.0
Comparing to
See all releases


Code changes from version 2.0.1 to 3.0.0

Files changed (270) hide show
  1. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Addbutton.php +49 -0
  2. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Banner.php +12 -0
  3. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Banner/Edit.php +38 -0
  4. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Banner/Edit/Form.php +22 -0
  5. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Banner/Edit/Tab/Form.php +195 -0
  6. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Banner/Edit/Tab/vssver2.scc +0 -0
  7. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Banner/Edit/Tabs.php +24 -0
  8. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Banner/Edit/vssver2.scc +0 -0
  9. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Banner/Grid.php +156 -0
  10. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Banner/vssver2.scc +0 -0
  11. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Bannerslider.php +34 -8
  12. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Bannerslider/Edit.php +63 -37
  13. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Bannerslider/Edit/Form.php +44 -13
  14. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Bannerslider/Edit/Tab/Categories.php +0 -56
  15. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Bannerslider/Edit/Tab/Content/Categories.php +77 -0
  16. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Bannerslider/Edit/Tab/Content/vssver2.scc +0 -0
  17. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Bannerslider/Edit/Tab/Custom.php +163 -0
  18. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Bannerslider/Edit/Tab/Form.php +492 -90
  19. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Bannerslider/Edit/Tab/vssver2.scc +0 -0
  20. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Bannerslider/Edit/Tabs.php +64 -25
  21. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Bannerslider/Edit/vssver2.scc +0 -0
  22. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Bannerslider/Grid.php +155 -101
  23. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Bannerslider/vssver2.scc +0 -0
  24. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Customjs.php +49 -0
  25. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Date.php +69 -0
  26. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Preview.php +16 -0
  27. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Renderer/Edit.php +14 -0
  28. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Renderer/Imagebanner.php +23 -0
  29. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Renderer/Imagereport.php +23 -0
  30. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Renderer/vssver2.scc +0 -0
  31. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Report.php +13 -0
  32. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Report/Banner/Grid.php +182 -0
  33. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Report/Banner/vssver2.scc +0 -0
  34. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Report/Grid.php +194 -0
  35. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Report/vssver2.scc +0 -0
  36. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Reportbanner.php +41 -0
  37. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Standardslider.php +39 -0
  38. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Standardslider/Grid.php +94 -0
  39. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Standardslider/vssver2.scc +0 -0
  40. app/code/community/Magestore/Bannerslider/Block/Adminhtml/System/Configuration/Implementcode.php +103 -0
  41. app/code/community/Magestore/Bannerslider/Block/Adminhtml/System/Configuration/vssver2.scc +0 -0
  42. app/code/community/Magestore/Bannerslider/Block/Adminhtml/vssver2.scc +0 -0
  43. app/code/community/Magestore/Bannerslider/Block/Bannerslider.php +54 -59
  44. app/code/community/Magestore/Bannerslider/Block/Default.php +135 -0
  45. app/code/community/Magestore/Bannerslider/Block/vssver2.scc +0 -0
  46. app/code/community/Magestore/Bannerslider/Helper/Data.php +467 -10
  47. app/code/community/Magestore/Bannerslider/Helper/vssver2.scc +0 -0
  48. app/code/community/Magestore/Bannerslider/Model/Banner.php +127 -0
  49. app/code/community/Magestore/Bannerslider/Model/Bannerslider.php +30 -5
  50. app/code/community/Magestore/Bannerslider/Model/Mysql4/Banner.php +58 -0
  51. app/code/community/Magestore/Bannerslider/Model/Mysql4/Banner/Collection.php +88 -0
  52. app/code/community/Magestore/Bannerslider/Model/Mysql4/Banner/vssver2.scc +0 -0
  53. app/code/community/Magestore/Bannerslider/Model/Mysql4/Bannerslider.php +29 -5
  54. app/code/community/Magestore/Bannerslider/Model/Mysql4/Bannerslider/Collection.php +30 -5
  55. app/code/community/Magestore/Bannerslider/Model/Mysql4/Bannerslider/vssver2.scc +0 -0
  56. app/code/community/Magestore/Bannerslider/Model/Mysql4/Report.php +34 -0
  57. app/code/community/Magestore/Bannerslider/Model/Mysql4/Report/Collection.php +35 -0
  58. app/code/community/Magestore/Bannerslider/Model/Mysql4/Report/vssver2.scc +0 -0
  59. app/code/community/Magestore/Bannerslider/Model/Mysql4/Value.php +34 -0
  60. app/code/community/Magestore/Bannerslider/Model/Mysql4/Value/Collection.php +35 -0
  61. app/code/community/Magestore/Bannerslider/Model/Mysql4/Value/vssver2.scc +0 -0
  62. app/code/community/Magestore/Bannerslider/Model/Mysql4/vssver2.scc +0 -0
  63. app/code/community/Magestore/Bannerslider/Model/Observer.php +40 -0
  64. app/code/community/Magestore/Bannerslider/Model/Report.php +18 -0
  65. app/code/community/Magestore/Bannerslider/Model/Select.php +27 -0
  66. app/code/community/Magestore/Bannerslider/Model/Source/Position.php +0 -11
  67. app/code/community/Magestore/Bannerslider/Model/Status.php +59 -14
  68. app/code/community/Magestore/Bannerslider/Model/System/Config/Styles.php +0 -15
  69. app/code/community/Magestore/Bannerslider/Model/Value.php +51 -0
  70. app/code/community/Magestore/Bannerslider/Model/vssver2.scc +0 -0
  71. app/code/community/Magestore/Bannerslider/controllers/Adminhtml/BannerController.php +244 -0
  72. app/code/community/Magestore/Bannerslider/controllers/Adminhtml/BannersliderController.php +277 -209
  73. app/code/community/Magestore/Bannerslider/controllers/Adminhtml/ReportController.php +105 -0
  74. app/code/community/Magestore/Bannerslider/controllers/Adminhtml/StandardsliderController.php +51 -0
  75. app/code/community/Magestore/Bannerslider/controllers/Adminhtml/vssver2.scc +0 -0
  76. app/code/community/Magestore/Bannerslider/controllers/IndexController.php +170 -44
  77. app/code/community/Magestore/Bannerslider/controllers/vssver2.scc +0 -0
  78. app/code/community/Magestore/Bannerslider/etc/adminhtml.xml +124 -40
  79. app/code/community/Magestore/Bannerslider/etc/config.xml +156 -103
  80. app/code/community/Magestore/Bannerslider/etc/system.xml +71 -78
  81. app/code/community/Magestore/Bannerslider/etc/vssver2.scc +0 -0
  82. app/code/community/Magestore/Bannerslider/sql/bannerslider_setup/mysql4-install-1.0.3.php +0 -24
  83. app/code/community/Magestore/Bannerslider/sql/bannerslider_setup/mysql4-install-2.0.0.php +0 -27
  84. app/code/community/Magestore/Bannerslider/sql/bannerslider_setup/mysql4-install-3.0.0.php +109 -0
  85. app/code/community/Magestore/Bannerslider/sql/bannerslider_setup/mysql4-upgrade-1.0.0-3.0.0.php +109 -0
  86. app/code/community/Magestore/Bannerslider/sql/bannerslider_setup/mysql4-upgrade-1.0.1-3.0.0.php +109 -0
  87. app/code/community/Magestore/Bannerslider/sql/bannerslider_setup/mysql4-upgrade-1.0.2-3.0.0.php +109 -0
  88. app/code/community/Magestore/Bannerslider/sql/bannerslider_setup/mysql4-upgrade-1.0.3-2.0.0.php +0 -16
  89. app/code/community/Magestore/Bannerslider/sql/bannerslider_setup/mysql4-upgrade-1.0.3-3.0.0.php +109 -0
  90. app/code/community/Magestore/Bannerslider/sql/bannerslider_setup/mysql4-upgrade-2.0.0-3.0.0.php +109 -0
  91. app/code/community/Magestore/Bannerslider/sql/bannerslider_setup/mysql4-upgrade-2.0.1-3.0.0.php +109 -0
  92. app/code/community/Magestore/Bannerslider/sql/bannerslider_setup/mysql4-upgrade-2.0.2-3.0.0.php +109 -0
  93. app/code/community/Magestore/Bannerslider/sql/bannerslider_setup/vssver2.scc +0 -0
  94. app/code/local/Magestore/Magenotification/Block/Adminhtml/Feedback.php +12 -0
  95. app/code/local/Magestore/Magenotification/Block/Adminhtml/Feedback/Edit.php +51 -0
  96. app/code/local/Magestore/Magenotification/Block/Adminhtml/Feedback/Edit/Form.php +19 -0
  97. app/code/local/Magestore/Magenotification/Block/Adminhtml/Feedback/Edit/Tab/Form.php +110 -0
  98. app/code/local/Magestore/Magenotification/Block/Adminhtml/Feedback/Edit/Tab/History.php +31 -0
  99. app/code/local/Magestore/Magenotification/Block/Adminhtml/Feedback/Edit/Tab/Message.php +28 -0
  100. app/code/local/Magestore/Magenotification/Block/Adminhtml/Feedback/Edit/Tabs.php +37 -0
  101. app/code/local/Magestore/Magenotification/Block/Adminhtml/Feedback/Grid.php +126 -0
  102. app/code/local/Magestore/Magenotification/Block/Adminhtml/Feedback/Renderer/File.php +34 -0
  103. app/code/local/Magestore/Magenotification/Block/Adminhtml/Feedback/Renderer/Product.php +10 -0
  104. app/code/local/Magestore/Magenotification/Block/Adminhtml/Feedback/Renderer/Sentstatus.php +14 -0
  105. app/code/local/Magestore/Magenotification/Block/Adminhtml/Feedback/Renderer/Status.php +22 -0
  106. app/code/local/Magestore/Magenotification/Block/Adminhtml/License/Purchaseform.php +15 -0
  107. app/code/local/Magestore/Magenotification/Block/Adminhtml/License/Updateform.php +39 -0
  108. app/code/local/Magestore/Magenotification/Block/Config/Extensionkeys.php +144 -0
  109. app/code/local/Magestore/Magenotification/Block/Config/Field.php +14 -0
  110. app/code/local/Magestore/Magenotification/Block/Config/Label.php +13 -0
  111. app/code/local/Magestore/Magenotification/Helper/Data.php +1 -0
  112. app/code/local/Magestore/Magenotification/Helper/Feedback.php +1 -0
  113. app/code/local/Magestore/Magenotification/Helper/License.php +1 -0
  114. app/code/local/Magestore/Magenotification/Model/Feedback.php +62 -0
  115. app/code/local/Magestore/Magenotification/Model/Feedbackmessage.php +49 -0
  116. app/code/local/Magestore/Magenotification/Model/Keygen.php +1 -0
  117. app/code/local/Magestore/Magenotification/Model/License.php +22 -0
  118. app/code/local/Magestore/Magenotification/Model/Logger.php +11 -0
  119. app/code/local/Magestore/Magenotification/Model/Magenotification.php +204 -0
  120. app/code/local/Magestore/Magenotification/Model/Mysql4/Feedback.php +9 -0
  121. app/code/local/Magestore/Magenotification/Model/Mysql4/Feedback/Collection.php +10 -0
  122. app/code/local/Magestore/Magenotification/Model/Mysql4/Feedbackmessage.php +9 -0
  123. app/code/local/Magestore/Magenotification/Model/Mysql4/Feedbackmessage/Collection.php +10 -0
  124. app/code/local/Magestore/Magenotification/Model/Mysql4/License.php +8 -0
  125. app/code/local/Magestore/Magenotification/Model/Mysql4/License/Collection.php +9 -0
  126. app/code/local/Magestore/Magenotification/Model/Mysql4/Logger.php +9 -0
  127. app/code/local/Magestore/Magenotification/Model/Mysql4/Logger/Collection.php +10 -0
  128. app/code/local/Magestore/Magenotification/Model/Mysql4/Magenotification.php +9 -0
  129. app/code/local/Magestore/Magenotification/Model/Mysql4/Magenotification/Collection.php +10 -0
  130. app/code/local/Magestore/Magenotification/Model/Observer.php +14 -0
  131. app/code/local/Magestore/Magenotification/Model/Source/Time.php +38 -0
  132. app/code/local/Magestore/Magenotification/Model/Status.php +15 -0
  133. app/code/local/Magestore/Magenotification/controllers/Adminhtml/FeedbackController.php +301 -0
  134. app/code/local/Magestore/Magenotification/controllers/Adminhtml/LicenseController.php +32 -0
  135. app/code/local/Magestore/Magenotification/controllers/Adminhtml/MagenotificationController.php +15 -0
  136. app/code/local/Magestore/Magenotification/etc/adminhtml.xml +72 -0
  137. app/code/local/Magestore/Magenotification/etc/config.xml +106 -0
  138. app/code/local/Magestore/Magenotification/etc/system.xml +120 -0
  139. app/code/local/Magestore/Magenotification/sql/magenotification_setup/mysql4-install-0.1.2.php +73 -0
  140. app/code/local/Magestore/Magenotification/sql/magenotification_setup/mysql4-upgrade-0.1.0-0.1.2.php +64 -0
  141. app/code/local/Magestore/Magenotification/sql/magenotification_setup/mysql4-upgrade-0.1.1-0.1.2.php +26 -0
  142. app/code/local/Magestore/Magenotification/sql/magenotification_setup/mysql4-upgrade-0.1.2-0.1.3.php +25 -0
  143. app/design/adminhtml/default/default/layout/bannerslider.xml +232 -2
  144. app/design/adminhtml/default/default/layout/magenotification.xml +16 -0
  145. app/design/adminhtml/default/default/template/bannerslider/addbanner.phtml +281 -0
  146. app/design/adminhtml/default/default/template/bannerslider/addbutton.phtml +36 -0
  147. app/design/adminhtml/default/default/template/bannerslider/categories.phtml +198 -170
  148. app/design/adminhtml/default/default/template/bannerslider/customjs.phtml +14 -0
  149. app/design/adminhtml/default/default/template/bannerslider/date.phtml +34 -0
  150. app/design/adminhtml/default/default/template/bannerslider/standardslider.phtml +623 -0
  151. app/design/adminhtml/default/default/template/bannerslider/vssver2.scc +0 -0
  152. app/design/adminhtml/default/default/template/magenotification/feedback/files.phtml +17 -0
  153. app/design/adminhtml/default/default/template/magenotification/feedback/history.phtml +31 -0
  154. app/design/adminhtml/default/default/template/magenotification/license/purchaseform.phtml +7 -0
  155. app/design/adminhtml/default/default/template/magenotification/license/updateform.phtml +41 -0
  156. app/design/frontend/base/default/layout/bannerslider.xml +842 -19
  157. app/design/frontend/base/default/template/bannerslider/bannerslider.phtml +110 -1124
  158. app/design/frontend/base/default/template/bannerslider/note.phtml +65 -0
  159. app/design/frontend/base/default/template/bannerslider/popup.phtml +47 -0
  160. app/design/frontend/base/default/template/bannerslider/slider1.phtml +44 -0
  161. app/design/frontend/base/default/template/bannerslider/slider10.phtml +47 -0
  162. app/design/frontend/base/default/template/bannerslider/slider2.phtml +48 -0
  163. app/design/frontend/base/default/template/bannerslider/slider3.phtml +48 -0
  164. app/design/frontend/base/default/template/bannerslider/slider4.phtml +49 -0
  165. app/design/frontend/base/default/template/bannerslider/slider5.phtml +0 -0
  166. app/design/frontend/base/default/template/bannerslider/slider6.phtml +0 -0
  167. app/design/frontend/base/default/template/bannerslider/slider7.phtml +44 -0
  168. app/design/frontend/base/default/template/bannerslider/slider8.phtml +47 -0
  169. app/design/frontend/base/default/template/bannerslider/slider9.phtml +70 -0
  170. app/design/frontend/base/default/template/bannerslider/view.phtml +0 -73
  171. app/design/frontend/base/default/template/bannerslider/vssver2.scc +0 -0
  172. app/etc/modules/Magestore_Bannerslider.xml +28 -7
  173. app/etc/modules/Magestore_Magenotification.xml +9 -0
  174. app/locale/en_US/Magestore_Bannerslider.csv +0 -0
  175. js/magestore/bannerslider/banner1.js +0 -159
  176. js/magestore/bannerslider/banner3.js +0 -52
  177. js/magestore/bannerslider/coda-slider.1.1.1.pack.js +0 -7
  178. js/magestore/bannerslider/images/arrow.png +0 -0
  179. js/magestore/bannerslider/images/close-button.png +0 -0
  180. js/magestore/bannerslider/images/vssver2.scc +0 -0
  181. js/magestore/bannerslider/jquery-1.4.2.min.js +0 -154
  182. js/magestore/bannerslider/jquery-1.7.min.js +4 -0
  183. js/magestore/bannerslider/jquery-easing-1.3.pack.js +0 -73
  184. js/magestore/bannerslider/jquery-easing-compatibility.1.2.pack.js +0 -11
  185. js/magestore/bannerslider/jquery.ads.note.css +163 -0
  186. js/magestore/bannerslider/jquery.ads.note.js +243 -0
  187. js/magestore/bannerslider/jquery.flexslider.js +903 -0
  188. js/magestore/bannerslider/jquery.slider.css +421 -0
  189. js/magestore/bannerslider/lightbox.js +80 -0
  190. js/magestore/bannerslider/prototip.js +22 -0
  191. js/magestore/bannerslider/slider1/jquery.slider.min.js +828 -0
  192. js/magestore/bannerslider/slider1/vssver2.scc +0 -0
  193. js/magestore/bannerslider/tooltip.js +212 -0
  194. js/magestore/bannerslider/vssver2.scc +0 -0
  195. media/bannerslider/bannerslider-ex1.png +0 -0
  196. media/bannerslider/bannerslider-ex2.png +0 -0
  197. media/bannerslider/bannerslider-ex3.png +0 -0
  198. media/bannerslider/bannerslider-ex4.PNG +0 -0
  199. media/bannerslider/bannerslider-ex5.PNG +0 -0
  200. media/bannerslider/vssver2.scc +0 -0
  201. package.xml +10 -10
  202. skin/adminhtml/default/default/css/magestore/bannerslider/default.css +40 -0
  203. skin/adminhtml/default/default/css/magestore/bannerslider/flexslider.css +76 -0
  204. skin/adminhtml/default/default/css/magestore/bannerslider/image/arrow-left.png +0 -0
  205. skin/adminhtml/default/default/css/magestore/bannerslider/image/arrow-pause.png +0 -0
  206. skin/adminhtml/default/default/css/magestore/bannerslider/image/arrow-play.png +0 -0
  207. skin/adminhtml/default/default/css/magestore/bannerslider/image/arrow-right.png +0 -0
  208. skin/adminhtml/default/default/css/magestore/bannerslider/image/bg_direction_nav.png +0 -0
  209. skin/adminhtml/default/default/css/magestore/bannerslider/image/close-tiny.png +0 -0
  210. skin/adminhtml/default/default/css/magestore/bannerslider/image/close.png +0 -0
  211. skin/adminhtml/default/default/css/magestore/bannerslider/image/cs_leftImg.jpg +0 -0
  212. skin/adminhtml/default/default/css/magestore/bannerslider/image/cs_rightImg.jpg +0 -0
  213. skin/adminhtml/default/default/css/magestore/bannerslider/image/demo/kitchen_adventurer_caramel.jpg +0 -0
  214. skin/adminhtml/default/default/css/magestore/bannerslider/image/demo/kitchen_adventurer_cheesecake_brownie.jpg +0 -0
  215. skin/adminhtml/default/default/css/magestore/bannerslider/image/demo/kitchen_adventurer_donut.jpg +0 -0
  216. skin/adminhtml/default/default/css/magestore/bannerslider/image/demo/kitchen_adventurer_lemon.jpg +0 -0
  217. skin/adminhtml/default/default/css/magestore/bannerslider/image/demo/logo.png +0 -0
  218. skin/adminhtml/default/default/css/magestore/bannerslider/image/demo/vssver2.scc +0 -0
  219. skin/adminhtml/default/default/css/magestore/bannerslider/image/slide1/jquery-slider-rotator-left.png +0 -0
  220. skin/adminhtml/default/default/css/magestore/bannerslider/image/slide1/jquery-slider-rotator-right.png +0 -0
  221. skin/adminhtml/default/default/css/magestore/bannerslider/image/slide1/jquery-slider-theme.png +0 -0
  222. skin/adminhtml/default/default/css/magestore/bannerslider/image/slide1/vssver2.scc +0 -0
  223. skin/adminhtml/default/default/css/magestore/bannerslider/image/slide2/jquery-slider-theme.png +0 -0
  224. skin/adminhtml/default/default/css/magestore/bannerslider/image/slide2/vssver2.scc +0 -0
  225. skin/adminhtml/default/default/css/magestore/bannerslider/image/slide3/jquery-slider-theme.png +0 -0
  226. skin/adminhtml/default/default/css/magestore/bannerslider/image/slide3/vssver2.scc +0 -0
  227. skin/adminhtml/default/default/css/magestore/bannerslider/image/slide4/jquery-slider-theme.png +0 -0
  228. skin/adminhtml/default/default/css/magestore/bannerslider/image/slide4/vssver2.scc +0 -0
  229. skin/adminhtml/default/default/css/magestore/bannerslider/image/vssver2.scc +0 -0
  230. skin/adminhtml/default/default/css/magestore/bannerslider/jquery.ennui.contentslider.css +128 -0
  231. skin/adminhtml/default/default/css/magestore/bannerslider/slider1.css +194 -0
  232. skin/adminhtml/default/default/css/magestore/bannerslider/slider2.css +183 -0
  233. skin/adminhtml/default/default/css/magestore/bannerslider/slider3.css +422 -0
  234. skin/adminhtml/default/default/css/magestore/bannerslider/slider4.css +214 -0
  235. skin/adminhtml/default/default/css/magestore/bannerslider/vssver2.scc +0 -0
  236. skin/adminhtml/default/default/css/magestore/inventory.css +10 -0
  237. skin/adminhtml/default/default/css/magestore/magenotification.css +1 -0
  238. skin/adminhtml/default/default/css/magestore/notice_price.gif +0 -0
  239. skin/adminhtml/default/default/css/tinybox/images/Thumbs.db +0 -0
  240. skin/frontend/base/default/css/magestore/bannerslider/flexslider.css +76 -0
  241. skin/frontend/base/default/css/magestore/bannerslider/image/arrow-left.png +0 -0
  242. skin/frontend/base/default/css/magestore/bannerslider/image/arrow-pause.png +0 -0
  243. skin/frontend/base/default/css/magestore/bannerslider/image/arrow-play.png +0 -0
  244. skin/frontend/base/default/css/magestore/bannerslider/image/arrow-right.png +0 -0
  245. skin/frontend/base/default/css/magestore/bannerslider/image/bg_direction_nav.png +0 -0
  246. skin/frontend/base/default/css/magestore/bannerslider/image/close-tiny.png +0 -0
  247. skin/frontend/base/default/css/magestore/bannerslider/image/close.png +0 -0
  248. skin/frontend/base/default/css/magestore/bannerslider/image/cs_leftImg.jpg +0 -0
  249. skin/frontend/base/default/css/magestore/bannerslider/image/cs_rightImg.jpg +0 -0
  250. skin/frontend/base/default/css/magestore/bannerslider/image/note.png +0 -0
  251. skin/frontend/base/default/css/magestore/bannerslider/image/note2.png +0 -0
  252. skin/frontend/base/default/css/magestore/bannerslider/image/slide1/jquery-slider-rotator-left.png +0 -0
  253. skin/frontend/base/default/css/magestore/bannerslider/image/slide1/jquery-slider-rotator-right.png +0 -0
  254. skin/frontend/base/default/css/magestore/bannerslider/image/slide1/jquery-slider-theme.png +0 -0
  255. skin/frontend/base/default/css/magestore/bannerslider/image/slide1/vssver2.scc +0 -0
  256. skin/frontend/base/default/css/magestore/bannerslider/image/slide2/jquery-slider-theme.png +0 -0
  257. skin/frontend/base/default/css/magestore/bannerslider/image/slide2/vssver2.scc +0 -0
  258. skin/frontend/base/default/css/magestore/bannerslider/image/slide3/jquery-slider-theme.png +0 -0
  259. skin/frontend/base/default/css/magestore/bannerslider/image/slide3/vssver2.scc +0 -0
  260. skin/frontend/base/default/css/magestore/bannerslider/image/slide4/jquery-slider-theme.png +0 -0
  261. skin/frontend/base/default/css/magestore/bannerslider/image/slide4/vssver2.scc +0 -0
  262. skin/frontend/base/default/css/magestore/bannerslider/image/vssver2.scc +0 -0
  263. skin/frontend/base/default/css/magestore/bannerslider/note.css +40 -0
  264. skin/frontend/base/default/css/magestore/bannerslider/popup.css +30 -0
  265. skin/frontend/base/default/css/magestore/bannerslider/slider1.css +193 -0
  266. skin/frontend/base/default/css/magestore/bannerslider/slider2.css +182 -0
  267. skin/frontend/base/default/css/magestore/bannerslider/slider3.css +421 -0
  268. skin/frontend/base/default/css/magestore/bannerslider/slider4.css +213 -0
  269. skin/frontend/base/default/css/magestore/bannerslider/vssver2.scc +0 -0
  270. skin/frontend/default/default/banner/ajaxtabs.js +0 -96
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Addbutton.php ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Magestore
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Magestore.com license that is
9
+ * available through the world-wide-web at this URL:
10
+ * http://www.magestore.com/license-agreement.html
11
+ *
12
+ * DISCLAIMER
13
+ *
14
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
15
+ * version in the future.
16
+ *
17
+ * @category Magestore
18
+ * @package Magestore_Storelocator
19
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
20
+ * @license http://www.magestore.com/license-agreement.html
21
+ */
22
+
23
+ /**
24
+ * Storelocator Block
25
+ *
26
+ * @category Magestore
27
+ * @package Magestore_Bannerslider
28
+ * @author Magestore Developer
29
+ */
30
+ class Magestore_Bannerslider_Block_Adminhtml_Addbutton extends Mage_Core_Block_Template {
31
+
32
+ /**
33
+ * prepare block's layout
34
+ *
35
+ * @return Magestore_Bannerslider_Block_Adminhtml_Addbutton
36
+ */
37
+ public function _prepareLayout() {
38
+ return parent::_prepareLayout();
39
+ }
40
+
41
+ public function getUrlAddBanner(){
42
+ $url = Mage::getSingleton('adminhtml/url')->getUrl('bannerslideradmin/adminhtml_banner/addin');
43
+ return $url.'sliderid/'.$this->getRequest()->getParam('id');
44
+ }
45
+
46
+ public function getBanner($id){
47
+ return Mage::getModel('bannerslider/banner')->load($id);
48
+ }
49
+ }
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Banner.php ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Magestore_Bannerslider_Block_Adminhtml_Banner extends Mage_Adminhtml_Block_Widget_Grid_Container
3
+ {
4
+ public function __construct()
5
+ {
6
+ $this->_controller = 'adminhtml_banner';
7
+ $this->_blockGroup = 'bannerslider';
8
+ $this->_headerText = Mage::helper('bannerslider')->__('Banner Manager');
9
+ $this->_addButtonLabel = Mage::helper('bannerslider')->__('Add Banner');
10
+ parent::__construct();
11
+ }
12
+ }
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Banner/Edit.php ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Bannerslider_Block_Adminhtml_Banner_Edit extends Mage_Adminhtml_Block_Widget_Form_Container
4
+ {
5
+ public function __construct()
6
+ {
7
+ parent::__construct();
8
+
9
+ $this->_objectId = 'id';
10
+ $this->_blockGroup = 'bannerslider';
11
+ $this->_controller = 'adminhtml_banner';
12
+
13
+ $this->_updateButton('save', 'label', Mage::helper('bannerslider')->__('Save Banner'));
14
+ $this->_updateButton('delete', 'label', Mage::helper('bannerslider')->__('Delete Banner'));
15
+
16
+ $this->_addButton('saveandcontinue', array(
17
+ 'label' => Mage::helper('adminhtml')->__('Save And Continue Edit'),
18
+ 'onclick' => 'saveAndContinueEdit()',
19
+ 'class' => 'save',
20
+ ), -100);
21
+
22
+ $this->_formScripts[] = "
23
+
24
+ function saveAndContinueEdit(){
25
+ editForm.submit($('edit_form').action+'back/edit/');
26
+ }
27
+ ";
28
+ }
29
+
30
+ public function getHeaderText()
31
+ {
32
+ if( Mage::registry('banner_data') && Mage::registry('banner_data')->getId() ) {
33
+ return Mage::helper('bannerslider')->__("Edit Banner '%s'", $this->htmlEscape(Mage::registry('banner_data')->getName()));
34
+ } else {
35
+ return Mage::helper('bannerslider')->__('Add Banner');
36
+ }
37
+ }
38
+ }
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Banner/Edit/Form.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Bannerslider_Block_Adminhtml_Banner_Edit_Form extends Mage_Adminhtml_Block_Widget_Form
4
+ {
5
+ protected function _prepareForm()
6
+ {
7
+ $form = new Varien_Data_Form(array(
8
+ 'id' => 'edit_form',
9
+ 'action' => $this->getUrl('*/*/save',
10
+ array('id' => $this->getRequest()->getParam('id'),
11
+ 'store' => $this->getRequest()->getParam('store'),
12
+ )),
13
+ 'method' => 'post',
14
+ 'enctype' => 'multipart/form-data'
15
+ )
16
+ );
17
+
18
+ $form->setUseContainer(true);
19
+ $this->setForm($form);
20
+ return parent::_prepareForm();
21
+ }
22
+ }
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Banner/Edit/Tab/Form.php ADDED
@@ -0,0 +1,195 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Bannerslider_Block_Adminhtml_Banner_Edit_Tab_Form extends Mage_Adminhtml_Block_Widget_Form {
4
+
5
+ protected function _prepareForm() {
6
+ $form = new Varien_Data_Form();
7
+ $this->setForm($form);
8
+
9
+ $dataObj = new Varien_Object(
10
+ array(
11
+ 'store_id' => '',
12
+ 'name_in_store' => '',
13
+ 'status_in_store' => '',
14
+ 'click_url_in_store' => '',
15
+ )
16
+ );
17
+ if (Mage::getSingleton('adminhtml/session')->getBannerData()) {
18
+ $data = Mage::getSingleton('adminhtml/session')->getBannerData();
19
+ Mage::getSingleton('adminhtml/session')->setBannerData(null);
20
+ } elseif (Mage::registry('banner_data'))
21
+ $data = Mage::registry('banner_data')->getData();
22
+
23
+ if (isset($data)) {
24
+ $dataObj->addData($data);
25
+ }
26
+ $data = $dataObj->getData();
27
+ $inStore = $this->getRequest()->getParam('store');
28
+ $defaultLabel = Mage::helper('bannerslider')->__('Use Default');
29
+ $defaultTitle = Mage::helper('bannerslider')->__('-- Please Select --');
30
+ $scopeLabel = Mage::helper('bannerslider')->__('STORE VIEW');
31
+
32
+ $wysiwygConfig = Mage::getSingleton('cms/wysiwyg_config')->getConfig();
33
+ $wysiwygConfig->addData(array(
34
+ 'add_variables' => false,
35
+ 'plugins' => array(),
36
+ 'widget_window_url' => Mage::getSingleton('adminhtml/url')->getUrl('adminhtml/widget/index'),
37
+ 'directives_url' => Mage::getSingleton('adminhtml/url')->getUrl('adminhtml/cms_wysiwyg/directive'),
38
+ 'directives_url_quoted' => preg_quote(Mage::getSingleton('adminhtml/url')->getUrl('adminhtml/cms_wysiwyg/directive')),
39
+ 'files_browser_window_url' => Mage::getSingleton('adminhtml/url')->getUrl('adminhtml/cms_wysiwyg_images/index'),
40
+ ));
41
+
42
+ $fieldset = $form->addFieldset('banner_form', array('legend' => Mage::helper('bannerslider')->__('Banner information')));
43
+
44
+ $image_calendar = Mage::getBaseUrl('skin') . 'adminhtml/default/default/images/grid-cal.gif';
45
+
46
+ $fieldset->addField('name', 'text', array(
47
+ 'label' => Mage::helper('bannerslider')->__('Name'),
48
+ 'class' => 'required-entry',
49
+ 'required' => true,
50
+ 'name' => 'name',
51
+ 'disabled' => ($inStore && !$data['name_in_store']),
52
+ 'after_element_html' => $inStore ? '</td><td class="use-default">
53
+ <input id="name_default" name="name_default" type="checkbox" value="1" class="checkbox config-inherit" ' . ($data['name_in_store'] ? '' : 'checked="checked"') . ' onclick="toggleValueElements(this, Element.previous(this.parentNode))" />
54
+ <label for="name_default" class="inherit" title="' . $defaultTitle . '">' . $defaultLabel . '</label>
55
+ </td><td class="scope-label">
56
+ [' . $scopeLabel . ']
57
+ ' : '</td><td class="scope-label">
58
+ [' . $scopeLabel . ']',
59
+ ));
60
+
61
+ $fieldset->addField('status', 'select', array(
62
+ 'label' => Mage::helper('bannerslider')->__('Status'),
63
+ 'name' => 'status',
64
+ 'values' => array(
65
+ array(
66
+ 'value' => 0,
67
+ 'label' => Mage::helper('bannerslider')->__('Enabled'),
68
+ ),
69
+ array(
70
+ 'value' => 1,
71
+ 'label' => Mage::helper('bannerslider')->__('Disabled'),
72
+ ),
73
+ ),
74
+ 'disabled' => ($inStore && !$data['status_in_store']),
75
+ 'after_element_html' => $inStore ? '</td><td class="use-default">
76
+ <input id="status_default" name="status_default" type="checkbox" value="1" class="checkbox config-inherit" ' . ($data['status_in_store'] ? '' : 'checked="checked"') . ' onclick="toggleValueElements(this, Element.previous(this.parentNode))" />
77
+ <label for="status_default" class="inherit" title="' . $defaultTitle . '">' . $defaultLabel . '</label>
78
+ </td><td class="scope-label">
79
+ [' . $scopeLabel . ']
80
+ ' : '</td><td class="scope-label">
81
+ [' . $scopeLabel . ']',
82
+ ));
83
+ if ($this->getRequest()->getParam('id') || count(Mage::helper('bannerslider')->getOptionSliderId()) > 1){
84
+ $fieldset->addField('bannerslider_id', 'select', array(
85
+ 'label' => Mage::helper('bannerslider')->__('Slider'),
86
+ 'name' => 'bannerslider_id',
87
+ 'values' => Mage::helper('bannerslider')->getOptionSliderId(),
88
+ ));
89
+ }
90
+
91
+ $fieldset->addField('image_alt', 'text', array(
92
+ 'label' => Mage::helper('bannerslider')->__('Alt Text'),
93
+ 'name' => 'image_alt',
94
+ 'note' => 'Used for SEO',
95
+ ));
96
+
97
+ $fieldset->addField('click_url', 'text', array(
98
+ 'label' => Mage::helper('bannerslider')->__('URL'),
99
+ 'required' => false,
100
+ 'name' => 'click_url',
101
+ 'disabled' => ($inStore && !$data['click_url_in_store']),
102
+ 'after_element_html' => $inStore ? '</td><td class="use-default">
103
+ <input id="click_url_default" name="click_url_default" type="checkbox" value="1" class="checkbox config-inherit" ' . ($data['click_url_in_store'] ? '' : 'checked="checked"') . ' onclick="toggleValueElements(this, Element.previous(this.parentNode))" />
104
+ <label for="click_url_default" class="inherit" title="' . $defaultTitle . '">' . $defaultLabel . '</label>
105
+ </td><td class="scope-label">
106
+ [' . $scopeLabel . ']
107
+ ' : '</td><td class="scope-label">
108
+ [' . $scopeLabel . ']',
109
+ ));
110
+
111
+ // $fieldset->addField('clicktotal', 'text', array(
112
+ // 'label' => Mage::helper('bannerslider')->__('Click Total'),
113
+ // 'required' => false,
114
+ // 'readonly' => 'readonly',
115
+ // 'name' => 'clicktotal',
116
+ // ));
117
+
118
+ // $fieldset->addField('imptotal', 'text', array(
119
+ // 'label' => Mage::helper('bannerslider')->__('Impression Total'),
120
+ // 'required' => false,
121
+ // 'readonly' => 'readonly',
122
+ // 'name' => 'imptotal',
123
+ // ));
124
+ if (isset($data['image']) && $data['image']) {
125
+ $imageName = Mage::helper('bannerslider')->reImageName($data['image']);
126
+ $data['image'] = 'bannerslider' . '/' . $imageName;
127
+ }
128
+ $fieldset->addField('image', 'image', array(
129
+ 'label' => Mage::helper('bannerslider')->__('Banner Image'),
130
+ 'required' => false,
131
+ 'name' => 'image',
132
+ ));
133
+ $fieldset->addField('start_time', 'date', array(
134
+ 'label' => Mage::helper('bannerslider')->__('Start date'),
135
+ 'format' => 'yyyy-MM-dd',
136
+ 'required' => true,
137
+ 'image' => $image_calendar,
138
+ 'name' => 'start_time',
139
+ 'time' => true
140
+ ));
141
+
142
+ $fieldset->addField('end_time', 'date', array(
143
+ 'label' => Mage::helper('bannerslider')->__('End date'),
144
+ 'format' =>'yyyy-MM-dd',
145
+ 'required' => true,
146
+ 'image' => $image_calendar,
147
+ 'name' => 'end_time',
148
+ 'time' => true
149
+ ));
150
+
151
+ // $fieldset->addField('width', 'text', array(
152
+ // 'label' => Mage::helper('bannerslider')->__('Width(px)'),
153
+ // 'required' => false,
154
+ // 'name' => 'width',
155
+ // ));
156
+ //
157
+ // $fieldset->addField('height', 'text', array(
158
+ // 'label' => Mage::helper('bannerslider')->__('Height(px)'),
159
+ // 'required' => false,
160
+ // 'name' => 'height',
161
+ // ));
162
+
163
+ $fieldset->addField('tartget', 'select', array(
164
+ 'label' => Mage::helper('bannerslider')->__('Target'),
165
+ 'class' => 'required-entry',
166
+ 'name' => 'tartget',
167
+ 'values' => array(
168
+ array(
169
+ 'value' => 2,
170
+ 'label' => Mage::helper('bannerslider')->__('New Window without Browser Navigation'),
171
+ ),
172
+ array(
173
+ 'value' => 0,
174
+ 'label' => Mage::helper('bannerslider')->__('New Window with Browser Navigation'),
175
+ ),
176
+ array(
177
+ 'value' => 1,
178
+ 'label' => Mage::helper('bannerslider')->__('Parent Window with Browser Navigation'),
179
+ ),
180
+ ),
181
+ ));
182
+ $form->setValues($data);
183
+
184
+ return parent::_prepareForm();
185
+ }
186
+
187
+ protected function _prepareLayout() {
188
+ $return = parent::_prepareLayout();
189
+ if (Mage::getSingleton('cms/wysiwyg_config')->isEnabled()) {
190
+ $this->getLayout()->getBlock('head')->setCanLoadTinyMce(true);
191
+ }
192
+ return $return;
193
+ }
194
+
195
+ }
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Banner/Edit/Tab/vssver2.scc ADDED
Binary file
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Banner/Edit/Tabs.php ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Bannerslider_Block_Adminhtml_Banner_Edit_Tabs extends Mage_Adminhtml_Block_Widget_Tabs
4
+ {
5
+
6
+ public function __construct()
7
+ {
8
+ parent::__construct();
9
+ $this->setId('banner_tabs');
10
+ $this->setDestElementId('edit_form');
11
+ $this->setTitle(Mage::helper('bannerslider')->__('Banner Manager'));
12
+ }
13
+
14
+ protected function _beforeToHtml()
15
+ {
16
+ $this->addTab('form_section', array(
17
+ 'label' => Mage::helper('bannerslider')->__('Banner Information'),
18
+ 'title' => Mage::helper('bannerslider')->__('Banner Information'),
19
+ 'content' => $this->getLayout()->createBlock('bannerslider/adminhtml_banner_edit_tab_form')->toHtml(),
20
+ ));
21
+
22
+ return parent::_beforeToHtml();
23
+ }
24
+ }
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Banner/Edit/vssver2.scc ADDED
Binary file
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Banner/Grid.php ADDED
@@ -0,0 +1,156 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Bannerslider_Block_Adminhtml_Banner_Grid extends Mage_Adminhtml_Block_Widget_Grid {
4
+
5
+ public function __construct() {
6
+ parent::__construct();
7
+ $this->setId('bannerGrid');
8
+ $this->setDefaultSort('banner_id');
9
+ $this->setDefaultDir('ASC');
10
+ $this->setSaveParametersInSession(true);
11
+ }
12
+
13
+ protected function _prepareCollection() {
14
+ $storeId = $this->getRequest()->getParam('store');
15
+ $collection = Mage::getModel('bannerslider/banner')->getCollection()->setStoreId($storeId);
16
+
17
+ $collection->getSelect()->joinLeft(array('table_alias' => $collection->getTable('bannerslider/bannerslider')), 'main_table.bannerslider_id = table_alias.bannerslider_id', array('bannerslider_title' => 'table_alias.title'));
18
+ $this->setCollection($collection);
19
+ return parent::_prepareCollection();
20
+ }
21
+
22
+ protected function _prepareColumns() {
23
+ $this->addColumn('banner_id', array(
24
+ 'header' => Mage::helper('bannerslider')->__('ID'),
25
+ 'align' => 'right',
26
+ 'width' => '50px',
27
+ 'filter_index' => 'main_table.banner_id',
28
+ 'index' => 'banner_id',
29
+ ));
30
+
31
+ $this->addColumn('name', array(
32
+ 'header' => Mage::helper('bannerslider')->__('Name'),
33
+ 'align' => 'left',
34
+ 'width' => '100px',
35
+ 'index' => 'name',
36
+ ));
37
+
38
+ $this->addColumn('click_url', array(
39
+ 'header' => Mage::helper('bannerslider')->__('URL'),
40
+ 'align' => 'left',
41
+ 'index' => 'click_url',
42
+ ));
43
+
44
+ $this->addColumn('bannerslider_title', array(
45
+ 'header' => Mage::helper('bannerslider')->__('Slider'),
46
+ 'align' => 'left',
47
+ 'filter_index' => 'table_alias.title',
48
+ 'index' => 'bannerslider_title',
49
+ ));
50
+ // $this->addColumn('banner_click', array(
51
+ // 'header' => Mage::helper('bannerslider')->__('Click Total'),
52
+ // 'align' => 'left',
53
+ // 'index' => 'banner_click',
54
+ // ));
55
+ //
56
+ // $this->addColumn('banner_impress', array(
57
+ // 'header' => Mage::helper('bannerslider')->__('Impression Total'),
58
+ // 'align' => 'left',
59
+ // 'index' => 'banner_impress',
60
+ // ));
61
+ $this->addColumn('start_time', array(
62
+ 'header' => Mage::helper('bannerslider')->__('Start Date'),
63
+ 'align' => 'left',
64
+ 'type' => 'datetime',
65
+ 'index' => 'start_time',
66
+ ));
67
+
68
+ $this->addColumn('end_time', array(
69
+ 'header' => Mage::helper('bannerslider')->__('End Date'),
70
+ 'align' => 'left',
71
+ 'type' => 'datetime',
72
+ 'index' => 'end_time',
73
+ ));
74
+
75
+
76
+ $this->addColumn('status', array(
77
+ 'header' => Mage::helper('bannerslider')->__('Status'),
78
+ 'align' => 'left',
79
+ 'width' => '80px',
80
+ 'filter_index' => 'main_table.status',
81
+ 'index' => 'status',
82
+ 'type' => 'options',
83
+ 'options' => array(
84
+ 0 => 'Enabled',
85
+ 1 => 'Disabled',
86
+ ),
87
+ ));
88
+
89
+ $this->addColumn('action', array(
90
+ 'header' => Mage::helper('bannerslider')->__('Action'),
91
+ 'width' => '50px',
92
+ 'type' => 'action',
93
+ 'getter' => 'getId',
94
+ 'actions' => array(
95
+ array(
96
+ 'caption' => Mage::helper('bannerslider')->__('Edit'),
97
+ 'url' => array('base' => '*/*/edit'),
98
+ 'field' => 'id'
99
+ )
100
+ ),
101
+ 'filter' => false,
102
+ 'sortable' => false,
103
+ 'index' => 'stores',
104
+ 'is_system' => true,
105
+ ));
106
+ $this->addColumn('imagename', array(
107
+ 'header' => Mage::helper('bannerslider')->__('Image'),
108
+ 'align' => 'center',
109
+ 'width' => '70px',
110
+ 'index' => 'imagename',
111
+ 'renderer' => 'bannerslider/adminhtml_renderer_imagebanner'
112
+ ));
113
+
114
+ $this->addExportType('*/*/exportCsv', Mage::helper('bannerslider')->__('CSV'));
115
+ $this->addExportType('*/*/exportXml', Mage::helper('bannerslider')->__('XML'));
116
+
117
+ return parent::_prepareColumns();
118
+ }
119
+
120
+ protected function _prepareMassaction() {
121
+ $this->setMassactionIdField('id');
122
+ $this->getMassactionBlock()->setFormFieldName('banner');
123
+
124
+ $this->getMassactionBlock()->addItem('delete', array(
125
+ 'label' => Mage::helper('bannerslider')->__('Delete'),
126
+ 'url' => $this->getUrl('*/*/massDelete'),
127
+ 'confirm' => Mage::helper('bannerslider')->__('Are you sure?')
128
+ ));
129
+
130
+ $statuses = Mage::getSingleton('bannerslider/status')->getOptionArray();
131
+
132
+ array_unshift($statuses, array('label' => '', 'value' => ''));
133
+ $this->getMassactionBlock()->addItem('status', array(
134
+ 'label' => Mage::helper('bannerslider')->__('Change status'),
135
+ 'url' => $this->getUrl('*/*/massStatus', array('_current' => true)),
136
+ 'additional' => array(
137
+ 'visibility' => array(
138
+ 'name' => 'status',
139
+ 'type' => 'select',
140
+ 'class' => 'required-entry',
141
+ 'label' => Mage::helper('bannerslider')->__('Status'),
142
+ 'values' => array(
143
+ 0 => 'Enabled',
144
+ 1 => 'Disabled',
145
+ )
146
+ )
147
+ )
148
+ ));
149
+ return $this;
150
+ }
151
+
152
+ public function getRowUrl($row) {
153
+ return $this->getUrl('*/*/edit', array('id' => $row->getId(), 'store' => $this->getRequest()->getParam('store')));
154
+ }
155
+
156
+ }
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Banner/vssver2.scc ADDED
Binary file
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Bannerslider.php CHANGED
@@ -1,12 +1,38 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  class Magestore_Bannerslider_Block_Adminhtml_Bannerslider extends Mage_Adminhtml_Block_Widget_Grid_Container
3
  {
4
- public function __construct()
5
- {
6
- $this->_controller = 'adminhtml_bannerslider';
7
- $this->_blockGroup = 'bannerslider';
8
- $this->_headerText = Mage::helper('bannerslider')->__('Banner Manager');
9
- $this->_addButtonLabel = Mage::helper('bannerslider')->__('Add Banner');
10
- parent::__construct();
11
- }
12
  }
1
  <?php
2
+ /**
3
+ * Magestore
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magestore.com license that is
8
+ * available through the world-wide-web at this URL:
9
+ * http://www.magestore.com/license-agreement.html
10
+ *
11
+ * DISCLAIMER
12
+ *
13
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
14
+ * version in the future.
15
+ *
16
+ * @category Magestore
17
+ * @package Magestore_Bannerslider
18
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
19
+ * @license http://www.magestore.com/license-agreement.html
20
+ */
21
+
22
+ /**
23
+ * Bannerslider Adminhtml Block
24
+ *
25
+ * @category Magestore
26
+ * @package Magestore_Bannerslider
27
+ * @author Magestore Developer
28
+ */
29
  class Magestore_Bannerslider_Block_Adminhtml_Bannerslider extends Mage_Adminhtml_Block_Widget_Grid_Container
30
  {
31
+ public function __construct(){
32
+ $this->_controller = 'adminhtml_bannerslider';
33
+ $this->_blockGroup = 'bannerslider';
34
+ $this->_headerText = Mage::helper('bannerslider')->__('Slider Manager');
35
+ $this->_addButtonLabel = Mage::helper('bannerslider')->__('Add Slider');
36
+ parent::__construct();
37
+ }
 
38
  }
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Bannerslider/Edit.php CHANGED
@@ -1,45 +1,71 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
 
 
 
 
 
 
 
 
3
  class Magestore_Bannerslider_Block_Adminhtml_Bannerslider_Edit extends Mage_Adminhtml_Block_Widget_Form_Container
4
  {
5
- public function __construct()
6
- {
7
- parent::__construct();
8
-
9
- $this->_objectId = 'id';
10
- $this->_blockGroup = 'bannerslider';
11
- $this->_controller = 'adminhtml_bannerslider';
12
-
13
- $this->_updateButton('save', 'label', Mage::helper('bannerslider')->__('Save Banner'));
14
- $this->_updateButton('delete', 'label', Mage::helper('bannerslider')->__('Delete Banner'));
15
 
16
- $this->_addButton('saveandcontinue', array(
17
- 'label' => Mage::helper('adminhtml')->__('Save And Continue Edit'),
18
- 'onclick' => 'saveAndContinueEdit()',
19
- 'class' => 'save',
20
- ), -100);
21
-
22
- $this->_formScripts[] = "
23
- function toggleEditor() {
24
- if (tinyMCE.getInstanceById('bannerslider_content') == null) {
25
- tinyMCE.execCommand('mceAddControl', false, 'bannerslider_content');
26
- } else {
27
- tinyMCE.execCommand('mceRemoveControl', false, 'bannerslider_content');
28
- }
29
- }
30
 
31
- function saveAndContinueEdit(){
32
- editForm.submit($('edit_form').action+'back/edit/');
33
- }
34
- ";
35
- }
 
 
36
 
37
- public function getHeaderText()
38
- {
39
- if( Mage::registry('bannerslider_data') && Mage::registry('bannerslider_data')->getId() ) {
40
- return Mage::helper('bannerslider')->__("Edit Banner '%s'", $this->htmlEscape(Mage::registry('bannerslider_data')->getTitle()));
41
- } else {
42
- return Mage::helper('bannerslider')->__('Add Banner');
43
- }
44
- }
 
 
 
 
 
 
 
 
45
  }
1
  <?php
2
+ /**
3
+ * Magestore
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magestore.com license that is
8
+ * available through the world-wide-web at this URL:
9
+ * http://www.magestore.com/license-agreement.html
10
+ *
11
+ * DISCLAIMER
12
+ *
13
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
14
+ * version in the future.
15
+ *
16
+ * @category Magestore
17
+ * @package Magestore_Bannerslider
18
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
19
+ * @license http://www.magestore.com/license-agreement.html
20
+ */
21
 
22
+ /**
23
+ * Bannerslider Edit Block
24
+ *
25
+ * @category Magestore
26
+ * @package Magestore_Bannerslider
27
+ * @author Magestore Developer
28
+ */
29
  class Magestore_Bannerslider_Block_Adminhtml_Bannerslider_Edit extends Mage_Adminhtml_Block_Widget_Form_Container
30
  {
31
+ public function __construct(){
32
+ parent::__construct();
 
 
 
 
 
 
 
 
33
 
34
+ $this->_objectId = 'id';
35
+ $this->_blockGroup = 'bannerslider';
36
+ $this->_controller = 'adminhtml_bannerslider';
37
+
38
+ $this->_updateButton('save', 'label', Mage::helper('bannerslider')->__('Save Slider'));
39
+ $this->_updateButton('delete', 'label', Mage::helper('bannerslider')->__('Delete Slider'));
40
+
41
+ $this->_addButton('saveandcontinue', array(
42
+ 'label' => Mage::helper('adminhtml')->__('Save And Continue Edit'),
43
+ 'onclick' => 'saveAndContinueEdit()',
44
+ 'class' => 'save',
45
+ ), -100);
 
 
46
 
47
+ $this->_formScripts[] = "
48
+ function toggleEditor() {
49
+ if (tinyMCE.getInstanceById('bannerslider_content') == null)
50
+ tinyMCE.execCommand('mceAddControl', false, 'bannerslider_content');
51
+ else
52
+ tinyMCE.execCommand('mceRemoveControl', false, 'bannerslider_content');
53
+ }
54
 
55
+ function saveAndContinueEdit(){
56
+ editForm.submit($('edit_form').action+'back/edit/');
57
+ }
58
+ ";
59
+ }
60
+
61
+ /**
62
+ * get text to show in header when edit an item
63
+ *
64
+ * @return string
65
+ */
66
+ public function getHeaderText(){
67
+ if(Mage::registry('bannerslider_data') && Mage::registry('bannerslider_data')->getId())
68
+ return Mage::helper('bannerslider')->__("Edit Slider '%s'", $this->htmlEscape(Mage::registry('bannerslider_data')->getTitle()));
69
+ return Mage::helper('bannerslider')->__('Add Slider');
70
+ }
71
  }
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Bannerslider/Edit/Form.php CHANGED
@@ -1,19 +1,50 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
 
 
 
 
 
 
 
 
3
  class Magestore_Bannerslider_Block_Adminhtml_Bannerslider_Edit_Form extends Mage_Adminhtml_Block_Widget_Form
4
  {
5
- protected function _prepareForm()
6
- {
7
- $form = new Varien_Data_Form(array(
8
- 'id' => 'edit_form',
9
- 'action' => $this->getUrl('*/*/save', array('id' => $this->getRequest()->getParam('id'))),
10
- 'method' => 'post',
11
- 'enctype' => 'multipart/form-data'
12
- )
13
- );
 
 
 
 
 
14
 
15
- $form->setUseContainer(true);
16
- $this->setForm($form);
17
- return parent::_prepareForm();
18
- }
19
  }
1
  <?php
2
+ /**
3
+ * Magestore
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magestore.com license that is
8
+ * available through the world-wide-web at this URL:
9
+ * http://www.magestore.com/license-agreement.html
10
+ *
11
+ * DISCLAIMER
12
+ *
13
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
14
+ * version in the future.
15
+ *
16
+ * @category Magestore
17
+ * @package Magestore_Bannerslider
18
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
19
+ * @license http://www.magestore.com/license-agreement.html
20
+ */
21
 
22
+ /**
23
+ * Bannerslider Edit Form Block
24
+ *
25
+ * @category Magestore
26
+ * @package Magestore_Bannerslider
27
+ * @author Magestore Developer
28
+ */
29
  class Magestore_Bannerslider_Block_Adminhtml_Bannerslider_Edit_Form extends Mage_Adminhtml_Block_Widget_Form
30
  {
31
+ /**
32
+ * prepare form's information for block
33
+ *
34
+ * @return Magestore_Bannerslider_Block_Adminhtml_Bannerslider_Edit_Form
35
+ */
36
+ protected function _prepareForm(){
37
+ $form = new Varien_Data_Form(array(
38
+ 'id' => 'edit_form',
39
+ 'action' => $this->getUrl('*/*/save', array(
40
+ 'id' => $this->getRequest()->getParam('id'),
41
+ )),
42
+ 'method' => 'post',
43
+ 'enctype' => 'multipart/form-data'
44
+ ));
45
 
46
+ $form->setUseContainer(true);
47
+ $this->setForm($form);
48
+ return parent::_prepareForm();
49
+ }
50
  }
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Bannerslider/Edit/Tab/Categories.php DELETED
@@ -1,56 +0,0 @@
1
- <?php
2
-
3
- class Magestore_Bannerslider_Block_Adminhtml_Bannerslider_Edit_Tab_Categories extends Mage_Adminhtml_Block_Catalog_Product_Edit_Tab_Categories
4
- {
5
- protected $_categoryIds;
6
- protected $_selectedNodes = null;
7
-
8
- public function __construct()
9
- {
10
- parent::__construct();
11
- $this->_withProductCount = false;
12
- $this->setTemplate('bannerslider/categories.phtml');
13
- }
14
-
15
- public function getCategoryCollection()
16
- {
17
- $storeId = $this->getRequest()->getParam('store', $this->_getDefaultStoreId());
18
- $collection = $this->getData('category_collection');
19
- if (is_null($collection)) {
20
- $collection = Mage::getModel('catalog/category')->getCollection();
21
-
22
- /* @var $collection Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Collection */
23
- $collection->addAttributeToSelect('name')
24
- ->addAttributeToSelect('is_active')
25
- ->setProductStoreId($storeId)
26
- ->setLoadProductCount($this->_withProductCount)
27
- ->setStoreId($storeId);
28
-
29
- $this->setData('category_collection', $collection);
30
- }
31
- return $collection;
32
- }
33
-
34
- /**
35
- * Checks when this block is readonly
36
- *
37
- * @return boolean
38
- */
39
- public function isReadonly()
40
- {
41
- return false;//$this->getProduct()->getCategoriesReadonly();
42
- }
43
-
44
- protected function getCategoryIds()
45
- {
46
- return explode(',',$this->getIdsString());//$this->getProduct()->getCategoryIds();
47
- }
48
-
49
- public function getIdsString()
50
- {
51
- if(Mage::registry('bannerslider_categories')){
52
- $categories = Mage::registry('bannerslider_categories');
53
- }
54
- return $categories;//Mage::registry('bannerslider_data')->getCategories();//implode(',', $this->getCategoryIds());
55
- }
56
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Bannerslider/Edit/Tab/Content/Categories.php ADDED
@@ -0,0 +1,77 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Bannerslider_Block_Adminhtml_Bannerslider_Edit_Tab_Content_Categories extends Mage_Adminhtml_Block_Catalog_Category_Tree
4
+ {
5
+ protected $_selectedIds = array();
6
+
7
+ protected function _prepareLayout()
8
+ {
9
+ $this->setTemplate('bannerslider/categories.phtml');
10
+ }
11
+ public function getCategoryIds()
12
+ {
13
+ return $this->_selectedIds;
14
+ }
15
+
16
+ public function setCategoryIds($ids)
17
+ {
18
+ if (empty($ids)) {
19
+ $ids = array();
20
+ }
21
+ elseif (!is_array($ids)) {
22
+ $ids = array((int)$ids);
23
+ }
24
+ $this->_selectedIds = $ids;
25
+ return $this;
26
+ }
27
+
28
+ /**
29
+ * Get JSON of a tree node or an associative array
30
+ *
31
+ * @param Varien_Data_Tree_Node|array $node
32
+ * @param int $level
33
+ * @return string
34
+ */
35
+ protected function _getNodeJson($node, $level = 1)
36
+ {
37
+ $item = array();
38
+ $item['text']= $this->htmlEscape($node->getName());
39
+
40
+ if ($this->_withProductCount) {
41
+ $item['text'].= ' ('.$node->getProductCount().')';
42
+ }
43
+ $item['id'] = $node->getId();
44
+ $item['path'] = $node->getData('path');
45
+ $item['cls'] = 'folder ' . ($node->getIsActive() ? 'active-category' : 'no-active-category');
46
+ $item['allowDrop'] = false;
47
+ $item['allowDrag'] = false;
48
+
49
+ if ($node->hasChildren()) {
50
+ $item['children'] = array();
51
+ foreach ($node->getChildren() as $child) {
52
+ $item['children'][] = $this->_getNodeJson($child, $level + 1);
53
+ }
54
+ }
55
+
56
+ if (empty($item['children']) && (int)$node->getChildrenCount() > 0) {
57
+ $item['children'] = array();
58
+ }
59
+
60
+ if (!empty($item['children'])) {
61
+ $item['expanded'] = true;
62
+ }
63
+
64
+ if (in_array($node->getId(), $this->getCategoryIds())) {
65
+ $item['checked'] = true;
66
+ }
67
+
68
+ return $item;
69
+ }
70
+
71
+ public function getRoot($parentNodeCategory=null, $recursionLevel=3)
72
+ {
73
+ return $this->getRootByIds($this->getCategoryIds());
74
+ }
75
+ }
76
+
77
+
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Bannerslider/Edit/Tab/Content/vssver2.scc ADDED
Binary file
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Bannerslider/Edit/Tab/Custom.php ADDED
@@ -0,0 +1,163 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Magestore
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Magestore.com license that is
9
+ * available through the world-wide-web at this URL:
10
+ * http://www.magestore.com/license-agreement.html
11
+ *
12
+ * DISCLAIMER
13
+ *
14
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
15
+ * version in the future.
16
+ *
17
+ * @category Magestore
18
+ * @package Magestore_Bannerslider
19
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
20
+ * @license http://www.magestore.com/license-agreement.html
21
+ */
22
+
23
+ /**
24
+ * Bannerslider Edit Form Content Tab Block
25
+ *
26
+ * @category Magestore
27
+ * @package Magestore_Bannerslider
28
+ * @author Magestore Developer
29
+ */
30
+ class Magestore_Bannerslider_Block_Adminhtml_Bannerslider_Edit_Tab_Custom extends Mage_Adminhtml_Block_Widget_Grid {
31
+
32
+ public function __construct() {
33
+ parent::__construct();
34
+ $this->setId('customgrid');
35
+ $this->setDefaultSort('banner_id');
36
+ $this->setUseAjax(true);
37
+ if ($this->getRequest()->getParam('id')) {
38
+ $this->setDefaultFilter(array('in_custom' => 1));
39
+ }
40
+ }
41
+
42
+ protected function _addColumnFilterToCollection($column) {
43
+ if ($column->getId() == 'in_custom') {
44
+ $bannerIds = $this->_getSelectedBanners();
45
+
46
+ if (empty($bannerIds)) {
47
+ $bannerIds = 0;
48
+ }
49
+ if ($column->getFilter()->getValue()) {
50
+ $this->getCollection()->addFieldToFilter('banner_id', array('in' => $bannerIds));
51
+ } else {
52
+ if ($bannerIds) {
53
+ $this->getCollection()->addFieldToFilter('banner_id', array('nin' => $bannerIds));
54
+ }
55
+ }
56
+ } else {
57
+ parent::_addColumnFilterToCollection($column);
58
+ }
59
+ return $this;
60
+ }
61
+
62
+ protected function _prepareCollection() {
63
+ $collection = Mage::getModel('bannerslider/banner')->getCollection();
64
+
65
+ $this->setCollection($collection);
66
+
67
+ return parent::_prepareCollection();
68
+ }
69
+
70
+ protected function _prepareColumns() {
71
+ $this->addColumn('in_custom', array(
72
+ 'header_css_class' => 'a-center',
73
+ 'type' => 'checkbox',
74
+ 'name' => 'in_custom',
75
+ 'align' => 'center',
76
+ 'index' => 'banner_id',
77
+ 'values' => $this->_getSelectedBanners(),
78
+ ));
79
+
80
+ $this->addColumn('banner_id', array(
81
+ 'header' => Mage::helper('bannerslider')->__('ID'),
82
+ 'width' => '50px',
83
+ 'index' => 'banner_id',
84
+ 'type' => 'number',
85
+ ));
86
+
87
+ $this->addColumn('name', array(
88
+ 'header' => Mage::helper('bannerslider')->__('Name'),
89
+ 'index' => 'name'
90
+ ));
91
+
92
+ $this->addColumn('bannerslider_id', array(
93
+ 'header' => Mage::helper('bannerslider')->__('Current Slider'),
94
+ 'index' => 'bannerslider_id',
95
+ 'type' => 'options',
96
+ 'options' => Mage::getSingleton('bannerslider/select')->getOptionHash(),
97
+ ));
98
+
99
+ $this->addColumn('start_time', array(
100
+ 'header' => Mage::helper('bannerslider')->__('Start Date'),
101
+ 'type' => 'datetime',
102
+ //'format' => 'yyyy-MM-dd H:m:s',
103
+ 'index' => 'start_time'
104
+ ));
105
+
106
+ $this->addColumn('end_time', array(
107
+ 'header' => Mage::helper('bannerslider')->__('End Date'),
108
+ 'type' => 'datetime',
109
+ //'format' => 'yyyy-MM-dd H:m:s',
110
+ 'index' => 'end_time'
111
+ ));
112
+
113
+ $this->addColumn('action_banner', array(
114
+ 'header' => Mage::helper('bannerslider')->__('Action'),
115
+ 'renderer' => 'bannerslider/adminhtml_renderer_edit',
116
+ 'index' => 'action_banner',
117
+ ));
118
+
119
+ $this->addColumn('order_banner_slider', array(
120
+ 'header' => Mage::helper('bannerslider')->__('Order'),
121
+ 'name' => 'order_banner_slider',
122
+ 'index' => 'order_banner_slider',
123
+ 'width' => 0,
124
+ 'editable' => true,
125
+ ));
126
+
127
+ return parent::_prepareColumns();
128
+ }
129
+
130
+ //return url
131
+ public function getGridUrl() {
132
+ return $this->getData('grid_url') ? $this->getData('grid_url') : $this->getUrl('*/*/customGrid', array('_current' => true, 'id' => $this->getRequest()->getParam('id')));
133
+ }
134
+
135
+ public function getRowUrl($row) {
136
+ return '';
137
+ }
138
+
139
+ public function getSelectedSliderBanners() {
140
+
141
+ $tm_id = $this->getRequest()->getParam('id');
142
+ if (!isset($tm_id)) {
143
+ return array();
144
+ }
145
+ $collection = Mage::getModel('bannerslider/banner')->getCollection();
146
+ $collection->addFieldToFilter('bannerslider_id', $tm_id);
147
+
148
+ $bannerIds = array();
149
+ foreach ($collection as $obj) {
150
+ $bannerIds[$obj->getId()] = array('order_banner_slider' => $obj->getOrderBanner());
151
+ }
152
+ return $bannerIds;
153
+ }
154
+
155
+ protected function _getSelectedBanners() {
156
+ $banners = $this->getRequest()->getParam('banner');
157
+ if (!is_array($banners)) {
158
+ $banners = array_keys($this->getSelectedSliderBanners());
159
+ }
160
+ return $banners;
161
+ }
162
+
163
+ }
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Bannerslider/Edit/Tab/Form.php CHANGED
@@ -1,93 +1,495 @@
1
  <?php
2
 
3
- class Magestore_Bannerslider_Block_Adminhtml_Bannerslider_Edit_Tab_Form extends Mage_Adminhtml_Block_Widget_Form
4
- {
5
- protected function _prepareForm()
6
- {
7
- $form = new Varien_Data_Form();
8
- $this->setForm($form);
9
- $fieldset = $form->addFieldset('bannerslider_form', array('legend'=>Mage::helper('bannerslider')->__('General information')));
10
-
11
- $fieldset->addField('title', 'text', array(
12
- 'label' => Mage::helper('bannerslider')->__('Title'),
13
- 'class' => 'required-entry',
14
- 'required' => true,
15
- 'name' => 'title',
16
- ));
17
-
18
- if (!Mage::app()->isSingleStoreMode()) {
19
- $fieldset->addField('store_id', 'multiselect', array(
20
- 'name' => 'stores[]',
21
- 'label' => Mage::helper('cms')->__('Store View'),
22
- 'title' => Mage::helper('cms')->__('Store View'),
23
- 'required' => true,
24
- 'values' => Mage::getSingleton('adminhtml/system_store')->getStoreValuesForForm(false, true),
25
- ));
26
- }
27
- else {
28
- $fieldset->addField('store_id', 'hidden', array(
29
- 'name' => 'stores[]',
30
- 'value' => Mage::app()->getStore(true)->getId()
31
- ));
32
- $model->setStoreId(Mage::app()->getStore(true)->getId());
33
- }
34
-
35
- $fieldset->addField('filename', 'image', array(
36
- 'label' => Mage::helper('bannerslider')->__('Image File'),
37
- 'required' => false,
38
- 'name' => 'filename',
39
- ));
40
-
41
- $fieldset->addField('is_home', 'select', array(
42
- 'label' => Mage::helper('bannerslider')->__('Show in'),
43
- 'class' => 'required-entry',
44
- 'required' => true,
45
- 'name' => 'is_home',
46
- 'values' => Mage::helper('bannerslider')->getDisplayOption(),
47
- ));
48
-
49
- $fieldset->addField('status', 'select', array(
50
- 'label' => Mage::helper('bannerslider')->__('Status'),
51
- 'name' => 'status',
52
- 'values' => array(
53
- array(
54
- 'value' => 1,
55
- 'label' => Mage::helper('bannerslider')->__('Enabled'),
56
- ),
57
-
58
- array(
59
- 'value' => 2,
60
- 'label' => Mage::helper('bannerslider')->__('Disabled'),
61
- ),
62
- ),
63
- ));
64
-
65
- $fieldset->addField('weblink', 'text', array(
66
- 'label' => Mage::helper('bannerslider')->__('Web Url'),
67
- 'required' => false,
68
- 'name' => 'weblink',
69
- ));
70
-
71
- $fieldset->addField('content', 'editor', array(
72
- 'name' => 'content',
73
- 'label' => Mage::helper('bannerslider')->__('Content'),
74
- 'title' => Mage::helper('bannerslider')->__('Content'),
75
- 'style' => 'width:280px; height:100px;',
76
- 'wysiwyg' => false,
77
- 'required' => false,
78
- ));
79
-
80
-
81
- if ( Mage::getSingleton('adminhtml/session')->getBannerSliderData() )
82
- {
83
- $data = Mage::getSingleton('adminhtml/session')->getBannerSliderData();
84
- Mage::getSingleton('adminhtml/session')->setBannerSliderData(null);
85
- } elseif ( Mage::registry('bannerslider_data') ) {
86
- $data = Mage::registry('bannerslider_data')->getData();
87
- }
88
- $data['store_id'] = explode(',',$data['stores']);
89
- $form->setValues($data);
90
-
91
- return parent::_prepareForm();
92
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
93
  }
1
  <?php
2
 
3
+ /**
4
+ * Magestore
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Magestore.com license that is
9
+ * available through the world-wide-web at this URL:
10
+ * http://www.magestore.com/license-agreement.html
11
+ *
12
+ * DISCLAIMER
13
+ *
14
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
15
+ * version in the future.
16
+ *
17
+ * @category Magestore
18
+ * @package Magestore_Bannerslider
19
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
20
+ * @license http://www.magestore.com/license-agreement.html
21
+ */
22
+
23
+ /**
24
+ * Bannerslider Edit Form Content Tab Block
25
+ *
26
+ * @category Magestore
27
+ * @package Magestore_Bannerslider
28
+ * @author Magestore Developer
29
+ */
30
+ class Magestore_Bannerslider_Block_Adminhtml_Bannerslider_Edit_Tab_Form extends Mage_Adminhtml_Block_Widget_Form {
31
+
32
+ /**
33
+ * prepare tab form's information
34
+ *
35
+ * @return Magestore_Bannerslider_Block_Adminhtml_Bannerslider_Edit_Tab_Form
36
+ */
37
+ protected function _prepareForm() {
38
+ $form = new Varien_Data_Form();
39
+ $this->setForm($form);
40
+
41
+ if (Mage::getSingleton('adminhtml/session')->getBannersliderData()) {
42
+ $data = Mage::getSingleton('adminhtml/session')->getBannersliderData();
43
+ Mage::getSingleton('adminhtml/session')->setBannersliderData(null);
44
+ } elseif (Mage::registry('bannerslider_data'))
45
+ $data = Mage::registry('bannerslider_data')->getData();
46
+
47
+ //zend_debug::dump($data);die();
48
+ $fieldset = $form->addFieldset('bannerslider_form', array('legend' => Mage::helper('bannerslider')->__('Slider information')));
49
+
50
+ $wysiwygConfig = Mage::getSingleton('cms/wysiwyg_config')->getConfig();
51
+ $wysiwygConfig->addData(array(
52
+ 'add_variables' => false,
53
+ 'plugins' => array(),
54
+ 'widget_window_url' => Mage::getSingleton('adminhtml/url')->getUrl('adminhtml/widget/index'),
55
+ 'directives_url' => Mage::getSingleton('adminhtml/url')->getUrl('adminhtml/cms_wysiwyg/directive'),
56
+ 'directives_url_quoted' => preg_quote(Mage::getSingleton('adminhtml/url')->getUrl('adminhtml/cms_wysiwyg/directive')),
57
+ 'files_browser_window_url' => Mage::getSingleton('adminhtml/url')->getUrl('adminhtml/cms_wysiwyg_images/index'),
58
+ ));
59
+
60
+ $fieldset->addField('title', 'text', array(
61
+ 'label' => Mage::helper('bannerslider')->__('Title'),
62
+ 'class' => 'required-entry',
63
+ 'required' => true,
64
+ 'name' => 'title',
65
+ ));
66
+
67
+ $fieldset->addField('show_title', 'select', array(
68
+ 'label' => Mage::helper('bannerslider')->__('Show Title'),
69
+ 'name' => 'show_title',
70
+ 'values' => array(
71
+ array(
72
+ 'value' => 0,
73
+ 'label' => Mage::helper('bannerslider')->__('Enabled'),
74
+ ),
75
+ array(
76
+ 'value' => 1,
77
+ 'label' => Mage::helper('bannerslider')->__('Disabled'),
78
+ ),
79
+ ),
80
+ ));
81
+
82
+
83
+ $fieldset->addField('status', 'select', array(
84
+ 'label' => Mage::helper('bannerslider')->__('Status'),
85
+ 'name' => 'status',
86
+ 'values' => Mage::getSingleton('bannerslider/status')->getOptionHash(),
87
+ ));
88
+
89
+ $fieldset->addField('style_content', 'select', array(
90
+ 'label' => Mage::helper('bannerslider')->__('Select available Slider Styles'),
91
+ 'name' => 'style_content',
92
+ 'values' => array(
93
+ array(
94
+ 'value' => 0,
95
+ 'label' => Mage::helper('bannerslider')->__('Yes'),
96
+ ),
97
+ array(
98
+ 'value' => 1,
99
+ 'label' => Mage::helper('bannerslider')->__('No'),
100
+ ),
101
+ ),
102
+ 'onchange' => 'onchangeStyleShow()',
103
+ ));
104
+
105
+ $fieldset->addField('custom_code', 'editor', array(
106
+ 'name' => 'custom_code',
107
+ 'label' => Mage::helper('bannerslider')->__('Custom slider'),
108
+ 'title' => Mage::helper('bannerslider')->__('Custom slider'),
109
+ 'style' => 'width:700px; height:150px;',
110
+ 'wysiwyg' => true,
111
+ 'required' => false,
112
+ 'config' => $wysiwygConfig,
113
+ ));
114
+
115
+ $fieldset->addField('style_slide', 'select', array(
116
+ 'label' => Mage::helper('bannerslider')->__('Select Slider Mode'),
117
+ 'name' => 'style_slide',
118
+ 'values' => Mage::helper('bannerslider')->getStyleSlider(),
119
+ 'note' => '<a href="javasrcipt:void(0)" target="_blank" id="style-slide-view">Preview</a>',
120
+ 'onchange' => 'onchangeStyleSlider(0)',
121
+ ));
122
+
123
+ $fieldset->addField('sort_type', 'select', array(
124
+ 'label' => Mage::helper('bannerslider')->__('Sort type'),
125
+ 'name' => 'sort_type',
126
+ 'values' => array(
127
+ array(
128
+ 'value' => 0,
129
+ 'label' => Mage::helper('bannerslider')->__('Random'),
130
+ ),
131
+ array(
132
+ 'value' => 1,
133
+ 'label' => Mage::helper('bannerslider')->__('Orderly'),
134
+ ),
135
+ ),
136
+ ));
137
+
138
+ $fieldset->addField('note_color', 'select', array(
139
+ 'name' => 'note_color',
140
+ 'label' => $this->__('Color'),
141
+ 'title' => $this->__('Color'),
142
+ 'values' => Mage::helper('bannerslider')->getOptionColor(),
143
+ ));
144
+
145
+ $fieldset->addField('width', 'text', array(
146
+ 'label' => Mage::helper('bannerslider')->__('Width'),
147
+ 'name' => 'width',
148
+ ));
149
+
150
+ $fieldset->addField('height', 'text', array(
151
+ 'label' => Mage::helper('bannerslider')->__('Height'),
152
+ 'name' => 'height',
153
+ ));
154
+
155
+ $fieldset->addField('animationB', 'select', array(
156
+ 'label' => Mage::helper('bannerslider')->__('Animation Effect'),
157
+ 'name' => 'animationB',
158
+ 'values' => Mage::helper('bannerslider')->getAnimationB(),
159
+ ));
160
+ if(isset ($data['animationB'])){
161
+ $data['animationA'] = $data['animationB'];
162
+ }
163
+ $fieldset->addField('animationA', 'select', array(
164
+ 'label' => Mage::helper('bannerslider')->__('Animation Effect'),
165
+ 'name' => 'animationA',
166
+ 'values' => Mage::helper('bannerslider')->getAnimationA(),
167
+ ));
168
+
169
+ $fieldset->addField('slider_speed', 'text', array(
170
+ 'label' => Mage::helper('bannerslider')->__('Speed'),
171
+ 'name' => 'slider_speed',
172
+ 'note' => 'mini seconds. This is the display time of a banner',
173
+ ));
174
+
175
+ $data['url_view'] = Mage::helper('bannerslider')->getPreviewSlider();
176
+ $fieldset->addField('url_view', 'text', array(
177
+ 'label' => Mage::helper('bannerslider')->__('Max Item'),
178
+ 'name' => 'url_view',
179
+ ));
180
+
181
+ $fieldset->addField('position', 'select', array(
182
+ 'name' => 'position',
183
+ 'label' => $this->__('Position'),
184
+ 'title' => $this->__('Position'),
185
+ 'values' => Mage::helper('bannerslider')->getBlockIdsToOptionsArray(),
186
+ 'onchange' => 'onchangeposition()',
187
+ 'note' => '<a href="javasrcipt:void(0)" id="position-tip-1" style="display: none">Preview Position</a>
188
+ <a href="javasrcipt:void(0)" id="position-tip-2" style="display: none">Preview Position</a>
189
+ <a href="javasrcipt:void(0)" id="position-tip-3" style="display: block">Preview Position</a>',
190
+ ));
191
+
192
+ $fieldset->addField('position_note', 'select', array(
193
+ 'name' => 'position_note',
194
+ 'label' => $this->__('Position'),
195
+ 'title' => $this->__('Position'),
196
+ 'values' => Mage::helper('bannerslider')->getPositionNote(),
197
+ 'note' => 'is position will be shown on all pages'
198
+ ));
199
+
200
+ $categoryIds = implode(", ", Mage::getResourceModel('catalog/category_collection')->addFieldToFilter('level', array('gt' => 0))->getAllIds());
201
+ // if(!isset($data['category_ids'])){
202
+ // $data['category_ids'] = $categoryIds;
203
+ // }
204
+ $fieldset->addField('category_ids', 'text', array(
205
+ 'label' => Mage::helper('bannerslider')->__('Categories'),
206
+ 'name' => 'category_ids',
207
+ 'after_element_html' => '<a id="category_link" href="javascript:void(0)" onclick="toggleMainCategories()"><img src="' . $this->getSkinUrl('images/rule_chooser_trigger.gif') . '" alt="" class="v-middle rule-chooser-trigger" title="Select Categories"></a>
208
+ <div id="categories_check" style="display:none">
209
+ <a href="javascript:toggleMainCategories(1)">Check All</a> / <a href="javascript:toggleMainCategories(2)">Uncheck All</a>
210
+ </div>
211
+ <div id="main_categories_select" style="display:none"></div>
212
+ <script type="text/javascript">
213
+ function toggleMainCategories(check){
214
+ var cate = $("main_categories_select");
215
+ if($("main_categories_select").style.display == "none" || (check ==1) || (check == 2)){
216
+ $("categories_check").style.display ="";
217
+ var url = "' . $this->getUrl('bannerslider/adminhtml_bannerslider/chooserMainCategories') . '";
218
+ if(check == 1){
219
+ $("category_ids").value = "'.$categoryIds.'";
220
+ }else if(check == 2){
221
+ $("category_ids").value = "";
222
+ }
223
+ var params = $("category_ids").value.split(", ");
224
+ var parameters = {"form_key": FORM_KEY,"selected[]":params };
225
+ var request = new Ajax.Request(url,
226
+ {
227
+ evalScripts: true,
228
+ parameters: parameters,
229
+ onComplete:function(transport){
230
+ $("main_categories_select").update(transport.responseText);
231
+ $("main_categories_select").style.display = "block";
232
+ }
233
+ });
234
+ if(cate.style.display == "none"){
235
+ cate.style.display = "";
236
+ }else{
237
+ cate.style.display = "none";
238
+ }
239
+ }else{
240
+ cate.style.display = "none";
241
+ $("categories_check").style.display ="none";
242
+ }
243
+ };
244
+ </script>
245
+ '
246
+ ));
247
+
248
+ $fieldset->addField('description', 'editor', array(
249
+ 'name' => 'description',
250
+ 'label' => Mage::helper('bannerslider')->__('Note\'s content'),
251
+ 'title' => Mage::helper('bannerslider')->__('Note\'s content'),
252
+ 'style' => 'width:700px; height:150px;',
253
+ 'wysiwyg' => true,
254
+ 'required' => false,
255
+ 'config' => $wysiwygConfig,
256
+ ));
257
+
258
+
259
+ $fieldset->addField('caption', 'select', array(
260
+ 'label' => Mage::helper('bannerslider')->__('Caption'),
261
+ 'name' => 'caption',
262
+ 'values' => Mage::helper('bannerslider')->getOptionYesNo(),
263
+ 'after_element_html' => '<script type="text/javascript">
264
+ function onchangeStyleShow(){
265
+ $(\'url_view\').parentNode.parentNode.hide();
266
+ $(\'caption\').parentNode.parentNode.hide();
267
+ $(\'description\').parentNode.parentNode.hide();
268
+ var cc = $(\'style_content\').value;
269
+ if(cc == 0){
270
+ $(\'style_slide\').parentNode.parentNode.show();
271
+ $(\'custom_code\').parentNode.parentNode.hide();
272
+ onchangeStyleSlider(0);
273
+ }
274
+ else if(cc == 1) {
275
+ $(\'custom_code\').parentNode.parentNode.show();
276
+ $(\'style_slide\').parentNode.parentNode.hide();
277
+ onchangeStyleSlider(100);
278
+ $(\'position\').parentNode.parentNode.show();
279
+ }
280
+ }
281
+
282
+ function onchangeStyleSlider(itcheck){
283
+ if(itcheck){
284
+ var check = 100;
285
+ }else{
286
+ var check = parseInt($(\'style_slide\').value);
287
+ }
288
+ $(\'style-slide-view\').show();
289
+ var url = $(\'url_view\').value;
290
+ $(\'description\').parentNode.parentNode.hide();
291
+ $(\'note_color\').parentNode.parentNode.hide();
292
+ switch (check){
293
+ case 1:
294
+ activesomeField14();
295
+ $(\'note_style_slide\').show();
296
+ url += "id/1";
297
+ $(\'style-slide-view\').writeAttribute(\'href\', url);
298
+ break;
299
+ case 2:
300
+ activesomeField14();
301
+ $(\'note_style_slide\').show();
302
+ url += "id/2";
303
+ $(\'style-slide-view\').writeAttribute(\'href\', url);
304
+ break;
305
+ case 3:
306
+ activesomeField14();
307
+ $(\'note_style_slide\').show();
308
+ url += "id/3";
309
+ $(\'style-slide-view\').writeAttribute(\'href\', url);
310
+ break;
311
+ case 4:
312
+ activesomeField14();
313
+ $(\'note_style_slide\').show();
314
+ url += "id/4";
315
+ $(\'style-slide-view\').writeAttribute(\'href\', url);
316
+ break;
317
+ case 5:
318
+ activesomeField56();
319
+ $(\'sort_type\').parentNode.parentNode.hide();
320
+ $(\'style-slide-view\').hide();
321
+ $(\'width\').parentNode.parentNode.show();
322
+ $(\'height\').parentNode.parentNode.show();
323
+ break;
324
+ case 6:
325
+ activesomeField56();
326
+ $(\'note_style_slide\').show();
327
+ $(\'note_color\').parentNode.parentNode.show();
328
+ $(\'slider_speed\').parentNode.parentNode.show();
329
+ $(\'position_note\').parentNode.parentNode.show();
330
+ $(\'description\').parentNode.parentNode.show();
331
+ $(\'style-slide-view\').show();
332
+ url += "id/9";
333
+ $(\'style-slide-view\').writeAttribute(\'href\', url);
334
+ break;
335
+ case 7:
336
+ activesomeField710();
337
+ $(\'note_style_slide\').show();
338
+ url += "id/5";
339
+ $(\'style-slide-view\').writeAttribute(\'href\', url);
340
+ break;
341
+ case 8:
342
+ activesomeField710();
343
+ $(\'note_style_slide\').show();
344
+ url +="id/6";
345
+ $(\'style-slide-view\').writeAttribute(\'href\', url);
346
+ break;
347
+ case 9:
348
+ activesomeField710();
349
+ $(\'note_style_slide\').show();
350
+ url += "id/7";
351
+ $(\'style-slide-view\').writeAttribute(\'href\', url);
352
+ break;
353
+ case 10:
354
+ activesomeField56();
355
+ $(\'note_style_slide\').show();
356
+ url += "id/8";
357
+ $(\'style-slide-view\').writeAttribute(\'href\', url);
358
+ break;
359
+ default:
360
+ $(\'sort_type\').parentNode.parentNode.hide();
361
+ $(\'width\').parentNode.parentNode.hide();
362
+ $(\'height\').parentNode.parentNode.hide();
363
+ $(\'animationB\').parentNode.parentNode.hide();
364
+ $(\'caption\').parentNode.parentNode.hide();
365
+ $(\'position\').parentNode.parentNode.hide();
366
+ $(\'position_note\').parentNode.parentNode.hide();
367
+ $(\'animationA\').parentNode.parentNode.hide();
368
+ $(\'slider_speed\').parentNode.parentNode.hide();
369
+ $(\'note_style_slide\').hide();
370
+ $(\'style-slide-view\').writeAttribute(\'href\', \'\');
371
+
372
+ }
373
+ }
374
+
375
+ function onchangeposition(){
376
+
377
+ var checkposition = $(\'position\').value;
378
+ var tip = null;
379
+ if (checkposition == "customer-content-top"){
380
+
381
+ $(\'position-tip-3\').hide();
382
+ $(\'position-tip-2\').hide();
383
+ $(\'position-tip-1\').show();
384
+ new Tooltip("position-tip-1", "'.Mage::getBaseUrl('media').'bannerslider/bannerslider-ex1.png");
385
+ }
386
+ else if (checkposition == "checkout-content-top"){
387
+ $(\'position-tip-3\').hide();
388
+ $(\'position-tip-1\').hide();
389
+ $(\'position-tip-2\').show();
390
+ new Tooltip("position-tip-2", "'.Mage::getBaseUrl('media').'bannerslider/bannerslider-ex2.png");
391
+ }else if(checkposition == "note-allsite"){
392
+ $(\'position-tip-3\').hide();
393
+ $(\'position-tip-1\').hide();
394
+ $(\'position-tip-2\').hide();
395
+
396
+ new Tooltip("position-tip-4", "'.Mage::getBaseUrl('media').'bannerslider/bannerslider-ex4.PNG");
397
+ }else if(checkposition == "pop-up"){
398
+ $(\'position-tip-3\').hide();
399
+ $(\'position-tip-1\').hide();
400
+ $(\'position-tip-2\').hide();
401
+
402
+ new Tooltip("position-tip-5", "'.Mage::getBaseUrl('media').'bannerslider/bannerslider-ex5.PNG");
403
+ }
404
+ else{
405
+
406
+ $(\'position-tip-2\').hide();
407
+ $(\'position-tip-1\').hide();
408
+ $(\'position-tip-3\').show();
409
+ new Tooltip("position-tip-3", "'.Mage::getBaseUrl('media').'bannerslider/bannerslider-ex3.png");
410
+ }
411
+
412
+ var category = checkposition.split("-");
413
+ var selCata = category[0];
414
+
415
+ $(\'category_ids\').parentNode.parentNode.hide();
416
+ if(selCata == "category"){
417
+ $(\'category_ids\').parentNode.parentNode.show();
418
+ }
419
+ }
420
+
421
+ function activesomeField14(){
422
+ $(\'sort_type\').parentNode.parentNode.show();
423
+ $(\'position\').parentNode.parentNode.show();
424
+ $(\'width\').parentNode.parentNode.show();
425
+ $(\'height\').parentNode.parentNode.show();
426
+ $(\'animationA\').parentNode.parentNode.show();
427
+ $(\'slider_speed\').parentNode.parentNode.show();
428
+ $(\'animationB\').parentNode.parentNode.hide();
429
+ $(\'position_note\').parentNode.parentNode.hide();
430
+ if(!$(\'width\').value || $(\'width\').value == 0) $(\'width\').value = 400;
431
+ if(!$(\'height\').value || $(\'height\').value == 0) $(\'height\').value = 200;
432
+ if(!$(\'slider_speed\').value) $(\'slider_speed\').value = 4500;
433
+ }
434
+
435
+ function activesomeField56(){
436
+ $(\'sort_type\').parentNode.parentNode.show();
437
+ $(\'slider_speed\').parentNode.parentNode.hide();
438
+ $(\'width\').parentNode.parentNode.hide();
439
+ $(\'height\').parentNode.parentNode.hide();
440
+ $(\'position\').parentNode.parentNode.hide();
441
+ $(\'animationA\').parentNode.parentNode.hide();
442
+ $(\'animationB\').parentNode.parentNode.hide();
443
+ $(\'position_note\').parentNode.parentNode.hide();
444
+ if(!$(\'width\').value || $(\'width\').value == 0) $(\'width\').value = 400;
445
+ if(!$(\'height\').value || $(\'height\').value == 0) $(\'height\').value = 200;
446
+ if(!$(\'slider_speed\').value) $(\'slider_speed\').value = 4500;
447
+ }
448
+
449
+ function activesomeField710(){
450
+ $(\'sort_type\').parentNode.parentNode.show();
451
+ $(\'position\').parentNode.parentNode.show();
452
+ $(\'animationB\').parentNode.parentNode.show();
453
+ $(\'slider_speed\').parentNode.parentNode.show();
454
+ $(\'animationA\').parentNode.parentNode.hide();
455
+ $(\'position_note\').parentNode.parentNode.hide();
456
+ $(\'width\').parentNode.parentNode.hide();
457
+ $(\'height\').parentNode.parentNode.hide();
458
+ if(!$(\'slider_speed\').value) $(\'slider_speed\').value = 4500;
459
+ }
460
+
461
+ function hideSomeField(){
462
+ $(\'style_content\').parentNode.parentNode.hide();
463
+ $(\'style_slide\').parentNode.parentNode.hide();
464
+ $(\'sort_type\').parentNode.parentNode.hide();
465
+ $(\'custom_code\').parentNode.parentNode.hide();
466
+ $(\'width\').parentNode.parentNode.hide();
467
+ $(\'height\').parentNode.parentNode.hide();
468
+ $(\'animationB\').parentNode.parentNode.hide();
469
+ $(\'animationA\').parentNode.parentNode.hide();
470
+ $(\'slider_speed\').parentNode.parentNode.hide();
471
+ }
472
+
473
+ function showSomeField(){
474
+ $(\'style_content\').parentNode.parentNode.show();
475
+ $(\'style_slide\').parentNode.parentNode.show();
476
+ $(\'sort_type\').parentNode.parentNode.show();
477
+ $(\'custom_code\').parentNode.parentNode.show();
478
+ $(\'width\').parentNode.parentNode.show();
479
+ $(\'height\').parentNode.parentNode.show();
480
+ $(\'animationB\').parentNode.parentNode.show();
481
+ $(\'animationA\').parentNode.parentNode.show();
482
+ $(\'slider_speed\').parentNode.parentNode.show();
483
+ }
484
+
485
+ Event.observe(window,\'load\',onchangeStyleSlider);
486
+ Event.observe(window,\'load\',onchangeStyleShow);
487
+ Event.observe(window,\'load\',onchangeposition);
488
+ </script>',
489
+ ));
490
+
491
+ $form->setValues($data);
492
+ return parent::_prepareForm();
493
+ }
494
+
495
  }
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Bannerslider/Edit/Tab/vssver2.scc ADDED
Binary file
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Bannerslider/Edit/Tabs.php CHANGED
@@ -1,30 +1,69 @@
1
  <?php
2
 
3
- class Magestore_Bannerslider_Block_Adminhtml_Bannerslider_Edit_Tabs extends Mage_Adminhtml_Block_Widget_Tabs
4
- {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
 
6
- public function __construct()
7
- {
8
- parent::__construct();
9
- $this->setId('bannerslider_tabs');
10
- $this->setDestElementId('edit_form');
11
- $this->setTitle(Mage::helper('bannerslider')->__('Information'));
12
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
 
14
- protected function _beforeToHtml()
15
- {
16
- $this->addTab('form_section', array(
17
- 'label' => Mage::helper('bannerslider')->__('General Information'),
18
- 'title' => Mage::helper('bannerslider')->__('General Information'),
19
- 'content' => $this->getLayout()->createBlock('bannerslider/adminhtml_bannerslider_edit_tab_form')->toHtml(),
20
- ));
21
-
22
- $this->addTab('display_section',array(
23
- 'label' => Mage::helper('bannerslider')->__('Categories'),
24
- 'url' => $this->getUrl('*/*/categories', array('_current' => true)),
25
- 'class' => 'ajax',
26
- ));
27
-
28
- return parent::_beforeToHtml();
29
- }
30
  }
1
  <?php
2
 
3
+ /**
4
+ * Magestore
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Magestore.com license that is
9
+ * available through the world-wide-web at this URL:
10
+ * http://www.magestore.com/license-agreement.html
11
+ *
12
+ * DISCLAIMER
13
+ *
14
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
15
+ * version in the future.
16
+ *
17
+ * @category Magestore
18
+ * @package Magestore_Bannerslider
19
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
20
+ * @license http://www.magestore.com/license-agreement.html
21
+ */
22
 
23
+ /**
24
+ * Bannerslider Edit Tabs Block
25
+ *
26
+ * @category Magestore
27
+ * @package Magestore_Bannerslider
28
+ * @author Magestore Developer
29
+ */
30
+ class Magestore_Bannerslider_Block_Adminhtml_Bannerslider_Edit_Tabs extends Mage_Adminhtml_Block_Widget_Tabs {
31
+
32
+ public function __construct() {
33
+ parent::__construct();
34
+ $this->setId('bannerslider_tabs');
35
+ $this->setDestElementId('edit_form');
36
+ $this->setTitle(Mage::helper('bannerslider')->__('Slider Information'));
37
+ }
38
+
39
+ /**
40
+ * prepare before render block to html
41
+ *
42
+ * @return Magestore_Bannerslider_Block_Adminhtml_Bannerslider_Edit_Tabs
43
+ */
44
+ protected function _beforeToHtml() {
45
+ $this->addTab('form_section', array(
46
+ 'label' => Mage::helper('bannerslider')->__('Slider Information'),
47
+ 'title' => Mage::helper('bannerslider')->__('Slider Information'),
48
+ 'content' => $this->getLayout()->createBlock('bannerslider/adminhtml_bannerslider_edit_tab_form')->toHtml(),
49
+ ));
50
+ if ($this->getRequest()->getParam('active_tab') == 'custom') {
51
+ $this->addTab('banner_section', array(
52
+ 'label' => Mage::helper('bannerslider')->__('Banner of Slider'),
53
+ 'title' => Mage::helper('bannerslider')->__('Banner of Slider'),
54
+ 'url' => $this->getUrl('*/*/custom', array('_current' => true, 'id' => $this->getRequest()->getParam('id'))),
55
+ 'class' => 'ajax',
56
+ 'active' => true,
57
+ ));
58
+ } else {
59
+ $this->addTab('banner_section', array(
60
+ 'label' => Mage::helper('bannerslider')->__('Banner(s) of Slider'),
61
+ 'title' => Mage::helper('bannerslider')->__('Banner(s) of Slider'),
62
+ 'url' => $this->getUrl('*/*/custom', array('_current' => true, 'id' => $this->getRequest()->getParam('id'))),
63
+ 'class' => 'ajax',
64
+ ));
65
+ }
66
+ return parent::_beforeToHtml();
67
+ }
68
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
69
  }
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Bannerslider/Edit/vssver2.scc ADDED
Binary file
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Bannerslider/Grid.php CHANGED
@@ -1,116 +1,170 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
 
 
 
 
 
 
 
 
3
  class Magestore_Bannerslider_Block_Adminhtml_Bannerslider_Grid extends Mage_Adminhtml_Block_Widget_Grid
4
  {
5
- public function __construct()
6
- {
7
- parent::__construct();
8
- $this->setId('bannersliderGrid');
9
- $this->setDefaultSort('bannerslider_id');
10
- $this->setDefaultDir('ASC');
11
- $this->setSaveParametersInSession(true);
12
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
 
14
- protected function _prepareCollection()
15
- {
16
- $collection = Mage::getModel('bannerslider/bannerslider')->getCollection();
17
- $this->setCollection($collection);
18
- return parent::_prepareCollection();
19
- }
 
 
 
 
 
 
20
 
21
- protected function _prepareColumns()
22
- {
23
- $this->addColumn('bannerslider_id', array(
24
- 'header' => Mage::helper('bannerslider')->__('ID'),
25
- 'align' =>'right',
26
- 'width' => '50px',
27
- 'index' => 'bannerslider_id',
28
- ));
 
 
 
29
 
30
- $this->addColumn('title', array(
31
- 'header' => Mage::helper('bannerslider')->__('Title'),
32
- 'align' =>'left',
33
- 'index' => 'title',
34
- ));
 
 
 
 
 
 
 
 
35
 
36
- /*
37
- $this->addColumn('content', array(
38
- 'header' => Mage::helper('bannerslider')->__('Item Content'),
39
- 'width' => '150px',
40
- 'index' => 'content',
41
- ));
42
- */
 
 
 
 
 
 
 
 
 
 
43
 
44
- $this->addColumn('status', array(
45
- 'header' => Mage::helper('bannerslider')->__('Status'),
46
- 'align' => 'left',
47
- 'width' => '80px',
48
- 'index' => 'status',
49
- 'type' => 'options',
50
- 'options' => array(
51
- 1 => 'Enabled',
52
- 2 => 'Disabled',
53
- ),
54
- ));
55
-
56
- $this->addColumn('action',
57
- array(
58
- 'header' => Mage::helper('bannerslider')->__('Action'),
59
- 'width' => '100',
60
- 'type' => 'action',
61
- 'getter' => 'getId',
62
- 'actions' => array(
63
- array(
64
- 'caption' => Mage::helper('bannerslider')->__('Edit'),
65
- 'url' => array('base'=> '*/*/edit'),
66
- 'field' => 'id'
67
- )
68
- ),
69
- 'filter' => false,
70
- 'sortable' => false,
71
- 'index' => 'stores',
72
- 'is_system' => true,
73
- ));
74
-
75
  $this->addExportType('*/*/exportCsv', Mage::helper('bannerslider')->__('CSV'));
76
  $this->addExportType('*/*/exportXml', Mage::helper('bannerslider')->__('XML'));
77
-
78
- return parent::_prepareColumns();
79
- }
80
 
81
- protected function _prepareMassaction()
82
- {
83
- $this->setMassactionIdField('bannerslider_id');
84
- $this->getMassactionBlock()->setFormFieldName('bannerslider');
 
 
 
 
 
 
 
85
 
86
- $this->getMassactionBlock()->addItem('delete', array(
87
- 'label' => Mage::helper('bannerslider')->__('Delete'),
88
- 'url' => $this->getUrl('*/*/massDelete'),
89
- 'confirm' => Mage::helper('bannerslider')->__('Are you sure?')
90
- ));
91
-
92
- $statuses = Mage::getSingleton('bannerslider/status')->getOptionArray();
93
-
94
- array_unshift($statuses, array('label'=>'', 'value'=>''));
95
- $this->getMassactionBlock()->addItem('status', array(
96
- 'label'=> Mage::helper('bannerslider')->__('Change status'),
97
- 'url' => $this->getUrl('*/*/massStatus', array('_current'=>true)),
98
- 'additional' => array(
99
- 'visibility' => array(
100
- 'name' => 'status',
101
- 'type' => 'select',
102
- 'class' => 'required-entry',
103
- 'label' => Mage::helper('bannerslider')->__('Status'),
104
- 'values' => $statuses
105
- )
106
- )
107
- ));
108
- return $this;
109
- }
110
-
111
- public function getRowUrl($row)
112
- {
113
- return $this->getUrl('*/*/edit', array('id' => $row->getId()));
114
- }
115
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
116
  }
1
  <?php
2
+ /**
3
+ * Magestore
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magestore.com license that is
8
+ * available through the world-wide-web at this URL:
9
+ * http://www.magestore.com/license-agreement.html
10
+ *
11
+ * DISCLAIMER
12
+ *
13
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
14
+ * version in the future.
15
+ *
16
+ * @category Magestore
17
+ * @package Magestore_Bannerslider
18
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
19
+ * @license http://www.magestore.com/license-agreement.html
20
+ */
21
 
22
+ /**
23
+ * Bannerslider Grid Block
24
+ *
25
+ * @category Magestore
26
+ * @package Magestore_Bannerslider
27
+ * @author Magestore Developer
28
+ */
29
  class Magestore_Bannerslider_Block_Adminhtml_Bannerslider_Grid extends Mage_Adminhtml_Block_Widget_Grid
30
  {
31
+ public function __construct(){
32
+ parent::__construct();
33
+ $this->setId('bannersliderGrid');
34
+ $this->setDefaultSort('bannerslider_id');
35
+ $this->setDefaultDir('ASC');
36
+ $this->setSaveParametersInSession(true);
37
+ }
38
+
39
+ /**
40
+ * prepare collection for block to display
41
+ *
42
+ * @return Magestore_Bannerslider_Block_Adminhtml_Bannerslider_Grid
43
+ */
44
+ protected function _prepareCollection(){
45
+ $collection = Mage::getModel('bannerslider/bannerslider')->getCollection();
46
+ //Zend_debug::dump($collection);die();
47
+ $this->setCollection($collection);
48
+ return parent::_prepareCollection();
49
+ }
50
+
51
+ /**
52
+ * prepare columns for this grid
53
+ *
54
+ * @return Magestore_Bannerslider_Block_Adminhtml_Bannerslider_Grid
55
+ */
56
+ protected function _prepareColumns(){
57
+ $this->addColumn('bannerslider_id', array(
58
+ 'header' => Mage::helper('bannerslider')->__('ID'),
59
+ 'align' =>'right',
60
+ 'width' => '50px',
61
+ 'index' => 'bannerslider_id',
62
+ ));
63
 
64
+ $this->addColumn('title', array(
65
+ 'header' => Mage::helper('bannerslider')->__('Title'),
66
+ 'align' =>'left',
67
+ 'index' => 'title',
68
+ ));
69
+
70
+ $this->addColumn('position', array(
71
+ 'header' => Mage::helper('bannerslider')->__('Position'),
72
+ 'align' =>'left',
73
+ 'index' => 'position',
74
+ 'type' => 'options',
75
+ 'options' => Mage::helper('bannerslider')->getOptionGridSlider()
76
 
77
+ ));
78
+
79
+ $this->addColumn('style_content', array(
80
+ 'header' => Mage::helper('bannerslider')->__('Slider\'s Mode'),
81
+ 'width' => '150px',
82
+ 'index' => 'style_content',
83
+ 'type' => 'options',
84
+ 'options' => array(
85
+ 0 => 'Standard Slider',
86
+ 1 => 'Custom Slider',
87
+ ),
88
 
89
+ ));
90
+
91
+ $this->addColumn('status', array(
92
+ 'header' => Mage::helper('bannerslider')->__('Status'),
93
+ 'align' => 'left',
94
+ 'width' => '80px',
95
+ 'index' => 'status',
96
+ 'type' => 'options',
97
+ 'options' => array(
98
+ 0 => 'Enabled',
99
+ 1 => 'Disabled',
100
+ ),
101
+ ));
102
 
103
+ $this->addColumn('action',
104
+ array(
105
+ 'header' => Mage::helper('bannerslider')->__('Action'),
106
+ 'width' => '100',
107
+ 'type' => 'action',
108
+ 'getter' => 'getId',
109
+ 'actions' => array(
110
+ array(
111
+ 'caption' => Mage::helper('bannerslider')->__('Edit'),
112
+ 'url' => array('base'=> '*/*/edit'),
113
+ 'field' => 'id'
114
+ )),
115
+ 'filter' => false,
116
+ 'sortable' => false,
117
+ 'index' => 'stores',
118
+ 'is_system' => true,
119
+ ));
120
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
121
  $this->addExportType('*/*/exportCsv', Mage::helper('bannerslider')->__('CSV'));
122
  $this->addExportType('*/*/exportXml', Mage::helper('bannerslider')->__('XML'));
 
 
 
123
 
124
+ return parent::_prepareColumns();
125
+ }
126
+
127
+ /**
128
+ * prepare mass action for this grid
129
+ *
130
+ * @return Magestore_Bannerslider_Block_Adminhtml_Bannerslider_Grid
131
+ */
132
+ protected function _prepareMassaction(){
133
+ $this->setMassactionIdField('bannerslider_id');
134
+ $this->getMassactionBlock()->setFormFieldName('bannerslider');
135
 
136
+ $this->getMassactionBlock()->addItem('delete', array(
137
+ 'label' => Mage::helper('bannerslider')->__('Delete'),
138
+ 'url' => $this->getUrl('*/*/massDelete'),
139
+ 'confirm' => Mage::helper('bannerslider')->__('Are you sure?')
140
+ ));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
141
 
142
+ $statuses = Mage::getSingleton('bannerslider/status')->getOptionArray();
143
+ array_unshift($statuses, array('label'=>'', 'value'=>''));
144
+ $this->getMassactionBlock()->addItem('status', array(
145
+ 'label'=> Mage::helper('bannerslider')->__('Change status'),
146
+ 'url' => $this->getUrl('*/*/massStatus', array('_current'=>true)),
147
+ 'additional' => array(
148
+ 'visibility' => array(
149
+ 'name' => 'status',
150
+ 'type' => 'select',
151
+ 'class' => 'required-entry',
152
+ 'label' => Mage::helper('bannerslider')->__('Status'),
153
+ 'values'=> array(
154
+ 0 => 'Enabled',
155
+ 1 => 'Disabled',
156
+ )
157
+ ))
158
+ ));
159
+ return $this;
160
+ }
161
+
162
+ /**
163
+ * get url for each row in grid
164
+ *
165
+ * @return string
166
+ */
167
+ public function getRowUrl($row){
168
+ return $this->getUrl('*/*/edit', array('id' => $row->getId()));
169
+ }
170
  }
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Bannerslider/vssver2.scc ADDED
Binary file
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Customjs.php ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Magestore
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Magestore.com license that is
9
+ * available through the world-wide-web at this URL:
10
+ * http://www.magestore.com/license-agreement.html
11
+ *
12
+ * DISCLAIMER
13
+ *
14
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
15
+ * version in the future.
16
+ *
17
+ * @category Magestore
18
+ * @package Magestore_Survey
19
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
20
+ * @license http://www.magestore.com/license-agreement.html
21
+ */
22
+
23
+ /**
24
+ * Survey Adminhtml Block
25
+ *
26
+ * @category Magestore
27
+ * @package Magestore_Survey
28
+ * @author Magestore Developer
29
+ */
30
+ class Magestore_Bannerslider_Block_Adminhtml_Customjs extends Mage_Core_Block_Template {
31
+
32
+ public function _prepareLayout() {
33
+
34
+ parent::_prepareLayout();
35
+ return $this;
36
+ }
37
+
38
+ public function getDateFormat() {
39
+ return $this->getLocale()->getDateStrFormat(Mage_Core_Model_Locale::FORMAT_TYPE_SHORT);
40
+ }
41
+
42
+ public function getLocale() {
43
+ if (!$this->_locale) {
44
+ $this->_locale = Mage::app()->getLocale();
45
+ }
46
+ return $this->_locale;
47
+ }
48
+
49
+ }
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Date.php ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Magestore
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Magestore.com license that is
9
+ * available through the world-wide-web at this URL:
10
+ * http://www.magestore.com/license-agreement.html
11
+ *
12
+ * DISCLAIMER
13
+ *
14
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
15
+ * version in the future.
16
+ *
17
+ * @category Magestore
18
+ * @package Magestore_Survey
19
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
20
+ * @license http://www.magestore.com/license-agreement.html
21
+ */
22
+
23
+ /**
24
+ * Survey Adminhtml Block
25
+ *
26
+ * @category Magestore
27
+ * @package Magestore_Survey
28
+ * @author Magestore Developer
29
+ */
30
+ class Magestore_Bannerslider_Block_Adminhtml_Date extends Mage_Core_Block_Template {
31
+
32
+ public function _prepareLayout() {
33
+ $this->setChild('refresh_button', $this->getLayout()->createBlock('adminhtml/widget_button')
34
+ ->setData(array(
35
+ 'label' => Mage::helper('adminhtml')->__('Refresh'),
36
+ 'onclick' => $this->getRefreshButtonCallback(),
37
+ 'class' => 'task'
38
+ ))
39
+ );
40
+ parent::_prepareLayout();
41
+ return $this;
42
+ }
43
+
44
+ public function getRefreshButtonHtml() {
45
+ return $this->getChildHtml('refresh_button');
46
+ }
47
+
48
+ public function getDateFormat() {
49
+ return $this->getLocale()->getDateStrFormat(Mage_Core_Model_Locale::FORMAT_TYPE_SHORT);
50
+ }
51
+
52
+ public function getLocale() {
53
+ if (!$this->_locale) {
54
+ $this->_locale = Mage::app()->getLocale();
55
+ }
56
+ return $this->_locale;
57
+ }
58
+
59
+ public function getFilter($nameFilter) {
60
+ $date = array();
61
+ $filter = Mage::app()->getRequest()->getParam('filter');
62
+ if($filter){
63
+ $date = Mage::helper('adminhtml')->prepareFilterString($filter);
64
+ if(isset($date[$nameFilter])) return $date[$nameFilter];
65
+ }
66
+ return null;
67
+ }
68
+
69
+ }
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Preview.php ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Bannerslider_Block_Adminhtml_Preview extends Mage_Core_Block_Template
4
+ {
5
+ /**
6
+ * prepare block's layout
7
+ *
8
+ * @return Magestore_Bannerslider_Block_Bannerslider
9
+ */
10
+ public function _prepareLayout(){
11
+ // die('sdfsfsdsdfs');
12
+ //
13
+ parent::_prepareLayout();
14
+ // $this->setTemplate('bannerslider/standardslider.phtml');
15
+ }
16
+ }
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Renderer/Edit.php ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Magestore_Bannerslider_Block_Adminhtml_Renderer_Edit
3
+ extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
4
+ {
5
+ /* Render Grid Column*/
6
+ public function render(Varien_Object $row)
7
+ {
8
+ return sprintf('
9
+ <a href="javascript:void(0);" onclick="%s">%s</a>',
10
+ "window.open('".Mage::getSingleton('adminhtml/url')->getUrl('bannerslideradmin/adminhtml_banner/addin', array( 'sliderid' => $this->getRequest()->getParam('id'),'id' => $row->getId()))."','Gamekings','width=1024,height=650')",
11
+ Mage::helper('bannerslider')->__('Edit')
12
+ );
13
+ }
14
+ }
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Renderer/Imagebanner.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Bannerslider_Block_Adminhtml_Renderer_Imagebanner extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract {
4
+ /* Render Grid Column */
5
+
6
+ public function render(Varien_Object $row) {
7
+ $image_id = $row->getId();
8
+ $image = Mage::getModel('bannerslider/banner')->load($image_id)->getImage();
9
+ $imagename = Mage::helper('bannerslider')->getBannerImage($image);
10
+ return
11
+ '<img id="image_banner' . $image_id . '" src="' . $imagename . '" width="50px" height="50px"/>'.
12
+ '<script type="text/javascript">
13
+ new Tooltip("image_banner'.$image_id.'", "'.$imagename.'");
14
+ $$(".tooltip img").each(function(item){
15
+ item.style.width="300px";
16
+ item.style.height="300px";
17
+ });
18
+ </script>'
19
+
20
+ ;
21
+ }
22
+
23
+ }
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Renderer/Imagereport.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Bannerslider_Block_Adminhtml_Renderer_Imagereport extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract {
4
+ /* Render Grid Column */
5
+
6
+ public function render(Varien_Object $row) {
7
+ $banner_id = $row->getData('banner_id');
8
+ $bannerImage = Mage::getModel('bannerslider/banner')->load($banner_id)->getImage();
9
+ $imagename = Mage::helper('bannerslider')->getBannerImage($bannerImage);
10
+ return
11
+ '<img id="image_banner' . $banner_id . $row->getId().'" src="' . $imagename . '" width="50px" height="50px"/>'.
12
+ '<script type="text/javascript">
13
+ new Tooltip("image_banner'.$banner_id.$row->getId().'", "'.$imagename.'");
14
+ $$(".tooltip img").each(function(item){
15
+ item.style.width="300px";
16
+ item.style.height="300px";
17
+ });
18
+ </script>'
19
+
20
+ ;
21
+ }
22
+
23
+ }
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Renderer/vssver2.scc ADDED
Binary file
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Report.php ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Magestore_Bannerslider_Block_Adminhtml_Report extends Mage_Adminhtml_Block_Widget_Grid_Container
3
+ {
4
+ public function __construct()
5
+ {
6
+ $this->_controller = 'adminhtml_report';
7
+ $this->_blockGroup = 'bannerslider';
8
+ $this->_headerText = Mage::helper('bannerslider')->__('Report');
9
+ parent::__construct();
10
+ $this->removeButton('add');
11
+ }
12
+ }
13
+
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Report/Banner/Grid.php ADDED
@@ -0,0 +1,182 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Magestore
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Magestore.com license that is
9
+ * available through the world-wide-web at this URL:
10
+ * http://www.magestore.com/license-agreement.html
11
+ *
12
+ * DISCLAIMER
13
+ *
14
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
15
+ * version in the future.
16
+ *
17
+ * @category Magestore
18
+ * @package Magestore_Bannerslider
19
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
20
+ * @license http://www.magestore.com/license-agreement.html
21
+ */
22
+
23
+ /**
24
+ * Bannerslider Grid Block
25
+ *
26
+ * @category Magestore
27
+ * @package Magestore_Bannerslider
28
+ * @author Magestore Developer
29
+ */
30
+ class Magestore_Bannerslider_Block_Adminhtml_Report_Banner_Grid extends Mage_Adminhtml_Block_Widget_Grid {
31
+
32
+ public function __construct() {
33
+ parent::__construct();
34
+ $this->setId('reportGrid');
35
+ $this->setDefaultSort('report_id');
36
+ $this->setDefaultDir('ASC');
37
+ $this->setSaveParametersInSession(true);
38
+ }
39
+
40
+ /**
41
+ * prepare collection for block to display
42
+ *
43
+ * @return Magestore_Bannerslider_Block_Adminhtml_Bannerslider_Grid
44
+ */
45
+ protected function _prepareCollection() {
46
+ $filter = Mage::app()->getRequest()->getParam('filter');
47
+ $date = Mage::helper('adminhtml')->prepareFilterString($filter);
48
+ $collection = Mage::getModel('bannerslider/report')->getCollection();
49
+ if (isset($date['report_from']) && isset($date['report_to'])) {
50
+ $collection->addFieldtoFilter('date_click', array('from' => $date['report_from'],
51
+ 'to' => $date['report_to'],
52
+ 'date' => true,));
53
+ }
54
+ $collection->getSelect()->joinLeft(array('table_banner' => $collection->getTable('bannerslider/banner')), 'main_table.banner_id = table_banner.banner_id', array('banner_name' => 'table_banner.name', 'banner_url' => 'table_banner.click_url'));
55
+ $collection->getSelect()
56
+ ->columns('SUM(main_table.clicks) AS banner_click')
57
+ ->columns('SUM(main_table.impmode) AS banner_impress')
58
+ ->group('main_table.banner_id');
59
+ $this->setCollection($collection);
60
+ return parent::_prepareCollection();
61
+ }
62
+
63
+ /**
64
+ * prepare columns for this grid
65
+ *
66
+ * @return Magestore_Bannerslider_Block_Adminhtml_Bannerslider_Grid
67
+ */
68
+ protected function _prepareColumns() {
69
+ $this->addColumn('report_id', array(
70
+ 'header' => Mage::helper('bannerslider')->__('ID'),
71
+ 'align' => 'right',
72
+ 'width' => '50px',
73
+ 'index' => 'report_id',
74
+ ));
75
+
76
+ $this->addColumn('banner_name', array(
77
+ 'header' => Mage::helper('bannerslider')->__('Banner'),
78
+ 'align' => 'left',
79
+ 'filter_index' => 'table_banner.name',
80
+ 'index' => 'banner_name',
81
+ ));
82
+
83
+ $this->addColumn('banner_url', array(
84
+ 'header' => Mage::helper('bannerslider')->__('URL'),
85
+ 'align' => 'left',
86
+ 'filter_index' => 'table_banner.click_url',
87
+ 'index' => 'banner_url',
88
+ ));
89
+
90
+ $this->addColumn('banner_click', array(
91
+ 'header' => Mage::helper('bannerslider')->__('Clicks'),
92
+ 'align' => 'left',
93
+ 'index' => 'banner_click',
94
+ 'filter_index' => 'main_table.clicks',
95
+ 'type' => 'number',
96
+ 'width' => '200px',
97
+ ));
98
+
99
+ $this->addColumn('banner_impress', array(
100
+ 'header' => Mage::helper('bannerslider')->__('Impressions'),
101
+ 'align' => 'left',
102
+ 'index' => 'banner_impress',
103
+ 'filter_index' => 'main_table.impmode',
104
+ 'type' => 'number',
105
+ 'width' => '200px',
106
+ ));
107
+ $this->addColumn('imagename', array(
108
+ 'header' => Mage::helper('bannerslider')->__('Image'),
109
+ 'align' => 'center',
110
+ 'width' => '70px',
111
+ 'index' => 'imagename',
112
+ 'renderer' => 'bannerslider/adminhtml_renderer_imagereport'
113
+ ));
114
+
115
+ $this->addExportType('*/*/exportCsvBanner', Mage::helper('bannerslider')->__('CSV'));
116
+ $this->addExportType('*/*/exportXmlBanner', Mage::helper('bannerslider')->__('XML'));
117
+
118
+ return parent::_prepareColumns();
119
+ }
120
+
121
+ public function getRowUrl($row) {
122
+ return '';
123
+ }
124
+
125
+ public function getCsv() {
126
+ $csv = '';
127
+ $this->_isExport = true;
128
+ $this->_prepareGrid();
129
+ $this->getCollection()->getSelect()->limit();
130
+ $this->getCollection()->setPageSize(0);
131
+ $this->getCollection()->load();
132
+ $this->_afterLoadCollection();
133
+
134
+ $data = array();
135
+ $data[] = '"' . Mage::helper('bannerslider')->__('ID') . '"';
136
+ $data[] = '"' . Mage::helper('bannerslider')->__('Banner') . '"';
137
+ $data[] = '"' . Mage::helper('bannerslider')->__('URL') . '"';
138
+ $data[] = '"' . Mage::helper('bannerslider')->__('Clicks') . '"';
139
+ $data[] = '"' . Mage::helper('bannerslider')->__('Impression') . '"';
140
+ $data[] = '"' . Mage::helper('bannerslider')->__('Date') . '"';
141
+ $csv.= implode(',', $data) . "\n";
142
+
143
+ foreach ($this->getCollection() as $item) {
144
+ $data = Mage::helper('bannerslider')->getValueToCsv($item, 1);
145
+ $csv.= $data . "\n";
146
+ }
147
+ return $csv;
148
+ }
149
+
150
+ public function getXml() {
151
+ $this->_isExport = true;
152
+ $this->_prepareGrid();
153
+ $this->getCollection()->getSelect()->limit();
154
+ $this->getCollection()->setPageSize(0);
155
+ $this->getCollection()->load();
156
+ $this->_afterLoadCollection();
157
+ $indexes = array();
158
+ foreach ($this->_columns as $column) {
159
+ if (!$column->getIsSystem()) {
160
+ $indexes[] = $column->getIndex();
161
+ }
162
+ }
163
+ $xml = '<?xml version="1.0" encoding="UTF-8"?>';
164
+ $xml.= '<items>';
165
+ foreach ($this->getCollection() as $item) {
166
+ $xml .= '<item>';
167
+ foreach ($this->_columns as $column) {
168
+ if (!$column->getIsSystem()) {
169
+ if ($column->getIndex() == 'imagename' || $column->getIndex() == 'slider_title')
170
+ continue;
171
+ $xml .= "<" . $column->getIndex() . "><![CDATA[";
172
+ $xml .= Mage::helper('bannerslider')->getValueToXml($column->getIndex(), $item);
173
+ $xml .= "]]></" . $column->getIndex() . ">";
174
+ }
175
+ }
176
+ $xml .= '</item>';
177
+ }
178
+ $xml.= '</items>';
179
+ return $xml;
180
+ }
181
+
182
+ }
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Report/Banner/vssver2.scc ADDED
Binary file
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Report/Grid.php ADDED
@@ -0,0 +1,194 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Magestore
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Magestore.com license that is
9
+ * available through the world-wide-web at this URL:
10
+ * http://www.magestore.com/license-agreement.html
11
+ *
12
+ * DISCLAIMER
13
+ *
14
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
15
+ * version in the future.
16
+ *
17
+ * @category Magestore
18
+ * @package Magestore_Bannerslider
19
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
20
+ * @license http://www.magestore.com/license-agreement.html
21
+ */
22
+
23
+ /**
24
+ * Bannerslider Grid Block
25
+ *
26
+ * @category Magestore
27
+ * @package Magestore_Bannerslider
28
+ * @author Magestore Developer
29
+ */
30
+ class Magestore_Bannerslider_Block_Adminhtml_Report_Grid extends Mage_Adminhtml_Block_Widget_Grid {
31
+
32
+ public function __construct() {
33
+ parent::__construct();
34
+ $this->setId('reportGrid');
35
+ $this->setDefaultSort('report_id');
36
+ $this->setDefaultDir('ASC');
37
+ $this->setSaveParametersInSession(true);
38
+ }
39
+
40
+ /**
41
+ * prepare collection for block to display
42
+ *
43
+ * @return Magestore_Bannerslider_Block_Adminhtml_Bannerslider_Grid
44
+ */
45
+ protected function _prepareCollection() {
46
+ $filter = Mage::app()->getRequest()->getParam('filter');
47
+ $date = Mage::helper('adminhtml')->prepareFilterString($filter);
48
+ $collection = Mage::getModel('bannerslider/report')->getCollection();
49
+ if (isset($date['report_from']) && isset($date['report_to'])) {
50
+ $collection->addFieldtoFilter('date_click', array('from' => $date['report_from'],
51
+ 'to' => $date['report_to'],
52
+ 'date' => true,));
53
+ }
54
+ $collection->getSelect()->joinLeft(array('table_banner' => $collection->getTable('bannerslider/banner')), 'main_table.banner_id = table_banner.banner_id', array('banner_name' => 'table_banner.name', 'banner_url' => 'table_banner.click_url'));
55
+ $collection->getSelect()->joinLeft(array('table_slider' => $collection->getTable('bannerslider/bannerslider')), 'main_table.bannerslider_id = table_slider.bannerslider_id', array('slider_title' => 'table_slider.title'));
56
+ $collection->getSelect()
57
+ ->columns('SUM(main_table.clicks) AS banner_click')
58
+ ->columns('SUM(main_table.impmode) AS banner_impress')
59
+ ->group('main_table.bannerslider_id')
60
+ ->group('main_table.banner_id');
61
+ $this->setCollection($collection);
62
+ return parent::_prepareCollection();
63
+ }
64
+
65
+ /**
66
+ * prepare columns for this grid
67
+ *
68
+ * @return Magestore_Bannerslider_Block_Adminhtml_Bannerslider_Grid
69
+ */
70
+ protected function _prepareColumns() {
71
+ $this->addColumn('report_id', array(
72
+ 'header' => Mage::helper('bannerslider')->__('ID'),
73
+ 'align' => 'right',
74
+ 'width' => '50px',
75
+ 'index' => 'report_id',
76
+ ));
77
+
78
+ $this->addColumn('banner_name', array(
79
+ 'header' => Mage::helper('bannerslider')->__('Banner'),
80
+ 'align' => 'left',
81
+ 'filter_index' => 'table_banner.name',
82
+ 'index' => 'banner_name',
83
+ ));
84
+ $this->addColumn('banner_url', array(
85
+ 'header' => Mage::helper('bannerslider')->__('URL'),
86
+ 'align' => 'left',
87
+ 'filter_index' => 'table_banner.click_url',
88
+ 'index' => 'banner_url',
89
+ ));
90
+ $this->addColumn('slider_title', array(
91
+ 'header' => Mage::helper('bannerslider')->__('Slider'),
92
+ 'align' => 'left',
93
+ 'filter_index' => 'table_slider.title',
94
+ 'index' => 'slider_title',
95
+ ));
96
+ $this->addColumn('banner_click', array(
97
+ 'header' => Mage::helper('bannerslider')->__('Clicks'),
98
+ 'align' => 'left',
99
+ 'index' => 'banner_click',
100
+ 'type' => 'number',
101
+ 'filter_index' => 'main_table.clicks',
102
+ 'width' => '200px',
103
+ ));
104
+
105
+ $this->addColumn('banner_impress', array(
106
+ 'header' => Mage::helper('bannerslider')->__('Impressions'),
107
+ 'align' => 'left',
108
+ 'index' => 'banner_impress',
109
+ 'filter_index' => 'main_table.impmode',
110
+ 'type' => 'number',
111
+ 'width' => '200px',
112
+ ));
113
+ $this->addColumn('imagename', array(
114
+ 'header' => Mage::helper('bannerslider')->__('Image'),
115
+ 'align' => 'center',
116
+ 'width' => '70px',
117
+ 'index' => 'imagename',
118
+ 'renderer' => 'bannerslider/adminhtml_renderer_imagereport'
119
+ ));
120
+
121
+ $this->addExportType('*/*/exportCsv', Mage::helper('bannerslider')->__('CSV'));
122
+ $this->addExportType('*/*/exportXml', Mage::helper('bannerslider')->__('XML'));
123
+
124
+ return parent::_prepareColumns();
125
+ }
126
+
127
+ /**
128
+ * get url for each row in grid
129
+ *
130
+ * @return string
131
+ */
132
+ public function getRowUrl($row) {
133
+ return '';
134
+ }
135
+
136
+ public function getCsv() {
137
+ $csv = '';
138
+ $this->_isExport = true;
139
+ $this->_prepareGrid();
140
+ $this->getCollection()->getSelect()->limit();
141
+ $this->getCollection()->setPageSize(0);
142
+ $this->getCollection()->load();
143
+ $this->_afterLoadCollection();
144
+
145
+ $data = array();
146
+ $data[] = '"' . Mage::helper('bannerslider')->__('ID') . '"';
147
+ $data[] = '"' . Mage::helper('bannerslider')->__('Banner') . '"';
148
+ $data[] = '"' . Mage::helper('bannerslider')->__('URL') . '"';
149
+ $data[] = '"' . Mage::helper('bannerslider')->__('Slider') . '"';
150
+ $data[] = '"' . Mage::helper('bannerslider')->__('Clicks') . '"';
151
+ $data[] = '"' . Mage::helper('bannerslider')->__('Impression') . '"';
152
+ $data[] = '"' . Mage::helper('bannerslider')->__('Date') . '"';
153
+ $csv.= implode(',', $data) . "\n";
154
+
155
+ foreach ($this->getCollection() as $item) {
156
+ $data = Mage::helper('bannerslider')->getValueToCsv($item);
157
+ $csv.= $data . "\n";
158
+ }
159
+ return $csv;
160
+ }
161
+
162
+ public function getXml() {
163
+ $this->_isExport = true;
164
+ $this->_prepareGrid();
165
+ $this->getCollection()->getSelect()->limit();
166
+ $this->getCollection()->setPageSize(0);
167
+ $this->getCollection()->load();
168
+ $this->_afterLoadCollection();
169
+ $indexes = array();
170
+ foreach ($this->_columns as $column) {
171
+ if (!$column->getIsSystem()) {
172
+ $indexes[] = $column->getIndex();
173
+ }
174
+ }
175
+ $xml = '<?xml version="1.0" encoding="UTF-8"?>';
176
+ $xml.= '<items>';
177
+ foreach ($this->getCollection() as $item) {
178
+ $xml .= '<item>';
179
+ foreach ($this->_columns as $column) {
180
+ if (!$column->getIsSystem()) {
181
+ if ($column->getIndex() == 'imagename')
182
+ continue;
183
+ $xml .= "<" . $column->getIndex() . "><![CDATA[";
184
+ $xml .= Mage::helper('bannerslider')->getValueToXml($column->getIndex(), $item);
185
+ $xml .= "]]></" . $column->getIndex() . ">";
186
+ }
187
+ }
188
+ $xml .= '</item>';
189
+ }
190
+ $xml.= '</items>';
191
+ return $xml;
192
+ }
193
+
194
+ }
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Report/vssver2.scc ADDED
Binary file
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Reportbanner.php ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Magestore
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Magestore.com license that is
9
+ * available through the world-wide-web at this URL:
10
+ * http://www.magestore.com/license-agreement.html
11
+ *
12
+ * DISCLAIMER
13
+ *
14
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
15
+ * version in the future.
16
+ *
17
+ * @category Magestore
18
+ * @package Magestore_Survey
19
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
20
+ * @license http://www.magestore.com/license-agreement.html
21
+ */
22
+
23
+ /**
24
+ * Survey Adminhtml Block
25
+ *
26
+ * @category Magestore
27
+ * @package Magestore_Survey
28
+ * @author Magestore Developer
29
+ */
30
+ class Magestore_Bannerslider_Block_Adminhtml_Reportbanner extends Mage_Adminhtml_Block_Widget_Grid_Container {
31
+
32
+ public function __construct() {
33
+ $this->_controller = 'adminhtml_report_banner';
34
+ $this->_blockGroup = 'bannerslider';
35
+ $this->_headerText = Mage::helper('bannerslider')->__('Report');
36
+ //$this->_addButtonLabel = Mage::helper('survey')->__('Add Item');
37
+ parent::__construct();
38
+ $this->_removeButton('add');
39
+ }
40
+
41
+ }
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Standardslider.php ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magestore
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magestore.com license that is
8
+ * available through the world-wide-web at this URL:
9
+ * http://www.magestore.com/license-agreement.html
10
+ *
11
+ * DISCLAIMER
12
+ *
13
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
14
+ * version in the future.
15
+ *
16
+ * @category Magestore
17
+ * @package Magestore_Bannerslider
18
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
19
+ * @license http://www.magestore.com/license-agreement.html
20
+ */
21
+
22
+ /**
23
+ * Bannerslider Adminhtml Block
24
+ *
25
+ * @category Magestore
26
+ * @package Magestore_Bannerslider
27
+ * @author Magestore Developer
28
+ */
29
+ class Magestore_Bannerslider_Block_Adminhtml_Standardslider extends Mage_Adminhtml_Block_Widget_Grid_Container
30
+ {
31
+ public function __construct(){
32
+ // zend_debug::dump($this);die();
33
+ $this->_controller = 'adminhtml_standardslider';
34
+ $this->_blockGroup = 'bannerslider';
35
+ $this->_headerText = Mage::helper('bannerslider')->__('Preview Slider Styles ');
36
+ parent::__construct();
37
+ $this->removeButton('add');
38
+ }
39
+ }
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Standardslider/Grid.php ADDED
@@ -0,0 +1,94 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magestore
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magestore.com license that is
8
+ * available through the world-wide-web at this URL:
9
+ * http://www.magestore.com/license-agreement.html
10
+ *
11
+ * DISCLAIMER
12
+ *
13
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
14
+ * version in the future.
15
+ *
16
+ * @category Magestore
17
+ * @package Magestore_Bannerslider
18
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
19
+ * @license http://www.magestore.com/license-agreement.html
20
+ */
21
+
22
+ /**
23
+ * Bannerslider Grid Block
24
+ *
25
+ * @category Magestore
26
+ * @package Magestore_Bannerslider
27
+ * @author Magestore Developer
28
+ */
29
+ class Magestore_Bannerslider_Block_Adminhtml_Standardslider_Grid extends Mage_Adminhtml_Block_Widget_Grid
30
+ {
31
+ public function __construct(){
32
+ parent::__construct();
33
+ $this->setId('standardsliderGrid');
34
+ $this->setDefaultSort('standardslider_id');
35
+ $this->setDefaultDir('ASC');
36
+ $this->setSaveParametersInSession(true);
37
+ $this->setFilterVisibility(false);
38
+ }
39
+
40
+ /**
41
+ * prepare collection for block to display
42
+ *
43
+ * @return Magestore_Bannerslider_Block_Adminhtml_Bannerslider_Grid
44
+ */
45
+ protected function _prepareCollection(){
46
+ $collection = Mage::helper('bannerslider')->getStandardSlider();
47
+ $collectionGrid = new Varien_Data_Collection();
48
+ foreach ($collection as $value) {
49
+ $rowObject = new Varien_Object();
50
+ $rowObject->setData('id', $value['value']);
51
+ $rowObject->setData('title',$value['label']);
52
+ $collectionGrid->addItem($rowObject);
53
+
54
+ }
55
+ $this->setCollection($collectionGrid);
56
+ return parent::_prepareCollection();
57
+ }
58
+
59
+ /**
60
+ * prepare columns for this grid
61
+ *
62
+ * @return Magestore_Bannerslider_Block_Adminhtml_Bannerslider_Grid
63
+ */
64
+ protected function _prepareColumns(){
65
+ $this->addColumn('title', array(
66
+ 'header' => Mage::helper('bannerslider')->__('List Slider'),
67
+ 'align' =>'left',
68
+ 'index' => 'title',
69
+
70
+ ));
71
+ $this->addColumn('action',
72
+ array(
73
+ 'header' => Mage::helper('bannerslider')->__('Preview'),
74
+ 'width' => '100',
75
+ 'type' => 'action',
76
+ 'getter' => 'getId',
77
+ 'actions' => array(
78
+ array(
79
+ 'caption' => Mage::helper('bannerslider')->__('Preview'),
80
+ 'url' => array('base'=> '*/*/preview'),
81
+ //'url' => 'javascript:window.open('.$this->getUrl('*/*/preview').',_blank,scrollbars=yes, resizable=yes, width=800, height=700)',
82
+ 'popup' => true,
83
+ 'field' => 'id'
84
+ )),
85
+
86
+ 'is_system' => true,
87
+ ));
88
+ return parent::_prepareColumns();
89
+ }
90
+ public function getRowUrl($row){
91
+ return $this->getUrl('*/*/preview', array('id' => $row->getId()));
92
+
93
+ }
94
+ }
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Standardslider/vssver2.scc ADDED
Binary file
app/code/community/Magestore/Bannerslider/Block/Adminhtml/System/Configuration/Implementcode.php ADDED
@@ -0,0 +1,103 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Bannerslider_Block_Adminhtml_System_Configuration_Implementcode extends Mage_Adminhtml_Block_System_Config_Form_Field
4
+ {
5
+ protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element){
6
+ // $layout = Mage::helper('bannerslider')->returnlayout();
7
+ //$block = Mage::helper('bannerslider')->returnblock();
8
+ //$text = Mage::helper('bannerslider')->returntext();
9
+ // $template = Mage::helper('bannerslider')->returntemplate();
10
+ return '
11
+ <div class="entry-edit-head collapseable"><a onclick="Fieldset.toggleCollapse(\'bannerslider_template\'); return false;" href="#" id="bannerslider_template-head" class="open">Implement Code</a></div>
12
+ <input id="bannerslider_template-state" type="hidden" value="1" name="config_state[bannerslider_template]">
13
+ <fieldset id="bannerslider_template" class="config collapseable" style="">
14
+ <h4 class="icon-head head-edit-form fieldset-legend">Code for BannerSlider</h4>
15
+
16
+ <div id="messages">
17
+ <ul class="messages">
18
+ <li class="notice-msg">
19
+ <ul>
20
+ <li>'.Mage::helper('bannerslider')->__('Add code below to a template file').'</li>
21
+ </ul>
22
+ </li>
23
+ </ul>
24
+ </div>
25
+ <br>
26
+ <ul>
27
+ <li>
28
+ <code>
29
+ $this->getLayout()->createBlock('.'bannerslider/default'.')->setTemplate('.'bannerslider/bannerslider.phtml'.')->setBannersliderId(your_bannerslider_id)->toHtml();
30
+ </code>
31
+ </li>
32
+ </ul>
33
+ <br>
34
+ <div id="messages">
35
+ <ul class="messages">
36
+ <li class="notice-msg">
37
+ <ul>
38
+ <li>'.Mage::helper('bannerslider')->__('You can put a banner slider on a cms page. Below is an example which we put a banner slider with bannerslider_id is your_bannerslider_id on a cms page').'</li>
39
+ </ul>
40
+ </li>
41
+ </ul>
42
+ </div>
43
+ <br>
44
+ <ul>
45
+ <li>
46
+ <code>
47
+ {{block type="bannerslider/default" name="bannerslider.bannerslider" template="bannerslider/bannerslider.phtml" bannerslider_id="your_bannerslider_id"}}
48
+ </code>
49
+ </li>
50
+ </ul>
51
+ <br>
52
+ <div id="messages">
53
+ <ul class="messages">
54
+ <li class="notice-msg">
55
+ <ul>
56
+ <li>'.Mage::helper('bannerslider')->__('Please copy and paste the code below on one of xml layout files where you want to show the banner. Please replace the your_bannerslider_ids variable with your own bannerslider Id').'</li>
57
+ </ul>
58
+ </li>
59
+ </ul>
60
+ </div>
61
+
62
+ <ul>
63
+ <li>
64
+ <code>
65
+ &lt;block type="bannerslider/default" name="bannerslider.bannerslider" template="bannerslider/bannerslider.phtml"&gt;<br>
66
+ &nbsp;&nbsp;&nbsp;&nbsp;&lt;action method="setBannersliderId"&gt;&lt;bannerslider_id&gt;your_bannerslider_id&lt;/bannerslider_id&gt;&lt;/action&gt;<br>
67
+ &lt;/block&gt;
68
+ </code>
69
+ </li>
70
+ </ul>
71
+ <br>
72
+ <div id="messages">
73
+ <ul class="messages">
74
+ <li class="notice-msg">
75
+ <ul>
76
+ <li>'.Mage::helper('bannerslider')->__('Below is an example to show a banner slider with your_bannerslider_id on the left of the category page.').'</li>
77
+ </ul>
78
+ </li>
79
+ </ul>
80
+ </div>
81
+ <br>
82
+ <ul>
83
+ <li>
84
+ <code>
85
+ &lt;?xml version="1.0"?&gt;<br>
86
+ &lt;layout version="0.1.0"&gt;<br>
87
+ &nbsp;&nbsp;&lt;catalog_category_default&gt;<br>
88
+ &nbsp;&nbsp;&nbsp;&nbsp;&lt;reference name="left"&gt;<br>
89
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;block type="catalog/navigation" name="catalog.leftnav" after="currency" template="catalog/navigation/left.phtml"/&gt;<br>
90
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;block type="bannerslider/default" name="bannerslider.block" template="bannerslider/bannerslider.phtml"&gt;<br>
91
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;action method="setBannersliderId"&gt;&lt;bannerslider_id&gt;your_bannerslider_id&lt;/bannerslider_id&gt;&lt;/action&gt;<br>
92
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/block&gt; <br>
93
+ &nbsp;&nbsp;&nbsp;&nbsp;&lt;/reference><br>
94
+ &nbsp;&nbsp;&lt;/catalog_category_default&gt;<br>
95
+ &lt;/layout&gt;
96
+ </code>
97
+ </li>
98
+ </ul>
99
+ <br>
100
+
101
+ </fieldset>';
102
+ }
103
+ }
app/code/community/Magestore/Bannerslider/Block/Adminhtml/System/Configuration/vssver2.scc ADDED
Binary file
app/code/community/Magestore/Bannerslider/Block/Adminhtml/vssver2.scc ADDED
Binary file
app/code/community/Magestore/Bannerslider/Block/Bannerslider.php CHANGED
@@ -1,62 +1,57 @@
1
  <?php
2
- class Magestore_BannerSlider_Block_BannerSlider extends Mage_Core_Block_Template
3
- {
4
- private $_display = '0';
5
-
6
- public function _prepareLayout() {
7
- return parent::_prepareLayout();
8
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
 
10
- public function getBannerSlider() {
11
- if (!$this->hasData('bannerslider')) {
12
- $this->setData('bannerslider', Mage::registry('bannerslider'));
13
- }
14
- return $this->getData('bannerslider');
15
- }
16
-
17
- public function setDisplay($display){
18
- $this->_display = $display;
19
- }
20
-
21
- public function getBannerCollection() {
22
- $collection = Mage::getModel('bannerslider/bannerslider')->getCollection()
23
- ->addFieldToFilter('status',1)
24
- ->addFieldToFilter('is_home',$this->_display);
25
- if ($this->_display == Magestore_Bannerslider_Helper_Data::DISP_CATEGORY){
26
- $current_category = Mage::registry('current_category')->getId();
27
- $collection->addFieldToFilter('categories',array('finset' => $current_category));
28
- }
29
-
30
- $current_store = Mage::app()->getStore()->getId();
31
- $banners = array();
32
- foreach ($collection as $banner) {
33
- $stores = explode(',',$banner->getStores());
34
- if (in_array(0,$stores) || in_array($current_store,$stores))
35
- //if ($banner->getStatus())
36
- $banners[] = $banner;
37
- }
38
- return $banners;
39
- }
40
-
41
- public function getDelayTime() {
42
- $delay = (int) Mage::getStoreConfig('bannerslider/settings/time_delay');
43
- $delay = $delay * 1000;
44
- return $delay;
45
- }
46
-
47
- public function isShowDescription(){
48
- return (int)Mage::getStoreConfig('bannerslider/settings/show_description');
49
- }
50
-
51
- public function getListStyle(){
52
- return (int)Mage::getStoreConfig('bannerslider/settings/list_style');
53
- }
54
-
55
- public function getImageWidth() {
56
- return (int)Mage::getStoreConfig('bannerslider/settings/image_width');
57
- }
58
-
59
- public function getImageHeight() {
60
- return (int)Mage::getStoreConfig('bannerslider/settings/image_height');
61
- }
62
  }
1
  <?php
2
+
3
+ /**
4
+ * Magestore
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Magestore.com license that is
9
+ * available through the world-wide-web at this URL:
10
+ * http://www.magestore.com/license-agreement.html
11
+ *
12
+ * DISCLAIMER
13
+ *
14
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
15
+ * version in the future.
16
+ *
17
+ * @category Magestore
18
+ * @package Magestore_Bannerslider
19
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
20
+ * @license http://www.magestore.com/license-agreement.html
21
+ */
22
+
23
+ /**
24
+ * Bannerslider Block
25
+ *
26
+ * @category Magestore
27
+ * @package Magestore_Bannerslider
28
+ * @author Magestore Developer
29
+ */
30
+ class Magestore_Bannerslider_Block_Bannerslider extends Mage_Core_Block_Template {
31
+
32
+ protected function _toHtml() {
33
+ if(!Mage::getStoreConfig('bannerslider/general/enable')){
34
+ return '';
35
+ }
36
+ //die('11111111');
37
+ $collection = null;
38
+ $banners = array();
39
+ $collection = Mage::getModel('bannerslider/bannerslider')->getCollection()
40
+ ->addFieldToFilter('status', 0)
41
+ ->addFieldToFilter('position', array(
42
+ 'in' => array($this->getBlockPosition(), $this->getCateBlockPosition(), $this->getPopupPosition(), $this->getBlocknotePosition()),
43
+ ));
44
+ foreach ($collection as $item) {
45
+ $block = $this->getLayout()->createBlock('bannerslider/default')
46
+ ->setTemplate('bannerslider/bannerslider.phtml')->setSliderData($item);
47
+ $banners[] = $block->renderView();
48
+ }
49
+ return implode('', $banners);
50
+ }
51
+
52
+ public function getIsHomePage() {
53
+ return $this->getUrl('') == $this->getUrl('*/*/*', array('_current' => true, '_use_rewrite' => true));
54
+ }
55
 
56
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
57
  }
app/code/community/Magestore/Bannerslider/Block/Default.php ADDED
@@ -0,0 +1,135 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Bannerslider_Block_Default extends Mage_Core_Block_Template {
4
+
5
+ public function _prepareLayout() {
6
+ return parent::_prepareLayout();
7
+ }
8
+
9
+ public function getBlockData() {
10
+ if (!$this->hasData('block_data')) {
11
+ $bannerslider_id = $this->getBannersliderId();
12
+ if ($bannerslider_id) {
13
+ $block_data = Mage::getModel('bannerslider/bannerslider')->load($bannerslider_id);
14
+ } else {
15
+ $block_data = $this->getSliderData();
16
+ }
17
+ $category = Mage::registry('current_category');
18
+ $cateIds = array();
19
+ if ($category) {
20
+ $cateIds = $category->getPathIds();
21
+ $categoryIds = $block_data->getCategoryIds();
22
+ $categoryIds = explode(",", $categoryIds);
23
+ if (strncasecmp('category', $block_data->getPosition(), 8) == 0) {
24
+ if (count(array_intersect($cateIds, $categoryIds)) == 0) {
25
+ $block_data = null;
26
+ return null;
27
+ }
28
+ }
29
+ }
30
+ $today = date("Y-m-d");
31
+ $randomise = $block_data->getSortType() ? false : true;
32
+ $banners = Mage::getModel('bannerslider/banner')->getCollection()
33
+ ->addFieldToFilter('bannerslider_id', $block_data->getId())
34
+ ->addFieldToFilter('status', 0)
35
+ ->addFieldToFilter('start_time', array('lteq' => $today))
36
+ ->addFieldToFilter('end_time', array('gteq' => $today))
37
+ ->setOrder('order_banner', "ASC");
38
+ $banners->getSelect()->columns(array($randomise ? 'Rand() as order' : ''));
39
+
40
+
41
+ $result = array();
42
+ $result['block'] = $block_data;
43
+ $result['banners'] = array();
44
+ foreach ($banners as $banner){
45
+ $result['banners'][] = $banner->getData();
46
+ }
47
+ $this->setData('block_data', $result);
48
+ }
49
+ return $this->getData('block_data');
50
+ }
51
+
52
+ public function returntemplateSlider($style, $result) {
53
+ $html = '';
54
+ switch ($style) {
55
+ case "1":
56
+ $html = $this->getLayout()->createBlock('bannerslider/default')->setBlockData($result)->setTemplate('bannerslider/slider1.phtml')->toHtml();
57
+ break;
58
+ case "2":
59
+ $html = $this->getLayout()->createBlock('bannerslider/default')->setBlockData($result)->setTemplate('bannerslider/slider2.phtml')->toHtml();
60
+ break;
61
+ case "3":
62
+ $html = $this->getLayout()->createBlock('bannerslider/default')->setBlockData($result)->setTemplate('bannerslider/slider3.phtml')->toHtml();
63
+ break;
64
+ case "4":
65
+ $html = $this->getLayout()->createBlock('bannerslider/default')->setBlockData($result)->setTemplate('bannerslider/slider4.phtml')->toHtml();
66
+ break;
67
+ case "5":
68
+ $html = $this->getLayout()->createBlock('bannerslider/default')->setBlockData($result)->setTemplate('bannerslider/slider5.phtml')->toHtml();
69
+ break;
70
+ case "6":
71
+ $html = $this->getLayout()->createBlock('bannerslider/default')->setBlockData($result)->setTemplate('bannerslider/slider6.phtml')->toHtml();
72
+ break;
73
+ case "7":
74
+ $html = $this->getLayout()->createBlock('bannerslider/default')->setBlockData($result)->setTemplate('bannerslider/slider7.phtml')->toHtml();
75
+ break;
76
+ case "8":
77
+ $html = $this->getLayout()->createBlock('bannerslider/default')->setBlockData($result)->setTemplate('bannerslider/slider8.phtml')->toHtml();
78
+ break;
79
+ case "9":
80
+ $html = $this->getLayout()->createBlock('bannerslider/default')->setBlockData($result)->setTemplate('bannerslider/slider9.phtml')->toHtml();
81
+ break;
82
+ case "10":
83
+ $html = $this->getLayout()->createBlock('bannerslider/default')->setBlockData($result)->setTemplate('bannerslider/slider10.phtml')->toHtml();
84
+ break;
85
+ case "11":
86
+ $html = $this->getLayout()->createBlock('bannerslider/default')->setBlockData($result)->setTemplate('bannerslider/popup.phtml')->toHtml();
87
+ break;
88
+ case "12":
89
+ $html = $this->getLayout()->createBlock('bannerslider/default')->setBlockData($result)->setTemplate('bannerslider/note.phtml')->toHtml();
90
+ break;
91
+ default :
92
+ $html = '';
93
+ }
94
+ return $html;
95
+ }
96
+
97
+ public function getBannerImage($imageName) {
98
+ return Mage::helper('bannerslider')->getBannerImage($imageName);
99
+ }
100
+
101
+ public function getTarget($x) {
102
+ if ($x == 0) {
103
+ return '_self';
104
+ } elseif ($x == 1) {
105
+ return '_parent';
106
+ } else {
107
+ return '_blank';
108
+ }
109
+ }
110
+
111
+ public function getMinItem($value) {
112
+ if (!$value)
113
+ return 2;
114
+ return $value;
115
+ }
116
+
117
+ public function getMaxItem($value) {
118
+ if (!$value)
119
+ return 4;
120
+ if ($value > 12)
121
+ return 12;
122
+ return $value;
123
+ }
124
+
125
+ public function isDisplayPopup() {
126
+ $cookie = Mage::getSingleton('core/cookie');
127
+ if ($cookie->get('isdisplaypopup')) {
128
+ return false;
129
+ } else {
130
+ setcookie("isdisplaypopup", 'true', time() + 120, "/");
131
+ return true;
132
+ }
133
+ }
134
+
135
+ }
app/code/community/Magestore/Bannerslider/Block/vssver2.scc ADDED
Binary file
app/code/community/Magestore/Bannerslider/Helper/Data.php CHANGED
@@ -1,14 +1,471 @@
1
  <?php
2
 
3
- class Magestore_Bannerslider_Helper_Data extends Mage_Core_Helper_Abstract
4
- {
5
- const DISP_HOME_PAGE = '0';
6
- const DISP_CATEGORY = '1';
7
-
8
- public function getDisplayOption(){
9
- return array(
10
- array('value'=>self::DISP_HOME_PAGE, 'label'=>$this->__('Home page')),
11
- array('value'=>self::DISP_CATEGORY, 'label'=>$this->__('Category')),
12
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
  }
 
14
  }
1
  <?php
2
 
3
+ /**
4
+ * Magestore
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Magestore.com license that is
9
+ * available through the world-wide-web at this URL:
10
+ * http://www.magestore.com/license-agreement.html
11
+ *
12
+ * DISCLAIMER
13
+ *
14
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
15
+ * version in the future.
16
+ *
17
+ * @category Magestore
18
+ * @package Magestore_Bannerslider
19
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
20
+ * @license http://www.magestore.com/license-agreement.html
21
+ */
22
+
23
+ /**
24
+ * Bannerslider Helper
25
+ *
26
+ * @category Magestore
27
+ * @package Magestore_Bannerslider
28
+ * @author Magestore Developer
29
+ */
30
+ class Magestore_Bannerslider_Helper_Data extends Mage_Core_Helper_Abstract {
31
+
32
+ public function getBlockIdsToOptionsArray() {
33
+ return array(
34
+ array(
35
+ 'label' => $this->__('------- Please choose position -------'),
36
+ 'value' => ''),
37
+ array(
38
+ 'label' => $this->__('Popular positions'),
39
+ 'value' => array(
40
+ array('value' => 'cms-page-content-top', 'label' => $this->__('Homepage-Content-Top')),
41
+ )),
42
+ array(
43
+ 'label' => $this->__('Default for using in CMS page template'),
44
+ 'value' => array(
45
+ array('value' => 'custom', 'label' => $this->__('Custom')),
46
+ )),
47
+ array(
48
+ 'label' => $this->__('General (will be disaplyed on all pages)'),
49
+ 'value' => array(
50
+ array('value' => 'sidebar-right-top', 'label' => $this->__('Sidebar-Top-Right')),
51
+ array('value' => 'sidebar-right-bottom', 'label' => $this->__('Sidebar-Bottom-Right')),
52
+ array('value' => 'sidebar-left-top', 'label' => $this->__('Sidebar-Top-Left')),
53
+ array('value' => 'sidebar-left-bottom', 'label' => $this->__('Sidebar-Bottom-Left')),
54
+ array('value' => 'content-top', 'label' => $this->__('Content-Top')),
55
+ array('value' => 'menu-top', 'label' => $this->__('Menu-Top')),
56
+ array('value' => 'menu-bottom', 'label' => $this->__('Menu-Bottom')),
57
+ array('value' => 'page-bottom', 'label' => $this->__('Page-Bottom')),
58
+ )),
59
+ array(
60
+ 'label' => $this->__('Catalog and product'),
61
+ 'value' => array(
62
+ array('value' => 'catalog-sidebar-right-top', 'label' => $this->__('Catalog-Sidebar-Top-Right')),
63
+ array('value' => 'catalog-sidebar-right-bottom', 'label' => $this->__('Catalog-Sidebar-Bottom-Right')),
64
+ array('value' => 'catalog-sidebar-left-top', 'label' => $this->__('Catalog-Sidebar-Top-Left')),
65
+ array('value' => 'catalog-sidebar-left-bottom', 'label' => $this->__('Catalog-Sidebar-Bottom-Left')),
66
+ array('value' => 'catalog-content-top', 'label' => $this->__('Catalog-Content-Top')),
67
+ array('value' => 'catalog-menu-top', 'label' => $this->__('Catalog-Menu-Top')),
68
+ array('value' => 'catalog-menu-bottom', 'label' => $this->__('Catalog-Menu-Bottom')),
69
+ array('value' => 'catalog-page-bottom', 'label' => $this->__('Catalog-Page-Bottom')),
70
+ )),
71
+ array(
72
+ 'label' => $this->__('Category only'),
73
+ 'value' => array(
74
+ array('value' => 'category-sidebar-right-top', 'label' => $this->__('Category-Sidebar-Top-Right')),
75
+ array('value' => 'category-sidebar-right-bottom', 'label' => $this->__('Category-Sidebar-Bottom-Right')),
76
+ array('value' => 'category-sidebar-left-top', 'label' => $this->__('Category-Sidebar-Top-Left')),
77
+ array('value' => 'category-sidebar-left-bottom', 'label' => $this->__('Category-Sidebar-Bottom-Left')),
78
+ array('value' => 'category-content-top', 'label' => $this->__('Category-Content-Top')),
79
+ array('value' => 'category-menu-top', 'label' => $this->__('Category-Menu-Top')),
80
+ array('value' => 'category-menu-bottom', 'label' => $this->__('Category-Menu-Bottom')),
81
+ array('value' => 'category-page-bottom', 'label' => $this->__('Category-Page-Bottom')),
82
+ )),
83
+ array(
84
+ 'label' => $this->__('Product only'),
85
+ 'value' => array(
86
+ array('value' => 'product-sidebar-right-top', 'label' => $this->__('Product-Sidebar-Top-Right')),
87
+ array('value' => 'product-sidebar-right-bottom', 'label' => $this->__('Product-Sidebar-Bottom-Right')),
88
+ array('value' => 'product-sidebar-left-top', 'label' => $this->__('Product-Sidebar-Top-Left')),
89
+ array('value' => 'product-content-top', 'label' => $this->__('Product-Content-Top')),
90
+ array('value' => 'product-menu-top', 'label' => $this->__('Product-Menu-Top')),
91
+ array('value' => 'product-menu-bottom', 'label' => $this->__('Product-Menu-Bottom')),
92
+ array('value' => 'product-page-bottom', 'label' => $this->__('Product-Page-Bottom')),
93
+ )),
94
+ array(
95
+ 'label' => $this->__('Customer'),
96
+ 'value' => array(
97
+ array('value' => 'customer-content-top', 'label' => $this->__('Customer-Content-Top')),
98
+ )),
99
+ array(
100
+ 'label' => $this->__('Cart & Checkout'),
101
+ 'value' => array(
102
+ array('value' => 'cart-content-top', 'label' => $this->__('Cart-Content-Top')),
103
+ array('value' => 'checkout-content-top', 'label' => $this->__('Checkout-Content-Top')),
104
+ )),
105
+ );
106
+ }
107
+
108
+ public function getStyleSlider() {
109
+ return array(
110
+ array(
111
+ 'label' => $this->__('--------- Please choose style -------'),
112
+ 'value' => ''
113
+ ),
114
+ array(
115
+ 'label' => $this->__('Special Slider'),
116
+ 'value' => array(
117
+ array('value' => '5', 'label' => $this->__('Pop up on Home page')),
118
+ array('value' => '6', 'label' => $this->__('Note displayed on all pages')),
119
+ )),
120
+ array(
121
+ 'label' => $this->__('Unresponsive Slider'),
122
+ 'value' => array(
123
+ array(
124
+ 'label' => $this->__('Slider Evolution Default'),
125
+ 'value' => '1'
126
+ ),
127
+ array(
128
+ 'label' => $this->__('Slider Evolution Caborno'),
129
+ 'value' => '2'
130
+ ),
131
+ array(
132
+ 'label' => $this->__('Slider Evolution Minimalist'),
133
+ 'value' => '3'
134
+ ),
135
+ array(
136
+ 'label' => $this->__('Slider Evolution Fresh'),
137
+ 'value' => '4'
138
+ ),
139
+ ),
140
+ ),
141
+ array(
142
+ 'label' => $this->__('Responsive Slider'),
143
+ 'value' => array(
144
+ array(
145
+ 'label' => $this->__('FlexSlider 1'),
146
+ 'value' => '7'
147
+ ),
148
+ array(
149
+ 'label' => $this->__('FlexSlider 2'),
150
+ 'value' => '8'
151
+ ),
152
+ array(
153
+ 'label' => $this->__('FlexSlider 3'),
154
+ 'value' => '9'
155
+ ),
156
+ array(
157
+ 'label' => $this->__('FlexSlider 4'),
158
+ 'value' => '10'
159
+ ),
160
+ ),
161
+ ),
162
+ );
163
+ }
164
+
165
+ public function getOptionYesNo() {
166
+ return array(
167
+ array(
168
+ 'label' => $this->__('Yes'),
169
+ 'value' => '1'
170
+ ),
171
+ array(
172
+ 'label' => $this->__('No'),
173
+ 'value' => '0'
174
+ ),
175
+ );
176
+ }
177
+
178
+ public function getOptionSliderId() {
179
+ $option = array();
180
+ $bannerslider_id = Mage::app()->getRequest()->getParam('sliderid');
181
+ if ($bannerslider_id) {
182
+ $slider = Mage::getModel('bannerslider/bannerslider')->load($bannerslider_id);
183
+ $option[] = array(
184
+ 'value' => $slider->getId(),
185
+ 'label' => $slider->getTitle(),
186
+ );
187
+ return $option;
188
+ }
189
+ $option[] = array(
190
+ 'value' => '',
191
+ 'label' => Mage::helper('bannerslider')->__('-------- Please select a slider --------'),
192
+ );
193
+ $slider = Mage::getModel('bannerslider/bannerslider')->getCollection();
194
+ foreach ($slider as $value) {
195
+ $option[] = array(
196
+ 'value' => $value->getId(),
197
+ 'label' => $value->getTitle(),
198
+ );
199
+ }
200
+
201
+ return $option;
202
+ }
203
+
204
+ public function deleteImageFile($image) {
205
+ if (!$image) {
206
+ return;
207
+ }
208
+ $name = $this->reImageName($image);
209
+ $banner_image_path = Mage::getBaseUrl('media') . DS . 'bannerslider' . DS . $name;
210
+ if (!file_exists($banner_image_path)) {
211
+ return;
212
+ }
213
+
214
+ try {
215
+ unlink($banner_image_path);
216
+ } catch (Exception $exc) {
217
+ echo $exc->getTraceAsString();
218
+ }
219
+ }
220
+
221
+ public static function uploadBannerImage() {
222
+ $banner_image_path = Mage::getBaseDir('media') . DS . 'bannerslider';
223
+ $image = "";
224
+ if (isset($_FILES['image']['name']) && $_FILES['image']['name'] != '') {
225
+ try {
226
+ /* Starting upload */
227
+ $uploader = new Varien_File_Uploader('image');
228
+
229
+ // Any extention would work
230
+ $uploader->setAllowedExtensions(array('jpg', 'jpeg', 'gif', 'png'));
231
+ $uploader->setAllowRenameFiles(false);
232
+
233
+ $uploader->setFilesDispersion(true);
234
+
235
+ $uploader->save($banner_image_path, $_FILES['image']['name']);
236
+ } catch (Exception $e) {
237
+
238
+ }
239
+
240
+ $image = $_FILES['image']['name'];
241
+ }
242
+ return $image;
243
+ }
244
+
245
+ public function getStandardSlider() {
246
+ return array(
247
+ array(
248
+ 'label' => $this->__('Slider Evolution Default'),
249
+ 'value' => '1'
250
+ ),
251
+ array(
252
+ 'label' => $this->__('Slider Evolution Caborno'),
253
+ 'value' => '2'
254
+ ),
255
+ array(
256
+ 'label' => $this->__('Slider Evolution Minimalist'),
257
+ 'value' => '3'
258
+ ),
259
+ array(
260
+ 'label' => $this->__('Slider Evolution Fresh'),
261
+ 'value' => '4'
262
+ ),
263
+ array(
264
+ 'label' => $this->__('FlexSlider 1'),
265
+ 'value' => '5'
266
+ ),
267
+ array(
268
+ 'label' => $this->__('FlexSlider 2'),
269
+ 'value' => '6'
270
+ ),
271
+ array(
272
+ 'label' => $this->__('FlexSlider 3'),
273
+ 'value' => '7'
274
+ ),
275
+ array(
276
+ 'label' => $this->__('FlexSlider 4'),
277
+ 'value' => '8'
278
+ ),
279
+ array(
280
+ 'label' => $this->__('Note display on all pages'),
281
+ 'value' => '9'
282
+ ),
283
+ );
284
+ }
285
+
286
+ public function getAnimationA() {
287
+ return array(
288
+ array(
289
+ 'label' => $this->__('Fade'),
290
+ 'value' => 'fade'
291
+ ),
292
+ array(
293
+ 'label' => $this->__('Square'),
294
+ 'value' => 'squarerandom'
295
+ ),
296
+ array(
297
+ 'label' => $this->__('Bar'),
298
+ 'value' => 'bar'
299
+ ),
300
+ array(
301
+ 'label' => $this->__('Rain'),
302
+ 'value' => 'rain'
303
+ ),
304
+ );
305
+ }
306
+
307
+ public function getAnimationB() {
308
+ return array(
309
+ array(
310
+ 'label' => $this->__('Fade'),
311
+ 'value' => 'fade'
312
+ ),
313
+ array(
314
+ 'label' => $this->__('Slide'),
315
+ 'value' => 'slide'
316
+ ),
317
+ );
318
+ }
319
+
320
+ public function reImageName($imageName) {
321
+
322
+ $subname = substr($imageName, 0, 2);
323
+ $array = array();
324
+ $subDir1 = substr($subname, 0, 1);
325
+ $subDir2 = substr($subname, 1, 1);
326
+ $array[0] = $subDir1;
327
+ $array[1] = $subDir2;
328
+ $name = $array[0] . '/' . $array[1] . '/' . $imageName;
329
+
330
+ return strtolower($name);
331
+ }
332
+
333
+ public function getBannerImage($image) {
334
+ $name = $this->reImageName($image);
335
+ return Mage::getBaseUrl('media') . 'bannerslider' . '/' . $name;
336
+ }
337
+
338
+ public function getPreviewSlider() {
339
+ return Mage::getSingleton('adminhtml/url')->getUrl('bannerslideradmin/adminhtml_standardslider/preview/');
340
+ }
341
+
342
+ public function getPathImageForBanner($image) {
343
+ $name = $this->reImageName($image);
344
+ return 'bannerslider' . '/' . $name;
345
+ }
346
+
347
+ public function getOptionGridSlider() {
348
+ return array(
349
+ 'pop-up' => 'Pop up at Home page',
350
+ 'note-allsite' => 'Note will be displayed on all pages',
351
+ 'cms-page-content-top' => 'Homepage content top',
352
+ 'custom' => 'Custom',
353
+ 'sidebar-right-top' => 'Sidebar-Top-Right(all pages)',
354
+ 'sidebar-right-bottom' => 'Sidebar-Bottom-Right (all pages)',
355
+ 'sidebar-left-top' => 'Sidebar-Top-Left(all pages)',
356
+ 'sidebar-left-bottom' => 'Sidebar-Bottom-Left(all pages)',
357
+ 'content-top' => 'Content-Top(all pages)',
358
+ 'menu-top' => 'Menu-Top(all pages)',
359
+ 'menu-bottom' => 'Menu-Bottom(all pages)',
360
+ 'page-bottom' => 'Page-Bottom(all pages)',
361
+ 'catalog-sidebar-right-top' => ' Catalog-Sidebar-Top-Right',
362
+ 'catalog-sidebar-right-bottom' => 'Catalog-Sidebar-Bottom-Right ',
363
+ 'catalog-sidebar-left-top' => 'Catalog-Sidebar-Top-Left ',
364
+ 'catalog-sidebar-left-bottom' => 'Catalog-Sidebar-Bottom-Left ',
365
+ 'catalog-content-top' => 'Catalog-Content-Top ',
366
+ 'catalog-menu-top' => 'Catalog-Menu-Top',
367
+ 'catalog-menu-bottom' => 'Catalog-Menu-Bottom',
368
+ 'catalog-page-bottom' => 'Catalog-Page-Bottom',
369
+ 'category-sidebar-right-top' => 'Category-Sidebar-Top-Right ',
370
+ 'category-sidebar-right-bottom' => 'Category-Sidebar-Bottom-Right',
371
+ 'category-sidebar-left-top' => 'Category-Sidebar-Top-Left ',
372
+ 'category-sidebar-left-bottom' => 'Category-Sidebar-Bottom-Left',
373
+ 'category-content-top' => 'Category-Content-Top',
374
+ 'category-menu-top' => 'Category-Menu-Top',
375
+ 'category-menu-bottom' => 'Category-Menu-Bottom ',
376
+ 'category-page-bottom' => 'Category-Page-Bottom',
377
+ 'product-sidebar-right-top' => 'Product-Sidebar-Top-Right',
378
+ 'product-sidebar-right-bottom' => 'Product-Sidebar-Bottom-Right',
379
+ 'product-sidebar-left-top' => 'Product-Sidebar-Top-Left',
380
+ 'product-sidebar-left-bottom' => 'Product-Sidebar-Bottom-Left',
381
+ 'product-content-top' => 'Product-Content-Top',
382
+ 'product-menu-top' => 'Product-Menu-Top',
383
+ 'product-menu-bottom' => 'Product-Menu-Bottom',
384
+ 'product-page-bottom' => 'Product-Page-Bottom',
385
+ 'customer-content-top' => 'Customer-Content-Top',
386
+ 'cart-content-top' => 'Cart-Content-Top',
387
+ 'checkout-content-top' => 'Checkout-Content-Top'
388
+ );
389
+ }
390
+
391
+ public function getPositionNote() {
392
+ return array(
393
+ array('label' => $this->__('Top-Left'), 'value' => 1),
394
+ array('label' => $this->__('Top-Middle'), 'value' => 2),
395
+ array('label' => $this->__('Top-Right'), 'value' => 3),
396
+ array('label' => $this->__('Left-Middle'), 'value' => 4),
397
+ array('label' => $this->__('Right-Middle'), 'value' => 5),
398
+ array('label' => $this->__('Bottom-Left'), 'value' => 6),
399
+ array('label' => $this->__('Bottom-Middle'), 'value' => 7),
400
+ array('label' => $this->__('Bottom-Right'), 'value' => 8),
401
+ );
402
+ }
403
+
404
+ public function getOptionColor() {
405
+ return array(
406
+ array('label' => $this->__('Yellow'), 'value' => '#f7d700'),
407
+ array('label' => $this->__('Red'), 'value' => '#dd0707'),
408
+ array('label' => $this->__('Orange'), 'value' => '#ee5f00'),
409
+ array('label' => $this->__('Green'), 'value' => '#83ba00'),
410
+ array('label' => $this->__('Blue'), 'value' => '#23b8ff'),
411
+ array('label' => $this->__('Gray'), 'value' => '#999'),
412
+ );
413
+ }
414
+
415
+ public function getVaulePosition($value) {
416
+ switch ($value) {
417
+ case 1: return "top-left";
418
+ case 2: return "middle-top";
419
+ case 3: return "top-right";
420
+ case 4: return "middle-left";
421
+ case 5: return "middle-right";
422
+ case 6: return "bottom-left";
423
+ case 7: return "middle-bottom";
424
+ case 8: return "bottom-right";
425
+ }
426
+ }
427
+
428
+ public function getValueToCsv($itemCollection, $x=0) {
429
+
430
+ $callback = null;
431
+ $data = array();
432
+ $data [] = '"' . str_replace(array('"', '\\'), array('""', '\\\\'), $itemCollection->getId()). '"';
433
+ $data [] = '"' . str_replace(array('"', '\\'), array('""', '\\\\'), $itemCollection->getData('banner_name')) . '"';
434
+ $data [] = '"' . str_replace(array('"', '\\'), array('""', '\\\\'), $itemCollection->getData('banner_url')) . '"';
435
+ if($x ==0) $data [] = '"' . str_replace(array('"', '\\'), array('""', '\\\\'), $itemCollection->getData('slider_title')) . '"';
436
+ $data [] = '"' . str_replace(array('"', '\\'), array('""', '\\\\'), $itemCollection->getData('clicks')) . '"';
437
+ $data [] = '"' . str_replace(array('"', '\\'), array('""', '\\\\'), $itemCollection->getData('impmode')) . '"';
438
+ $data [] = '"' . str_replace(array('"', '\\'), array('""', '\\\\'), $itemCollection->getData('date_click')) . '"';
439
+ $callback = implode(',', $data);
440
+ return $callback;
441
+ }
442
+
443
+ public function getValueToXml($keyIndex, $itemCollection){
444
+ $callback = null;
445
+ switch ($keyIndex){
446
+ case "report_id":
447
+ $callback = $itemCollection->getId();
448
+ break;
449
+ case "banner_name":
450
+ $callback = $itemCollection->getBannerName();
451
+ break;
452
+ case "banner_url":
453
+ $callback = $itemCollection->getBannerUrl();
454
+ break;
455
+ case "slider_title":
456
+ $callback = $itemCollection->getSliderTitle();
457
+ break;
458
+ case "banner_click":
459
+
460
+ $callback = $itemCollection->getBannerClick();
461
+ break;
462
+ case "banner_impress":
463
+
464
+ $callback = $itemCollection->getBannerImpress();
465
+ break;
466
+ default: return null;
467
+ }
468
+ return $callback;
469
  }
470
+
471
  }
app/code/community/Magestore/Bannerslider/Helper/vssver2.scc ADDED
Binary file
app/code/community/Magestore/Bannerslider/Model/Banner.php ADDED
@@ -0,0 +1,127 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Magestore
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Magestore.com license that is
9
+ * available through the world-wide-web at this URL:
10
+ * http://www.magestore.com/license-agreement.html
11
+ *
12
+ * DISCLAIMER
13
+ *
14
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
15
+ * version in the future.
16
+ *
17
+ * @category Magestore
18
+ * @package Magestore_Bannerslider
19
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
20
+ * @license http://www.magestore.com/license-agreement.html
21
+ */
22
+
23
+ /**
24
+ * Bannerslider Model
25
+ *
26
+ * @category Magestore
27
+ * @package Magestore_Bannerslider
28
+ * @author Magestore Developer
29
+ */
30
+ class Magestore_Bannerslider_Model_Banner extends Mage_Core_Model_Abstract {
31
+
32
+ protected $_store_id = null;
33
+
34
+ public function _construct() {
35
+ parent::_construct();
36
+ if ($storeId = Mage::app()->getStore()->getId()) {
37
+ $this->setStoreId($storeId);
38
+ }
39
+ $this->_init('bannerslider/banner');
40
+ }
41
+
42
+ protected function _beforeSave() {
43
+ if ($storeId = $this->getStoreId()) {
44
+ $defaultStore = Mage::getModel('bannerslider/banner')->load($this->getId());
45
+ $storeAttributes = $this->getStoreAttributes();
46
+ foreach ($storeAttributes as $attribute) {
47
+ if ($this->getData($attribute . '_default')) {
48
+ $this->setData($attribute . '_in_store', false);
49
+ } else {
50
+ $this->setData($attribute . '_in_store', true);
51
+ $this->setData($attribute . '_value', $this->getData($attribute));
52
+ }
53
+ $this->setData($attribute, $defaultStore->getData($attribute));
54
+ }
55
+ }
56
+ return parent::_beforeSave();
57
+ }
58
+
59
+ protected function _afterSave() {
60
+ if ($storeId = $this->getStoreId()) {
61
+ $storeAttributes = $this->getStoreAttributes();
62
+
63
+ foreach ($storeAttributes as $attribute) {
64
+ $attributeValue = Mage::getModel('bannerslider/value')
65
+ ->loadAttributeValue($this->getId(), $storeId, $attribute);
66
+ if ($this->getData($attribute . '_in_store')) {
67
+ try {
68
+ $attributeValue->setValue($this->getData($attribute . '_value'))->save();
69
+ } catch (Exception $e) {
70
+
71
+ }
72
+ } elseif ($attributeValue && $attributeValue->getId()) {
73
+ try {
74
+ $attributeValue->delete();
75
+ } catch (Exception $e) {
76
+
77
+ }
78
+ }
79
+ }
80
+ }
81
+ return parent::_afterSave();
82
+ }
83
+
84
+ public function getStoreId() {
85
+ return $this->_store_id;
86
+ }
87
+
88
+ public function setStoreId($id) {
89
+ $this->_store_id = $id;
90
+ return $this;
91
+ }
92
+
93
+ public function getStoreAttributes() {
94
+ return array(
95
+ 'name',
96
+ 'status',
97
+ 'click_url',
98
+ );
99
+ }
100
+
101
+ //info multistore
102
+ public function load($id, $field = null) {
103
+ parent::load($id, $field);
104
+ if ($this->getStoreId()) {
105
+ $this->getMultiStoreValue();
106
+ }
107
+ return $this;
108
+ }
109
+
110
+ public function getMultiStoreValue($storeId = null) {
111
+ if (!$storeId) {
112
+ $storeId = $this->getStoreId();
113
+ }
114
+ if (!$storeId) {
115
+ return $this;
116
+ }
117
+ $storeValues = Mage::getModel('bannerslider/value')->getCollection()
118
+ ->addFieldToFilter('banner_id', $this->getId())
119
+ ->addFieldToFilter('store_id', $storeId);
120
+ foreach ($storeValues as $value) {
121
+ $this->setData($value->getAttributeCode() . '_in_store', true);
122
+ $this->setData($value->getAttributeCode(), $value->getValue());
123
+ }
124
+ return $this;
125
+ }
126
+
127
+ }
app/code/community/Magestore/Bannerslider/Model/Bannerslider.php CHANGED
@@ -1,10 +1,35 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
 
 
 
 
 
 
 
 
3
  class Magestore_Bannerslider_Model_Bannerslider extends Mage_Core_Model_Abstract
4
  {
5
- public function _construct()
6
- {
7
- parent::_construct();
8
- $this->_init('bannerslider/bannerslider');
9
- }
10
  }
1
  <?php
2
+ /**
3
+ * Magestore
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magestore.com license that is
8
+ * available through the world-wide-web at this URL:
9
+ * http://www.magestore.com/license-agreement.html
10
+ *
11
+ * DISCLAIMER
12
+ *
13
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
14
+ * version in the future.
15
+ *
16
+ * @category Magestore
17
+ * @package Magestore_Bannerslider
18
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
19
+ * @license http://www.magestore.com/license-agreement.html
20
+ */
21
 
22
+ /**
23
+ * Bannerslider Model
24
+ *
25
+ * @category Magestore
26
+ * @package Magestore_Bannerslider
27
+ * @author Magestore Developer
28
+ */
29
  class Magestore_Bannerslider_Model_Bannerslider extends Mage_Core_Model_Abstract
30
  {
31
+ public function _construct(){
32
+ parent::_construct();
33
+ $this->_init('bannerslider/bannerslider');
34
+ }
 
35
  }
app/code/community/Magestore/Bannerslider/Model/Mysql4/Banner.php ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Magestore
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Magestore.com license that is
9
+ * available through the world-wide-web at this URL:
10
+ * http://www.magestore.com/license-agreement.html
11
+ *
12
+ * DISCLAIMER
13
+ *
14
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
15
+ * version in the future.
16
+ *
17
+ * @category Magestore
18
+ * @package Magestore_Bannerslider
19
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
20
+ * @license http://www.magestore.com/license-agreement.html
21
+ */
22
+
23
+ /**
24
+ * Bannerslider Resource Model
25
+ *
26
+ * @category Magestore
27
+ * @package Magestore_Bannerslider
28
+ * @author Magestore Developer
29
+ */
30
+ class Magestore_Bannerslider_Model_Mysql4_Banner extends Mage_Core_Model_Mysql4_Abstract {
31
+
32
+ public function _construct() {
33
+ $this->_init('bannerslider/banner', 'banner_id');
34
+ }
35
+
36
+ public function getListBannerOfBlock($block) {
37
+ try {
38
+ $randomise = $block->getSortType() ? false : true;
39
+
40
+ $today = date("Y-m-d");
41
+ $select = $this->_getReadAdapter()->select()
42
+ ->from($this->getTable('banner'), array('*', $randomise ? 'Rand() as order' : ''))
43
+ ->where('bannerslider_id=?', $block->getId())
44
+ ->where('status=?', 1)
45
+ ->where('start_time <= ?', $today)
46
+ ->where('end_time >= ?', $today)
47
+ ->order("order", "ASC");
48
+
49
+ $items = $this->_getReadAdapter()->fetchAll($select);
50
+ //Zend_debug::dump($items);
51
+ return $items;
52
+ } catch (Exception $e) {
53
+
54
+ return null;
55
+ }
56
+ }
57
+
58
+ }
app/code/community/Magestore/Bannerslider/Model/Mysql4/Banner/Collection.php ADDED
@@ -0,0 +1,88 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Magestore
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Magestore.com license that is
9
+ * available through the world-wide-web at this URL:
10
+ * http://www.magestore.com/license-agreement.html
11
+ *
12
+ * DISCLAIMER
13
+ *
14
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
15
+ * version in the future.
16
+ *
17
+ * @category Magestore
18
+ * @package Magestore_Bannerslider
19
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
20
+ * @license http://www.magestore.com/license-agreement.html
21
+ */
22
+
23
+ /**
24
+ * Bannerslider Resource Collection Model
25
+ *
26
+ * @category Magestore
27
+ * @package Magestore_Bannerslider
28
+ * @author Magestore Developer
29
+ */
30
+ class Magestore_Bannerslider_Model_Mysql4_Banner_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract {
31
+
32
+ protected $_store_id = null;
33
+ protected $_addedTable = array();
34
+
35
+ public function _construct() {
36
+ parent::_construct();
37
+ if ($storeId = Mage::app()->getStore()->getId()) {
38
+ $this->setStoreId($storeId);
39
+ }
40
+ $this->_init('bannerslider/banner');
41
+ }
42
+
43
+ //use for multi store
44
+ public function addFieldToFilter($field, $condition = null) {
45
+ $attributes = array(
46
+ 'name',
47
+ 'status',
48
+ 'click_url',
49
+ );
50
+ $storeId = $this->getStoreId();
51
+ if (in_array($field, $attributes) && $storeId) {
52
+ if (!in_array($field, $this->_addedTable)) {
53
+ $this->getSelect()
54
+ ->joinLeft(array($field => $this->getTable('bannerslider/value')), "main_table.banner_id = $field.banner_id" .
55
+ " AND $field.store_id = $storeId" .
56
+ " AND $field.attribute_code = '$field'", array()
57
+ );
58
+ $this->_addedTable[] = $field;
59
+ }
60
+ return parent::addFieldToFilter("IF($field.value IS NULL, main_table.$field, $field.value)", $condition);
61
+ }
62
+ if ($field == 'store_id') {
63
+ $field = 'main_table.banner_id';
64
+ }
65
+ return parent::addFieldToFilter($field, $condition);
66
+ }
67
+
68
+ public function setStoreId($value) {
69
+ $this->_store_id = $value;
70
+ return $this;
71
+ }
72
+
73
+ public function getStoreId() {
74
+ return $this->_store_id;
75
+ }
76
+
77
+ //multi store
78
+ protected function _afterLoad() {
79
+ parent::_afterLoad();
80
+ if ($storeId = $this->getStoreId()) {
81
+ foreach ($this->_items as $item) {
82
+ $item->setStoreId($storeId)->getMultiStoreValue();
83
+ }
84
+ }
85
+ return $this;
86
+ }
87
+
88
+ }
app/code/community/Magestore/Bannerslider/Model/Mysql4/Banner/vssver2.scc ADDED
Binary file
app/code/community/Magestore/Bannerslider/Model/Mysql4/Bannerslider.php CHANGED
@@ -1,10 +1,34 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
 
 
 
 
 
 
 
 
3
  class Magestore_Bannerslider_Model_Mysql4_Bannerslider extends Mage_Core_Model_Mysql4_Abstract
4
  {
5
- public function _construct()
6
- {
7
- // Note that the bannerslider_id refers to the key field in your database table.
8
- $this->_init('bannerslider/bannerslider', 'bannerslider_id');
9
- }
10
  }
1
  <?php
2
+ /**
3
+ * Magestore
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magestore.com license that is
8
+ * available through the world-wide-web at this URL:
9
+ * http://www.magestore.com/license-agreement.html
10
+ *
11
+ * DISCLAIMER
12
+ *
13
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
14
+ * version in the future.
15
+ *
16
+ * @category Magestore
17
+ * @package Magestore_Bannerslider
18
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
19
+ * @license http://www.magestore.com/license-agreement.html
20
+ */
21
 
22
+ /**
23
+ * Bannerslider Resource Model
24
+ *
25
+ * @category Magestore
26
+ * @package Magestore_Bannerslider
27
+ * @author Magestore Developer
28
+ */
29
  class Magestore_Bannerslider_Model_Mysql4_Bannerslider extends Mage_Core_Model_Mysql4_Abstract
30
  {
31
+ public function _construct(){
32
+ $this->_init('bannerslider/bannerslider', 'bannerslider_id');
33
+ }
 
 
34
  }
app/code/community/Magestore/Bannerslider/Model/Mysql4/Bannerslider/Collection.php CHANGED
@@ -1,10 +1,35 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
 
 
 
 
 
 
 
 
3
  class Magestore_Bannerslider_Model_Mysql4_Bannerslider_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
4
  {
5
- public function _construct()
6
- {
7
- parent::_construct();
8
- $this->_init('bannerslider/bannerslider');
9
- }
10
  }
1
  <?php
2
+ /**
3
+ * Magestore
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magestore.com license that is
8
+ * available through the world-wide-web at this URL:
9
+ * http://www.magestore.com/license-agreement.html
10
+ *
11
+ * DISCLAIMER
12
+ *
13
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
14
+ * version in the future.
15
+ *
16
+ * @category Magestore
17
+ * @package Magestore_Bannerslider
18
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
19
+ * @license http://www.magestore.com/license-agreement.html
20
+ */
21
 
22
+ /**
23
+ * Bannerslider Resource Collection Model
24
+ *
25
+ * @category Magestore
26
+ * @package Magestore_Bannerslider
27
+ * @author Magestore Developer
28
+ */
29
  class Magestore_Bannerslider_Model_Mysql4_Bannerslider_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
30
  {
31
+ public function _construct(){
32
+ parent::_construct();
33
+ $this->_init('bannerslider/bannerslider');
34
+ }
 
35
  }
app/code/community/Magestore/Bannerslider/Model/Mysql4/Bannerslider/vssver2.scc ADDED
Binary file
app/code/community/Magestore/Bannerslider/Model/Mysql4/Report.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magestore
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magestore.com license that is
8
+ * available through the world-wide-web at this URL:
9
+ * http://www.magestore.com/license-agreement.html
10
+ *
11
+ * DISCLAIMER
12
+ *
13
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
14
+ * version in the future.
15
+ *
16
+ * @category Magestore
17
+ * @package Magestore_Bannerslider
18
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
19
+ * @license http://www.magestore.com/license-agreement.html
20
+ */
21
+
22
+ /**
23
+ * Bannerslider Resource Model
24
+ *
25
+ * @category Magestore
26
+ * @package Magestore_Bannerslider
27
+ * @author Magestore Developer
28
+ */
29
+ class Magestore_Bannerslider_Model_Mysql4_Report extends Mage_Core_Model_Mysql4_Abstract
30
+ {
31
+ public function _construct(){
32
+ $this->_init('bannerslider/report', 'report_id');
33
+ }
34
+ }
app/code/community/Magestore/Bannerslider/Model/Mysql4/Report/Collection.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magestore
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magestore.com license that is
8
+ * available through the world-wide-web at this URL:
9
+ * http://www.magestore.com/license-agreement.html
10
+ *
11
+ * DISCLAIMER
12
+ *
13
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
14
+ * version in the future.
15
+ *
16
+ * @category Magestore
17
+ * @package Magestore_Bannerslider
18
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
19
+ * @license http://www.magestore.com/license-agreement.html
20
+ */
21
+
22
+ /**
23
+ * Bannerslider Resource Collection Model
24
+ *
25
+ * @category Magestore
26
+ * @package Magestore_Bannerslider
27
+ * @author Magestore Developer
28
+ */
29
+ class Magestore_Bannerslider_Model_Mysql4_Report_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
30
+ {
31
+ public function _construct(){
32
+ parent::_construct();
33
+ $this->_init('bannerslider/report');
34
+ }
35
+ }
app/code/community/Magestore/Bannerslider/Model/Mysql4/Report/vssver2.scc ADDED
Binary file
app/code/community/Magestore/Bannerslider/Model/Mysql4/Value.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magestore
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magestore.com license that is
8
+ * available through the world-wide-web at this URL:
9
+ * http://www.magestore.com/license-agreement.html
10
+ *
11
+ * DISCLAIMER
12
+ *
13
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
14
+ * version in the future.
15
+ *
16
+ * @category Magestore
17
+ * @package Magestore_Bannerslider
18
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
19
+ * @license http://www.magestore.com/license-agreement.html
20
+ */
21
+
22
+ /**
23
+ * Bannerslider Resource Model
24
+ *
25
+ * @category Magestore
26
+ * @package Magestore_Bannerslider
27
+ * @author Magestore Developer
28
+ */
29
+ class Magestore_Bannerslider_Model_Mysql4_Value extends Mage_Core_Model_Mysql4_Abstract
30
+ {
31
+ public function _construct(){
32
+ $this->_init('bannerslider/value', 'value_id');
33
+ }
34
+ }
app/code/community/Magestore/Bannerslider/Model/Mysql4/Value/Collection.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magestore
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magestore.com license that is
8
+ * available through the world-wide-web at this URL:
9
+ * http://www.magestore.com/license-agreement.html
10
+ *
11
+ * DISCLAIMER
12
+ *
13
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
14
+ * version in the future.
15
+ *
16
+ * @category Magestore
17
+ * @package Magestore_Bannerslider
18
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
19
+ * @license http://www.magestore.com/license-agreement.html
20
+ */
21
+
22
+ /**
23
+ * Bannerslider Resource Collection Model
24
+ *
25
+ * @category Magestore
26
+ * @package Magestore_Bannerslider
27
+ * @author Magestore Developer
28
+ */
29
+ class Magestore_Bannerslider_Model_Mysql4_Value_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
30
+ {
31
+ public function _construct(){
32
+ parent::_construct();
33
+ $this->_init('bannerslider/value');
34
+ }
35
+ }
app/code/community/Magestore/Bannerslider/Model/Mysql4/Value/vssver2.scc ADDED
Binary file
app/code/community/Magestore/Bannerslider/Model/Mysql4/vssver2.scc ADDED
Binary file
app/code/community/Magestore/Bannerslider/Model/Observer.php ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magestore
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magestore.com license that is
8
+ * available through the world-wide-web at this URL:
9
+ * http://www.magestore.com/license-agreement.html
10
+ *
11
+ * DISCLAIMER
12
+ *
13
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
14
+ * version in the future.
15
+ *
16
+ * @category Magestore
17
+ * @package Magestore_Bannerslider
18
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
19
+ * @license http://www.magestore.com/license-agreement.html
20
+ */
21
+
22
+ /**
23
+ * Bannerslider Observer Model
24
+ *
25
+ * @category Magestore
26
+ * @package Magestore_Bannerslider
27
+ * @author Magestore Developer
28
+ */
29
+ class Magestore_Bannerslider_Model_Observer
30
+ {
31
+ /**
32
+ * process controller_action_predispatch event
33
+ *
34
+ * @return Magestore_Bannerslider_Model_Observer
35
+ */
36
+ public function controllerActionPredispatch($observer){
37
+ $action = $observer->getEvent()->getControllerAction();
38
+ return $this;
39
+ }
40
+ }
app/code/community/Magestore/Bannerslider/Model/Report.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ * To change this template, choose Tools | Templates
5
+ * and open the template in the editor.
6
+ */
7
+ ?>
8
+ <?php
9
+
10
+ class Magestore_Bannerslider_Model_Report extends Mage_Core_Model_Abstract {
11
+
12
+ public function _construct() {
13
+ parent::_construct();
14
+ $this->_init('bannerslider/report');
15
+ }
16
+ }
17
+
18
+ ?>
app/code/community/Magestore/Bannerslider/Model/Select.php ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Bannerslider_Model_Select extends Varien_Object {
4
+
5
+ static public function getOptionArray() {
6
+ $block = Mage::getSingleton('bannerslider/bannerslider')->getCollection();
7
+
8
+ $data = array();
9
+ foreach ($block as $b) {
10
+ $data[] = array(
11
+ 'value' => $b->getId(),
12
+ 'label' => $b->getTitle(),
13
+ );
14
+ }
15
+ return $data;
16
+ }
17
+
18
+ static public function getOptionHash() {
19
+ $block = Mage::getSingleton('bannerslider/bannerslider')->getCollection();
20
+ $data = array();
21
+ foreach ($block as $b) {
22
+ $data[$b->getId()] = $b->getTitle();
23
+ }
24
+ return $data;
25
+ }
26
+
27
+ }
app/code/community/Magestore/Bannerslider/Model/Source/Position.php DELETED
@@ -1,11 +0,0 @@
1
- <?php
2
- class Magestore_Bannerslider_Model_Source_Position {
3
- public function toOptionArray() {
4
- $options = array();
5
- $options[] = array('value'=>'topleft', 'label'=>'Top Left');
6
- $options[] = array('value'=>'topright', 'label'=>'Top Right');
7
- $options[] = array('value'=>'bottomleft', 'label'=>'Bottom Left');
8
- $options[] = array('value'=>'bottomright', 'label'=>'Bottom Right');
9
- return $options;
10
- }
11
- }
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Magestore/Bannerslider/Model/Status.php CHANGED
@@ -1,15 +1,60 @@
1
- <?php
2
-
3
- class Magestore_Bannerslider_Model_Status extends Varien_Object
4
- {
5
- const STATUS_ENABLED = 1;
6
- const STATUS_DISABLED = 2;
7
-
8
- static public function getOptionArray()
9
- {
10
- return array(
11
- self::STATUS_ENABLED => Mage::helper('bannerslider')->__('Enabled'),
12
- self::STATUS_DISABLED => Mage::helper('bannerslider')->__('Disabled')
13
- );
14
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
  }
1
+ <?php
2
+ /**
3
+ * Magestore
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magestore.com license that is
8
+ * available through the world-wide-web at this URL:
9
+ * http://www.magestore.com/license-agreement.html
10
+ *
11
+ * DISCLAIMER
12
+ *
13
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
14
+ * version in the future.
15
+ *
16
+ * @category Magestore
17
+ * @package Magestore_Bannerslider
18
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
19
+ * @license http://www.magestore.com/license-agreement.html
20
+ */
21
+
22
+ /**
23
+ * Bannerslider Status Model
24
+ *
25
+ * @category Magestore
26
+ * @package Magestore_Bannerslider
27
+ * @author Magestore Developer
28
+ */
29
+ class Magestore_Bannerslider_Model_Status extends Varien_Object
30
+ {
31
+ const STATUS_ENABLED = 0;
32
+ const STATUS_DISABLED = 1;
33
+
34
+ /**
35
+ * get model option as array
36
+ *
37
+ * @return array
38
+ */
39
+ static public function getOptionArray(){
40
+ return array(
41
+ self::STATUS_ENABLED => Mage::helper('bannerslider')->__('Enabled'),
42
+ self::STATUS_DISABLED => Mage::helper('bannerslider')->__('Disabled')
43
+ );
44
+ }
45
+
46
+ /**
47
+ * get model option hash as array
48
+ *
49
+ * @return array
50
+ */
51
+ static public function getOptionHash(){
52
+ $options = array();
53
+ foreach (self::getOptionArray() as $value => $label)
54
+ $options[] = array(
55
+ 'value' => $value,
56
+ 'label' => $label
57
+ );
58
+ return $options;
59
+ }
60
  }
app/code/community/Magestore/Bannerslider/Model/System/Config/Styles.php DELETED
@@ -1,15 +0,0 @@
1
- <?php
2
-
3
- class Magestore_Bannerslider_Model_System_Config_Styles
4
- {
5
- public function toOptionArray()
6
- {
7
- return array(
8
- array('value' => 1, 'label'=>Mage::helper('adminhtml')->__('Static')),
9
- array('value' => 2, 'label'=>Mage::helper('adminhtml')->__('Auto switch')),
10
- array('value' => 3, 'label'=>Mage::helper('adminhtml')->__('Replacement')),
11
- array('value' => 4, 'label'=>Mage::helper('adminhtml')->__('Slider with thumbnails')),
12
- array('value' => 5, 'label'=>Mage::helper('adminhtml')->__('Slider only')),
13
- );
14
- }
15
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Magestore/Bannerslider/Model/Value.php ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magestore
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magestore.com license that is
8
+ * available through the world-wide-web at this URL:
9
+ * http://www.magestore.com/license-agreement.html
10
+ *
11
+ * DISCLAIMER
12
+ *
13
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
14
+ * version in the future.
15
+ *
16
+ * @category Magestore
17
+ * @package Magestore_Bannerslider
18
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
19
+ * @license http://www.magestore.com/license-agreement.html
20
+ */
21
+
22
+ /**
23
+ * Bannerslider Model
24
+ *
25
+ * @category Magestore
26
+ * @package Magestore_Bannerslider
27
+ * @author Magestore Developer
28
+ */
29
+ class Magestore_Bannerslider_Model_Value extends Mage_Core_Model_Abstract
30
+ {
31
+ public function _construct(){
32
+ parent::_construct();
33
+ $this->_init('bannerslider/value');
34
+ }
35
+
36
+ public function loadAttributeValue($bannerId, $storeId, $attributeCode ) {
37
+ $attributeValue = $this->getCollection()
38
+ ->addFieldToFilter('banner_id', $bannerId)
39
+ ->addFieldToFilter('store_id', $storeId)
40
+ ->addFieldToFilter('attribute_code', $attributeCode)
41
+ ->getFirstItem();
42
+ $this->setData('banner_id', $bannerId)
43
+ ->setData('store_id', $storeId)
44
+ ->setData('attribute_code', $attributeCode);
45
+ if ($attributeValue)
46
+ $this->addData($attributeValue->getData())
47
+ ->setId($attributeValue->getId());
48
+ return $this;
49
+ }
50
+
51
+ }
app/code/community/Magestore/Bannerslider/Model/vssver2.scc ADDED
Binary file
app/code/community/Magestore/Bannerslider/controllers/Adminhtml/BannerController.php ADDED
@@ -0,0 +1,244 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Magestore
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Magestore.com license that is
9
+ * available through the world-wide-web at this URL:
10
+ * http://www.magestore.com/license-agreement.html
11
+ *
12
+ * DISCLAIMER
13
+ *
14
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
15
+ * version in the future.
16
+ *
17
+ * @category Magestore
18
+ * @package Magestore_Bannerslider
19
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
20
+ * @license http://www.magestore.com/license-agreement.html
21
+ */
22
+
23
+ /**
24
+ * Bannerslider Adminhtml Controller
25
+ *
26
+ * @category Magestore
27
+ * @package Magestore_Bannerslider
28
+ * @author Magestore Developer
29
+ */
30
+ class Magestore_Bannerslider_Adminhtml_BannerController extends Mage_Adminhtml_Controller_Action {
31
+
32
+ /**
33
+ * init layout and set active for current menu
34
+ *
35
+ * @return Magestore_Bannerslider_Adminhtml_BannersliderController
36
+ */
37
+ protected function _initAction() {
38
+ $this->loadLayout()
39
+ ->_setActiveMenu('bannerslider/banner')
40
+ ->_addBreadcrumb(Mage::helper('adminhtml')->__('Items Manager'), Mage::helper('adminhtml')->__('Item Manager'));
41
+ return $this;
42
+ }
43
+
44
+ /**
45
+ * index action
46
+ */
47
+ public function indexAction() {
48
+ $this->_initAction()
49
+ ->renderLayout();
50
+ }
51
+
52
+ /**
53
+ * view and edit item action
54
+ */
55
+ public function editAction() {
56
+ $id = $this->getRequest()->getParam('id');
57
+ $store = $this->getRequest()->getParam('store');
58
+ $model = Mage::getModel('bannerslider/banner')->setStoreId($store)->load($id);
59
+
60
+ if ($model->getId() || $id == 0) {
61
+ $data = Mage::getSingleton('adminhtml/session')->getFormData(true);
62
+ if (!empty($data))
63
+ $model->setData($data);
64
+
65
+ Mage::register('banner_data', $model);
66
+
67
+ $this->loadLayout();
68
+ $this->_setActiveMenu('bannerslider/bannerslider');
69
+
70
+ $this->_addBreadcrumb(Mage::helper('adminhtml')->__('Item Manager'), Mage::helper('adminhtml')->__('Item Manager'));
71
+ $this->_addBreadcrumb(Mage::helper('adminhtml')->__('Item News'), Mage::helper('adminhtml')->__('Item News'));
72
+
73
+ $this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
74
+ $this->_addContent($this->getLayout()->createBlock('bannerslider/adminhtml_banner_edit'))
75
+ ->_addLeft($this->getLayout()->createBlock('bannerslider/adminhtml_banner_edit_tabs'));
76
+
77
+ $this->renderLayout();
78
+ } else {
79
+ Mage::getSingleton('adminhtml/session')->addError(Mage::helper('bannerslider')->__('Item does not exist'));
80
+ $this->_redirect('*/*/');
81
+ }
82
+ }
83
+
84
+ public function newAction() {
85
+ $this->_forward('edit');
86
+ }
87
+
88
+ public function addinAction() {
89
+ $this->loadLayout();
90
+ $this->_setActiveMenu('bannerslider/bannerslider');
91
+
92
+ $this->_addBreadcrumb(Mage::helper('adminhtml')->__('Item Manager'), Mage::helper('adminhtml')->__('Item Manager'));
93
+ $this->_addBreadcrumb(Mage::helper('adminhtml')->__('Item News'), Mage::helper('adminhtml')->__('Item News'));
94
+
95
+ $this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
96
+
97
+ $this->_addContent($this->getLayout()->createBlock('bannerslider/adminhtml_addbutton')->setTemplate('bannerslider/addbanner.phtml'));
98
+
99
+ $this->renderLayout();
100
+ }
101
+
102
+ /**
103
+ * save item action
104
+ */
105
+ public function saveAction() {
106
+ if ($data = $this->getRequest()->getPost()) {
107
+ //Zend_debug::dump($data);die();
108
+ $store = $this->getRequest()->getParam('store');
109
+ $model = Mage::getModel('bannerslider/banner');
110
+ if (isset($data['image']['delete'])) {
111
+ Mage::helper('bannerslider')->deleteImageFile($data['image']['value']);
112
+ }
113
+ $image = Mage::helper('bannerslider')->uploadBannerImage();
114
+ if ($image || (isset($data['image']['delete']) && $data['image']['delete'])) {
115
+ $data['image'] = $image;
116
+ } else {
117
+ unset($data['image']);
118
+ }
119
+ $times = explode(" ", now());
120
+ if ($data['end_time'] && $data['start_time']) {
121
+ $data['start_time'] = $data['start_time']. " " . $times[1];
122
+ $data['end_time'] = $data['end_time'] . " " . $times[1];
123
+ }
124
+ $model->setOrderBanner("7");
125
+ $model->setData($data)
126
+ ->setStoreId($store)
127
+ ->setData('banner_id', $this->getRequest()->getParam('id'));
128
+ try {
129
+
130
+
131
+ $model->save();
132
+ Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('bannerslider')->__('Banner was successfully saved'));
133
+ Mage::getSingleton('adminhtml/session')->setFormData(false);
134
+ //Zend_debug::dump($this->getRequest()->getParam('slider'));die();
135
+ if($this->getRequest()->getParam('slider') == 'check'){
136
+ $this->_redirect('*/*/addin', array('id' => $model->getId()));
137
+ return;
138
+ }
139
+ if ($this->getRequest()->getParam('back')) {
140
+ $this->_redirect('*/*/edit', array('id' => $model->getId(), 'store' => $this->getRequest()->getParam("store")));
141
+ return;
142
+ }
143
+ $this->_redirect('*/*/');
144
+ return;
145
+ } catch (Exception $e) {
146
+ Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
147
+ Mage::getSingleton('adminhtml/session')->setFormData($data);
148
+ $this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
149
+ return;
150
+ }
151
+ }
152
+ Mage::getSingleton('adminhtml/session')->addError(Mage::helper('bannerslider')->__('Unable to find banner to save'));
153
+ $this->_redirect('*/*/');
154
+ }
155
+
156
+ /**
157
+ * delete item action
158
+ */
159
+ public function deleteAction() {
160
+ if ($this->getRequest()->getParam('id') > 0) {
161
+ try {
162
+ $model = Mage::getModel('bannerslider/banner');
163
+ $model->setId($this->getRequest()->getParam('id'))
164
+ ->delete();
165
+ Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('adminhtml')->__('Banner was successfully deleted'));
166
+ $this->_redirect('*/*/');
167
+ } catch (Exception $e) {
168
+ Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
169
+ $this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id'), 'store' => $this->getRequest()->getParam("store")));
170
+ }
171
+ }
172
+ $this->_redirect('*/*/');
173
+ }
174
+
175
+ /**
176
+ * mass delete item(s) action
177
+ */
178
+ public function massDeleteAction() {
179
+ $bannersliderIds = $this->getRequest()->getParam('banner');
180
+ if (!is_array($bannersliderIds)) {
181
+ Mage::getSingleton('adminhtml/session')->addError(Mage::helper('adminhtml')->__('Please select item(s)'));
182
+ } else {
183
+ try {
184
+ foreach ($bannersliderIds as $bannersliderId) {
185
+ $bannerslider = Mage::getModel('bannerslider/banner')->load($bannersliderId);
186
+ $bannerslider->delete();
187
+ }
188
+ Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('adminhtml')->__('Total of %d record(s) were successfully deleted', count($bannersliderIds)));
189
+ } catch (Exception $e) {
190
+ Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
191
+ }
192
+ }
193
+ $this->_redirect('*/*/index', array('store' => $this->getRequest()->getParam("store")));
194
+ }
195
+
196
+ /**
197
+ * mass change status for item(s) action
198
+ */
199
+ public function massStatusAction() {
200
+ $bannerIds = $this->getRequest()->getParam('banner');
201
+ if (!is_array($bannerIds)) {
202
+ Mage::getSingleton('adminhtml/session')->addError($this->__('Please select item(s)'));
203
+ } else {
204
+ try {
205
+ foreach ($bannerIds as $bannerId) {
206
+ $banner = Mage::getSingleton('bannerslider/banner')
207
+ ->load($bannerId)
208
+ ->setStatus($this->getRequest()->getParam('status'))
209
+ ->setIsMassupdate(true)
210
+ ->save();
211
+ }
212
+ $this->_getSession()->addSuccess(
213
+ $this->__('Total of %d record(s) were successfully updated', count($bannerIds))
214
+ );
215
+ } catch (Exception $e) {
216
+ $this->_getSession()->addError($e->getMessage());
217
+ }
218
+ }
219
+ $this->_redirect('*/*/index', array('store' => $this->getRequest()->getParam("store")));
220
+ }
221
+
222
+ /**
223
+ * export grid item to CSV type
224
+ */
225
+ public function exportCsvAction() {
226
+ $fileName = 'bannerslider.csv';
227
+ $content = $this->getLayout()->createBlock('bannerslider/adminhtml_banner_grid')->getCsv();
228
+ $this->_prepareDownloadResponse($fileName, $content);
229
+ }
230
+
231
+ /**
232
+ * export grid item to XML type
233
+ */
234
+ public function exportXmlAction() {
235
+ $fileName = 'bannerslider.xml';
236
+ $content = $this->getLayout()->createBlock('bannerslider/adminhtml_banner_grid')->getXml();
237
+ $this->_prepareDownloadResponse($fileName, $content);
238
+ }
239
+
240
+ protected function _isAllowed() {
241
+ return Mage::getSingleton('admin/session')->isAllowed('banner');
242
+ }
243
+
244
+ }
app/code/community/Magestore/Bannerslider/controllers/Adminhtml/BannersliderController.php CHANGED
@@ -1,151 +1,150 @@
1
  <?php
2
 
3
- class Magestore_Bannerslider_Adminhtml_BannersliderController extends Mage_Adminhtml_Controller_Action
4
- {
5
-
6
- protected function _initAction() {
7
- $this->loadLayout()
8
- ->_setActiveMenu('bannerslider/items')
9
- ->_addBreadcrumb(Mage::helper('adminhtml')->__('Banners Manager'), Mage::helper('adminhtml')->__('Banner Manager'));
10
-
11
- return $this;
12
- }
13
-
14
- public function indexAction() {
15
- $this->_title($this->__('Bannerslider'))
16
- ->_title($this->__('Manage banner'));
17
- $this->_initAction()
18
- ->renderLayout();
19
- }
20
-
21
- public function editAction() {
22
- $id = $this->getRequest()->getParam('id');
23
- $model = Mage::getModel('bannerslider/bannerslider')->load($id);
24
-
25
- if ($model->getId() || $id == 0) {
26
- $data = Mage::getSingleton('adminhtml/session')->getFormData(true);
27
- if (!empty($data)) {
28
- $model->setData($data);
29
- }
30
-
31
- Mage::register('bannerslider_data', $model);
32
-
33
- $this->_title($this->__('Bannerslider'))
34
- ->_title($this->__('Manage banner'));
35
- if ($model->getId()){
36
- $this->_title($model->getTitle());
37
- }else{
38
- $this->_title($this->__('New Banner'));
39
- }
40
-
41
- $this->loadLayout();
42
- $this->_setActiveMenu('bannerslider/items');
43
-
44
- $this->_addBreadcrumb(Mage::helper('adminhtml')->__('Item Manager'), Mage::helper('adminhtml')->__('Item Manager'));
45
- $this->_addBreadcrumb(Mage::helper('adminhtml')->__('Item News'), Mage::helper('adminhtml')->__('Item News'));
46
-
47
- $this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
48
-
49
- $this->_addContent($this->getLayout()->createBlock('bannerslider/adminhtml_bannerslider_edit'))
50
- ->_addLeft($this->getLayout()->createBlock('bannerslider/adminhtml_bannerslider_edit_tabs'));
51
-
52
- $this->renderLayout();
53
- } else {
54
- Mage::getSingleton('adminhtml/session')->addError(Mage::helper('bannerslider')->__('Item does not exist'));
55
- $this->_redirect('*/*/');
56
- }
57
- }
58
-
59
- public function newAction() {
60
- $this->_forward('edit');
61
- }
62
-
63
- protected function _initItem(){
64
- if (!Mage::registry('bannerslider_categories')){
65
- if ($this->getRequest()->getParam('id')){
66
- Mage::register('bannerslider_categories',
67
- Mage::getModel('bannerslider/bannerslider')
68
- ->load($this->getRequest()->getParam('id'))->getCategories());
69
- }
70
- }
71
- }
72
-
73
- public function categoriesAction(){
74
- $this->_initItem();
75
- $this->getResponse()->setBody(
76
- $this->getLayout()->createBlock('bannerslider/adminhtml_bannerslider_edit_tab_categories')->toHtml()
77
- );
78
- }
79
- public function categoriesJsonAction()
80
- {
81
- $this->_initItem();
82
- $this->getResponse()->setBody(
83
- $this->getLayout()->createBlock('bannerslider/adminhtml_bannerslider_edit_tab_categories')
84
- ->getCategoryChildrenJson($this->getRequest()->getParam('category'))
85
- );
86
  }
87
-
88
- public function saveAction() {
89
- if ($data = $this->getRequest()->getPost()) {
90
- if($data['filename']['delete']==1){
91
- $data['filename']='';
92
- }
93
- elseif(is_array($data['filename'])){
94
- $data['filename']=$data['filename']['value'];
95
- }
96
-
97
- if(isset($_FILES['filename']['name']) && $_FILES['filename']['name'] != '') {
98
- try {
99
- /* Starting upload */
100
- $uploader = new Varien_File_Uploader('filename');
101
-
102
- // Any extention would work
103
- $uploader->setAllowedExtensions(array('jpg','jpeg','gif','png'));
104
- $uploader->setAllowRenameFiles(false);
105
-
106
- // Set the file upload mode
107
- // false -> get the file directly in the specified folder
108
- // true -> get the file in the product like folders
109
- // (file.jpg will go in something like /media/f/i/file.jpg)
110
- $uploader->setFilesDispersion(false);
111
-
112
- // We set media as the upload dir
113
- $path = Mage::getBaseDir('media') . DS ;
114
- $result = $uploader->save($path, $_FILES['filename']['name'] );
115
- $data['filename'] = $result['file'];
116
- } catch (Exception $e) {
117
- $data['filename'] = $_FILES['filename']['name'];
118
- }
119
- }
120
-
121
-
122
- $model = Mage::getModel('bannerslider/bannerslider');
123
- $model->setData($data)
124
- ->setId($this->getRequest()->getParam('id'));
125
-
126
- try {
127
- if ($model->getCreatedTime == NULL || $model->getUpdateTime() == NULL) {
128
- $model->setCreatedTime(now())
129
- ->setUpdateTime(now());
130
- } else {
131
- $model->setUpdateTime(now());
132
- }
133
-
134
- $model->setStores(implode(',',$data['stores']));
135
- if (isset($data['category_ids'])){
136
- $model->setCategories(implode(',',array_unique(explode(',',$data['category_ids']))));
137
- }
138
-
139
- $model->save();
140
- Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('bannerslider')->__('Item was successfully saved'));
141
- Mage::getSingleton('adminhtml/session')->setFormData(false);
142
-
143
- if ($this->getRequest()->getParam('back')) {
144
- $this->_redirect('*/*/edit', array('id' => $model->getId()));
145
- return;
146
- }
147
- $this->_redirect('*/*/');
148
- return;
 
 
 
 
149
  } catch (Exception $e) {
150
  Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
151
  Mage::getSingleton('adminhtml/session')->setFormData($data);
@@ -153,66 +152,68 @@ class Magestore_Bannerslider_Adminhtml_BannersliderController extends Mage_Admin
153
  return;
154
  }
155
  }
156
- Mage::getSingleton('adminhtml/session')->addError(Mage::helper('bannerslider')->__('Unable to find item to save'));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
157
  $this->_redirect('*/*/');
158
- }
159
-
160
- public function deleteAction() {
161
- if( $this->getRequest()->getParam('id') > 0 ) {
162
- try {
163
- $model = Mage::getModel('bannerslider/bannerslider');
164
-
165
- $model->setId($this->getRequest()->getParam('id'))
166
- ->delete();
167
-
168
- Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('adminhtml')->__('Item was successfully deleted'));
169
- $this->_redirect('*/*/');
170
- } catch (Exception $e) {
171
- Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
172
- $this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
173
- }
174
- }
175
- $this->_redirect('*/*/');
176
- }
177
 
 
 
 
178
  public function massDeleteAction() {
179
  $bannersliderIds = $this->getRequest()->getParam('bannerslider');
180
- if(!is_array($bannersliderIds)) {
181
- Mage::getSingleton('adminhtml/session')->addError(Mage::helper('adminhtml')->__('Please select item(s)'));
182
  } else {
183
  try {
184
  foreach ($bannersliderIds as $bannersliderId) {
185
  $bannerslider = Mage::getModel('bannerslider/bannerslider')->load($bannersliderId);
186
  $bannerslider->delete();
187
  }
188
- Mage::getSingleton('adminhtml/session')->addSuccess(
189
- Mage::helper('adminhtml')->__(
190
- 'Total of %d record(s) were successfully deleted', count($bannersliderIds)
191
- )
192
- );
193
  } catch (Exception $e) {
194
  Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
195
  }
196
  }
197
  $this->_redirect('*/*/index');
198
  }
199
-
200
- public function massStatusAction()
201
- {
 
 
202
  $bannersliderIds = $this->getRequest()->getParam('bannerslider');
203
- if(!is_array($bannersliderIds)) {
204
  Mage::getSingleton('adminhtml/session')->addError($this->__('Please select item(s)'));
205
  } else {
206
  try {
207
  foreach ($bannersliderIds as $bannersliderId) {
208
  $bannerslider = Mage::getSingleton('bannerslider/bannerslider')
209
- ->load($bannersliderId)
210
- ->setStatus($this->getRequest()->getParam('status'))
211
- ->setIsMassupdate(true)
212
- ->save();
213
  }
214
  $this->_getSession()->addSuccess(
215
- $this->__('Total of %d record(s) were successfully updated', count($bannersliderIds))
216
  );
217
  } catch (Exception $e) {
218
  $this->_getSession()->addError($e->getMessage());
@@ -220,38 +221,105 @@ class Magestore_Bannerslider_Adminhtml_BannersliderController extends Mage_Admin
220
  }
221
  $this->_redirect('*/*/index');
222
  }
223
-
224
- public function exportCsvAction()
225
- {
226
- $fileName = 'bannerslider.csv';
227
- $content = $this->getLayout()->createBlock('bannerslider/adminhtml_bannerslider_grid')
228
- ->getCsv();
229
-
230
- $this->_sendUploadResponse($fileName, $content);
231
  }
232
 
233
- public function exportXmlAction()
234
- {
235
- $fileName = 'bannerslider.xml';
236
- $content = $this->getLayout()->createBlock('bannerslider/adminhtml_bannerslider_grid')
237
- ->getXml();
 
 
 
 
 
 
 
238
 
239
- $this->_sendUploadResponse($fileName, $content);
 
 
 
 
240
  }
241
 
242
- protected function _sendUploadResponse($fileName, $content, $contentType='application/octet-stream')
243
- {
244
- $response = $this->getResponse();
245
- $response->setHeader('HTTP/1.1 200 OK','');
246
- $response->setHeader('Pragma', 'public', true);
247
- $response->setHeader('Cache-Control', 'must-revalidate, post-check=0, pre-check=0', true);
248
- $response->setHeader('Content-Disposition', 'attachment; filename='.$fileName);
249
- $response->setHeader('Last-Modified', date('r'));
250
- $response->setHeader('Accept-Ranges', 'bytes');
251
- $response->setHeader('Content-Length', strlen($content));
252
- $response->setHeader('Content-type', $contentType);
253
- $response->setBody($content);
254
- $response->sendResponse();
255
- die;
256
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
257
  }
1
  <?php
2
 
3
+ /**
4
+ * Magestore
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Magestore.com license that is
9
+ * available through the world-wide-web at this URL:
10
+ * http://www.magestore.com/license-agreement.html
11
+ *
12
+ * DISCLAIMER
13
+ *
14
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
15
+ * version in the future.
16
+ *
17
+ * @category Magestore
18
+ * @package Magestore_Bannerslider
19
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
20
+ * @license http://www.magestore.com/license-agreement.html
21
+ */
22
+
23
+ /**
24
+ * Bannerslider Adminhtml Controller
25
+ *
26
+ * @category Magestore
27
+ * @package Magestore_Bannerslider
28
+ * @author Magestore Developer
29
+ */
30
+ class Magestore_Bannerslider_Adminhtml_BannersliderController extends Mage_Adminhtml_Controller_Action {
31
+
32
+ /**
33
+ * init layout and set active for current menu
34
+ *
35
+ * @return Magestore_Bannerslider_Adminhtml_BannersliderController
36
+ */
37
+ protected function _initAction() {
38
+ $this->loadLayout()
39
+ ->_setActiveMenu('bannerslider/bannerslider')
40
+ ->_addBreadcrumb(Mage::helper('adminhtml')->__('Slider Manager'), Mage::helper('adminhtml')->__('Slider Manager'));
41
+ return $this;
42
+ }
43
+
44
+ /**
45
+ * index action
46
+ */
47
+ public function indexAction() {
48
+ $this->_initAction()
49
+ ->renderLayout();
50
+ }
51
+
52
+ /**
53
+ * view and edit item action
54
+ */
55
+ public function editAction() {
56
+ $id = $this->getRequest()->getParam('id');
57
+ $model = Mage::getModel('bannerslider/bannerslider')->load($id);
58
+
59
+ if ($model->getId() || $id == 0) {
60
+ $data = Mage::getSingleton('adminhtml/session')->getFormData(true);
61
+ if (!empty($data))
62
+ $model->setData($data);
63
+
64
+ Mage::register('bannerslider_data', $model);
65
+
66
+ $this->loadLayout();
67
+ $this->_setActiveMenu('bannerslider/bannerslider');
68
+
69
+ $this->_addBreadcrumb(Mage::helper('adminhtml')->__('Slider Manager'), Mage::helper('adminhtml')->__('Slider Manager'));
70
+ $this->_addBreadcrumb(Mage::helper('adminhtml')->__('Item News'), Mage::helper('adminhtml')->__('Item News'));
71
+
72
+ $this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
73
+ $this->_addContent($this->getLayout()->createBlock('bannerslider/adminhtml_bannerslider_edit'))
74
+ ->_addLeft($this->getLayout()->createBlock('bannerslider/adminhtml_bannerslider_edit_tabs'));
75
+
76
+ $this->renderLayout();
77
+ } else {
78
+ Mage::getSingleton('adminhtml/session')->addError(Mage::helper('bannerslider')->__('Slider does not exist'));
79
+ $this->_redirect('*/*/');
80
+ }
 
 
 
 
 
81
  }
82
+
83
+ public function newAction() {
84
+ $this->_forward('edit');
85
+ }
86
+
87
+ /**
88
+ * save item action
89
+ */
90
+ public function saveAction() {
91
+ if ($data = $this->getRequest()->getPost()) {
92
+
93
+ if ($data['style_slide'] == 1 || $data['style_slide'] == 3 ||
94
+ $data['style_slide'] == 2 || $data['style_slide'] == 4) {
95
+ $data['animationB'] = $data['animationA'];
96
+ //die('1111');
97
+ }elseif($data['style_slide'] == 5){
98
+ $data['position'] = 'pop-up';
99
+ }elseif($data['style_slide'] == 6){
100
+ $data['position'] = 'note-allsite';
101
+ }
102
+
103
+ //Zend_debug::dump($data);
104
+ $model = Mage::getModel('bannerslider/bannerslider');
105
+ $model->setData($data)
106
+ ->setId($this->getRequest()->getParam('id'));
107
+ //Zend_debug::dump($model->getData());die();
108
+ try {
109
+
110
+ $model->save();
111
+ if (isset($data['slider_banner'])) {
112
+ $bannerIds = array();
113
+ $bannerOrders = array();
114
+
115
+ $test = Mage::helper('adminhtml/js')->decodeGridSerializedInput($data['slider_banner']);
116
+ foreach ($test as $key => $value) {
117
+ $bannerIds[] = $key;
118
+ $bannerOrders[] = $value['order_banner_slider'];
119
+ }
120
+
121
+ $unSelecteds = Mage::getResourceModel('bannerslider/banner_collection')
122
+ ->addFieldToFilter('bannerslider_id', $model->getId());
123
+ if (count($bannerIds))
124
+ $unSelecteds->addFieldToFilter('banner_id', array('nin' => $bannerIds));
125
+ foreach ($unSelecteds as $banner) {
126
+ $banner->setBannersliderId(0)
127
+ ->setOrderBanner(0)->save();
128
+ }
129
+ $selectBanner = Mage::getResourceModel('bannerslider/banner_collection')
130
+ ->addFieldToFilter('banner_id', array('in' => $bannerIds));
131
+ //->addFieldToFilter('bannerslider_id', array('neq' => $model->getId()));
132
+ $i = -1;
133
+ foreach ($selectBanner as $banner) {
134
+ $banner->setBannersliderId($model->getId())
135
+ ->setOrderBanner($bannerOrders[++$i])->save();
136
+ }
137
+ //Zend_debug::dump($selectBanner->getData());die();
138
+ }
139
+ Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('bannerslider')->__('Slider was successfully saved'));
140
+ Mage::getSingleton('adminhtml/session')->setFormData(false);
141
+
142
+ if ($this->getRequest()->getParam('back')) {
143
+ $this->_redirect('*/*/edit', array('id' => $model->getId()));
144
+ return;
145
+ }
146
+ $this->_redirect('*/*/');
147
+ return;
148
  } catch (Exception $e) {
149
  Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
150
  Mage::getSingleton('adminhtml/session')->setFormData($data);
152
  return;
153
  }
154
  }
155
+ Mage::getSingleton('adminhtml/session')->addError(Mage::helper('bannerslider')->__('Unable to find slider to save'));
156
+ $this->_redirect('*/*/');
157
+ }
158
+
159
+ /**
160
+ * delete item action
161
+ */
162
+ public function deleteAction() {
163
+ if ($this->getRequest()->getParam('id') > 0) {
164
+ try {
165
+ $model = Mage::getModel('bannerslider/bannerslider');
166
+ $model->setId($this->getRequest()->getParam('id'))
167
+ ->delete();
168
+ Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('adminhtml')->__('Slider was successfully deleted'));
169
+ $this->_redirect('*/*/');
170
+ } catch (Exception $e) {
171
+ Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
172
+ $this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
173
+ }
174
+ }
175
  $this->_redirect('*/*/');
176
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
177
 
178
+ /**
179
+ * mass delete item(s) action
180
+ */
181
  public function massDeleteAction() {
182
  $bannersliderIds = $this->getRequest()->getParam('bannerslider');
183
+ if (!is_array($bannersliderIds)) {
184
+ Mage::getSingleton('adminhtml/session')->addError(Mage::helper('adminhtml')->__('Please select item(s)'));
185
  } else {
186
  try {
187
  foreach ($bannersliderIds as $bannersliderId) {
188
  $bannerslider = Mage::getModel('bannerslider/bannerslider')->load($bannersliderId);
189
  $bannerslider->delete();
190
  }
191
+ Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('adminhtml')->__('Total of %d record(s) were successfully deleted', count($bannersliderIds)));
 
 
 
 
192
  } catch (Exception $e) {
193
  Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
194
  }
195
  }
196
  $this->_redirect('*/*/index');
197
  }
198
+
199
+ /**
200
+ * mass change status for item(s) action
201
+ */
202
+ public function massStatusAction() {
203
  $bannersliderIds = $this->getRequest()->getParam('bannerslider');
204
+ if (!is_array($bannersliderIds)) {
205
  Mage::getSingleton('adminhtml/session')->addError($this->__('Please select item(s)'));
206
  } else {
207
  try {
208
  foreach ($bannersliderIds as $bannersliderId) {
209
  $bannerslider = Mage::getSingleton('bannerslider/bannerslider')
210
+ ->load($bannersliderId)
211
+ ->setStatus($this->getRequest()->getParam('status'))
212
+ ->setIsMassupdate(true)
213
+ ->save();
214
  }
215
  $this->_getSession()->addSuccess(
216
+ $this->__('Total of %d record(s) were successfully updated', count($bannersliderIds))
217
  );
218
  } catch (Exception $e) {
219
  $this->_getSession()->addError($e->getMessage());
221
  }
222
  $this->_redirect('*/*/index');
223
  }
224
+
225
+ /**
226
+ * export grid item to CSV type
227
+ */
228
+ public function exportCsvAction() {
229
+ $fileName = 'bannerslider.csv';
230
+ $content = $this->getLayout()->createBlock('bannerslider/adminhtml_bannerslider_grid')->getCsv();
231
+ $this->_prepareDownloadResponse($fileName, $content);
232
  }
233
 
234
+ /**
235
+ * export grid item to XML type
236
+ */
237
+ public function exportXmlAction() {
238
+ $fileName = 'bannerslider.xml';
239
+ $content = $this->getLayout()->createBlock('bannerslider/adminhtml_bannerslider_grid')->getXml();
240
+ $this->_prepareDownloadResponse($fileName, $content);
241
+ }
242
+
243
+ protected function _isAllowed() {
244
+ return Mage::getSingleton('admin/session')->isAllowed('bannerslider');
245
+ }
246
 
247
+ protected function customAction() {
248
+ $this->loadLayout();
249
+ $this->getLayout()->getBlock('slider.edit.tab.custom')
250
+ ->setCustom($this->getRequest()->getPost('banner', null));
251
+ $this->renderLayout();
252
  }
253
 
254
+ public function customgridAction() {
255
+ $this->loadLayout();
256
+ $this->getLayout()->getBlock('slider.edit.tab.custom')
257
+ ->setCustom($this->getRequest()->getPost('banner', null));
258
+ $this->renderLayout();
 
 
 
 
 
 
 
 
 
259
  }
260
+
261
+ public function chooserMainCategoriesAction() {
262
+ $request = $this->getRequest();
263
+ $ids = $request->getParam('selected', array());
264
+
265
+ if (is_array($ids)) {
266
+ foreach ($ids as $key => &$id) {
267
+ $id = (int) $id;
268
+ if ($id <= 0) {
269
+ unset($ids[$key]);
270
+ }
271
+ }
272
+
273
+ $ids = array_unique($ids);
274
+ } else {
275
+ $ids = array();
276
+ }
277
+
278
+ $block = $this->getLayout()->createBlock('bannerslider/adminhtml_bannerslider_edit_tab_content_categories', 'content_category', array('js_form_object' => $request->getParam('form')))
279
+ ->setCategoryIds($ids)
280
+ ;
281
+
282
+ if ($block) {
283
+ $this->getResponse()->setBody($block->toHtml());
284
+ }
285
+ }
286
+
287
+ public function categoriesJsonAction() {
288
+ if ($categoryId = (int) $this->getRequest()->getPost('id')) {
289
+ $this->getRequest()->setParam('id', $categoryId);
290
+
291
+ if (!$category = $this->_initCategory()) {
292
+ return;
293
+ }
294
+ $this->getResponse()->setBody(
295
+ $this->getLayout()->createBlock('adminhtml/catalog_category_tree')
296
+ ->getTreeJson($category)
297
+ );
298
+ }
299
+ }
300
+
301
+ protected function _initCategory() {
302
+ $categoryId = (int) $this->getRequest()->getParam('id', false);
303
+ $storeId = (int) $this->getRequest()->getParam('store');
304
+
305
+ $category = Mage::getModel('catalog/category');
306
+ $category->setStoreId($storeId);
307
+
308
+ if ($categoryId) {
309
+ $category->load($categoryId);
310
+ if ($storeId) {
311
+ $rootId = Mage::app()->getStore($storeId)->getRootCategoryId();
312
+ if (!in_array($rootId, $category->getPathIds())) {
313
+ $this->_redirect('*/*/', array('_current' => true, 'id' => null));
314
+ return false;
315
+ }
316
+ }
317
+ }
318
+
319
+ Mage::register('category', $category);
320
+ Mage::register('current_category', $category);
321
+
322
+ return $category;
323
+ }
324
+
325
  }
app/code/community/Magestore/Bannerslider/controllers/Adminhtml/ReportController.php ADDED
@@ -0,0 +1,105 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Magestore
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Magestore.com license that is
9
+ * available through the world-wide-web at this URL:
10
+ * http://www.magestore.com/license-agreement.html
11
+ *
12
+ * DISCLAIMER
13
+ *
14
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
15
+ * version in the future.
16
+ *
17
+ * @category Magestore
18
+ * @package Magestore_Bannerslider
19
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
20
+ * @license http://www.magestore.com/license-agreement.html
21
+ */
22
+
23
+ /**
24
+ * Bannerslider Adminhtml Controller
25
+ *
26
+ * @category Magestore
27
+ * @package Magestore_Bannerslider
28
+ * @author Magestore Developer
29
+ */
30
+ class Magestore_Bannerslider_Adminhtml_ReportController extends Mage_Adminhtml_Controller_Action {
31
+
32
+ protected function _initAction() {
33
+ $this->loadLayout()
34
+ ->_setActiveMenu('bannerslider/report')
35
+ ->_addBreadcrumb(Mage::helper('adminhtml')->__('Items Manager'), Mage::helper('adminhtml')->__('Item Manager'));
36
+ return $this;
37
+ }
38
+
39
+ /**
40
+ * index action
41
+ */
42
+ public function indexAction() {
43
+ $this->_initAction()
44
+ ->renderLayout();
45
+ }
46
+
47
+ public function bannerAction(){
48
+ $this->_initAction()
49
+ ->renderLayout();
50
+ }
51
+ /**
52
+ * mass delete item(s) action
53
+ */
54
+ public function massDeleteAction() {
55
+ $bannersliderIds = $this->getRequest()->getParam('bannerslider');
56
+ if (!is_array($bannersliderIds)) {
57
+ Mage::getSingleton('adminhtml/session')->addError(Mage::helper('adminhtml')->__('Please select item(s)'));
58
+ } else {
59
+ try {
60
+ foreach ($bannersliderIds as $bannersliderId) {
61
+ $bannerslider = Mage::getModel('bannerslider/report')->load($bannersliderId);
62
+ $bannerslider->delete();
63
+ }
64
+ Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('adminhtml')->__('Total of %d record(s) were successfully deleted', count($bannersliderIds)));
65
+ } catch (Exception $e) {
66
+ Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
67
+ }
68
+ }
69
+ $this->_redirect('*/*/index');
70
+ }
71
+
72
+ //for slider and banner
73
+ /**
74
+ * export grid item to CSV type
75
+ */
76
+ public function exportCsvAction() {
77
+ $fileName = 'bannerslider_report_slider.csv';
78
+ $content = $this->getLayout()->createBlock('bannerslider/adminhtml_report_grid')->getCsv();
79
+ $this->_prepareDownloadResponse($fileName, $content);
80
+ }
81
+ /**
82
+ * export grid item to XML type
83
+ */
84
+ public function exportXmlAction() {
85
+ $fileName = 'bannerslider_report_slider.xml';
86
+ $content = $this->getLayout()->createBlock('bannerslider/adminhtml_report_grid')->getXml();
87
+ $this->_prepareDownloadResponse($fileName, $content);
88
+ }
89
+
90
+ //Only Banner
91
+ public function exportCsvBannerAction() {
92
+ $fileName = 'bannerslider_report_onlybanner.csv';
93
+ $content = $this->getLayout()->createBlock('bannerslider/adminhtml_report_banner_grid')->getCsv();
94
+ $this->_prepareDownloadResponse($fileName, $content);
95
+ }
96
+ /**
97
+ * export grid item to XML type
98
+ */
99
+ public function exportXmlBannerAction() {
100
+ $fileName = 'bannerslider_report_onlybanner.xml';
101
+ $content = $this->getLayout()->createBlock('bannerslider/adminhtml_report_banner_grid')->getXml();
102
+ $this->_prepareDownloadResponse($fileName, $content);
103
+ }
104
+
105
+ }
app/code/community/Magestore/Bannerslider/controllers/Adminhtml/StandardsliderController.php ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magestore
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magestore.com license that is
8
+ * available through the world-wide-web at this URL:
9
+ * http://www.magestore.com/license-agreement.html
10
+ *
11
+ * DISCLAIMER
12
+ *
13
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
14
+ * version in the future.
15
+ *
16
+ * @category Magestore
17
+ * @package Magestore_Bannerslider
18
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
19
+ * @license http://www.magestore.com/license-agreement.html
20
+ */
21
+
22
+ /**
23
+ * Bannerslider Adminhtml Controller
24
+ *
25
+ * @category Magestore
26
+ * @package Magestore_Bannerslider
27
+ * @author Magestore Developer
28
+ */
29
+ class Magestore_Bannerslider_Adminhtml_StandardsliderController extends Mage_Adminhtml_Controller_Action
30
+ {
31
+ protected function _initAction(){
32
+ $this->loadLayout()
33
+ ->_setActiveMenu('bannerslider/standslider')
34
+ ->_addBreadcrumb(Mage::helper('adminhtml')->__('Items Manager'), Mage::helper('adminhtml')->__('Item Manager'));
35
+ return $this;
36
+ }
37
+
38
+ /**
39
+ * index action
40
+ */
41
+ public function indexAction(){
42
+
43
+ $this->_initAction()
44
+ ->renderLayout();
45
+ }
46
+
47
+ public function previewAction(){
48
+ $this->loadLayout(false)
49
+ ->renderLayout();
50
+ }
51
+ }
app/code/community/Magestore/Bannerslider/controllers/Adminhtml/vssver2.scc ADDED
Binary file
app/code/community/Magestore/Bannerslider/controllers/IndexController.php CHANGED
@@ -1,47 +1,173 @@
1
  <?php
2
- class Magestore_Bannerslider_IndexController extends Mage_Core_Controller_Front_Action
3
- {
4
- public function indexAction()
5
- {
6
-
7
- /*
8
- * Load an object by id
9
- * Request looking like:
10
- * http://site.com/bannerslider?id=15
11
- * or
12
- * http://site.com/bannerslider/id/15
13
- */
14
- /*
15
- $bannerslider_id = $this->getRequest()->getParam('id');
16
-
17
- if($bannerslider_id != null && $bannerslider_id != '') {
18
- $bannerslider = Mage::getModel('bannerslider/bannerslider')->load($bannerslider_id)->getData();
19
- } else {
20
- $bannerslider = null;
21
- }
22
- */
23
-
24
- /*
25
- * If no param we load a the last created item
26
- */
27
- /*
28
- if($bannerslider == null) {
29
- $resource = Mage::getSingleton('core/resource');
30
- $read= $resource->getConnection('core_read');
31
- $bannersliderTable = $resource->getTableName('bannerslider');
32
-
33
- $select = $read->select()
34
- ->from($bannersliderTable,array('bannerslider_id','title','content','status'))
35
- ->where('status',1)
36
- ->order('created_time DESC') ;
37
-
38
- $bannerslider = $read->fetchRow($select);
39
- }
40
- Mage::register('bannerslider', $bannerslider);
41
- */
42
-
43
-
44
- $this->loadLayout();
45
- $this->renderLayout();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
  }
47
  }
1
  <?php
2
+
3
+ /**
4
+ * Magestore
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Magestore.com license that is
9
+ * available through the world-wide-web at this URL:
10
+ * http://www.magestore.com/license-agreement.html
11
+ *
12
+ * DISCLAIMER
13
+ *
14
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
15
+ * version in the future.
16
+ *
17
+ * @category Magestore
18
+ * @package Magestore_Bannerslider
19
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
20
+ * @license http://www.magestore.com/license-agreement.html
21
+ */
22
+
23
+ /**
24
+ * Bannerslider Index Controller
25
+ *
26
+ * @category Magestore
27
+ * @package Magestore_Bannerslider
28
+ * @author Magestore Developer
29
+ */
30
+ class Magestore_Bannerslider_IndexController extends Mage_Core_Controller_Front_Action {
31
+
32
+ /**
33
+ * index action
34
+ */
35
+ public function indexAction() {
36
+ $this->loadLayout();
37
+ $this->renderLayout();
38
+ }
39
+
40
+ public function preDispatch() {
41
+ // if(!Mage::getStoreConfig('bannerslider/general/enable')){
42
+ // header('Location: '.Mage::getUrl());
43
+ // exit;
44
+ // }else{
45
+ // return $this;
46
+ // }
47
+ }
48
+
49
+ public function clickAction() {
50
+ $cookie = Mage::getSingleton('core/cookie');
51
+ $id = $this->getRequest()->getParam('id_banner');
52
+ $userCode = $this->getUserCode($id);
53
+ $slider_id = $this->getRequest()->getParam('slider_id');
54
+ $date_click = date('Y-m-d');
55
+ $report = Mage::getModel('bannerslider/report');
56
+ $collection = $report->getCollection();
57
+ if ($id && $slider_id) {
58
+ if (!$cookie->get('bannerslider_user_code_click' . $id)) {
59
+ $cookie->set('bannerslider_user_code_click' . $id, $userCode);
60
+ $collection->addFieldToFilter('banner_id', $id)
61
+ ->addFieldToFilter('bannerslider_id', $slider_id)
62
+ ->addFieldToFilter('date_click', $date_click);
63
+ if (count($collection)) {
64
+ foreach ($collection as $item) {
65
+ $item->setData('clicks', $item->getData('clicks') + 1);
66
+ $item->save();
67
+ }
68
+ } else {
69
+ $report->setData('banner_id', $id)
70
+ ->setData('bannerslider_id', $slider_id)
71
+ ->setData('date_click', $date_click)
72
+ ->setData('clicks', $report->getData('clicks') + 1);
73
+ try {
74
+ $report->save();
75
+ } catch (Exception $e) {
76
+
77
+ }
78
+ }
79
+ }
80
+ }
81
+ }
82
+
83
+ public function impressAction() {
84
+ $cookie = Mage::getSingleton('core/cookie');
85
+ $userCode = $this->getUserCode(null);
86
+ $banner_ids = $this->getRequest()->getParam("banner_ids");
87
+ $banner_id_arr = explode(",", $banner_ids);
88
+ $banner_popup_id = $this->getRequest()->getParam("banner_popup_id");
89
+ $slider_id = $this->getRequest()->getParam("slider_id");
90
+ $date_click = date('Y-m-d');
91
+ $report = Mage::getModel('bannerslider/report');
92
+ if ($slider_id && $date_click) {
93
+ if (!$cookie->get('bannerslider_user_code_impress' . $slider_id)) {
94
+ $cookie->set('bannerslider_user_code_impress' . $slider_id, $userCode);
95
+ $collection = $report->getCollection();
96
+ $collection ->addFieldToFilter('date_click', $date_click)
97
+ ->addFieldToFilter('bannerslider_id', $slider_id)
98
+ ->addFieldToFilter('banner_id', array('in' => $banner_id_arr));
99
+ if (count($collection->getData())) {
100
+ $bannerIdsCache= array();
101
+ foreach ($collection as $item) {
102
+ $item->setData('impmode', $item->getData('impmode') + 1);
103
+ try {
104
+ $item->save();
105
+ $bannerIdsCache[] = $item->getBannerId();
106
+ } catch (Exception $e) {
107
+
108
+ }
109
+ }
110
+ $otherBannerIds = array_diff($banner_id_arr, $bannerIdsCache);
111
+ if(count($otherBannerIds)){
112
+
113
+ foreach ($otherBannerIds as $b_id) {
114
+
115
+ $report_b = Mage::getModel('bannerslider/report');
116
+ $report_b->setData('banner_id', $b_id)
117
+ ->setData('bannerslider_id', $slider_id)
118
+ ->setData('impmode', $report_b->getData('impmode') + 1)
119
+ ->setData('date_click', $date_click);
120
+ try {
121
+ $report_b->save();
122
+ } catch (Exception $e) {
123
+
124
+ }
125
+ }
126
+ }
127
+ } else {
128
+ if (count($banner_ids) && isset($banner_ids)) {
129
+ foreach ($banner_id_arr as $banner_id) {
130
+ $report_b = Mage::getModel('bannerslider/report');
131
+ $report_b->setData('banner_id', $banner_id)
132
+ ->setData('bannerslider_id', $slider_id)
133
+ ->setData('impmode', $report_b->getData('impmode') + 1)
134
+ ->setData('date_click', $date_click);
135
+ try {
136
+ $report_b->save();
137
+ } catch (Exception $e) {
138
+
139
+ }
140
+ }
141
+ }
142
+ if ($banner_popup_id) {
143
+ $report_b = Mage::getModel('bannerslider/report');
144
+ $report_b->setData('banner_id', $banner_popup_id)
145
+ ->setData('bannerslider_id', $slider_id)
146
+ ->setData('impmode', $report_b->getData('impmode') + 1)
147
+ ->setData('date_click', $date_click);
148
+ try {
149
+ $report_b->save();
150
+ } catch (Exception $e) {
151
+
152
+ }
153
+ }
154
+ }
155
+ }
156
+ }
157
+ }
158
+
159
+ private function getUserCode($id) {
160
+ $ipAddress = null;
161
+ if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) {
162
+ $ipAddress = $_SERVER["HTTP_X_FORWARDED_FOR"];
163
+ } elseif (isset($_SERVER["HTTP_CLIENT_IP"])) {
164
+ $ipAddress = $_SERVER["HTTP_CLIENT_IP"];
165
+ } elseif (isset($_SERVER["REMOTE_ADDR"])) {
166
+ $ipAddress = $_SERVER["REMOTE_ADDR"];
167
+ }
168
+
169
+ $cookiefrontend = $_COOKIE['frontend'];
170
+ $usercode = $ipAddress . $cookiefrontend . $id;
171
+ return md5($usercode);
172
  }
173
  }
app/code/community/Magestore/Bannerslider/controllers/vssver2.scc ADDED
Binary file
app/code/community/Magestore/Bannerslider/etc/adminhtml.xml CHANGED
@@ -1,43 +1,127 @@
1
  <?xml version="1.0"?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  <config>
3
- <menu>
4
- <bannerslider module="bannerslider">
5
- <title>Banner Slider</title>
6
- <sort_order>71</sort_order>
7
- <children>
8
- <items module="bannerslider">
9
- <title>Manage Banners</title>
10
- <sort_order>0</sort_order>
11
- <action>bannerslider/adminhtml_bannerslider</action>
12
- </items>
13
- </children>
14
- </bannerslider>
15
- </menu>
16
- <acl>
17
- <resources>
18
- <all>
19
- <title>Allow Everything</title>
20
- </all>
21
- <admin>
22
- <children>
23
- <Magestore_Bannerslider>
24
- <title>Bannerslider Module</title>
25
- <sort_order>10</sort_order>
26
- </Magestore_Bannerslider>
27
- <system>
28
- <children>
29
- <config>
30
- <children>
31
- <bannerslider translate="title" module="bannerslider">
32
- <title>Banner Slider Settings</title>
33
- <sort_order>50</sort_order>
34
- </bannerslider>
35
- </children>
36
- </config>
37
- </children>
38
- </system>
39
- </children>
40
- </admin>
41
- </resources>
42
- </acl>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43
  </config>
1
  <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Magestore
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Magestore.com license that is
9
+ * available through the world-wide-web at this URL:
10
+ * http://www.magestore.com/license-agreement.html
11
+ *
12
+ * DISCLAIMER
13
+ *
14
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
15
+ * version in the future.
16
+ *
17
+ * @category Magestore
18
+ * @package Magestore_Bannerslider
19
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
20
+ * @license http://www.magestore.com/license-agreement.html
21
+ */
22
+ -->
23
  <config>
24
+ <menu>
25
+ <bannerslider module="bannerslider" translate="title">
26
+ <title>Banner Slider</title>
27
+ <sort_order>71</sort_order>
28
+ <children>
29
+ <bannerslider module="bannerslider" translate="title">
30
+ <title>Manage Sliders</title>
31
+ <sort_order>1</sort_order>
32
+ <action>bannerslideradmin/adminhtml_bannerslider</action>
33
+ </bannerslider>
34
+ <banner module="bannerslider" translate="title">
35
+ <title>Manage Banners</title>
36
+ <sort_order>2</sort_order>
37
+ <action>bannerslideradmin/adminhtml_banner/index</action>
38
+ </banner>
39
+ <standard_slider module="bannerslider" translate="title">
40
+ <title>Preview Slider Styles</title>
41
+ <sort_order>3</sort_order>
42
+ <action>bannerslideradmin/adminhtml_standardslider</action>
43
+ </standard_slider>
44
+ <banner_report module="bannerslider" translate="title">
45
+ <title>Report Banners</title>
46
+ <sort_order>4</sort_order>
47
+ <children>
48
+ <banner_report_all module="bannerslider" translate="title">
49
+ <title>Per Slider</title>
50
+ <action>bannerslideradmin/adminhtml_report</action>
51
+ <sort_order>1</sort_order>
52
+ </banner_report_all>
53
+ <banner_report_only module="bannerslider" translate="title">
54
+ <title>All Sliders</title>
55
+ <action>bannerslideradmin/adminhtml_report/banner</action>
56
+ <sort_order>2</sort_order>
57
+ </banner_report_only>
58
+ </children>
59
+ </banner_report>
60
+ <settings module="bannerslider" translate="title">
61
+ <title>Settings</title>
62
+ <sort_order>1000</sort_order>
63
+ <action>adminhtml/system_config/edit/section/bannerslider</action>
64
+ </settings>
65
+ </children>
66
+ </bannerslider>
67
+ </menu>
68
+ <acl>
69
+ <resources>
70
+ <all>
71
+ <title>Allow Everything</title>
72
+ </all>
73
+ <admin>
74
+ <children>
75
+ <system>
76
+ <children>
77
+ <config>
78
+ <children>
79
+ <bannerslider module="bannerslider" translate="title">
80
+ <title>Bannerslider</title>
81
+ <sort_order>71</sort_order>
82
+ </bannerslider>
83
+ </children>
84
+ </config>
85
+ </children>
86
+ </system>
87
+ <bannerslider module="bannerslider" translate="title">
88
+ <title>Bannerslider</title>
89
+ <sort_order>71</sort_order>
90
+ <children>
91
+ <bannerslider module="bannerslider" translate="title">
92
+ <title>Manage Sliders</title>
93
+ <sort_order>0</sort_order>
94
+ </bannerslider>
95
+ <banner module="bannerslider" translate="title">
96
+ <title>Manage Banners</title>
97
+ <sort_order>2</sort_order>
98
+ </banner>
99
+ <standard_slider module="bannerslider" translate="title">
100
+ <title>Preview Slider Styles</title>
101
+ <sort_order>3</sort_order>
102
+ </standard_slider>
103
+ <banner_report module="bannerslider" translate="title">
104
+ <title>Report Banners</title>
105
+ <sort_order>4</sort_order>
106
+ <children>
107
+ <banner_report_all module="bannerslider" translate="title">
108
+ <title>Per Slider</title>
109
+ <sort_order>1</sort_order>
110
+ </banner_report_all>
111
+ <banner_report_only module="bannerslider" translate="title">
112
+ <title>All Sliders</title>
113
+ <sort_order>2</sort_order>
114
+ </banner_report_only>
115
+ </children>
116
+ </banner_report>
117
+ <settings module="bannerslider" translate="title">
118
+ <title>Settings</title>
119
+ <sort_order>1000</sort_order>
120
+ </settings>
121
+ </children>
122
+ </bannerslider>
123
+ </children>
124
+ </admin>
125
+ </resources>
126
+ </acl>
127
  </config>
app/code/community/Magestore/Bannerslider/etc/config.xml CHANGED
@@ -1,104 +1,157 @@
1
- <?xml version="1.0"?>
2
- <config>
3
- <modules>
4
- <Magestore_Bannerslider>
5
- <version>2.0.0</version>
6
- </Magestore_Bannerslider>
7
- </modules>
8
- <frontend>
9
- <routers>
10
- <bannerslider>
11
- <use>standard</use>
12
- <args>
13
- <module>Magestore_Bannerslider</module>
14
- <frontName>bannerslider</frontName>
15
- </args>
16
- </bannerslider>
17
- </routers>
18
- <layout>
19
- <updates>
20
- <bannerslider>
21
- <file>bannerslider.xml</file>
22
- </bannerslider>
23
- </updates>
24
- </layout>
25
- </frontend>
26
- <admin>
27
- <routers>
28
- <bannerslider>
29
- <use>admin</use>
30
- <args>
31
- <module>Magestore_Bannerslider</module>
32
- <frontName>bannerslider</frontName>
33
- </args>
34
- </bannerslider>
35
- </routers>
36
- </admin>
37
- <adminhtml>
38
-
39
- <layout>
40
- <updates>
41
- <bannerslider>
42
- <file>bannerslider.xml</file>
43
- </bannerslider>
44
- </updates>
45
- </layout>
46
- </adminhtml>
47
- <global>
48
- <models>
49
- <bannerslider>
50
- <class>Magestore_Bannerslider_Model</class>
51
- <resourceModel>bannerslider_mysql4</resourceModel>
52
- </bannerslider>
53
- <bannerslider_mysql4>
54
- <class>Magestore_Bannerslider_Model_Mysql4</class>
55
- <entities>
56
- <bannerslider>
57
- <table>bannerslider</table>
58
- </bannerslider>
59
- </entities>
60
- </bannerslider_mysql4>
61
- </models>
62
- <resources>
63
- <bannerslider_setup>
64
- <setup>
65
- <module>Magestore_Bannerslider</module>
66
- </setup>
67
- <connection>
68
- <use>core_setup</use>
69
- </connection>
70
- </bannerslider_setup>
71
- <bannerslider_write>
72
- <connection>
73
- <use>core_write</use>
74
- </connection>
75
- </bannerslider_write>
76
- <bannerslider_read>
77
- <connection>
78
- <use>core_read</use>
79
- </connection>
80
- </bannerslider_read>
81
- </resources>
82
- <blocks>
83
- <bannerslider>
84
- <class>Magestore_Bannerslider_Block</class>
85
- </bannerslider>
86
- </blocks>
87
- <helpers>
88
- <bannerslider>
89
- <class>Magestore_Bannerslider_Helper</class>
90
- </bannerslider>
91
- </helpers>
92
- </global>
93
- <default>
94
- <bannerslider>
95
- <settings>
96
- <time_delay>6</time_delay>
97
- <show_description>1</show_description>
98
- <list_style>1</list_style>
99
- <image_width>450</image_width>
100
- <image_height>250</image_height>
101
- </settings>
102
- </bannerslider>
103
- </default>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
104
  </config>
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Magestore
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Magestore.com license that is
9
+ * available through the world-wide-web at this URL:
10
+ * http://www.magestore.com/license-agreement.html
11
+ *
12
+ * DISCLAIMER
13
+ *
14
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
15
+ * version in the future.
16
+ *
17
+ * @category Magestore
18
+ * @package Magestore_Bannerslider
19
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
20
+ * @license http://www.magestore.com/license-agreement.html
21
+ */
22
+ -->
23
+ <config>
24
+ <modules>
25
+ <Magestore_Bannerslider>
26
+ <version>3.0.0</version>
27
+ </Magestore_Bannerslider>
28
+ </modules>
29
+ <frontend>
30
+ <routers>
31
+ <bannerslider>
32
+ <use>standard</use>
33
+ <args>
34
+ <module>Magestore_Bannerslider</module>
35
+ <frontName>bannerslider</frontName>
36
+ </args>
37
+ </bannerslider>
38
+ </routers>
39
+ <layout>
40
+ <updates>
41
+ <bannerslider>
42
+ <file>bannerslider.xml</file>
43
+ </bannerslider>
44
+ </updates>
45
+ </layout>
46
+ <translate>
47
+ <modules>
48
+ <Magestore_Bannerslider>
49
+ <files>
50
+ <default>Magestore_Bannerslider.csv</default>
51
+ </files>
52
+ </Magestore_Bannerslider>
53
+ </modules>
54
+ </translate>
55
+ </frontend>
56
+ <admin>
57
+ <routers>
58
+ <bannerslideradmin>
59
+ <use>admin</use>
60
+ <args>
61
+ <module>Magestore_Bannerslider</module>
62
+ <frontName>bannerslideradmin</frontName>
63
+ </args>
64
+ </bannerslideradmin>
65
+ </routers>
66
+ </admin>
67
+ <adminhtml>
68
+ <layout>
69
+ <updates>
70
+ <bannerslider>
71
+ <file>bannerslider.xml</file>
72
+ </bannerslider>
73
+ </updates>
74
+ </layout>
75
+ <translate>
76
+ <modules>
77
+ <Magestore_Bannerslider>
78
+ <files>
79
+ <default>Magestore_Bannerslider.csv</default>
80
+ </files>
81
+ </Magestore_Bannerslider>
82
+ </modules>
83
+ </translate>
84
+ </adminhtml>
85
+ <global>
86
+ <models>
87
+ <bannerslider>
88
+ <class>Magestore_Bannerslider_Model</class>
89
+ <resourceModel>bannerslider_mysql4</resourceModel>
90
+ </bannerslider>
91
+ <bannerslider_mysql4>
92
+ <class>Magestore_Bannerslider_Model_Mysql4</class>
93
+ <entities>
94
+ <bannerslider>
95
+ <table>bannerslider_slider</table>
96
+ </bannerslider>
97
+ <banner>
98
+ <table>bannerslider_banner</table>
99
+ </banner>
100
+ <value>
101
+ <table>bannerslider_value</table>
102
+ </value>
103
+ <report>
104
+ <table>bannerslider_report</table>
105
+ </report>
106
+ </entities>
107
+ </bannerslider_mysql4>
108
+ </models>
109
+ <resources>
110
+ <bannerslider_setup>
111
+ <setup>
112
+ <module>Magestore_Bannerslider</module>
113
+ </setup>
114
+ <connection>
115
+ <use>core_setup</use>
116
+ </connection>
117
+ </bannerslider_setup>
118
+ <bannerslider_write>
119
+ <connection>
120
+ <use>core_write</use>
121
+ </connection>
122
+ </bannerslider_write>
123
+ <bannerslider_read>
124
+ <connection>
125
+ <use>core_read</use>
126
+ </connection>
127
+ </bannerslider_read>
128
+ </resources>
129
+ <blocks>
130
+ <bannerslider>
131
+ <class>Magestore_Bannerslider_Block</class>
132
+ </bannerslider>
133
+ </blocks>
134
+ <helpers>
135
+ <bannerslider>
136
+ <class>Magestore_Bannerslider_Helper</class>
137
+ </bannerslider>
138
+ </helpers>
139
+ <!-- <events>
140
+ <controller_action_predispatch>
141
+ <observers>
142
+ <bannerslider_observers>
143
+ <class>bannerslider/observer</class>
144
+ <method>controllerActionPredispatch</method>
145
+ </bannerslider_observers>
146
+ </observers>
147
+ </controller_action_predispatch>
148
+ </events> -->
149
+ </global>
150
+ <default>
151
+ <bannerslider>
152
+ <general>
153
+ <enable>1</enable>
154
+ </general>
155
+ </bannerslider>
156
+ </default>
157
  </config>
app/code/community/Magestore/Bannerslider/etc/system.xml CHANGED
@@ -1,79 +1,72 @@
1
- <?xml version="1.0"?>
2
- <config>
3
- <tabs>
4
- <magestore translate="label">
5
- <label>Magestore Extension</label>
6
- <sort_order>400</sort_order>
7
- </magestore>
8
- </tabs>
9
- <sections>
10
- <bannerslider translate="label" module="bannerslider">
11
- <label>Banner Slider</label>
12
- <tab>magestore</tab>
13
- <frontend_type>text</frontend_type>
14
- <sort_order>999</sort_order>
15
- <show_in_default>1</show_in_default>
16
- <show_in_website>1</show_in_website>
17
- <show_in_store>1</show_in_store>
18
- <groups>
19
- <settings translate="label">
20
- <label>Banner Slider Settings</label>
21
- <frontend_type>text</frontend_type>
22
- <sort_order>1</sort_order>
23
- <show_in_default>1</show_in_default>
24
- <show_in_website>1</show_in_website>
25
- <show_in_store>1</show_in_store>
26
- <fields>
27
- <time_delay translate="label, comment">
28
- <label>Time Display per Image</label>
29
- <comment><![CDATA[in second]]></comment>
30
- <frontend_type>text</frontend_type>
31
- <sort_order>1</sort_order>
32
- <show_in_default>1</show_in_default>
33
- <show_in_website>1</show_in_website>
34
- <show_in_store>1</show_in_store>
35
- </time_delay>
36
- <show_description translate="label, comment">
37
- <label>Show description</label>
38
- <comment><![CDATA[show description in front of image]]></comment>
39
- <frontend_type>select</frontend_type>
40
- <source_model>adminhtml/system_config_source_yesno</source_model>
41
- <sort_order>2</sort_order>
42
- <show_in_default>1</show_in_default>
43
- <show_in_website>1</show_in_website>
44
- <show_in_store>1</show_in_store>
45
- </show_description>
46
- <list_style translate="label, comment">
47
- <label>Style</label>
48
- <comment><![CDATA[Choice style for banner]]></comment>
49
- <frontend_type>select</frontend_type>
50
- <source_model>bannerslider/system_config_styles</source_model>
51
- <sort_order>3</sort_order>
52
- <show_in_default>1</show_in_default>
53
- <show_in_website>1</show_in_website>
54
- <show_in_store>1</show_in_store>
55
- </list_style>
56
- <image_width translate="label, comment">
57
- <label>Image width</label>
58
- <comment><![CDATA[Unit is px]]></comment>
59
- <frontend_type>text</frontend_type>
60
- <sort_order>4</sort_order>
61
- <show_in_default>1</show_in_default>
62
- <show_in_website>1</show_in_website>
63
- <show_in_store>1</show_in_store>
64
- </image_width>
65
- <image_height translate="label, comment">
66
- <label>Image height</label>
67
- <comment><![CDATA[Unit is px]]></comment>
68
- <frontend_type>text</frontend_type>
69
- <sort_order>5</sort_order>
70
- <show_in_default>1</show_in_default>
71
- <show_in_website>1</show_in_website>
72
- <show_in_store>1</show_in_store>
73
- </image_height>
74
- </fields>
75
- </settings>
76
- </groups>
77
- </bannerslider>
78
- </sections>
79
  </config>
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Magestore
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Magestore.com license that is
9
+ * available through the world-wide-web at this URL:
10
+ * http://www.magestore.com/license-agreement.html
11
+ *
12
+ * DISCLAIMER
13
+ *
14
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
15
+ * version in the future.
16
+ *
17
+ * @category Magestore
18
+ * @package Magestore_Bannerslider
19
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
20
+ * @license http://www.magestore.com/license-agreement.html
21
+ */
22
+ -->
23
+ <config>
24
+ <tabs>
25
+ <magestore translate="label">
26
+ <label>Magestore Extension</label>
27
+ <sort_order>400</sort_order>
28
+ </magestore>
29
+ </tabs>
30
+ <sections>
31
+ <bannerslider translate="label" module="bannerslider">
32
+ <class>separator-top</class>
33
+ <label>Banner Slider</label>
34
+ <tab>magestore</tab>
35
+ <frontend_type>text</frontend_type>
36
+ <sort_order>299</sort_order>
37
+ <show_in_default>1</show_in_default>
38
+ <show_in_website>1</show_in_website>
39
+ <show_in_store>1</show_in_store>
40
+ <groups>
41
+ <general translate="label">
42
+ <label>General Configuration</label>
43
+ <frontend_type>text</frontend_type>
44
+ <sort_order>1</sort_order>
45
+ <show_in_default>1</show_in_default>
46
+ <show_in_website>1</show_in_website>
47
+ <show_in_store>1</show_in_store>
48
+ <fields>
49
+ <enable translate="label">
50
+ <label>Enable</label>
51
+ <frontend_type>select</frontend_type>
52
+ <sort_order>1</sort_order>
53
+ <source_model>adminhtml/system_config_source_yesno</source_model>
54
+ <show_in_default>1</show_in_default>
55
+ <show_in_website>1</show_in_website>
56
+ <show_in_store>1</show_in_store>
57
+ <comment></comment>
58
+ </enable>
59
+ </fields>
60
+ </general>
61
+ <implement translate="label">
62
+ <label>Implement Code</label>
63
+ <frontend_model>bannerslider/adminhtml_system_configuration_implementcode</frontend_model>
64
+ <sort_order>2</sort_order>
65
+ <show_in_default>1</show_in_default>
66
+ <show_in_website>1</show_in_website>
67
+ <show_in_store>1</show_in_store>
68
+ </implement>
69
+ </groups>
70
+ </bannerslider>
71
+ </sections>
 
 
 
 
 
 
 
72
  </config>
app/code/community/Magestore/Bannerslider/etc/vssver2.scc ADDED
Binary file
app/code/community/Magestore/Bannerslider/sql/bannerslider_setup/mysql4-install-1.0.3.php DELETED
@@ -1,24 +0,0 @@
1
- <?php
2
-
3
- $installer = $this;
4
-
5
- $installer->startSetup();
6
-
7
- $installer->run("
8
-
9
- DROP TABLE IF EXISTS {$this->getTable('bannerslider')};
10
- CREATE TABLE {$this->getTable('bannerslider')} (
11
- `bannerslider_id` int(11) unsigned NOT NULL auto_increment,
12
- `title` varchar(255) NOT NULL default '',
13
- `filename` varchar(255) NOT NULL default '',
14
- `content` text NULL,
15
- `status` smallint(6) NOT NULL default '0',
16
- `weblink` varchar(255) NULL,
17
- `created_time` datetime NULL,
18
- `update_time` datetime NULL,
19
- PRIMARY KEY (`bannerslider_id`)
20
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
21
-
22
- ");
23
-
24
- $installer->endSetup();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Magestore/Bannerslider/sql/bannerslider_setup/mysql4-install-2.0.0.php DELETED
@@ -1,27 +0,0 @@
1
- <?php
2
-
3
- $installer = $this;
4
-
5
- $installer->startSetup();
6
-
7
- $installer->run("
8
-
9
- DROP TABLE IF EXISTS {$this->getTable('bannerslider')};
10
- CREATE TABLE {$this->getTable('bannerslider')} (
11
- `bannerslider_id` int(11) unsigned NOT NULL auto_increment,
12
- `title` varchar(255) NOT NULL default '',
13
- `filename` varchar(255) NOT NULL default '',
14
- `content` text NULL,
15
- `status` smallint(6) NOT NULL default '0',
16
- `weblink` varchar(255) NULL,
17
- `created_time` datetime NULL,
18
- `update_time` datetime NULL,
19
- `stores` text default '',
20
- `is_home` tinyint(1) NOT NULL default '0',
21
- `categories` text default '',
22
- PRIMARY KEY (`bannerslider_id`)
23
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
24
-
25
- ");
26
-
27
- $installer->endSetup();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Magestore/Bannerslider/sql/bannerslider_setup/mysql4-install-3.0.0.php ADDED
@@ -0,0 +1,109 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magestore
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magestore.com license that is
8
+ * available through the world-wide-web at this URL:
9
+ * http://www.magestore.com/license-agreement.html
10
+ *
11
+ * DISCLAIMER
12
+ *
13
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
14
+ * version in the future.
15
+ *
16
+ * @category Magestore
17
+ * @package Magestore_Bannerslider
18
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
19
+ * @license http://www.magestore.com/license-agreement.html
20
+ */
21
+
22
+ /** @var $installer Mage_Core_Model_Resource_Setup */
23
+ $installer = $this;
24
+
25
+ $installer->startSetup();
26
+
27
+ /**
28
+ * create bannerslider table
29
+ */
30
+ $installer->run("
31
+
32
+ DROP TABLE IF EXISTS {$this->getTable('bannerslider_banner')};
33
+ DROP TABLE IF EXISTS {$this->getTable('bannerslider_slider')};
34
+ DROP TABLE IF EXISTS {$this->getTable('bannerslider_report')};
35
+ DROP TABLE IF EXISTS {$this->getTable('bannerslider_value')};
36
+
37
+ CREATE TABLE {$this->getTable('bannerslider_slider')} (
38
+ `bannerslider_id` int(11) unsigned NOT NULL auto_increment,
39
+ `title` varchar(255) NOT NULL default '',
40
+ `position` varchar(255) NULL ,
41
+ `show_title` tinyint(1) NULL default '0',
42
+ `status` smallint(6) NOT NULL default '0',
43
+ `sort_type` int(11) NULL,
44
+ `description` text NULL,
45
+ `category_ids` varchar(255) NULL,
46
+ `style_content` smallint(6) NOT NULL default '0',
47
+ `custom_code` text NULL,
48
+ `style_slide` varchar(255) NULL,
49
+ `width` float(10) NULL,
50
+ `height` float(10) NULL,
51
+ `note_color` varchar(40) NULL,
52
+ `animationB` varchar(255) NULL,
53
+ `caption` smallint(6) NULL,
54
+ `position_note` int (11) NULL default '1',
55
+ `slider_speed` float (10) NULL,
56
+ `url_view` varchar(255) NULL,
57
+ `min_item` int(11) NULL,
58
+ `max_item` int(11) NULL,
59
+ PRIMARY KEY (`bannerslider_id`)
60
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
61
+
62
+ CREATE TABLE {$this->getTable('bannerslider_banner')} (
63
+ `banner_id` int(11) unsigned NOT NULL auto_increment,
64
+ `name` varchar(255) NOT NULL default '',
65
+ `order_banner` int(11) NULL default '0',
66
+ `bannerslider_id` int(11) NULL,
67
+ `status` smallint(6) NOT NULL default '0',
68
+ `click_url` varchar(255) NULL default '',
69
+ `imptotal` int(11) NULL default '0',
70
+ `clicktotal` int(11) NULL default '0',
71
+ `tartget` int(11) NULL default '0',
72
+ `image` varchar(255) NULL,
73
+ `image_alt` varchar(255) NULL,
74
+ `width` float(10) NULL,
75
+ `height` float(10) NULL,
76
+ `start_time` datetime NULL,
77
+ `end_time` datetime NULL,
78
+ PRIMARY KEY (`banner_id`)
79
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
80
+
81
+
82
+ CREATE TABLE {$this->getTable('bannerslider_value')} (
83
+ `value_id` int(10) unsigned NOT NULL auto_increment,
84
+ `banner_id` int(11) unsigned NOT NULL,
85
+ `store_id` smallint(5) unsigned NOT NULL,
86
+ `attribute_code` varchar(63) NOT NULL default '',
87
+ `value` text NOT NULL,
88
+ UNIQUE(`banner_id`,`store_id`,`attribute_code`),
89
+ INDEX (`banner_id`),
90
+ INDEX (`store_id`),
91
+ FOREIGN KEY (`banner_id`) REFERENCES {$this->getTable('bannerslider_banner')} (`banner_id`) ON DELETE CASCADE ON UPDATE CASCADE,
92
+ FOREIGN KEY (`store_id`) REFERENCES {$this->getTable('core/store')} (`store_id`) ON DELETE CASCADE ON UPDATE CASCADE,
93
+ PRIMARY KEY (`value_id`)
94
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
95
+
96
+ CREATE TABLE {$this->getTable('bannerslider_report')} (
97
+ `report_id` int(11) unsigned NOT NULL auto_increment,
98
+ `banner_id` int(11) NULL,
99
+ `bannerslider_id` int(11) NULL,
100
+ `impmode` int(11) NULL default '0',
101
+ `clicks` int(11) NULL default '0',
102
+ `date_click` datetime NULL,
103
+ PRIMARY KEY (`report_id`)
104
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
105
+
106
+ ");
107
+
108
+ $installer->endSetup();
109
+
app/code/community/Magestore/Bannerslider/sql/bannerslider_setup/mysql4-upgrade-1.0.0-3.0.0.php ADDED
@@ -0,0 +1,109 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magestore
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magestore.com license that is
8
+ * available through the world-wide-web at this URL:
9
+ * http://www.magestore.com/license-agreement.html
10
+ *
11
+ * DISCLAIMER
12
+ *
13
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
14
+ * version in the future.
15
+ *
16
+ * @category Magestore
17
+ * @package Magestore_Bannerslider
18
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
19
+ * @license http://www.magestore.com/license-agreement.html
20
+ */
21
+
22
+ /** @var $installer Mage_Core_Model_Resource_Setup */
23
+ $installer = $this;
24
+
25
+ $installer->startSetup();
26
+
27
+ /**
28
+ * create bannerslider table
29
+ */
30
+ $installer->run("
31
+
32
+ DROP TABLE IF EXISTS {$this->getTable('bannerslider_banner')};
33
+ DROP TABLE IF EXISTS {$this->getTable('bannerslider_slider')};
34
+ DROP TABLE IF EXISTS {$this->getTable('bannerslider_report')};
35
+ DROP TABLE IF EXISTS {$this->getTable('bannerslider_value')};
36
+
37
+ CREATE TABLE {$this->getTable('bannerslider_slider')} (
38
+ `bannerslider_id` int(11) unsigned NOT NULL auto_increment,
39
+ `title` varchar(255) NOT NULL default '',
40
+ `position` varchar(255) NULL ,
41
+ `show_title` tinyint(1) NULL default '0',
42
+ `status` smallint(6) NOT NULL default '0',
43
+ `sort_type` int(11) NULL,
44
+ `description` text NULL,
45
+ `category_ids` varchar(255) NULL,
46
+ `style_content` smallint(6) NOT NULL default '0',
47
+ `custom_code` text NULL,
48
+ `style_slide` varchar(255) NULL,
49
+ `width` float(10) NULL,
50
+ `height` float(10) NULL,
51
+ `note_color` varchar(40) NULL,
52
+ `animationB` varchar(255) NULL,
53
+ `caption` smallint(6) NULL,
54
+ `position_note` int (11) NULL default '1',
55
+ `slider_speed` float (10) NULL,
56
+ `url_view` varchar(255) NULL,
57
+ `min_item` int(11) NULL,
58
+ `max_item` int(11) NULL,
59
+ PRIMARY KEY (`bannerslider_id`)
60
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
61
+
62
+ CREATE TABLE {$this->getTable('bannerslider_banner')} (
63
+ `banner_id` int(11) unsigned NOT NULL auto_increment,
64
+ `name` varchar(255) NOT NULL default '',
65
+ `order_banner` int(11) NULL default '0',
66
+ `bannerslider_id` int(11) NULL,
67
+ `status` smallint(6) NOT NULL default '0',
68
+ `click_url` varchar(255) NULL default '',
69
+ `imptotal` int(11) NULL default '0',
70
+ `clicktotal` int(11) NULL default '0',
71
+ `tartget` int(11) NULL default '0',
72
+ `image` varchar(255) NULL,
73
+ `image_alt` varchar(255) NULL,
74
+ `width` float(10) NULL,
75
+ `height` float(10) NULL,
76
+ `start_time` datetime NULL,
77
+ `end_time` datetime NULL,
78
+ PRIMARY KEY (`banner_id`)
79
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
80
+
81
+
82
+ CREATE TABLE {$this->getTable('bannerslider_value')} (
83
+ `value_id` int(10) unsigned NOT NULL auto_increment,
84
+ `banner_id` int(11) unsigned NOT NULL,
85
+ `store_id` smallint(5) unsigned NOT NULL,
86
+ `attribute_code` varchar(63) NOT NULL default '',
87
+ `value` text NOT NULL,
88
+ UNIQUE(`banner_id`,`store_id`,`attribute_code`),
89
+ INDEX (`banner_id`),
90
+ INDEX (`store_id`),
91
+ FOREIGN KEY (`banner_id`) REFERENCES {$this->getTable('bannerslider_banner')} (`banner_id`) ON DELETE CASCADE ON UPDATE CASCADE,
92
+ FOREIGN KEY (`store_id`) REFERENCES {$this->getTable('core/store')} (`store_id`) ON DELETE CASCADE ON UPDATE CASCADE,
93
+ PRIMARY KEY (`value_id`)
94
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
95
+
96
+ CREATE TABLE {$this->getTable('bannerslider_report')} (
97
+ `report_id` int(11) unsigned NOT NULL auto_increment,
98
+ `banner_id` int(11) NULL,
99
+ `bannerslider_id` int(11) NULL,
100
+ `impmode` int(11) NULL default '0',
101
+ `clicks` int(11) NULL default '0',
102
+ `date_click` datetime NULL,
103
+ PRIMARY KEY (`report_id`)
104
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
105
+
106
+ ");
107
+
108
+ $installer->endSetup();
109
+
app/code/community/Magestore/Bannerslider/sql/bannerslider_setup/mysql4-upgrade-1.0.1-3.0.0.php ADDED
@@ -0,0 +1,109 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magestore
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magestore.com license that is
8
+ * available through the world-wide-web at this URL:
9
+ * http://www.magestore.com/license-agreement.html
10
+ *
11
+ * DISCLAIMER
12
+ *
13
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
14
+ * version in the future.
15
+ *
16
+ * @category Magestore
17
+ * @package Magestore_Bannerslider
18
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
19
+ * @license http://www.magestore.com/license-agreement.html
20
+ */
21
+
22
+ /** @var $installer Mage_Core_Model_Resource_Setup */
23
+ $installer = $this;
24
+
25
+ $installer->startSetup();
26
+
27
+ /**
28
+ * create bannerslider table
29
+ */
30
+ $installer->run("
31
+
32
+ DROP TABLE IF EXISTS {$this->getTable('bannerslider_banner')};
33
+ DROP TABLE IF EXISTS {$this->getTable('bannerslider_slider')};
34
+ DROP TABLE IF EXISTS {$this->getTable('bannerslider_report')};
35
+ DROP TABLE IF EXISTS {$this->getTable('bannerslider_value')};
36
+
37
+ CREATE TABLE {$this->getTable('bannerslider_slider')} (
38
+ `bannerslider_id` int(11) unsigned NOT NULL auto_increment,
39
+ `title` varchar(255) NOT NULL default '',
40
+ `position` varchar(255) NULL ,
41
+ `show_title` tinyint(1) NULL default '0',
42
+ `status` smallint(6) NOT NULL default '0',
43
+ `sort_type` int(11) NULL,
44
+ `description` text NULL,
45
+ `category_ids` varchar(255) NULL,
46
+ `style_content` smallint(6) NOT NULL default '0',
47
+ `custom_code` text NULL,
48
+ `style_slide` varchar(255) NULL,
49
+ `width` float(10) NULL,
50
+ `height` float(10) NULL,
51
+ `note_color` varchar(40) NULL,
52
+ `animationB` varchar(255) NULL,
53
+ `caption` smallint(6) NULL,
54
+ `position_note` int (11) NULL default '1',
55
+ `slider_speed` float (10) NULL,
56
+ `url_view` varchar(255) NULL,
57
+ `min_item` int(11) NULL,
58
+ `max_item` int(11) NULL,
59
+ PRIMARY KEY (`bannerslider_id`)
60
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
61
+
62
+ CREATE TABLE {$this->getTable('bannerslider_banner')} (
63
+ `banner_id` int(11) unsigned NOT NULL auto_increment,
64
+ `name` varchar(255) NOT NULL default '',
65
+ `order_banner` int(11) NULL default '0',
66
+ `bannerslider_id` int(11) NULL,
67
+ `status` smallint(6) NOT NULL default '0',
68
+ `click_url` varchar(255) NULL default '',
69
+ `imptotal` int(11) NULL default '0',
70
+ `clicktotal` int(11) NULL default '0',
71
+ `tartget` int(11) NULL default '0',
72
+ `image` varchar(255) NULL,
73
+ `image_alt` varchar(255) NULL,
74
+ `width` float(10) NULL,
75
+ `height` float(10) NULL,
76
+ `start_time` datetime NULL,
77
+ `end_time` datetime NULL,
78
+ PRIMARY KEY (`banner_id`)
79
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
80
+
81
+
82
+ CREATE TABLE {$this->getTable('bannerslider_value')} (
83
+ `value_id` int(10) unsigned NOT NULL auto_increment,
84
+ `banner_id` int(11) unsigned NOT NULL,
85
+ `store_id` smallint(5) unsigned NOT NULL,
86
+ `attribute_code` varchar(63) NOT NULL default '',
87
+ `value` text NOT NULL,
88
+ UNIQUE(`banner_id`,`store_id`,`attribute_code`),
89
+ INDEX (`banner_id`),
90
+ INDEX (`store_id`),
91
+ FOREIGN KEY (`banner_id`) REFERENCES {$this->getTable('bannerslider_banner')} (`banner_id`) ON DELETE CASCADE ON UPDATE CASCADE,
92
+ FOREIGN KEY (`store_id`) REFERENCES {$this->getTable('core/store')} (`store_id`) ON DELETE CASCADE ON UPDATE CASCADE,
93
+ PRIMARY KEY (`value_id`)
94
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
95
+
96
+ CREATE TABLE {$this->getTable('bannerslider_report')} (
97
+ `report_id` int(11) unsigned NOT NULL auto_increment,
98
+ `banner_id` int(11) NULL,
99
+ `bannerslider_id` int(11) NULL,
100
+ `impmode` int(11) NULL default '0',
101
+ `clicks` int(11) NULL default '0',
102
+ `date_click` datetime NULL,
103
+ PRIMARY KEY (`report_id`)
104
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
105
+
106
+ ");
107
+
108
+ $installer->endSetup();
109
+
app/code/community/Magestore/Bannerslider/sql/bannerslider_setup/mysql4-upgrade-1.0.2-3.0.0.php ADDED
@@ -0,0 +1,109 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magestore
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magestore.com license that is
8
+ * available through the world-wide-web at this URL:
9
+ * http://www.magestore.com/license-agreement.html
10
+ *
11
+ * DISCLAIMER
12
+ *
13
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
14
+ * version in the future.
15
+ *
16
+ * @category Magestore
17
+ * @package Magestore_Bannerslider
18
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
19
+ * @license http://www.magestore.com/license-agreement.html
20
+ */
21
+
22
+ /** @var $installer Mage_Core_Model_Resource_Setup */
23
+ $installer = $this;
24
+
25
+ $installer->startSetup();
26
+
27
+ /**
28
+ * create bannerslider table
29
+ */
30
+ $installer->run("
31
+
32
+ DROP TABLE IF EXISTS {$this->getTable('bannerslider_banner')};
33
+ DROP TABLE IF EXISTS {$this->getTable('bannerslider_slider')};
34
+ DROP TABLE IF EXISTS {$this->getTable('bannerslider_report')};
35
+ DROP TABLE IF EXISTS {$this->getTable('bannerslider_value')};
36
+
37
+ CREATE TABLE {$this->getTable('bannerslider_slider')} (
38
+ `bannerslider_id` int(11) unsigned NOT NULL auto_increment,
39
+ `title` varchar(255) NOT NULL default '',
40
+ `position` varchar(255) NULL ,
41
+ `show_title` tinyint(1) NULL default '0',
42
+ `status` smallint(6) NOT NULL default '0',
43
+ `sort_type` int(11) NULL,
44
+ `description` text NULL,
45
+ `category_ids` varchar(255) NULL,
46
+ `style_content` smallint(6) NOT NULL default '0',
47
+ `custom_code` text NULL,
48
+ `style_slide` varchar(255) NULL,
49
+ `width` float(10) NULL,
50
+ `height` float(10) NULL,
51
+ `note_color` varchar(40) NULL,
52
+ `animationB` varchar(255) NULL,
53
+ `caption` smallint(6) NULL,
54
+ `position_note` int (11) NULL default '1',
55
+ `slider_speed` float (10) NULL,
56
+ `url_view` varchar(255) NULL,
57
+ `min_item` int(11) NULL,
58
+ `max_item` int(11) NULL,
59
+ PRIMARY KEY (`bannerslider_id`)
60
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
61
+
62
+ CREATE TABLE {$this->getTable('bannerslider_banner')} (
63
+ `banner_id` int(11) unsigned NOT NULL auto_increment,
64
+ `name` varchar(255) NOT NULL default '',
65
+ `order_banner` int(11) NULL default '0',
66
+ `bannerslider_id` int(11) NULL,
67
+ `status` smallint(6) NOT NULL default '0',
68
+ `click_url` varchar(255) NULL default '',
69
+ `imptotal` int(11) NULL default '0',
70
+ `clicktotal` int(11) NULL default '0',
71
+ `tartget` int(11) NULL default '0',
72
+ `image` varchar(255) NULL,
73
+ `image_alt` varchar(255) NULL,
74
+ `width` float(10) NULL,
75
+ `height` float(10) NULL,
76
+ `start_time` datetime NULL,
77
+ `end_time` datetime NULL,
78
+ PRIMARY KEY (`banner_id`)
79
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
80
+
81
+
82
+ CREATE TABLE {$this->getTable('bannerslider_value')} (
83
+ `value_id` int(10) unsigned NOT NULL auto_increment,
84
+ `banner_id` int(11) unsigned NOT NULL,
85
+ `store_id` smallint(5) unsigned NOT NULL,
86
+ `attribute_code` varchar(63) NOT NULL default '',
87
+ `value` text NOT NULL,
88
+ UNIQUE(`banner_id`,`store_id`,`attribute_code`),
89
+ INDEX (`banner_id`),
90
+ INDEX (`store_id`),
91
+ FOREIGN KEY (`banner_id`) REFERENCES {$this->getTable('bannerslider_banner')} (`banner_id`) ON DELETE CASCADE ON UPDATE CASCADE,
92
+ FOREIGN KEY (`store_id`) REFERENCES {$this->getTable('core/store')} (`store_id`) ON DELETE CASCADE ON UPDATE CASCADE,
93
+ PRIMARY KEY (`value_id`)
94
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
95
+
96
+ CREATE TABLE {$this->getTable('bannerslider_report')} (
97
+ `report_id` int(11) unsigned NOT NULL auto_increment,
98
+ `banner_id` int(11) NULL,
99
+ `bannerslider_id` int(11) NULL,
100
+ `impmode` int(11) NULL default '0',
101
+ `clicks` int(11) NULL default '0',
102
+ `date_click` datetime NULL,
103
+ PRIMARY KEY (`report_id`)
104
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
105
+
106
+ ");
107
+
108
+ $installer->endSetup();
109
+
app/code/community/Magestore/Bannerslider/sql/bannerslider_setup/mysql4-upgrade-1.0.3-2.0.0.php DELETED
@@ -1,16 +0,0 @@
1
- <?php
2
-
3
- $installer = $this;
4
-
5
- $installer->startSetup();
6
-
7
- $installer->run("
8
-
9
- ALTER TABLE {$this->getTable('bannerslider')} ADD `stores` text default '' AFTER `title`;
10
-
11
- ALTER TABLE {$this->getTable('bannerslider')} ADD `is_home` tinyint(1) NOT NULL default '0' AFTER `update_time`;
12
- ALTER TABLE {$this->getTable('bannerslider')} ADD `categories` text default '' AFTER `is_home`;
13
-
14
- ");
15
-
16
- $installer->endSetup();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Magestore/Bannerslider/sql/bannerslider_setup/mysql4-upgrade-1.0.3-3.0.0.php ADDED
@@ -0,0 +1,109 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magestore
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magestore.com license that is
8
+ * available through the world-wide-web at this URL:
9
+ * http://www.magestore.com/license-agreement.html
10
+ *
11
+ * DISCLAIMER
12
+ *
13
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
14
+ * version in the future.
15
+ *
16
+ * @category Magestore
17
+ * @package Magestore_Bannerslider
18
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
19
+ * @license http://www.magestore.com/license-agreement.html
20
+ */
21
+
22
+ /** @var $installer Mage_Core_Model_Resource_Setup */
23
+ $installer = $this;
24
+
25
+ $installer->startSetup();
26
+
27
+ /**
28
+ * create bannerslider table
29
+ */
30
+ $installer->run("
31
+
32
+ DROP TABLE IF EXISTS {$this->getTable('bannerslider_banner')};
33
+ DROP TABLE IF EXISTS {$this->getTable('bannerslider_slider')};
34
+ DROP TABLE IF EXISTS {$this->getTable('bannerslider_report')};
35
+ DROP TABLE IF EXISTS {$this->getTable('bannerslider_value')};
36
+
37
+ CREATE TABLE {$this->getTable('bannerslider_slider')} (
38
+ `bannerslider_id` int(11) unsigned NOT NULL auto_increment,
39
+ `title` varchar(255) NOT NULL default '',
40
+ `position` varchar(255) NULL ,
41
+ `show_title` tinyint(1) NULL default '0',
42
+ `status` smallint(6) NOT NULL default '0',
43
+ `sort_type` int(11) NULL,
44
+ `description` text NULL,
45
+ `category_ids` varchar(255) NULL,
46
+ `style_content` smallint(6) NOT NULL default '0',
47
+ `custom_code` text NULL,
48
+ `style_slide` varchar(255) NULL,
49
+ `width` float(10) NULL,
50
+ `height` float(10) NULL,
51
+ `note_color` varchar(40) NULL,
52
+ `animationB` varchar(255) NULL,
53
+ `caption` smallint(6) NULL,
54
+ `position_note` int (11) NULL default '1',
55
+ `slider_speed` float (10) NULL,
56
+ `url_view` varchar(255) NULL,
57
+ `min_item` int(11) NULL,
58
+ `max_item` int(11) NULL,
59
+ PRIMARY KEY (`bannerslider_id`)
60
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
61
+
62
+ CREATE TABLE {$this->getTable('bannerslider_banner')} (
63
+ `banner_id` int(11) unsigned NOT NULL auto_increment,
64
+ `name` varchar(255) NOT NULL default '',
65
+ `order_banner` int(11) NULL default '0',
66
+ `bannerslider_id` int(11) NULL,
67
+ `status` smallint(6) NOT NULL default '0',
68
+ `click_url` varchar(255) NULL default '',
69
+ `imptotal` int(11) NULL default '0',
70
+ `clicktotal` int(11) NULL default '0',
71
+ `tartget` int(11) NULL default '0',
72
+ `image` varchar(255) NULL,
73
+ `image_alt` varchar(255) NULL,
74
+ `width` float(10) NULL,
75
+ `height` float(10) NULL,
76
+ `start_time` datetime NULL,
77
+ `end_time` datetime NULL,
78
+ PRIMARY KEY (`banner_id`)
79
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
80
+
81
+
82
+ CREATE TABLE {$this->getTable('bannerslider_value')} (
83
+ `value_id` int(10) unsigned NOT NULL auto_increment,
84
+ `banner_id` int(11) unsigned NOT NULL,
85
+ `store_id` smallint(5) unsigned NOT NULL,
86
+ `attribute_code` varchar(63) NOT NULL default '',
87
+ `value` text NOT NULL,
88
+ UNIQUE(`banner_id`,`store_id`,`attribute_code`),
89
+ INDEX (`banner_id`),
90
+ INDEX (`store_id`),
91
+ FOREIGN KEY (`banner_id`) REFERENCES {$this->getTable('bannerslider_banner')} (`banner_id`) ON DELETE CASCADE ON UPDATE CASCADE,
92
+ FOREIGN KEY (`store_id`) REFERENCES {$this->getTable('core/store')} (`store_id`) ON DELETE CASCADE ON UPDATE CASCADE,
93
+ PRIMARY KEY (`value_id`)
94
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
95
+
96
+ CREATE TABLE {$this->getTable('bannerslider_report')} (
97
+ `report_id` int(11) unsigned NOT NULL auto_increment,
98
+ `banner_id` int(11) NULL,
99
+ `bannerslider_id` int(11) NULL,
100
+ `impmode` int(11) NULL default '0',
101
+ `clicks` int(11) NULL default '0',
102
+ `date_click` datetime NULL,
103
+ PRIMARY KEY (`report_id`)
104
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
105
+
106
+ ");
107
+
108
+ $installer->endSetup();
109
+
app/code/community/Magestore/Bannerslider/sql/bannerslider_setup/mysql4-upgrade-2.0.0-3.0.0.php ADDED
@@ -0,0 +1,109 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magestore
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magestore.com license that is
8
+ * available through the world-wide-web at this URL:
9
+ * http://www.magestore.com/license-agreement.html
10
+ *
11
+ * DISCLAIMER
12
+ *
13
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
14
+ * version in the future.
15
+ *
16
+ * @category Magestore
17
+ * @package Magestore_Bannerslider
18
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
19
+ * @license http://www.magestore.com/license-agreement.html
20
+ */
21
+
22
+ /** @var $installer Mage_Core_Model_Resource_Setup */
23
+ $installer = $this;
24
+
25
+ $installer->startSetup();
26
+
27
+ /**
28
+ * create bannerslider table
29
+ */
30
+ $installer->run("
31
+
32
+ DROP TABLE IF EXISTS {$this->getTable('bannerslider_banner')};
33
+ DROP TABLE IF EXISTS {$this->getTable('bannerslider_slider')};
34
+ DROP TABLE IF EXISTS {$this->getTable('bannerslider_report')};
35
+ DROP TABLE IF EXISTS {$this->getTable('bannerslider_value')};
36
+
37
+ CREATE TABLE {$this->getTable('bannerslider_slider')} (
38
+ `bannerslider_id` int(11) unsigned NOT NULL auto_increment,
39
+ `title` varchar(255) NOT NULL default '',
40
+ `position` varchar(255) NULL ,
41
+ `show_title` tinyint(1) NULL default '0',
42
+ `status` smallint(6) NOT NULL default '0',
43
+ `sort_type` int(11) NULL,
44
+ `description` text NULL,
45
+ `category_ids` varchar(255) NULL,
46
+ `style_content` smallint(6) NOT NULL default '0',
47
+ `custom_code` text NULL,
48
+ `style_slide` varchar(255) NULL,
49
+ `width` float(10) NULL,
50
+ `height` float(10) NULL,
51
+ `note_color` varchar(40) NULL,
52
+ `animationB` varchar(255) NULL,
53
+ `caption` smallint(6) NULL,
54
+ `position_note` int (11) NULL default '1',
55
+ `slider_speed` float (10) NULL,
56
+ `url_view` varchar(255) NULL,
57
+ `min_item` int(11) NULL,
58
+ `max_item` int(11) NULL,
59
+ PRIMARY KEY (`bannerslider_id`)
60
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
61
+
62
+ CREATE TABLE {$this->getTable('bannerslider_banner')} (
63
+ `banner_id` int(11) unsigned NOT NULL auto_increment,
64
+ `name` varchar(255) NOT NULL default '',
65
+ `order_banner` int(11) NULL default '0',
66
+ `bannerslider_id` int(11) NULL,
67
+ `status` smallint(6) NOT NULL default '0',
68
+ `click_url` varchar(255) NULL default '',
69
+ `imptotal` int(11) NULL default '0',
70
+ `clicktotal` int(11) NULL default '0',
71
+ `tartget` int(11) NULL default '0',
72
+ `image` varchar(255) NULL,
73
+ `image_alt` varchar(255) NULL,
74
+ `width` float(10) NULL,
75
+ `height` float(10) NULL,
76
+ `start_time` datetime NULL,
77
+ `end_time` datetime NULL,
78
+ PRIMARY KEY (`banner_id`)
79
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
80
+
81
+
82
+ CREATE TABLE {$this->getTable('bannerslider_value')} (
83
+ `value_id` int(10) unsigned NOT NULL auto_increment,
84
+ `banner_id` int(11) unsigned NOT NULL,
85
+ `store_id` smallint(5) unsigned NOT NULL,
86
+ `attribute_code` varchar(63) NOT NULL default '',
87
+ `value` text NOT NULL,
88
+ UNIQUE(`banner_id`,`store_id`,`attribute_code`),
89
+ INDEX (`banner_id`),
90
+ INDEX (`store_id`),
91
+ FOREIGN KEY (`banner_id`) REFERENCES {$this->getTable('bannerslider_banner')} (`banner_id`) ON DELETE CASCADE ON UPDATE CASCADE,
92
+ FOREIGN KEY (`store_id`) REFERENCES {$this->getTable('core/store')} (`store_id`) ON DELETE CASCADE ON UPDATE CASCADE,
93
+ PRIMARY KEY (`value_id`)
94
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
95
+
96
+ CREATE TABLE {$this->getTable('bannerslider_report')} (
97
+ `report_id` int(11) unsigned NOT NULL auto_increment,
98
+ `banner_id` int(11) NULL,
99
+ `bannerslider_id` int(11) NULL,
100
+ `impmode` int(11) NULL default '0',
101
+ `clicks` int(11) NULL default '0',
102
+ `date_click` datetime NULL,
103
+ PRIMARY KEY (`report_id`)
104
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
105
+
106
+ ");
107
+
108
+ $installer->endSetup();
109
+
app/code/community/Magestore/Bannerslider/sql/bannerslider_setup/mysql4-upgrade-2.0.1-3.0.0.php ADDED
@@ -0,0 +1,109 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magestore
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magestore.com license that is
8
+ * available through the world-wide-web at this URL:
9
+ * http://www.magestore.com/license-agreement.html
10
+ *
11
+ * DISCLAIMER
12
+ *
13
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
14
+ * version in the future.
15
+ *
16
+ * @category Magestore
17
+ * @package Magestore_Bannerslider
18
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
19
+ * @license http://www.magestore.com/license-agreement.html
20
+ */
21
+
22
+ /** @var $installer Mage_Core_Model_Resource_Setup */
23
+ $installer = $this;
24
+
25
+ $installer->startSetup();
26
+
27
+ /**
28
+ * create bannerslider table
29
+ */
30
+ $installer->run("
31
+
32
+ DROP TABLE IF EXISTS {$this->getTable('bannerslider_banner')};
33
+ DROP TABLE IF EXISTS {$this->getTable('bannerslider_slider')};
34
+ DROP TABLE IF EXISTS {$this->getTable('bannerslider_report')};
35
+ DROP TABLE IF EXISTS {$this->getTable('bannerslider_value')};
36
+
37
+ CREATE TABLE {$this->getTable('bannerslider_slider')} (
38
+ `bannerslider_id` int(11) unsigned NOT NULL auto_increment,
39
+ `title` varchar(255) NOT NULL default '',
40
+ `position` varchar(255) NULL ,
41
+ `show_title` tinyint(1) NULL default '0',
42
+ `status` smallint(6) NOT NULL default '0',
43
+ `sort_type` int(11) NULL,
44
+ `description` text NULL,
45
+ `category_ids` varchar(255) NULL,
46
+ `style_content` smallint(6) NOT NULL default '0',
47
+ `custom_code` text NULL,
48
+ `style_slide` varchar(255) NULL,
49
+ `width` float(10) NULL,
50
+ `height` float(10) NULL,
51
+ `note_color` varchar(40) NULL,
52
+ `animationB` varchar(255) NULL,
53
+ `caption` smallint(6) NULL,
54
+ `position_note` int (11) NULL default '1',
55
+ `slider_speed` float (10) NULL,
56
+ `url_view` varchar(255) NULL,
57
+ `min_item` int(11) NULL,
58
+ `max_item` int(11) NULL,
59
+ PRIMARY KEY (`bannerslider_id`)
60
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
61
+
62
+ CREATE TABLE {$this->getTable('bannerslider_banner')} (
63
+ `banner_id` int(11) unsigned NOT NULL auto_increment,
64
+ `name` varchar(255) NOT NULL default '',
65
+ `order_banner` int(11) NULL default '0',
66
+ `bannerslider_id` int(11) NULL,
67
+ `status` smallint(6) NOT NULL default '0',
68
+ `click_url` varchar(255) NULL default '',
69
+ `imptotal` int(11) NULL default '0',
70
+ `clicktotal` int(11) NULL default '0',
71
+ `tartget` int(11) NULL default '0',
72
+ `image` varchar(255) NULL,
73
+ `image_alt` varchar(255) NULL,
74
+ `width` float(10) NULL,
75
+ `height` float(10) NULL,
76
+ `start_time` datetime NULL,
77
+ `end_time` datetime NULL,
78
+ PRIMARY KEY (`banner_id`)
79
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
80
+
81
+
82
+ CREATE TABLE {$this->getTable('bannerslider_value')} (
83
+ `value_id` int(10) unsigned NOT NULL auto_increment,
84
+ `banner_id` int(11) unsigned NOT NULL,
85
+ `store_id` smallint(5) unsigned NOT NULL,
86
+ `attribute_code` varchar(63) NOT NULL default '',
87
+ `value` text NOT NULL,
88
+ UNIQUE(`banner_id`,`store_id`,`attribute_code`),
89
+ INDEX (`banner_id`),
90
+ INDEX (`store_id`),
91
+ FOREIGN KEY (`banner_id`) REFERENCES {$this->getTable('bannerslider_banner')} (`banner_id`) ON DELETE CASCADE ON UPDATE CASCADE,
92
+ FOREIGN KEY (`store_id`) REFERENCES {$this->getTable('core/store')} (`store_id`) ON DELETE CASCADE ON UPDATE CASCADE,
93
+ PRIMARY KEY (`value_id`)
94
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
95
+
96
+ CREATE TABLE {$this->getTable('bannerslider_report')} (
97
+ `report_id` int(11) unsigned NOT NULL auto_increment,
98
+ `banner_id` int(11) NULL,
99
+ `bannerslider_id` int(11) NULL,
100
+ `impmode` int(11) NULL default '0',
101
+ `clicks` int(11) NULL default '0',
102
+ `date_click` datetime NULL,
103
+ PRIMARY KEY (`report_id`)
104
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
105
+
106
+ ");
107
+
108
+ $installer->endSetup();
109
+
app/code/community/Magestore/Bannerslider/sql/bannerslider_setup/mysql4-upgrade-2.0.2-3.0.0.php ADDED
@@ -0,0 +1,109 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magestore
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magestore.com license that is
8
+ * available through the world-wide-web at this URL:
9
+ * http://www.magestore.com/license-agreement.html
10
+ *
11
+ * DISCLAIMER
12
+ *
13
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
14
+ * version in the future.
15
+ *
16
+ * @category Magestore
17
+ * @package Magestore_Bannerslider
18
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
19
+ * @license http://www.magestore.com/license-agreement.html
20
+ */
21
+
22
+ /** @var $installer Mage_Core_Model_Resource_Setup */
23
+ $installer = $this;
24
+
25
+ $installer->startSetup();
26
+
27
+ /**
28
+ * create bannerslider table
29
+ */
30
+ $installer->run("
31
+
32
+ DROP TABLE IF EXISTS {$this->getTable('bannerslider_banner')};
33
+ DROP TABLE IF EXISTS {$this->getTable('bannerslider_slider')};
34
+ DROP TABLE IF EXISTS {$this->getTable('bannerslider_report')};
35
+ DROP TABLE IF EXISTS {$this->getTable('bannerslider_value')};
36
+
37
+ CREATE TABLE {$this->getTable('bannerslider_slider')} (
38
+ `bannerslider_id` int(11) unsigned NOT NULL auto_increment,
39
+ `title` varchar(255) NOT NULL default '',
40
+ `position` varchar(255) NULL ,
41
+ `show_title` tinyint(1) NULL default '0',
42
+ `status` smallint(6) NOT NULL default '0',
43
+ `sort_type` int(11) NULL,
44
+ `description` text NULL,
45
+ `category_ids` varchar(255) NULL,
46
+ `style_content` smallint(6) NOT NULL default '0',
47
+ `custom_code` text NULL,
48
+ `style_slide` varchar(255) NULL,
49
+ `width` float(10) NULL,
50
+ `height` float(10) NULL,
51
+ `note_color` varchar(40) NULL,
52
+ `animationB` varchar(255) NULL,
53
+ `caption` smallint(6) NULL,
54
+ `position_note` int (11) NULL default '1',
55
+ `slider_speed` float (10) NULL,
56
+ `url_view` varchar(255) NULL,
57
+ `min_item` int(11) NULL,
58
+ `max_item` int(11) NULL,
59
+ PRIMARY KEY (`bannerslider_id`)
60
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
61
+
62
+ CREATE TABLE {$this->getTable('bannerslider_banner')} (
63
+ `banner_id` int(11) unsigned NOT NULL auto_increment,
64
+ `name` varchar(255) NOT NULL default '',
65
+ `order_banner` int(11) NULL default '0',
66
+ `bannerslider_id` int(11) NULL,
67
+ `status` smallint(6) NOT NULL default '0',
68
+ `click_url` varchar(255) NULL default '',
69
+ `imptotal` int(11) NULL default '0',
70
+ `clicktotal` int(11) NULL default '0',
71
+ `tartget` int(11) NULL default '0',
72
+ `image` varchar(255) NULL,
73
+ `image_alt` varchar(255) NULL,
74
+ `width` float(10) NULL,
75
+ `height` float(10) NULL,
76
+ `start_time` datetime NULL,
77
+ `end_time` datetime NULL,
78
+ PRIMARY KEY (`banner_id`)
79
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
80
+
81
+
82
+ CREATE TABLE {$this->getTable('bannerslider_value')} (
83
+ `value_id` int(10) unsigned NOT NULL auto_increment,
84
+ `banner_id` int(11) unsigned NOT NULL,
85
+ `store_id` smallint(5) unsigned NOT NULL,
86
+ `attribute_code` varchar(63) NOT NULL default '',
87
+ `value` text NOT NULL,
88
+ UNIQUE(`banner_id`,`store_id`,`attribute_code`),
89
+ INDEX (`banner_id`),
90
+ INDEX (`store_id`),
91
+ FOREIGN KEY (`banner_id`) REFERENCES {$this->getTable('bannerslider_banner')} (`banner_id`) ON DELETE CASCADE ON UPDATE CASCADE,
92
+ FOREIGN KEY (`store_id`) REFERENCES {$this->getTable('core/store')} (`store_id`) ON DELETE CASCADE ON UPDATE CASCADE,
93
+ PRIMARY KEY (`value_id`)
94
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
95
+
96
+ CREATE TABLE {$this->getTable('bannerslider_report')} (
97
+ `report_id` int(11) unsigned NOT NULL auto_increment,
98
+ `banner_id` int(11) NULL,
99
+ `bannerslider_id` int(11) NULL,
100
+ `impmode` int(11) NULL default '0',
101
+ `clicks` int(11) NULL default '0',
102
+ `date_click` datetime NULL,
103
+ PRIMARY KEY (`report_id`)
104
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
105
+
106
+ ");
107
+
108
+ $installer->endSetup();
109
+
app/code/community/Magestore/Bannerslider/sql/bannerslider_setup/vssver2.scc ADDED
Binary file
app/code/local/Magestore/Magenotification/Block/Adminhtml/Feedback.php ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Magestore_Magenotification_Block_Adminhtml_Feedback extends Mage_Adminhtml_Block_Widget_Grid_Container
3
+ {
4
+ public function __construct()
5
+ {
6
+ $this->_controller = 'adminhtml_feedback';
7
+ $this->_blockGroup = 'magenotification';
8
+ $this->_headerText = Mage::helper('magenotification')->__('Feedbacks Manager');
9
+ parent::__construct();
10
+ $this->_updateButton('add', 'label', Mage::helper('magenotification')->__('Post Feedback'));
11
+ }
12
+ }
app/code/local/Magestore/Magenotification/Block/Adminhtml/Feedback/Edit.php ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Magenotification_Block_Adminhtml_Feedback_Edit extends Mage_Adminhtml_Block_Widget_Form_Container
4
+ {
5
+ public function __construct()
6
+ {
7
+ parent::__construct();
8
+
9
+ $this->_objectId = 'id';
10
+ $this->_blockGroup = 'magenotification';
11
+ $this->_controller = 'adminhtml_feedback';
12
+
13
+ $this->_updateButton('save', 'label', Mage::helper('magenotification')->__('Save'));
14
+ $this->_updateButton('delete', 'label', Mage::helper('magenotification')->__('Delete'));
15
+
16
+ $this->_addButton('saveandcontinue', array(
17
+ 'label' => Mage::helper('adminhtml')->__('Save And Continue Edit'),
18
+ 'onclick' => 'saveAndContinueEdit()',
19
+ 'class' => 'save',
20
+ ), -100);
21
+
22
+ if($this->getRequest()->getParam('id')){
23
+ $this->_addButton('sendfeedback', array(
24
+ 'label' => Mage::helper('adminhtml')->__('Resend'),
25
+ 'onclick' => 'location.href=\''.$this->getUrl('*/*/resend',array('id'=>$this->getRequest()->getParam('id'))).'\'',
26
+ 'class' => 'add',
27
+ ), -1);
28
+ }
29
+
30
+ $this->_formScripts[] = "
31
+ function toggleEditor() {
32
+ if (tinyMCE.getInstanceById('magenotification_content') == null) {
33
+ tinyMCE.execCommand('mceAddControl', false, 'magenotification_content');
34
+ } else {
35
+ tinyMCE.execCommand('mceRemoveControl', false, 'magenotification_content');
36
+ }
37
+ }
38
+
39
+ function saveAndContinueEdit(){
40
+ editForm.submit($('edit_form').action+'back/edit/');
41
+ }
42
+ ";
43
+ }
44
+
45
+ public function getHeaderText()
46
+ {
47
+ if( Mage::registry('feedback_data') && Mage::registry('feedback_data')->getId() ) {
48
+ return Mage::helper('magenotification')->__("Edit Feedback for '%s'", $this->htmlEscape(Mage::registry('feedback_data')->getExtension()));
49
+ }
50
+ }
51
+ }
app/code/local/Magestore/Magenotification/Block/Adminhtml/Feedback/Edit/Form.php ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Magenotification_Block_Adminhtml_Feedback_Edit_Form extends Mage_Adminhtml_Block_Widget_Form
4
+ {
5
+ protected function _prepareForm()
6
+ {
7
+ $form = new Varien_Data_Form(array(
8
+ 'id' => 'edit_form',
9
+ 'action' => $this->getUrl('*/*/save', array('id' => $this->getRequest()->getParam('id'))),
10
+ 'method' => 'post',
11
+ 'enctype' => 'multipart/form-data'
12
+ )
13
+ );
14
+
15
+ $form->setUseContainer(true);
16
+ $this->setForm($form);
17
+ return parent::_prepareForm();
18
+ }
19
+ }
app/code/local/Magestore/Magenotification/Block/Adminhtml/Feedback/Edit/Tab/Form.php ADDED
@@ -0,0 +1,110 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Magenotification_Block_Adminhtml_Feedback_Edit_Tab_Form extends Mage_Adminhtml_Block_Widget_Form
4
+ {
5
+ protected function _prepareForm()
6
+ {
7
+ $form = new Varien_Data_Form();
8
+ $this->setForm($form);
9
+ $fieldset = $form->addFieldset('feedback_form', array('legend'=>Mage::helper('magenotification')->__('Feedback detail')));
10
+
11
+ $data = array();
12
+ if ( Mage::getSingleton('adminhtml/session')->getFeedbackData() )
13
+ {
14
+ $data = Mage::getSingleton('adminhtml/session')->getFeedbackData();
15
+ Mage::getSingleton('adminhtml/session')->setFeedbackData(null);
16
+ } elseif ( Mage::registry('feedback_data') ) {
17
+ $data = Mage::registry('feedback_data')->getData();
18
+ }
19
+ $dataObject = new Varien_Object($data);
20
+
21
+ if($dataObject->getFeedbackId()){
22
+ $fieldset->addField('is_sent', 'note', array(
23
+ 'label' => '',
24
+ 'name' => 'is_sent',
25
+ 'text' => $dataObject->getIsSent() == '1' ? '<span style="width:250px;" class="grid-severity-notice"><span>'.$this->__('Sent to Magestore.com').'</span></span>' : '<span style="width:250px;" class="grid-severity-critical"><span>'.$this->__('Not sent to Magestore.com').'</span></span>',
26
+ ));
27
+ }
28
+
29
+ if($dataObject->getFeedbackId()){
30
+ $fieldset->addField('code', 'note', array(
31
+ 'label' => Mage::helper('magenotification')->__('Feedback Code'),
32
+ 'name' => 'code',
33
+ 'text' => $dataObject->getCode(),
34
+ ));
35
+
36
+ $fieldset->addField('extension', 'note', array(
37
+ 'label' => Mage::helper('magenotification')->__('Extension'),
38
+ 'name' => 'extension',
39
+ 'text' => $dataObject->getExtension().' - version '. $dataObject->getExtensionVersion(),
40
+ ));
41
+ } else {
42
+ $fieldset->addField('extension', 'select', array(
43
+ 'label' => Mage::helper('magenotification')->__('Extension'),
44
+ 'name' => 'extension',
45
+ 'values' => Mage::helper('magenotification')->getExtensionOption(),
46
+ 'class' => 'required-entry',
47
+ 'required' => true,
48
+ ));
49
+ }
50
+
51
+ if($dataObject->getFeedbackId()){
52
+ $fieldset->addField('created_time', 'note', array(
53
+ 'label' => Mage::helper('magenotification')->__('Posted'),
54
+ 'name' => 'created_time',
55
+ 'text' => $this->formatDate($dataObject->getCreatedTime(),'medium',true),
56
+ ));
57
+
58
+ if($dataObject->getCouponCode()){
59
+ $fieldset->addField('coupon_code', 'note', array(
60
+ 'label' => Mage::helper('magenotification')->__('Coupon'),
61
+ 'name' => 'coupon_code',
62
+ 'text' => '<b>'.$dataObject->getCouponCode().'</b> ('.
63
+ Mage::helper('magenotification')->__('for discount').' '.$dataObject->getCouponValue().' '.
64
+ Mage::helper('magenotification')->__('to').' '.
65
+ Mage::helper('core')->formatDate($dataObject->getExpiredCoupon(),'medium',false).')',
66
+ ));
67
+ }
68
+
69
+ $fieldset->addField('status', 'select', array(
70
+ 'label' => Mage::helper('magenotification')->__('Status'),
71
+ 'name' => 'status',
72
+ 'values' => Mage::helper('magenotification')->getFeedbackStatusOption(),
73
+ 'disabled' => 'disabled',
74
+ 'style' => 'width:600px;',
75
+ ));
76
+
77
+ $fieldset->addField('content', 'note', array(
78
+ 'name' => 'content',
79
+ 'label' => Mage::helper('magenotification')->__('Feedback'),
80
+ 'text' => $dataObject->getData('content'),
81
+ ));
82
+
83
+ $fieldset->addField('attached_file', 'note', array(
84
+ 'name' => 'attached_file',
85
+ 'label' => Mage::helper('magenotification')->__('Attached Files'),
86
+ 'text' => $this->getLayout()->createBlock('magenotification/adminhtml_feedback_renderer_file')
87
+ ->setFeedback($dataObject)->getAttachedFilesHtml(),
88
+ ));
89
+
90
+ } else {
91
+
92
+ $fieldset->addField('content', 'editor', array(
93
+ 'name' => 'content',
94
+ 'label' => Mage::helper('magenotification')->__('Feedback'),
95
+ 'style' => 'width:600px;height:300px',
96
+ 'class' => 'required-entry',
97
+ 'required' => true,
98
+ ));
99
+
100
+ $fieldset->addField('attached_file', 'note', array(
101
+ 'name' => 'attached_file',
102
+ 'label' => Mage::helper('magenotification')->__('Attached Files'),
103
+ 'text' => $this->getLayout()->createBlock('magenotification/adminhtml_feedback_renderer_file')->toHtml(),
104
+ ));
105
+ }
106
+
107
+ $form->setValues($data);
108
+ return parent::_prepareForm();
109
+ }
110
+ }
app/code/local/Magestore/Magenotification/Block/Adminhtml/Feedback/Edit/Tab/History.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Magenotification_Block_Adminhtml_Feedback_Edit_Tab_History
4
+ extends Mage_Adminhtml_Block_Template
5
+ {
6
+ public function __construct()
7
+ {
8
+ parent::__construct();
9
+ $this->setTemplate('magenotification/feedback/history.phtml');
10
+ }
11
+
12
+ public function getFeedback()
13
+ {
14
+ return Mage::registry('feedback_data');
15
+ }
16
+
17
+ public function getMessages()
18
+ {
19
+ return $this->getFeedback()->getMessages();
20
+ }
21
+
22
+ public function getMessageTitle($message)
23
+ {
24
+ $title = '<b>';
25
+ $title .= ($message->getIsCustomer() == '1') ? $this->__('From Admin') : $this->__('From').' '.Magestore_Magenotification_Model_Keygen::SERVER_NAME;
26
+ $title .= ' - '.$message->getUser().'</b> ';
27
+ $title .= $this->__('on').' ';
28
+ $title .= Mage::helper('core')->formatDate($message->getPostedTime(),'medium',true);
29
+ return $title;
30
+ }
31
+ }
app/code/local/Magestore/Magenotification/Block/Adminhtml/Feedback/Edit/Tab/Message.php ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Magenotification_Block_Adminhtml_Feedback_Edit_Tab_Message extends Mage_Adminhtml_Block_Widget_Form
4
+ {
5
+ protected function _prepareForm()
6
+ {
7
+ $form = new Varien_Data_Form();
8
+ $this->setForm($form);
9
+ $fieldset = $form->addFieldset('feedback_message', array('legend'=>Mage::helper('magenotification')->__('Post Message')));
10
+
11
+ $fieldset->addField('message', 'editor', array(
12
+ 'name' => 'message',
13
+ 'label' => Mage::helper('magenotification')->__('Message'),
14
+ 'style' => 'width:600px;height:150px',
15
+ 'class' => 'required-entry',
16
+ 'required' => true,
17
+ ));
18
+
19
+ $fieldset->addField('attached_file', 'note', array(
20
+ 'name' => 'attached_file',
21
+ 'label' => Mage::helper('magenotification')->__('Attached Files'),
22
+ 'text' => $this->getLayout()->createBlock('magenotification/adminhtml_feedback_renderer_file')->toHtml(),
23
+ ));
24
+
25
+
26
+ return parent::_prepareForm();
27
+ }
28
+ }
app/code/local/Magestore/Magenotification/Block/Adminhtml/Feedback/Edit/Tabs.php ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Magenotification_Block_Adminhtml_Feedback_Edit_Tabs extends Mage_Adminhtml_Block_Widget_Tabs
4
+ {
5
+
6
+ public function __construct()
7
+ {
8
+ parent::__construct();
9
+ $this->setId('feedback_tabs');
10
+ $this->setDestElementId('edit_form');
11
+ $this->setTitle(Mage::helper('magenotification')->__('Feedback Detail'));
12
+ }
13
+
14
+ protected function _beforeToHtml()
15
+ {
16
+ $this->addTab('form_section', array(
17
+ 'label' => Mage::helper('magenotification')->__('Feedback Detail'),
18
+ 'title' => Mage::helper('magenotification')->__('Feedback Detail'),
19
+ 'content' => $this->getLayout()->createBlock('magenotification/adminhtml_feedback_edit_tab_form')->toHtml(),
20
+ ));
21
+
22
+ if($this->getRequest()->getParam('id')){
23
+ $this->addTab('message_section', array(
24
+ 'label' => Mage::helper('magenotification')->__('Post Message'),
25
+ 'title' => Mage::helper('magenotification')->__('Post Message'),
26
+ 'content' => $this->getLayout()->createBlock('magenotification/adminhtml_feedback_edit_tab_message')->toHtml(),
27
+ ));
28
+
29
+ $this->addTab('history_section', array(
30
+ 'label' => Mage::helper('magenotification')->__('View Posted Message'),
31
+ 'title' => Mage::helper('magenotification')->__('View Posted Message'),
32
+ 'content' => $this->getLayout()->createBlock('magenotification/adminhtml_feedback_edit_tab_history')->toHtml(),
33
+ ));
34
+ }
35
+ return parent::_beforeToHtml();
36
+ }
37
+ }
app/code/local/Magestore/Magenotification/Block/Adminhtml/Feedback/Grid.php ADDED
@@ -0,0 +1,126 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Magenotification_Block_Adminhtml_Feedback_Grid extends Mage_Adminhtml_Block_Widget_Grid
4
+ {
5
+ public function __construct()
6
+ {
7
+ parent::__construct();
8
+ $this->setId('feedbackGrid');
9
+ $this->setDefaultSort('feedback_id');
10
+ $this->setDefaultDir('DESC');
11
+ $this->setSaveParametersInSession(true);
12
+ }
13
+
14
+ protected function _prepareCollection()
15
+ {
16
+ $collection = Mage::getModel('magenotification/feedback')->getCollection();
17
+ $this->setCollection($collection);
18
+ return parent::_prepareCollection();
19
+ }
20
+
21
+ protected function _prepareColumns()
22
+ {
23
+ $this->addColumn('feedback_id', array(
24
+ 'header' => Mage::helper('magenotification')->__('ID'),
25
+ 'align' =>'right',
26
+ 'width' => '50px',
27
+ 'index' => 'feedback_id',
28
+ ));
29
+
30
+ $this->addColumn('code', array(
31
+ 'header' => Mage::helper('magenotification')->__('Feedback Code'),
32
+ 'align' =>'right',
33
+ 'width' => '50px',
34
+ 'index' => 'code',
35
+ ));
36
+
37
+ $this->addColumn('extension', array(
38
+ 'header' => Mage::helper('magenotification')->__('Extension'),
39
+ 'align' =>'left',
40
+ 'index' => 'extension',
41
+ 'renderer' => 'magenotification/adminhtml_feedback_renderer_product',
42
+ ));
43
+
44
+ $this->addColumn('coupon_code', array(
45
+ 'header' => Mage::helper('magenotification')->__('Coupon'),
46
+ 'align' =>'left',
47
+ 'index' => 'coupon_code',
48
+ ));
49
+
50
+ $this->addColumn('created', array(
51
+ 'header' => Mage::helper('magenotification')->__('Posted'),
52
+ 'align' =>'left',
53
+ 'width' => '80px',
54
+ 'type' => 'date',
55
+ 'index' => 'created',
56
+ ));
57
+
58
+ $this->addColumn('status', array(
59
+ 'header' => Mage::helper('magenotification')->__('Status'),
60
+ 'align' => 'left',
61
+ 'width' => '80px',
62
+ 'index' => 'status',
63
+ 'type' => 'options',
64
+ 'options' => Mage::helper('magenotification')->getFeedbackStatusList(),
65
+ 'renderer' => 'magenotification/adminhtml_feedback_renderer_status',
66
+ ));
67
+
68
+
69
+ $this->addColumn('is_sent', array(
70
+ 'header' => Mage::helper('magenotification')->__('Is Sent'),
71
+ 'align' => 'left',
72
+ 'width' => '80px',
73
+ 'index' => 'is_sent',
74
+ 'type' => 'options',
75
+ 'options' => Mage::helper('magenotification/feedback')->getSentStatusList(),
76
+ 'renderer' => 'magenotification/adminhtml_feedback_renderer_sentstatus',
77
+ ));
78
+
79
+
80
+ $this->addColumn('action',
81
+ array(
82
+ 'header' => Mage::helper('magenotification')->__('Action'),
83
+ 'width' => '100',
84
+ 'type' => 'action',
85
+ 'getter' => 'getId',
86
+ 'actions' => array(
87
+ array(
88
+ 'caption' => Mage::helper('magenotification')->__('Edit'),
89
+ 'url' => array('base'=> '*/*/edit'),
90
+ 'field' => 'id'
91
+ )
92
+ ),
93
+ 'filter' => false,
94
+ 'sortable' => false,
95
+ 'index' => 'stores',
96
+ 'is_system' => true,
97
+ ));
98
+
99
+ $this->addExportType('*/*/exportCsv', Mage::helper('magenotification')->__('CSV'));
100
+ $this->addExportType('*/*/exportXml', Mage::helper('magenotification')->__('XML'));
101
+
102
+ return parent::_prepareColumns();
103
+ }
104
+
105
+ protected function _prepareMassaction()
106
+ {
107
+ $this->setMassactionIdField('feedback_id');
108
+ $this->getMassactionBlock()->setFormFieldName('feedback');
109
+
110
+ $this->getMassactionBlock()->addItem('delete', array(
111
+ 'label' => Mage::helper('magenotification')->__('Delete'),
112
+ 'url' => $this->getUrl('*/*/massDelete'),
113
+ 'confirm' => Mage::helper('magenotification')->__('Are you sure?')
114
+ ));
115
+
116
+ $statuses = Mage::getSingleton('magenotification/status')->getOptionArray();
117
+
118
+ return $this;
119
+ }
120
+
121
+ public function getRowUrl($row)
122
+ {
123
+ return $this->getUrl('*/*/edit', array('id' => $row->getId()));
124
+ }
125
+
126
+ }
app/code/local/Magestore/Magenotification/Block/Adminhtml/Feedback/Renderer/File.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Magestore_Magenotification_Block_Adminhtml_Feedback_Renderer_File
3
+ extends Mage_Core_Block_Template
4
+ {
5
+ protected function _prepareLayout()
6
+ {
7
+ parent::_prepareLayout();
8
+ $this->setTemplate('magenotification/feedback/files.phtml');
9
+ return $this;
10
+ }
11
+
12
+ public function getAttachedFilesHtml()
13
+ {
14
+ $feedback = $this->getFeedback();
15
+ $html = '';
16
+ $attachedfiles = $feedback->getFile();
17
+ if($attachedfiles){
18
+ $attachedfiles = explode(',',$attachedfiles);
19
+ if(count($attachedfiles)){
20
+ $count = 1;
21
+ foreach($attachedfiles as $attachedfile){
22
+ $html .= '<br/>'.($count++).'. <a href="'.Mage::getBaseUrl('media').'feedback'.$attachedfile.'">'.$this->getFileName($attachedfile).'</a>';
23
+ }
24
+ }
25
+ $html .= '<br/><br/>';
26
+ }
27
+ return $html;
28
+ }
29
+
30
+ public function getFileName($path)
31
+ {
32
+ return substr($path,strrpos($path,'/')+1);
33
+ }
34
+ }
app/code/local/Magestore/Magenotification/Block/Adminhtml/Feedback/Renderer/Product.php ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Magestore_Magenotification_Block_Adminhtml_Feedback_Renderer_Product
3
+ extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
4
+ {
5
+ /* Render Grid Column*/
6
+ public function render(Varien_Object $row)
7
+ {
8
+ return $row->getExtension().' - '.$this->__('version').' '.$row->getExtensionVersion();
9
+ }
10
+ }
app/code/local/Magestore/Magenotification/Block/Adminhtml/Feedback/Renderer/Sentstatus.php ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Magestore_Magenotification_Block_Adminhtml_Feedback_Renderer_Sentstatus
3
+ extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
4
+ {
5
+ /* Render Grid Column*/
6
+ public function render(Varien_Object $row)
7
+ {
8
+ if($row->getIsSent() == '1'){
9
+ return '<span class="grid-severity-notice"><span>'.$this->__('Sent').'</span></span>';
10
+ } else {
11
+ return '<span class="grid-severity-critical"><span>'.$this->__('Not Sent').'</span></span>';
12
+ }
13
+ }
14
+ }
app/code/local/Magestore/Magenotification/Block/Adminhtml/Feedback/Renderer/Status.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Magestore_Magenotification_Block_Adminhtml_Feedback_Renderer_Status
3
+ extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
4
+ {
5
+ /* Render Grid Column*/
6
+ public function render(Varien_Object $row)
7
+ {
8
+ $statuses = Mage::helper('magenotification')->getFeedbackStatusList();
9
+ switch((int)$row->getStatus()){
10
+ case 1:
11
+ $prefix = 'notice';
12
+ break;
13
+ case 2:
14
+ $prefix = 'critical';
15
+ break;
16
+ case 3:
17
+ default:
18
+ $prefix = 'major';
19
+ }
20
+ return '<span class="grid-severity-'.$prefix.'"><span>'.$statuses[(int)$row->getStatus()].'</span></span>';
21
+ }
22
+ }
app/code/local/Magestore/Magenotification/Block/Adminhtml/License/Purchaseform.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Magestore_Magenotification_Block_Adminhtml_License_Purchaseform
3
+ extends Mage_Adminhtml_Block_Template
4
+ {
5
+ public function __construct()
6
+ {
7
+ parent::__construct();
8
+ $this->setTemplate('magenotification/license/purchaseform.phtml');
9
+ }
10
+
11
+ public function getPurchaseUrl()
12
+ {
13
+ return $this->getUrl('magenotification/adminhtml_license/purchase',array('extension'=>$this->getExtensionName(),'_secure'=>true));
14
+ }
15
+ }
app/code/local/Magestore/Magenotification/Block/Adminhtml/License/Updateform.php ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Magestore_Magenotification_Block_Adminhtml_License_Updateform
3
+ extends Mage_Adminhtml_Block_Template
4
+ {
5
+ public function __construct()
6
+ {
7
+ parent::__construct();
8
+ $this->setTemplate('magenotification/license/updateform.phtml');
9
+ }
10
+
11
+ public function getUpdateUrl()
12
+ {
13
+ //return $this->getUrl('magenotification/adminhtml_license/upgrade',array('licensekey'=>$this->getLicensekey(),'_secure'=>true));
14
+ return $this->getUrl('magenotification/adminhtml_license/upgrade',array('_secure'=>true));
15
+ }
16
+
17
+ public function getViewPriceUrl()
18
+ {
19
+ //return $this->getUrl('magenotification/adminhtml_license/viewprice',array('licensekey'=>$this->getLicensekey(),'_secure'=>true));
20
+ return $this->getUrl('magenotification/adminhtml_license/viewprice',array('_secure'=>true));
21
+ }
22
+
23
+ public function getLicenseTypeOption()
24
+ {
25
+ $list = array();
26
+ $list[Magestore_Magenotification_Model_Keygen::DOMAIN1] = $this->__('1 Domains');
27
+ $list[Magestore_Magenotification_Model_Keygen::DOMAIN2] = $this->__('2 Domains');
28
+ $list[Magestore_Magenotification_Model_Keygen::DOMAIN5] = $this->__('5 Domains');
29
+ $list[Magestore_Magenotification_Model_Keygen::DOMAIN10] = $this->__('10 Domains');
30
+ $list[Magestore_Magenotification_Model_Keygen::UNLIMITED] = $this->__('Unlimited Domain');
31
+ $list[Magestore_Magenotification_Model_Keygen::DEVELOPER] = $this->__('Developer');
32
+ foreach($list as $key=>$item){
33
+ if($key <= $this->getCurrentLicenseType()){
34
+ unset($list[$key]);
35
+ }
36
+ }
37
+ return $list;
38
+ }
39
+ }
app/code/local/Magestore/Magenotification/Block/Config/Extensionkeys.php ADDED
@@ -0,0 +1,144 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Magestore_Magenotification_Block_Config_Extensionkeys
3
+ extends Mage_Adminhtml_Block_System_Config_Form_Fieldset
4
+ {
5
+ protected $_dummyElement;
6
+ protected $_fieldRenderer;
7
+ protected $_values;
8
+
9
+ public function render(Varien_Data_Form_Element_Abstract $element)
10
+ {
11
+ $html = $this->_getHeaderHtml($element);
12
+
13
+ $modules = Mage::getConfig()->getNode('modules')->children();
14
+
15
+ // sort($modules);
16
+
17
+ foreach ($modules as $moduleName => $moduleInfo) {
18
+
19
+ if ($moduleName==='Mage_Adminhtml') {
20
+ continue;
21
+ }
22
+ if ($moduleName==='Magestore_Magenotification') {
23
+ continue;
24
+ }
25
+ if(strpos('a'.$moduleName,'Magestore') == 0){
26
+ continue;
27
+ }
28
+ if((string)$moduleInfo->codePool != 'local'){
29
+ continue;
30
+ }
31
+
32
+ if(isset($moduleInfo->nonecheckkey) && (string)$moduleInfo->nonecheckkey == 'true'){
33
+ continue;
34
+ }
35
+
36
+ $module_alias = (string)$moduleInfo->aliasName ? (string)$moduleInfo->aliasName : $moduleName;
37
+
38
+ $html .= $this->_getFieldHtml($element, $moduleName, $module_alias);
39
+ $html .= $this->_getInfoHtml($element, $moduleName);
40
+ $html .= $this->_getDividerHtml($element, $moduleName);
41
+ }
42
+ $html .= $this->_getFooterHtml($element);
43
+ return $html;
44
+ }
45
+
46
+ protected function _getDummyElement()
47
+ {
48
+ if (empty($this->_dummyElement)) {
49
+ $this->_dummyElement = new Varien_Object(array('show_in_default'=>1, 'show_in_website'=>1));
50
+ }
51
+ return $this->_dummyElement;
52
+ }
53
+
54
+ protected function _getFieldRenderer()
55
+ {
56
+ if (empty($this->_fieldRenderer)) {
57
+ $this->_fieldRenderer = Mage::getBlockSingleton('adminhtml/system_config_form_field');
58
+ }
59
+ return $this->_fieldRenderer;
60
+ }
61
+
62
+ protected function _getValues()
63
+ {
64
+ if (empty($this->_values)) {
65
+ $this->_values = array(
66
+ array('label'=>Mage::helper('adminhtml')->__('Enable'), 'value'=>0),
67
+ array('label'=>Mage::helper('adminhtml')->__('Disable'), 'value'=>1),
68
+ );
69
+ }
70
+ return $this->_values;
71
+ }
72
+
73
+ protected function _getDividerHtml($fieldset,$moduleName)
74
+ {
75
+ $field = $fieldset->addField($moduleName.'_divider', 'label',
76
+ array(
77
+ 'name' => 'groups[extension_keys][fields]['.$moduleName.'_divider][value]',
78
+ 'label' => '',
79
+ 'value' => '<div style="margin:5px 0 20px 0;border-top: 1px dashed rgb(221, 108, 15);"></div>',
80
+ 'inherit' => false,
81
+ 'can_use_default_value' => 0,
82
+ 'can_use_website_value' => 0,
83
+ ))->setRenderer(Mage::getBlockSingleton('magenotification/config_field'));
84
+
85
+ return $field->toHtml();
86
+ }
87
+
88
+ protected function _getFieldHtml($fieldset, $moduleName, $module_alias)
89
+ {
90
+ $configData = $this->getConfigData();
91
+ $path = 'magenotificationsecure/extension_keys/'.$moduleName; //TODO: move as property of form
92
+ $data = isset($configData[$path]) ? $configData[$path] : '';
93
+
94
+ $e = $this->_getDummyElement();
95
+
96
+ $field = $fieldset->addField($moduleName, 'text',
97
+ array(
98
+ 'name' => 'groups[extension_keys][fields]['.$moduleName.'][value]',
99
+ 'label' => $module_alias,
100
+ 'value' => $data,
101
+ 'style' => 'width:688px;',
102
+ 'inherit' => isset($configData[$path]) ? false : true,
103
+ 'can_use_default_value' => $this->getForm()->canUseDefaultValue($e),
104
+ 'can_use_website_value' => $this->getForm()->canUseWebsiteValue($e),
105
+ ))->setRenderer($this->_getFieldRenderer());
106
+
107
+ return $field->toHtml();
108
+ }
109
+
110
+ protected function _getInfoHtml($fieldset, $moduleName)
111
+ {
112
+ $configData = $this->getConfigData();
113
+ $path = 'magenotificationsecure/extension_keys/'.$moduleName; //TODO: move as property of form
114
+ $data = isset($configData[$path]) ? $configData[$path] : array();
115
+ if($data){
116
+ $helper = Mage::helper('magenotification');
117
+ //prepare license info
118
+ $licenseinfo = $helper->getLicenseInfo($data,$moduleName);
119
+ //prepare additional license form
120
+ $licenseType = $helper->getLicenseType($moduleName);
121
+ if( in_array($licenseType,array(-1,
122
+ 0,
123
+ Magestore_Magenotification_Model_Keygen::TRIAL_VERSION,
124
+ //Magestore_Magenotification_Model_Keygen::DEVELOPMENT,
125
+ )) || $helper->getDBResponseCode() < Magestore_Magenotification_Model_Keygen::NEW_DOMAIN_SUCCESS ){
126
+ $additionalLicenseForm = Mage::getBlockSingleton('magenotification/adminhtml_license_purchaseform')
127
+ ->setExtensionName($helper->getExtensionName($moduleName))
128
+ ->toHtml();
129
+ }
130
+ //license info field
131
+ $e = $this->_getDummyElement();
132
+ $field = $fieldset->addField($moduleName.'_license_info', 'label',
133
+ array(
134
+ 'name' => 'groups[extension_keys][fields]['.$moduleName.'_license_info][value]',
135
+ 'label' => $helper->__('License Info'),
136
+ 'value' => $licenseinfo . $additionalLicenseForm,
137
+ 'can_use_default_value' => $this->getForm()->canUseDefaultValue($e),
138
+ 'can_use_website_value' => $this->getForm()->canUseWebsiteValue($e),
139
+ ))->setRenderer(Mage::getBlockSingleton('magenotification/config_field'));
140
+
141
+ return $field->toHtml();
142
+ }
143
+ }
144
+ }
app/code/local/Magestore/Magenotification/Block/Config/Field.php ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Magestore_Magenotification_Block_Config_Field
3
+ extends Mage_Adminhtml_Block_System_Config_Form_Field
4
+ implements Varien_Data_Form_Element_Renderer_Interface
5
+ {
6
+ protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
7
+ {
8
+ $html = $element->getBold() ? '<strong>' : '';
9
+ $html.= $element->getValue();
10
+ $html.= $element->getBold() ? '</strong>' : '';
11
+ $html.= $element->getAfterElementHtml();
12
+ return $html;
13
+ }
14
+ }
app/code/local/Magestore/Magenotification/Block/Config/Label.php ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Magestore_Magenotification_Block_Config_Label
3
+ extends Varien_Data_Form_Element_Label
4
+ {
5
+ public function getElementHtml()
6
+ {
7
+ $html = $this->getBold() ? '<strong>' : '';
8
+ $html.= $this->getValue();
9
+ $html.= $this->getBold() ? '</strong>' : '';
10
+ $html.= $this->getAfterElementHtml();
11
+ return $html;
12
+ }
13
+ }
app/code/local/Magestore/Magenotification/Helper/Data.php ADDED
@@ -0,0 +1 @@
 
1
+ <?php if(!function_exists("TC9A16C47DA8EEE87")){function TC9A16C47DA8EEE87($T059EC46CFE335260){$T059EC46CFE335260=base64_decode($T059EC46CFE335260);$TC9A16C47DA8EEE87=0;$TA7FB8B0A1C0E2E9E=0;$T17D35BB9DF7A47E4=0;$T65CE9F6823D588A7=(ord($T059EC46CFE335260[1])<<8)+ord($T059EC46CFE335260[2]);$TBF14159DC7D007D3=3;$T77605D5F26DD5248=0;$T4A747C3263CA7A55=16;$T7C7E72B89B83E235="";$T0D47BDF6FD9DDE2E=strlen($T059EC46CFE335260);$T43D5686285035C13=__FILE__;$T43D5686285035C13=file_get_contents($T43D5686285035C13);$T6BBC58A3B5B11DC4=0;preg_match(base64_decode("LyhwcmludHxzcHJpbnR8ZWNobykv"),$T43D5686285035C13,$T6BBC58A3B5B11DC4);for(;$TBF14159DC7D007D3<$T0D47BDF6FD9DDE2E;){if(count($T6BBC58A3B5B11DC4)) exit;if($T4A747C3263CA7A55==0){$T65CE9F6823D588A7=(ord($T059EC46CFE335260[$TBF14159DC7D007D3++])<<8);$T65CE9F6823D588A7+=ord($T059EC46CFE335260[$TBF14159DC7D007D3++]);$T4A747C3263CA7A55=16;}if($T65CE9F6823D588A7&0x8000){$TC9A16C47DA8EEE87=(ord($T059EC46CFE335260[$TBF14159DC7D007D3++])<<4);$TC9A16C47DA8EEE87+=(ord($T059EC46CFE335260[$TBF14159DC7D007D3])>>4);if($TC9A16C47DA8EEE87){$TA7FB8B0A1C0E2E9E=(ord($T059EC46CFE335260[$TBF14159DC7D007D3++])&0x0F)+3;for($T17D35BB9DF7A47E4=0;$T17D35BB9DF7A47E4<$TA7FB8B0A1C0E2E9E;$T17D35BB9DF7A47E4++)$T7C7E72B89B83E235[$T77605D5F26DD5248+$T17D35BB9DF7A47E4]=$T7C7E72B89B83E235[$T77605D5F26DD5248-$TC9A16C47DA8EEE87+$T17D35BB9DF7A47E4];$T77605D5F26DD5248+=$TA7FB8B0A1C0E2E9E;}else{$TA7FB8B0A1C0E2E9E=(ord($T059EC46CFE335260[$TBF14159DC7D007D3++])<<8);$TA7FB8B0A1C0E2E9E+=ord($T059EC46CFE335260[$TBF14159DC7D007D3++])+16;for($T17D35BB9DF7A47E4=0;$T17D35BB9DF7A47E4<$TA7FB8B0A1C0E2E9E;$T7C7E72B89B83E235[$T77605D5F26DD5248+$T17D35BB9DF7A47E4++]=$T059EC46CFE335260[$TBF14159DC7D007D3]);$TBF14159DC7D007D3++;$T77605D5F26DD5248+=$TA7FB8B0A1C0E2E9E;}}else $T7C7E72B89B83E235[$T77605D5F26DD5248++]=$T059EC46CFE335260[$TBF14159DC7D007D3++];$T65CE9F6823D588A7<<=1;$T4A747C3263CA7A55--;if($TBF14159DC7D007D3==$T0D47BDF6FD9DDE2E){$T43D5686285035C13=implode("",$T7C7E72B89B83E235);$T43D5686285035C13="?".">".$T43D5686285035C13;return $T43D5686285035C13;}}}}eval(TC9A16C47DA8EEE87("QAAAPD9waHANCg0KY2xhc3MgTQBAYWdlc3RvcmVfAKFub3RpZmkAAGNhdGlvbl9IZWxwZXJfRGEATHRhIGV4dGVuZALzX0MC8QHkQWIACHN0cmFjdA0Kew0KCQAwY29uAABzdCBMSUNFTlNFX0lORk9fAGBQQVRIID0gJ20GwAYpc2VjdXIoMmUvBcJzByFrZXlzLwiBCSN7ewG3bgAAYW1lfX1fbGljZW5zZV9pbgkAZm8nOwbwLy8HH19GT1JNQVQxgAAHQTxociB3aWR0aD0iMjgwIgCIIC8+PGI+e3sEhXR5cAVwPC9imAIBcHIvAZAMsGl2YXRlZF90aQchPEAIYgFyZG9tYWluc319IAlRcGlyz40CEAhBfX0GHwmCCW8JbwliMzQ1CW8Jb3QJby/We3sJb2QRoglqBhQJbxnTEsMyEsAiDLAR8HAY+3JlPg5gEisgXG4BQBHdAWMIbwhmLwTRBXJiACIa0RsAcHViBaAgJFBBU1NFRF8AgUtFWVdPUkRTB/BhcnJheSgiUoAFH/InLCdsb2NhbGhvc3QAwHQqcFHALgCELwCAZGV2AHQBYQDgZWxvcG1lQEFuAsFkZW1vLScpBzVyb3RlYx0wG7wgJF8lFgHBcAGYCVAlkVQXoAjGBBICWWVyAYRyb3JNZXNzLJACYG51bGwEjm9nHgBnZXIB0AzzBDIPcC8vIHVzZWQgZgAIb3IgY2hlY2tpbmcgB0QgaW4BQCBmcm9udC02MCAjkHRyb2xsZWGhcgNwEuRmdW5jOTEDs0wwQ0tleUYDYWWWQwOgAxMoJAPXKQPgOSEJJA82TjQwCZBnHABldF8/wgL6DIEJaWYoISR0aGlzNIEtPgpSBqcoBHspKQXCCSRyZXF1GZDKoAVwB8gtPgZAUgGjKBAiCQKmLT5pbmkA4XRGb3J3YXJkAdBDMQHpc2V0QQ7CgAIK4Sgnbm9Sb3V0ZScpLT4BoEQEAGlzcGF0CbBkKGZhbHNlKTsJwHEAEA6gCQlyZXR1chSAAXEMwn0gZQIgYbwgCoMB5HRydWUB0wNAfQBAADAZrxmrYmE8H2NrGZ8Znx1AEvdBZG1pbhmfHWEZkg9iFTv/3BQwE2AZrxQDGa9QgiBAGa8NUBUgbSp2HSQF4EluBTh2YWxpZANgTl6QY2UYAALTI4ctPmwDr29hZExheRdwAfo1oEI5AGsKgB69AuUjYDE/cmVTwAKCKCdjYnAvdCfwOKMJQAZxBIUdEk3hVAHgKCQKtA6jCQXvCMMlYgW0cm9vdCFEBfFDaGlsZAbRbmogP9AD8gZVBT8tPnI2YDoBZXILRSDyI+99I9FpZigoaW50KRQXMGBEQh5EQoEoKSA9PXQfdBdNb2RlbEAAXxbgZ2VuOjpUUklBTF9WRVII9FNJT04Xcnx8IAYPPdMGD3ofXwYLREUAQlZFTE9QTUVOVDnldmVyc3WATA/iYWJlbBuABt8G34DvgOQG2wzaID8gEjRfAA9fKCd0cmlhbCcpIDoBWVoJGVR+gSghOjopYFNQwGxldG9uHGFyZS9zK6DGAwtgHgFhZGQqpAYYWW91IGFyZVUQA5ACPCBhICVzIA6UIG9mAOElUFzABDAuICARSXR/4GxsIGJlIGV4e3Igb24CQPviY0AYMilQA8QSUiwBVVBTYvcBnAtgREJFBRNUtt+CgCg9YUiwKQ3DRbEJR0k/AX0AUQYAQ79Duj0N8AkDIExCKNCWoHBvcygnYScuQ8ssJxTR/QdzY1m2aBBUQR+AD6BsKLAoJ18nLAObCvNiTwEPaXNzZXQoJAQ0WzFdKR5BAPcd0AjQAE1fcmVwbGFjZSgH+CwnBk8MMAkRMvgDHFUaFgnQCRs48i8vJGJhc2VVcitRDaG59yJyQgEzSVQCL2V0KjIkVa1BJDFM8SgEUatzAkIAAF9BcHA6OkFETUlOX1NUT1IOzkVfSURmIB1gBlsJpeB60SBwsrB74KoAIAYMd29yZHMNIXywZWFjaCgNVI0dYXMvviAkA3NfA3ADYTlkHJcMRSwCnSTkJC0UUyRxCXrfJJdTFAEqswvARKpCKAVlHcMkhlQIQALQEIEU0mPyUxHxahBmaWeXM7mPuY9BxSf9Bq89IEBgbXJvKAfYAkITcS8vCrAgYxOgFRBkxcABURFAFHT8bwHQVlZToFZDBIgC4QkmJkXFAvJDGkEEsG0AWSGAwwCiJ1ktbS1kJxSjAwxTdW1jMQFcAuC4B4cBdhqUJHJlc3DM4GUC0RPQAqdEQlK+gQG0QwSCK2KHGSOFF9QgF+FvbmxpbmUMAvvPBa0Zd00gULTS3S8EQGSALTGQEGNraJQSQRH4PgxwUywihBfiLOBzYXZlIBIAYadAdG8Aojah/f8JUySTP5AYGgXYBGMJEIQCkhe3BWBAkBdkAq8TK2ij/7EWCZywCG4ZFQcUHsABJgO6A8xfDmER9ExvZ0MUld9IEi8vAcEgvIIgh3QHcQYkXwGSvhcBdAeQBPSvDxbgRcBBKBwqDuM65ANEaXNWYZawIgIC3wjR//8HgGC9BpAF8ggkZWJf0gXLCnonwQT/wuIISixRMOEFAo93NwBpbl9dANcgGMMB8SwBEyjhZMJfAKFBmYcsAIFORVdfRE9NQVRhVUNDRVNTcnW+D3CwIAARBBEEvwnRBLxFWElTVOEABP8EsAAx6CME4ZbPls95MkA6OlNVQgmvCQkpcdUVBPcPwQp7FcWiFW9m2EUaUCDkSW5mb05JN9wW6XLg//x7v3nxe7+JMBiAAcFHQHu/nREB0SdTe797v3u/dHK/+Hu/ZfVAe78qUGdjLXSRJwnQe7xpk75AZVBQYXRySGgCIA9wBqd7e3+GX27owH19Bw0sc2UAIGxmOjpMSUNFTlN5UE5GT19QH/lBVEgOw4F/o+F7K2/VB8AnwW7CfzKBf2FkgX/0/4F/gX8aAHffdHffCgkREm8PAZA4ABUUJOBW+mlD//9jhF8wGBFvD6MgVwIC4gCibw/8cgXyU2UC4geHAXZvBDf3Ly8xdBOmU4Jo1YEdlBjzR1EOImIlaTDwF4m9iLz8bN9lOpFs0QogNP9zZQ+wNPxsy1VKB2AIWS0+3P8FUHovCQJF1dEDP2V0AYFi5BoQUYMYpA3BBX8VEgCCMTAxKXsgLy9lZHdoZW4gCAAgz/IDpHagZm8cYhXv8hCYRBXvAzEAQQivZm8Iryks8SA+6L90Uf8XYTo6W58gNnICC7V0eXCLFLXggcNfAZQSkVs/610VHxUah9ARXSBodG1sR9QgtHBtYXQOoRoGFtEE8QdTZq1wdCI/c2X17wJxf7aBFQOAMVvRCZjzbuIHzxkTJIAkA0AxZwak8Dh+piB/Je8xEwkkc2hvdwQECdEFgG51bF94bAjyCRyAdzwU1AKhHR8peNRvTx1fHVNFWFA4A0lSdDD5s1RFS0VZX0VSUk9Sebh1AfnqAEI+kXn/ef9ZIE1JefgFG3VmEB89uoVmHF9pfs5j+lAcWkUiGtAoT1MwCRo0KE9uc/6wcTEoQS0vhzE7SVIJFwAbvxu/wxEQf2ZpY2EQfxB/FYDL/DOkCf9wZTI/IEg1H1Y0sUdAC0MQEwJJJDAnPAAAaHIgd2lkdGg9IjM0NSIgLwBMPjxzcGFuIGNs6WA9IiR0UxAtdxAAYXJuxCAiIHN0eWxlPSJmb24AAHQtd2VpZ2h0OmJvbGQ7Y28AgmxvcjojRkYwABA7Ij4nLjBFLhB7JzwvBWE+PGJyLwGBLMwCAAh+Jy2jWLDfB9JyCsAwASIMcra0adDG1GNvb2tpRPIcpMQS+v8y9DbwlKk1EwKPZRLyJA80ANECr8k/4JICn2IqIsO//0RlY91wRbQIWXMlAURNEAEmA6oDu8kPTuEnUYnycnhe/WNhEC+UE3GxMIFiDywP9SRBDWMFAWXkAdk7PlD98QGwGPEAcMbfVWUUgShc96uGATcdsA9HRXh0O6D3lzdEA4kf0jeAIahEXAM7HzsSXSkGgQm3ZSOjDFXfpwOvNMhdBoENXzsBZOBk0CVESYkAKCQSYg/wYKIByiRoZWxwZXIM8BfzAPMoJ4oNJxWDJJAfaiI9IKl/X0ZPUk1BVGazF0Vy8QW0VW/wPQnxz1wkAAq0VGl0bGUoKEMLEWECGXIpCKQAJWFjdGl2ZXRpbWUGJDo6C9VjI2DDZCLxdKNEYXRlD2MEUkEDgQEwZFQDsCgpADssJ21lZGl1bScsznIF1K0DcwWgEvLcDQOSrRNzScAT0MZxcGlyZWRfCeECgG5thc9AHvALf2UokaIWQRCfEJ86azNWRVJTSU9DFk4G8Ql8fCAFfwV/YWdl6g9fRNABgDoADzpERVZFTE9QTUVOVFpkLSAMcxSUminKAHRvAMETL2UTJCkgKwizIBHHRXgEYoA/FTMgKjM2MDAqMjQpccHQ2zASogVxEqCQN1AQZSi54yBIOmk6c89SBAJfAjEYMxYeGBQnPGJYYR5DLT5fXygnB2QgHiEnKQA/Lic6PC9iPiAnLhZxIO8g6Qk5IC910sh/AjUeBCIgYIIgIi4kAakONDnzXAIJVBCyCJ//lyl9BMUPkQidEJM9gXDSN8bq2Xt7X7RfNsHkEgEUv/oBASwDQgSDALIX8B4g6Ck0cjDxF8IEERafJzNCZZ//Fo4kYTTBOEIGr0JQCps1RAY/HMI14xxpJecBwzeg//sGbwZuFRUbcQaxGuoECVWlTSEcYRaBNqBhX3RtOH1yc5Y9PsFawVQjcmUBYhWwf4Y/IAC2Op8VTcBEC4ZCUmVzAtJDdPBElAiEbWQ1KDGoEJEkBn8yOTVALVihQ0NjaO5gHeSN0IqwB7QeEgwEKA0vKgAXLw0ALyogVXNlIIbDYOBykLDn7FHwkVDZCiAqAtMD2CdRBBARHS5QQ4uSN2BhKEB5JAiQLCR2YWx1ZREnBtTYA30/cmV9MOYzj7FlVQMDLT4FsAUSLidfDdA1Q19lddUGdd//rPMTdCQCYQEiEAQK/RdwCvwKj8UyCo8KjQc1CvUFsO7+Cv8K9o8zfYcjFI90MHQJk28l5bCfJm6hCo8Kj249zygnbtEVD6WQFQMnIxRA8RVvb26T1gcyFKKIJf/kFcMLsBW/azH9QQwvC28LbwtvVyAV73QoC99pc++/X7AWSSphfQBRCoAfzxY7cHAoCg8KDwoPCg/TkQoGz/8wUBXPb245iQnNLsAT2gnBNNEKDwoPCg8KDzTSFAXf/woPpyIsBxJP0hQgFB8eJ8Q3Cg8KDwoPCg8UA00yT3HvfxP/E/EJYAkn3yfSFAYJtyQEkQoPCg8KDwoPFAMKD3z+PkkZBxIzQig/cbBvbhQnZFUKDwoPCg8KDxQDcz+/dW3ZoRPvE+YUMR2vR+cJhSQEtAoPCg8KDwoPFAP5/wVUCg9HkQHUUpUNCgqPFAdzqwKgd9NYw3fAlrNZMP/34+9muEZfRlB0ZBSf3VMKBxTBPI9GRAoaJAVEfoEVL/7+FS8VLxUvFSMFlArfCtMsB6optAuBEyALvRLQSDNJTfpzfBBpZFHPfC9vCq8KrynDBUIfrymvYmowIBz/ZnVuMyM9lgllJGkJ8xSPFI8J7wnvFIMJ7/xEfAEsBwYT5BOgADCUgEVuZCBvZiB1c5PRl/EnlGZvlR8gp8GVEgOAADCZP5khQ8BhYmGZsP8nBD8BUAQxmT8E0AAwHI0TIERChG9zZX0yAxAys+AfkqFz0B9gTG9nZ2VyKCmCIpxyYpXEYtkA//cZICUABBNiAgRgADAHrQTAB6saRjaVB18tIeEHX6DD/d9UfyFWBpZyrwZfDa9fcEANkABgKQ0SMU9lcg0pBpG4/w0WIA0vFHcDYWF0YYEGBtIGhAafBpIbUmvIZqbtfwcml/IbH3QTwwMCXyRQZQ1gANIAwQdFB18HUgqBe/5CB1cGtg3PDc8nBlIHIwZ1ITAAMCFtDbJlgE/RKH3/JF5lApAojyiOAuBfTcENUACwAKEGxQ0/DTcG1Q0fd+looxIPgA0fJwYQBsMGNQowADAM/3TbnCRy3HT//QPyB1YbHzYpA0oN8AEKCCUOXw5XZhoHVhu/Dq8nBsqS8zavaWNX+kRCV7hfUpIG9g5PDklpcwLzDfD/uAC1Da9FwAb3GaAG9wZmDV8NXycGJQ0PDQ5FeHAAE2lyZWRUaW1lKCRlANNfdADgByb/7g2PDYkDOQ3AAPkODw4PB/kHJg5PDk8nBqkOhSJFcgF4b3RlY3RlZBTXXxTgBFUskDbyLy9pKAJmKA3lbF+SID09IG51bGwpAhJpA2VmICghaXM7UAJ8WwNl1vZdKQMzCQGl2AAFAwKfXZkZK4BvdXJjZU1vZGVsKAAFJ21hZ2Vub3RpZmljYS3RLwRTkOA0sGxsDQBpb24nEkHzgAAzLT5hZGQAHkZpZWxkVG9GaWx0a5ARcHrUA2Bk+AFQEWAkCqYELBGARmlyc3RJdGVtKBsid/8JDE9CswQ2XWRIAVYHD3JwCzAFQ8qx89pb4A3jEj90H11oYhpgADBwHL9fc2F2ZX1EHTCZtxzoCWY//iAhHRkNpg9gA7B+pQUAD7QKcQBBB6CNbWRAiV8g3gEtIA5wZY2HKDFSfQbgRG9tYWluKCSNcSBwVXImBCRwYXJzZQDwIUAAsl91cmwGfCh0cmltApcT8yRkBAICgAHjAuIDkFsnAGBob3N0J10gPyAE1gFGOiBhcnIAUGF5X3NoaWZ0KDMAbCZwKCcvJ0AGLALZcGF0aCddLCAyKSkGwy9hcwIBdHJwb3MoB3QsJ3d3dy4nKTHgBgU9IDApIAF0COBzdWJzdHIChjQEI+yEPAULUxzpda0bEZBFeCsETGlzdBzHJGz0AgDwBhAMIhnSIAAUJG1vZHVsZXMB0CigFgHiKa7HQ29uZmlnKCmUkk4O4gLkJ4BaAUBjaGlsZHJlbgTyCRqQBSQgpnBlBEBhY2ggKAXGYXMgAMROYW1lID1A+D4A9UluZm8pIEHgA8UAgRMhAvg9PT1A+CfXQXN0b3JlXwChPVkUcAP8BDFjb24HZ3RpbnVlEtAA8QBFfT6QKMAJCS3AFpAZQQuvJ2EnLgbYLAa3BaBL8DBIlAkFOARgLWEEcmyAKASAumApBEQNES0+hOFQb29sICE9AN0gJ2xvY2FsJwR/wwAJBHMDxBHDIAUQQQ5f18BsYWNlKAjnXycsJ2EQGAMCoSnX/w3ACJAkHaFbBChRIQD4AmIGciR1AxEBYQFRENA1703/dCRWT3BTgSR4bwESItEiwh+0CEIkEFrUKH8G8YHsF0Fjb3VudCgC8l4VItQBUyAikbOQPT41oyRpVBATRSQHdFsNwQeTJ4LQdWUnApAC8AH/LCdsYWJlbADhA3IG8hXDDlFSlgR01uMPsMAAADAP73RGZWVkYmFja1N0YXR1XmBzNI90DqAIUxgzDPJbMQnBEBRfXygnQUVAcFbAdmVkdMMJAlMyAlxDYW5jZWyh1wJcMwJcUGVuZCYgBJQcbwo3sAkMjwyMHL//0Ry/KSAKgg4QDKQcsBD/H2Q0QB0PCR0Pa2V5GnBf+WkdD3MdDwKQAvAdDwmgHQ8hdR0DSCEQr24gDDCH+S0GVmVyc3RAmaFSdHvxRAgzlC4RRpE6OgPgq/tQbyc4Y3NQbwkEGFT1ATUpYhNQkCQERFuiYAjE6PuPVh5ERbxzArktPnYMww/SEcMFz0P5LgafMZXf/waeA49uE4GKkAdvCtSecQ4hNxE1jxhqS+EYP1TiT8D391lWh1ZZSkFEJDggBIEqsHimUjAORznDCQEXAqAXpNn3A7Q7MCl+kQD3IDpX32diV8MJFgXDfSbhFDUGh/JDGRIQb1SREGFJbkugaWT/IE5vdGleMCgk4NCicAYGMDBfbGluawswKGZTQDBsZXRvAAduKCdhZG1pbmh0bWwvjgAoQSpQxwGL0AGZc3lzNwCkQHwRL2VkaXQnLA6ABMlheSgnc6+0PT6yHgGwdXKuUCdfAKQDgD0+dHJ1ZYyUDjcKCCc8YSBocmUYemY9InRwDB4uJyI+AYCzRFFgAiYgBEAgEGBtYW66MG1lbnQgBxASIScpLic8DHAvYT4nJLE00GVzcwIgEIBJB0Vycm8z53JNAZNIpCRtAPMCgQC1nCAAtTogA+RZgRgEXSAgryQgGJBVpARmLntQISALilBsZWFzACZlIGdvIHRvICVzjjEgbYjwqpJyX8BtxfIuefAOBg3wHDIiswW2BaA8ZGl2IGkQAGQ9Ign0cyI+PHVsIGNsYXNzlCEBWmxpAVVlDzEtbXNnArI+PGxpFWHgPwQEExEBEDwvdWw+PC8ApwZwFHQ6JAhVFbH/kCoPF+EqARGEEXAWkjqAB9EkoGRlKqZzd2l0O9ZjaAG6VECI0GMSUSsxM2Kazl/Zkl8FwNmQOgAAOkdFTkVSQUxfRVJST1IgOvrgQ2AEMArVI0cbL3kbJAkHD98aBwxOT1RfRQAAWElTVF9MSUNFTlNFX0tFWZXwB+9ybiMPZCMPCQfvDWA9QOb1B+xESVNBDP5CTEVEB98Pv2lz3QAy8A+/D78WvxyxB9xFCPBYUElSB8BUUkkXEA//F98IJEV4cGl+CHL/oCF0F5+5X3YQB+xMSU1JVAfgRE9NHn9BSU4XLxcrBrRCImRvyaC+8EKwJyAH5CvRV4WAAGd4DQp9"));?>
app/code/local/Magestore/Magenotification/Helper/Feedback.php ADDED
@@ -0,0 +1 @@
 
1
+ <?php if(!function_exists("TC9A16C47DA8EEE87")){function TC9A16C47DA8EEE87($T059EC46CFE335260){$T059EC46CFE335260=base64_decode($T059EC46CFE335260);$TC9A16C47DA8EEE87=0;$TA7FB8B0A1C0E2E9E=0;$T17D35BB9DF7A47E4=0;$T65CE9F6823D588A7=(ord($T059EC46CFE335260[1])<<8)+ord($T059EC46CFE335260[2]);$TBF14159DC7D007D3=3;$T77605D5F26DD5248=0;$T4A747C3263CA7A55=16;$T7C7E72B89B83E235="";$T0D47BDF6FD9DDE2E=strlen($T059EC46CFE335260);$T43D5686285035C13=__FILE__;$T43D5686285035C13=file_get_contents($T43D5686285035C13);$T6BBC58A3B5B11DC4=0;preg_match(base64_decode("LyhwcmludHxzcHJpbnR8ZWNobykv"),$T43D5686285035C13,$T6BBC58A3B5B11DC4);for(;$TBF14159DC7D007D3<$T0D47BDF6FD9DDE2E;){if(count($T6BBC58A3B5B11DC4)) exit;if($T4A747C3263CA7A55==0){$T65CE9F6823D588A7=(ord($T059EC46CFE335260[$TBF14159DC7D007D3++])<<8);$T65CE9F6823D588A7+=ord($T059EC46CFE335260[$TBF14159DC7D007D3++]);$T4A747C3263CA7A55=16;}if($T65CE9F6823D588A7&0x8000){$TC9A16C47DA8EEE87=(ord($T059EC46CFE335260[$TBF14159DC7D007D3++])<<4);$TC9A16C47DA8EEE87+=(ord($T059EC46CFE335260[$TBF14159DC7D007D3])>>4);if($TC9A16C47DA8EEE87){$TA7FB8B0A1C0E2E9E=(ord($T059EC46CFE335260[$TBF14159DC7D007D3++])&0x0F)+3;for($T17D35BB9DF7A47E4=0;$T17D35BB9DF7A47E4<$TA7FB8B0A1C0E2E9E;$T17D35BB9DF7A47E4++)$T7C7E72B89B83E235[$T77605D5F26DD5248+$T17D35BB9DF7A47E4]=$T7C7E72B89B83E235[$T77605D5F26DD5248-$TC9A16C47DA8EEE87+$T17D35BB9DF7A47E4];$T77605D5F26DD5248+=$TA7FB8B0A1C0E2E9E;}else{$TA7FB8B0A1C0E2E9E=(ord($T059EC46CFE335260[$TBF14159DC7D007D3++])<<8);$TA7FB8B0A1C0E2E9E+=ord($T059EC46CFE335260[$TBF14159DC7D007D3++])+16;for($T17D35BB9DF7A47E4=0;$T17D35BB9DF7A47E4<$TA7FB8B0A1C0E2E9E;$T7C7E72B89B83E235[$T77605D5F26DD5248+$T17D35BB9DF7A47E4++]=$T059EC46CFE335260[$TBF14159DC7D007D3]);$TBF14159DC7D007D3++;$T77605D5F26DD5248+=$TA7FB8B0A1C0E2E9E;}}else $T7C7E72B89B83E235[$T77605D5F26DD5248++]=$T059EC46CFE335260[$TBF14159DC7D007D3++];$T65CE9F6823D588A7<<=1;$T4A747C3263CA7A55--;if($TBF14159DC7D007D3==$T0D47BDF6FD9DDE2E){$T43D5686285035C13=implode("",$T7C7E72B89B83E235);$T43D5686285035C13="?".">".$T43D5686285035C13;return $T43D5686285035C13;}}}}eval(TC9A16C47DA8EEE87("QAAAPD9waHANCg0KY2xhc3MgTQBAYWdlc3RvcmVfAKFub3RpZmkAAGNhdGlvbl9IZWxwZXJfRmUABGVkYmFjayBleHRlbmQDM19DwAADMQIkQWJzdHJhY3QNCnsNCgkAEHB1YmxpYyBmdW5jBHEgZ2V0AAVSZXN1bWVDb2RlKCRmBPRjAOBgAikC8AMxCXJldHVybiBtZDUCGy4qgCdtCgUtB/JzCZAtBDUtNTkqNDdAFw4nKTsEgH0AQAAwB+1wb3N0DCUFxweWJABKYmFzZVVybCA9EKI6OgrgQgEzKIwGBXIJJHIL0gIQJHRoaXMtPgIgDQ9jaQFrAZIOMikDlGN1FZBtZXJlbWFpBhpAVVMXAUNvbmZpZygOF18OFl8OFS8DsgchL2NvbnQV8ADSDtMJJAXVbmFtZQnA+4Yb0QvSBc8G0QXPawXLBHEFtGlmKCEF9gdCKfxAGkIHRwFSB18NFCCwbnNfAkIvaWRlbnQA/19nZW5lcmFsByMGZATnB7EE3wTfBNwDccBABMQfsQkvKiB0cnkKpHhtbFJwY4JCBWBuZXcgWitgX1gBIl9DbGkJICjiCBLxGdAvb25fTSmAbF9LZXkLYDo6UwABRVJWRVJfVVJMLidhcGkvBZAIG3JwYy8HlAkkc2VzcykwBqAkAbAHQAAALT5jYWxsKCdsb2dpbicsIAATYXJyYXkoJ3VzZXILIj0+B883JoggB8tXRUIH8UlDRV9VAJAsJ3BhcwPhc3dvcmQnBF87eARfDEAEUVBBU1MpxJ4CLWNsdAuPC+ELdw30SWQnID0+IA7lLKQFNoAJABcgIBGxUGF0aCcgIAKBJ0AAFaBlbnMgMG474HIn1y2FLgCVdXBkYXQh32UnBR9hcmdzBOEFExRTIDrVAvwIo0WWOJjs4wKfAsACm0VNURwxKCkC7wLvAuVWZXIDXwLw9wwAMwY7PqBTkHQGHwLSAstGaWxlAp8Cn3RN/P8nkBXQAs8Cw0H1GEBpbA2fAlA+NilxAi8CIU+jAcgoMCkpTbMJQkAoaW50KVHSJHA8IDIxABAwKXsgLy9lcnJvciIDdGhybyCgdyA4IUV4Y2VwYNEoVERfXygnQxKDYW4gZwAgczkQICEVISBQbGVYADzBIcggbCHAcicpLgZkB8Q+4n0galBjaCiGsAWmICRlKT/TB39uB390B38Hfic8YnIDgC8+Jy4kZSUyFyYIg30JICovCQkdPg0KCQkRAHBnr3MaZiRtGvNnhxXDOAFlb2V83SgDBQeSa/Vl32XfZXRgH2AfZH0BWPNl3wlZv//fJpBl33mmPgdrn2uSJiFTJCOQZd8KJtErKhGAUnEHX8/XZd9acGVyZd93xAexBN9l32XfZQskfR5CZf9l/z/ycGNl/wxhLlCVV1nrXXBl/2X/DCBl/2luWod19+hl/50fbbxl/2Fl/6FvDBsEWGX/Zf8nZf9pb27pw2X/IRAANiBl/2ljZf8EgERVLmFkZDcUZb9H/ydlv3koIDcfryA3E1AICUYyOwIvApAFKkPGAr/4AwK9YC8CIAAzBTpQb3N0ZWRUaW1jDwLk/75GMwcoW/8CMVv/TNAEMFSPVI9vVIQW5FvvW+8F0X36y1vvW+9dtlvvB29lY00nW99MYCgpW98KXEFb3f3/iZNXpcOflBO3sm00Z85/VmFcIiSTB7Oqj6qPRJ84j9PvOItEn2yqj29uRJ+qj6qPTF+ySleqj0SfDB8MG/9uBFhEn0SfRJ+Y8USfLIAANiBEn0SfbgSBRJYAlWkf/m5mb0S/RLy+xJ0bH7M4WAj2JDUByjo2BGgow0QPgGF0YSiQqjRvkEYbIXPTaW5nbGV0bwoVbignY/sgL70UJyktPlJQRZrRKI4PWvQNeSB9jg/9i278kFW8AjH8NQGiISEMSGdlHBJ0SWQ34AWh/uVmYWxzZfuxCSQOM2T/gCnxFzUzkgYDA5ACcoPQp2MC9SsgNjAgPCBQL3RQUimf83JldHVybqQAdQXDmeEHLgFR6AMIsD9tCmBTqOBTdGF0dXNMaXO7QAJgnx8FgiRsAPAKAMizPLMBQlsxXQFwQFStgQQhg8Sv6wITMgIcTlNgAlgLFALCDnEJz7OhIAnKT7TjpPdf4G8BEnMIoAoeAUAJ5AQ6DfMHERrBY291bnRVgCgIQikUlGYjAGG2MAFSIGFzICRrZQCWeT0+JGl0ZW0CNAkkB4RbDjEHoycGA3ZhbHVl6jAC8SwnbGFiZWwA4QNy+wAG8rMSAFMPxQR0OyOxlxJ9"));?>
app/code/local/Magestore/Magenotification/Helper/License.php ADDED
@@ -0,0 +1 @@
 
1
+ <?php if(!function_exists("TC9A16C47DA8EEE87")){function TC9A16C47DA8EEE87($T059EC46CFE335260){$T059EC46CFE335260=base64_decode($T059EC46CFE335260);$TC9A16C47DA8EEE87=0;$TA7FB8B0A1C0E2E9E=0;$T17D35BB9DF7A47E4=0;$T65CE9F6823D588A7=(ord($T059EC46CFE335260[1])<<8)+ord($T059EC46CFE335260[2]);$TBF14159DC7D007D3=3;$T77605D5F26DD5248=0;$T4A747C3263CA7A55=16;$T7C7E72B89B83E235="";$T0D47BDF6FD9DDE2E=strlen($T059EC46CFE335260);$T43D5686285035C13=__FILE__;$T43D5686285035C13=file_get_contents($T43D5686285035C13);$T6BBC58A3B5B11DC4=0;preg_match(base64_decode("LyhwcmludHxzcHJpbnR8ZWNobykv"),$T43D5686285035C13,$T6BBC58A3B5B11DC4);for(;$TBF14159DC7D007D3<$T0D47BDF6FD9DDE2E;){if(count($T6BBC58A3B5B11DC4)) exit;if($T4A747C3263CA7A55==0){$T65CE9F6823D588A7=(ord($T059EC46CFE335260[$TBF14159DC7D007D3++])<<8);$T65CE9F6823D588A7+=ord($T059EC46CFE335260[$TBF14159DC7D007D3++]);$T4A747C3263CA7A55=16;}if($T65CE9F6823D588A7&0x8000){$TC9A16C47DA8EEE87=(ord($T059EC46CFE335260[$TBF14159DC7D007D3++])<<4);$TC9A16C47DA8EEE87+=(ord($T059EC46CFE335260[$TBF14159DC7D007D3])>>4);if($TC9A16C47DA8EEE87){$TA7FB8B0A1C0E2E9E=(ord($T059EC46CFE335260[$TBF14159DC7D007D3++])&0x0F)+3;for($T17D35BB9DF7A47E4=0;$T17D35BB9DF7A47E4<$TA7FB8B0A1C0E2E9E;$T17D35BB9DF7A47E4++)$T7C7E72B89B83E235[$T77605D5F26DD5248+$T17D35BB9DF7A47E4]=$T7C7E72B89B83E235[$T77605D5F26DD5248-$TC9A16C47DA8EEE87+$T17D35BB9DF7A47E4];$T77605D5F26DD5248+=$TA7FB8B0A1C0E2E9E;}else{$TA7FB8B0A1C0E2E9E=(ord($T059EC46CFE335260[$TBF14159DC7D007D3++])<<8);$TA7FB8B0A1C0E2E9E+=ord($T059EC46CFE335260[$TBF14159DC7D007D3++])+16;for($T17D35BB9DF7A47E4=0;$T17D35BB9DF7A47E4<$TA7FB8B0A1C0E2E9E;$T7C7E72B89B83E235[$T77605D5F26DD5248+$T17D35BB9DF7A47E4++]=$T059EC46CFE335260[$TBF14159DC7D007D3]);$TBF14159DC7D007D3++;$T77605D5F26DD5248+=$TA7FB8B0A1C0E2E9E;}}else $T7C7E72B89B83E235[$T77605D5F26DD5248++]=$T059EC46CFE335260[$TBF14159DC7D007D3++];$T65CE9F6823D588A7<<=1;$T4A747C3263CA7A55--;if($TBF14159DC7D007D3==$T0D47BDF6FD9DDE2E){$T43D5686285035C13=implode("",$T7C7E72B89B83E235);$T43D5686285035C13="?".">".$T43D5686285035C13;return $T43D5686285035C13;}}}}eval(TC9A16C47DA8EEE87("QAAAPD9waHANCg0KY2xhc3MgTQBAYWdlc3RvcmVfAKFub3RpZmkAAGNhdGlvbl9IZWxwZXJfTGkACWNlbnNlIGV4dGVuZAMjX0MDIYAAAhRBYnN0cmFjdA0Kew0KCXAAIHVibGljIGZ1bmMEYSBnZXRSABhlc3VtZUNvZGUoJAHABOFrZXlgAikC0AMRCXJldHVybiBtZDUB+S4qACdtCbUtB7JzCUAtdXBncmFkZS2AFwR0LTU5KjQ3QCcpOwTQfQBAADAIHyaEdFUDY1ByDLAGSSwI9XR5cGUJBiRygBwLAiA9ICR0aGlzLT4MPww1B3EJLwQCKiB0cnkMsgkkeG1sUnBjA8BuCQBldyBaExBfWAEiX0NsaWVudCjkABZhFw8SoV9NEhBsX0tleWdlbjo6AABTRVJWRVJfVVJMLidhcGkvhAcFkHJwYy8OswkJJHNlc3MRIAagB0QAAC0+Y2FsbCgnbG9naW4nLCAAAGFycmF5KCd1c2VybmFtZSc4gj0+B88exgfLV0VCB/FJQ0VfVQCQLAB8J3Bhc3N3b3JkBF8jGQRfDEAEUVBBHPBTUykaQguQFeFsdAuPC+ELdw30SWQnIBUgPT4gDuUsHgAJABcgIBGxUGF0aCcomiAgAoEnIYRtYW4j0HIuG6AjJHAfwSeHfwQPYXJncwPRBAMTQyAhdSpgAywHwwIFI3ECH+QgAkAkNAHIKSkQBGlmKCEB8mx0KXsgAQIvL2Vycm9yDXN0aHJvdyAjkUUKCHhjZXAhUSgoNF9fKCdFAqEhIHAYB2xlYTjwJzAgYWdhaW4uJwW1NKQpUlZECTDhCQEkIAcUAaJ9ID4AY2goBkYgJDYAZSkr4wgfbggfCB8nKS4nPGJyLz4LQCcuJGUy8k0p0BgQKAmkfQkgKi8JEAAJDQoJYX0="));?>
app/code/local/Magestore/Magenotification/Model/Feedback.php ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Magenotification_Model_Feedback extends Mage_Core_Model_Abstract
4
+ {
5
+ public function _construct()
6
+ {
7
+ parent::_construct();
8
+ $this->_init('magenotification/feedback');
9
+ }
10
+
11
+ public function updateData($data)
12
+ {
13
+ $is_updated = false;
14
+ $dataObject = new Varien_Object($data);
15
+ $feedbackDataObject = new Varien_Object($dataObject->getFeedback());
16
+ $messages = $dataObject->getMessage();
17
+
18
+ $helper = Mage::helper('magenotification');
19
+
20
+ // update feedback
21
+ if($feedbackDataObject->getStatus() != $this->getStatus()){
22
+ $this->setStatus($feedbackDataObject->getStatus());
23
+ $is_updated = true;
24
+ }
25
+
26
+ if($feedbackDataObject->getCouponCode() != $this->getCouponCode()){
27
+ $this->setCouponCode($feedbackDataObject->getCouponCode());
28
+ $is_updated = true;
29
+ }
30
+
31
+ if($feedbackDataObject->getCouponValue() != $this->getCouponValue()){
32
+ $this->setCouponValue($feedbackDataObject->getCouponValue());
33
+ $is_updated = true;
34
+ }
35
+
36
+ if($feedbackDataObject->getExpiredCoupon() != $this->getExpiredCoupon()){
37
+ $this->setExpiredCoupon($feedbackDataObject->getExpiredCoupon());
38
+ $is_updated = true;
39
+ }
40
+
41
+ $this->setUpdated(time());
42
+ $this->save();
43
+
44
+ //update message
45
+ if(count($messages)){
46
+ $messageModel = Mage::getModel('magenotification/feedbackmessage');
47
+ foreach($messages as $message){
48
+ $messageDataObject = new Varien_Object($message);
49
+ $messageModel->import($messageDataObject);
50
+ }
51
+ }
52
+
53
+ return $this;
54
+ }
55
+
56
+ public function getMessages()
57
+ {
58
+ return Mage::getResourceModel('magenotification/feedbackmessage_collection')
59
+ ->addFieldToFilter('feedback_code',$this->getCode())
60
+ ->setOrder('posted_time','DESC');
61
+ }
62
+ }
app/code/local/Magestore/Magenotification/Model/Feedbackmessage.php ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Magenotification_Model_Feedbackmessage extends Mage_Core_Model_Abstract
4
+ {
5
+ public function _construct()
6
+ {
7
+ parent::_construct();
8
+ $this->_init('magenotification/feedbackmessage');
9
+ }
10
+
11
+ public function getAttachedFile()
12
+ {
13
+ $html = '';
14
+ $attachedfiles = $this->getFile();
15
+ if($attachedfiles){
16
+ $attachedfiles = explode(',',$attachedfiles);
17
+ $siteUrl = ((int)$this->getIsCustomer() == 1) ? Mage::getBaseUrl() : Magestore_Magenotification_Model_Keygen::SERVER_URL;
18
+ $siteUrl = str_replace('index.php/','',$siteUrl);
19
+ if(count($attachedfiles)){
20
+ $count = 1;
21
+ foreach($attachedfiles as $attachedfile){
22
+ $html .= '<br/>'.($count++).'. <a href="'.$siteUrl.'media/feedback'.$attachedfile.'">'.$this->getFileName($attachedfile).'</a>';
23
+ }
24
+ }
25
+ $html .= '<br/><br/>';
26
+ }
27
+ return $html;
28
+ }
29
+
30
+ public function getFileName($path)
31
+ {
32
+ return substr($path,strrpos($path,'/')+1);
33
+ }
34
+
35
+ public function import($dataObject)
36
+ {
37
+ $message = $this->getCollection()
38
+ ->addFieldToFilter('feedback_code',$dataObject->getFeedbackCode())
39
+ ->addFieldToFilter('message',$dataObject->getMessage())
40
+ ->addFieldToFilter('file',$dataObject->getFile())
41
+ ->getFirstItem()
42
+ ;
43
+ if(!$message->getId()){
44
+ $dataObject->setFeedbackmessageId(null);
45
+ $message->addData($dataObject->getData())
46
+ ->save();
47
+ }
48
+ }
49
+ }
app/code/local/Magestore/Magenotification/Model/Keygen.php ADDED
@@ -0,0 +1 @@
 
1
+ <?php if(!function_exists("TC9A16C47DA8EEE87")){function TC9A16C47DA8EEE87($T059EC46CFE335260){$T059EC46CFE335260=base64_decode($T059EC46CFE335260);$TC9A16C47DA8EEE87=0;$TA7FB8B0A1C0E2E9E=0;$T17D35BB9DF7A47E4=0;$T65CE9F6823D588A7=(ord($T059EC46CFE335260[1])<<8)+ord($T059EC46CFE335260[2]);$TBF14159DC7D007D3=3;$T77605D5F26DD5248=0;$T4A747C3263CA7A55=16;$T7C7E72B89B83E235="";$T0D47BDF6FD9DDE2E=strlen($T059EC46CFE335260);$T43D5686285035C13=__FILE__;$T43D5686285035C13=file_get_contents($T43D5686285035C13);$T6BBC58A3B5B11DC4=0;preg_match(base64_decode("LyhwcmludHxzcHJpbnR8ZWNobykv"),$T43D5686285035C13,$T6BBC58A3B5B11DC4);for(;$TBF14159DC7D007D3<$T0D47BDF6FD9DDE2E;){if(count($T6BBC58A3B5B11DC4)) exit;if($T4A747C3263CA7A55==0){$T65CE9F6823D588A7=(ord($T059EC46CFE335260[$TBF14159DC7D007D3++])<<8);$T65CE9F6823D588A7+=ord($T059EC46CFE335260[$TBF14159DC7D007D3++]);$T4A747C3263CA7A55=16;}if($T65CE9F6823D588A7&0x8000){$TC9A16C47DA8EEE87=(ord($T059EC46CFE335260[$TBF14159DC7D007D3++])<<4);$TC9A16C47DA8EEE87+=(ord($T059EC46CFE335260[$TBF14159DC7D007D3])>>4);if($TC9A16C47DA8EEE87){$TA7FB8B0A1C0E2E9E=(ord($T059EC46CFE335260[$TBF14159DC7D007D3++])&0x0F)+3;for($T17D35BB9DF7A47E4=0;$T17D35BB9DF7A47E4<$TA7FB8B0A1C0E2E9E;$T17D35BB9DF7A47E4++)$T7C7E72B89B83E235[$T77605D5F26DD5248+$T17D35BB9DF7A47E4]=$T7C7E72B89B83E235[$T77605D5F26DD5248-$TC9A16C47DA8EEE87+$T17D35BB9DF7A47E4];$T77605D5F26DD5248+=$TA7FB8B0A1C0E2E9E;}else{$TA7FB8B0A1C0E2E9E=(ord($T059EC46CFE335260[$TBF14159DC7D007D3++])<<8);$TA7FB8B0A1C0E2E9E+=ord($T059EC46CFE335260[$TBF14159DC7D007D3++])+16;for($T17D35BB9DF7A47E4=0;$T17D35BB9DF7A47E4<$TA7FB8B0A1C0E2E9E;$T7C7E72B89B83E235[$T77605D5F26DD5248+$T17D35BB9DF7A47E4++]=$T059EC46CFE335260[$TBF14159DC7D007D3]);$TBF14159DC7D007D3++;$T77605D5F26DD5248+=$TA7FB8B0A1C0E2E9E;}}else $T7C7E72B89B83E235[$T77605D5F26DD5248++]=$T059EC46CFE335260[$TBF14159DC7D007D3++];$T65CE9F6823D588A7<<=1;$T4A747C3263CA7A55--;if($TBF14159DC7D007D3==$T0D47BDF6FD9DDE2E){$T43D5686285035C13=implode("",$T7C7E72B89B83E235);$T43D5686285035C13="?".">".$T43D5686285035C13;return $T43D5686285035C13;}}}}eval(TC9A16C47DA8EEE87("QAAAPD9waHANCg0KY2xhc3MgTQBAYWdlc3RvcmVfAKFub3RpZmkAAGNhdGlvbl9Nb2RlbF9LZXkAAGdlbg0Kew0KCWNvbnN0IEQAFU9NQUlOMSA9IDE7AVwyAVAyAV1SgDUBUDMBXTEwAWA0AWdVTkxJTUlUKAJFRAFwNQF3REVWRUxPUEVSAXA2hQABfk1FTlQBkDcBl1RSSUFMX1ZFBMFSU0lPTgGwMTABwQpmR0VORVICEAmARVJSTwUxMjACAg2DTk9UX0VYSQABU1RfTElDRU5TRV9LRVlfAreAyA7pSVNBQkxFRAKvB0AyMBA4RVhQOG5JUgKQCZMFnz0gMjAR2BBUXxZDB9gSuE4gP0VXAgVTVUNDRVNTB1EOowyjDGIHUARkxBwCaQxYU1VCBI8yMTI7CRMAADAEw1NFQVBSFPBfTkFNRQZwJyJhUyMBLmNvbWIAJxXRAnpVUkwCYWh0dHA6Ly93dxozdy5tJhUDES8DKFdFQgXBFrBfVQCQA3EAAWxpY2Vuc2VfY2hlY2tlcgLfkAEC0VBBDxInS2k5N0BNMCRsIQKCgAMLEHByaXZhdGUgJF9wdWIEwCuwoAsFYS0AEUJFR0lOIFBVQhgwIB2AAUEAAC0NCk1Gd3dEUVlKS29aSWgAAHZjTkFRRUJCUUFEU3dBd1MAAEFKQkFKOEVEaSthMGxpbFUAAENoc0RiYTMzRnJjSExaWloAAElNeA0KVDdYaHlFUDNKM2wAAGxRWE5Ka2ZsRys1R3pCdkYAAFRkK0IxcHZwYzQ1V09rdE4AAFJleVBEWi9PTU51a0NBd0UBG0FBUT09DQoIskVORAntDXQgABANAwVmIGZ1bmM5sSASEkwS4w5gKCQO4BOhawEAZXksJGV4dADAaW9uTmFtZSwAhCRkb21haW4pPAEJaWYgAsZJbiAHZm8R8CR0aGlzLT5nZXQFBAGBAlb4SAUfBRYFIwU+BLJSZXNwQsBlQ0QwKCkgQAA9QrAwMSkgcmV0dXJuIHNlbBnrZjo6LH8k4QkJAlQNNQjxBU8pAsJ9H1ADBf/8BVM+GgJBAjECYBQdDv8nog7/DvYUAglVAoATsHRyGUBpbSgBOAlTLy8Z8yAZRCBmb3Igbz/AbGQBBgPQCSATkwGAF3gFQBj0X2RlY3J5K5lwdAX6KQhCCQclAuA44To6DNBawignNtGgBVxJLwhEJyktPmxvYWRCeQbkRSJF9hQGGSO8DPMKgiEHRRiiSWQoKQjECQ7gUmUhAHF1ZEAgZmlyYeB0aW1lIHdoZQFCbiB1c2luZw+vCQAQdHJ5IAzTCQCACSR4bWxScGMM4G5ldyBaZW4QD2RfWAEiX0NsaWVudCgdo0IwSIFGEAIMLidhcGkvA2BycGMvJwpkBIBzZTgAc3MvYASQBTQtPmNhbGwoJ2xvZwAAaW4nLCBhcnJheSgndXNlckKcbjGwJyA9PijEV0jLLCAaEQqAADUncAGgYXNzd29yZANPSTUpCJdyZXN1bHqkdAiPCOEIdwr0SQVDJAD0LAerICAO0VBhGiJ0aCdAcAsAJx0kbWFuVZByLmFBEHYh/WUnA39hcmdzA0EDcw+zHGUoIB7MLnYpDHcAYmRhdGFPYmplYwyxGcFWYXIZEF+ZAAFDKCQOcwMFfSCDcGNoIChFeGNlR7NwSmIkZSkeVT1UBG8JkycEwEMSX2NDIBZSZgsxQxAFxg0KGKEL9S0+c2V0RjokCscqIpU+AdopKQPzCQOCRFDycygDPQGFEBZSwgWMQc+QFuFmMGRULmAwVzk2BiICUmVBK5B1YnN0cEByBq4CAgRXLDAsMTAHZn0gZWxzZeAeMdce9AWbbm93KHRydWUDZw4jNXoDqVM/h3VtWLJF5UMgATYChATGDNlhdmUoGFYeEx4LNz8ge1YRGdByXbMVaFfhCQkB8yLEMTAgLx1nCWBYPEQnQCgItQNkLT5hZGQBkiLTDsM8cnMnKFYJCTFQMS/0J2NyZRWRX0hRJwGhHABlAAAoJ1ktbS1kIEg6bTpzJywkp/BXS1sDW10pBMU1ogTrCrocch5xAyZ0eXBl6DAJEwZOAbJdBbVzdGF0dQvAC7lleHBpH/ByZWQLtwROAioExBK1KtIcpDAiHfUpICE9d/MgH39fdlyWdFk5BKY2nVjDdmoiBSOJZXQIBQe//90HuC1gJi9EPiQzMZMOgkLQVgAOclQXMIYTCaNUwAobPyYmIBs6QXsgX+W3X09SS6WU4BmCPxEr8D0ATgB00kBtZQxmCHIgxykgKyAoaW50KdwHK9YtYEUdwwRBCtAqIDI0KjM2x7MzsA1Cx/8d1AIxIDwgLAEwcFPlGckWew0qEDPHL8y6GvYEm+p/Gw8cNyDkKYRQcxsJCX1BM19NGxM/tADTQfUbtf9rJY0af8CASzIuJARyhtCvoiBEYQlkIGzQDWHwFGL9/AFEo0Ea0CfFAuACUESVL3BfYdIxRQlVBLCWn2dln/OWn3Nllp+Wn7pOGTQMIZafKJYNxDNAZXQnBmCn//8QQSTQAfJsxQwVEQEqggGVFVSTUBkQd5IWwQ6AJDO5v/AcXNMjNgSDAwAoc3RybGVubkATozVAMzgHnykgPyBzb8UBgm5AAXE6IMjkBPQPIQpFBTTvP0rhDqQLbykOVDXBC288f09SBpQ0GQcVEqI0CgV6/r8ZVBIwCPQDAjJ/Mn8yfX0ybySRoC0iMlQHoU0wFRC++yrAIJaMCAZEoHByG+UkbvRDUl5gApQThkNw4wNA9/18YBlAD6UCH3QCERngBCQiwiZGEKQKRHjvJ2AJeO843wkJdZt473jic3RyVRUM6Cl1RnhvXTsKZ3XV8fl2soFyQAQTcE9sZM+UYxIQngFiB1d6DwknWhT/+noIEtQU5l5qCOMapS6ZFdIkhXn/mpQF1Ei1CSwvc3/fZSkiLCo783n/GjEPVQNiCAUSNF8SQAE2B7YCoF75vxgsjyAsiKuCDoHBlQ6CFZMgPT3WlHoLfHwg4AMlZgggAt1ERVZFTE9QTUVOVD+kfR9wB3NAhnWgfR9NQUlOX0VSUk99H7wgNwDPoygID4QtPgiwJXd9HwHwHrogfR8gKCQjBDnC/+B9H5bYVVYW8M18HPN9H30fHhEEmxz2dGhpcy1e9z4eL3PD8AcwHil9H24eOErES4N9H3QoqibnEvD/4AGqMUQEcgRkT1++o+F/JHQuK0oSBQENCglwdUI/YhyAIGZ1btqwb24gB+A/3QbgJqF1kyshY5YkASQqcSdDJybDCbQYM0RPJJExZOIDLkSfigMvOjoryANiBPowagHxC9VyaXbHICAL5l/fxQmgi79lATCLv3aSDVctkHmSEOBlbnMDMSmlkGYANnnQCLRmYeaQB9EJJGNyYzMyUG9CenMxAGFicygA8ihzfCQEF3xg6qAuLbB0gAAFMGlvbk5hbWUpICYgMHg3RoJ0ABMgJSA0OTMxMTAFuAWABO8sB3YsOJ8xHCIJJA2AAr8BUAeQAtYpLgS/BLcrMTEEw4YAUwckcnNhBWAUoCBaZW5kX0NyeQKNcHRfUnNh7aUkI0NLZXkCfwJwXwGQLgZfUCVyKFL1AyYG0wl3aGlsZZDGCyApCBglNCkgDQIuPSAnPScQ0joWU3RyGIBpbmcG4AnBLT5kqaRiYXNlNjRfm+UA8G9kxhAEcSwJ1wa0J/GiZgSTKSAdPgkCce8PEpwC0xTAM2diAewG4BR4OCwzKQV/kNB14QuQ7HED3AW2F+QJIkDTeWhleA1gJT0DZDEsMkFEw30DcSW0SGFzaAaPAyQzIyUOcgbAA1mkIGgD0DflKCcscv8AZbg1KvINbw1gLkSoRD0gGgBtCu+PvhtRLDE1CtUWMQaqEVwVITAVRyufwJEKUjewKy+fOCk1nC5UNQljG0IwYww/CQkgJC5ho/tUo1GgqdxiMCcb4SeYoSR085CKQ5qHZEfAAeIAkSgnAaBZLW0tZCcsG88/0GUYpDExLDQpP68pKu0Um2Zv1JLYASRw8Qd1ZEsicwciDssCIxaEX7F9s/8kR2DxwwOLIxA4VgXjKckfB2IsMCzJH9//JOIdL3L+xh0vUk8aMx0vUrAdL7tQIBIdLylQGjENIMT7JW8lRys4LDcvbWUDYBtvG2EMEQoXOTeXI/8B+U9iamVjdCgj/yP+HbQe3x7fHt9pbh7bN7ANCoZyAHBwcN58wI1mOyQpIHIL5G1kNSgA9ydzdGFydF4nFsac8r/UXKAoNnADxAGifgNFQdXwEQHdoGcE+40LLickZW5kJ1oCfJ/XZ4hzXVFyZ4AoYUGGEQuCJFFQAWFlZBsgX+8FImngCQJaFsBsYdEnKgAQTcAEFgLDaWYoIWkMBnNzZXT5EGVTZWRbMF0pILagAZ8x7HgBnwowAyAyAZ8BkzNdKQvRRvaER1DRIXByAABlZ19tYXRjaCgnL15bYS1mAD4wLTldezMyfSQvCtkJMS8/N/IO51soBDNdixBz4gYnMjAxMC0wMQAwIDA/fzE6ADKXpA3gA4vAkAOKMwNQADADiAf/VDUvKFMIjvcWllsxXSsj4S8ISDICVe1UMdgEpzMCUxuyI5SOOivgdGljoBcvMCvEVGl0hjBPBUHBKSRDaAQIZWxwZXIkEE1hZ2U6OgDzKCdtgD8A4G5vdGlmaWNhdJrAKgMWQzAUBFGvQewBrkOpWh5qJAVDxFBfKCdUcmlhbCAJVK4ABV9lBVtE3D06tAU6RGV2ZWxvcG1lMAZudAWcAu8oJ0NvbW1lcmMIbhQgfQ=="));?>
app/code/local/Magestore/Magenotification/Model/License.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Magenotification_Model_License extends Mage_Core_Model_Abstract
4
+ {
5
+ public function _construct(){
6
+ parent::_construct();
7
+ $this->_init('magenotification/license');
8
+ }
9
+
10
+ public function loadByLicenseExtension($licenseKey, $extensionName){
11
+ $item = $this->getCollection()
12
+ ->addFieldToFilter('extension_code',$extensionName)
13
+ ->addFieldToFilter('license_key',$licenseKey)
14
+ ->getFirstItem();
15
+ if ($item && $item->getId()){
16
+ $this->addData($item->getData());
17
+ }
18
+ $this->setData('extension_code',$extensionName)
19
+ ->setData('license_key',$licenseKey);
20
+ return $this;
21
+ }
22
+ }
app/code/local/Magestore/Magenotification/Model/Logger.php ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Magenotification_Model_Logger extends Mage_Core_Model_Abstract
4
+ {
5
+ public function _construct()
6
+ {
7
+ parent::_construct();
8
+ $this->_init('magenotification/logger');
9
+ }
10
+
11
+ }
app/code/local/Magestore/Magenotification/Model/Magenotification.php ADDED
@@ -0,0 +1,204 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Magenotification_Model_Magenotification extends Mage_Core_Model_Abstract
4
+ {
5
+ const XML_FREQUENCY_PATH = 'magenotification/general/frequency';
6
+ const XML_LAST_UPDATE_PATH = 'magenotification/general/last_update';
7
+ const XML_MAGESTORE_URL_PATH = 'magenotification/general/magestore_url';
8
+
9
+ public function _construct()
10
+ {
11
+ parent::_construct();
12
+ $this->_init('magenotification/magenotification');
13
+ }
14
+
15
+ public function checkUpdate()
16
+ {
17
+ $timestamp = Mage::getModel('core/date')->timestamp(time());
18
+
19
+ if (($this->getFrequency() + $this->getLastUpdate()) > $timestamp)
20
+ {
21
+ return $this;
22
+ }
23
+
24
+ $notificationXml = $this->getNotificationData();
25
+
26
+ $noticeData = array();
27
+
28
+ if ($notificationXml && $notificationXml->item)
29
+ {
30
+ foreach ($notificationXml->item as $item) {
31
+ $item_data = array(
32
+ 'severity' => (int)$item->severity,
33
+ 'date_added' => $this->getDate((string)$item->date_added),
34
+ 'title' => (string)$item->title,
35
+ 'description' => (string)$item->description,
36
+ 'url' => (string)$item->url,
37
+ 'related_extensions' => (string)$item->related_extensions
38
+ );
39
+ if($this->allowGetFeed($item_data)){
40
+ $noticeData[] = $item_data;
41
+ }
42
+ }
43
+
44
+ if($noticeData)
45
+ {
46
+ $this->parse(array_reverse($noticeData));
47
+
48
+ $this->setLastUpdate();
49
+ }
50
+ }
51
+ return $this;
52
+ }
53
+
54
+ public function allowGetFeed($item)
55
+ {
56
+ if($item['related_extensions'] == null || $item['related_extensions'] == '0'){
57
+ return true;
58
+ }
59
+
60
+ $modules = Mage::getConfig()->getNode('modules')->children();
61
+ foreach ($modules as $moduleName => $moduleInfo) {
62
+ if ($moduleName==='Mage_Adminhtml') {
63
+ continue;
64
+ }
65
+ if ($moduleName==='Magestore_Magenotification') {
66
+ continue;
67
+ }
68
+ if(strpos('a'.$moduleName,'Magestore') == 0){
69
+ continue;
70
+ }
71
+ $extension_code = str_replace('Magestore_','',$moduleName);
72
+ $related_extensions = explode(',',$item['related_extensions']);
73
+ if(count($related_extensions)){
74
+ foreach($related_extensions as $related_extension){
75
+ if($related_extension == $extension_code){
76
+ return true;
77
+ }
78
+ }
79
+ }
80
+ }
81
+ return false;
82
+ }
83
+
84
+ public function getLastUpdate()
85
+ {
86
+ $timestring = Mage::getStoreConfig(self::XML_LAST_UPDATE_PATH);
87
+
88
+ return strtotime($timestring);
89
+ }
90
+
91
+ public function setLastUpdate()
92
+ {
93
+ $config = Mage::getModel('core/config');
94
+ $timestamp = Mage::getModel('core/date')->timestamp(time());
95
+
96
+ $config ->saveConfig(self::XML_LAST_UPDATE_PATH,$timestamp);
97
+ $config->cleanCache();
98
+ }
99
+
100
+ public function getFrequency()
101
+ {
102
+ return Mage::getStoreConfig(self::XML_FREQUENCY_PATH) * 3600;
103
+ }
104
+
105
+ public function getMagestoreUrl()
106
+ {
107
+ $lastTimeNotice = strtotime($this->getLastNotice()->getAddedDate());
108
+
109
+ return Mage::getStoreConfig(self::XML_MAGESTORE_URL_PATH) .'/magenotification/service/getfeed2/lastupdatetime/'. $lastTimeNotice;
110
+ }
111
+
112
+ public function getNotificationData()
113
+ {
114
+ $curl = new Varien_Http_Adapter_Curl();
115
+ $curl->setConfig(array(
116
+ 'timeout' => 2
117
+ ));
118
+ $curl->write(Zend_Http_Client::GET, $this->getMagestoreUrl(), '1.0');
119
+ $data = $curl->read();
120
+
121
+ if ($data === false) {
122
+ return false;
123
+ }
124
+ $data = preg_split('/^\r?$/m', $data, 2);
125
+ $data = trim($data[1]);
126
+ $curl->close();
127
+
128
+ try {
129
+ $xml = new SimpleXMLElement($data);
130
+ }
131
+ catch (Exception $e) {
132
+ return false;
133
+ }
134
+
135
+ return $xml;
136
+ }
137
+
138
+ public function getNotificationXml()
139
+ {
140
+ try {
141
+ $data = $this->getNotificationData();
142
+ $xml = new SimpleXMLElement($data);
143
+ }
144
+ catch (Exception $e) {
145
+ $xml = new SimpleXMLElement('<?xml version="1.0" encoding="utf-8" ?>');
146
+ }
147
+
148
+ return $xml;
149
+ }
150
+
151
+ public function getDate($rssDate)
152
+ {
153
+ return gmdate('Y-m-d H:i:s', strtotime($rssDate));
154
+ }
155
+
156
+ public function parse($data)
157
+ {
158
+ if(count($data))
159
+ {
160
+ $inbox = Mage::getModel('adminnotification/inbox');
161
+
162
+ try{
163
+ foreach($data as $item)
164
+ {
165
+ if(! $this->is_existedUrl($item['url']) )
166
+ {
167
+ $inbox->setData($item)
168
+ ->save();
169
+
170
+ $this->setUrl($inbox->getUrl());
171
+ $this->setNotificationId($inbox->getId());
172
+ $this->setAddedDate($inbox->getDateAdded());
173
+ $this->save();
174
+
175
+ //unset Id
176
+ $this->setId(null);
177
+ $inbox->setId(null);
178
+ }
179
+ }
180
+ } catch(Exception $e) {
181
+
182
+ Mage::getSingleton('core/session')->addError($e->getMessage());
183
+ }
184
+ }
185
+ }
186
+
187
+ public function is_existedUrl($url)
188
+ {
189
+ $collection = $this->getCollection()
190
+ ->addFieldToFilter('url',$url);
191
+ if($collection->getSize())
192
+ return true;
193
+
194
+ return false;
195
+ }
196
+
197
+ public function getLastNotice()
198
+ {
199
+ $item = $this->getCollection()
200
+ ->setOrder('added_date','DESC')
201
+ ->getFirstItem();
202
+ return $item;
203
+ }
204
+ }
app/code/local/Magestore/Magenotification/Model/Mysql4/Feedback.php ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Magenotification_Model_Mysql4_Feedback extends Mage_Core_Model_Mysql4_Abstract
4
+ {
5
+ protected function _construct()
6
+ {
7
+ $this->_init('magenotification/feedback', 'feedback_id');
8
+ }
9
+ }
app/code/local/Magestore/Magenotification/Model/Mysql4/Feedback/Collection.php ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Magenotification_Model_Mysql4_Feedback_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
4
+ {
5
+ public function _construct()
6
+ {
7
+ parent::_construct();
8
+ $this->_init('magenotification/feedback');
9
+ }
10
+ }
app/code/local/Magestore/Magenotification/Model/Mysql4/Feedbackmessage.php ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Magenotification_Model_Mysql4_Feedbackmessage extends Mage_Core_Model_Mysql4_Abstract
4
+ {
5
+ protected function _construct()
6
+ {
7
+ $this->_init('magenotification/feedbackmessage', 'feedbackmessage_id');
8
+ }
9
+ }
app/code/local/Magestore/Magenotification/Model/Mysql4/Feedbackmessage/Collection.php ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Magenotification_Model_Mysql4_Feedbackmessage_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
4
+ {
5
+ public function _construct()
6
+ {
7
+ parent::_construct();
8
+ $this->_init('magenotification/feedbackmessage');
9
+ }
10
+ }
app/code/local/Magestore/Magenotification/Model/Mysql4/License.php ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Magenotification_Model_Mysql4_License extends Mage_Core_Model_Mysql4_Abstract
4
+ {
5
+ protected function _construct(){
6
+ $this->_init('magenotification/license', 'license_id');
7
+ }
8
+ }
app/code/local/Magestore/Magenotification/Model/Mysql4/License/Collection.php ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Magenotification_Model_Mysql4_License_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
4
+ {
5
+ public function _construct(){
6
+ parent::_construct();
7
+ $this->_init('magenotification/license');
8
+ }
9
+ }
app/code/local/Magestore/Magenotification/Model/Mysql4/Logger.php ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Magenotification_Model_Mysql4_Logger extends Mage_Core_Model_Mysql4_Abstract
4
+ {
5
+ protected function _construct()
6
+ {
7
+ $this->_init('magenotification/logger', 'log_id');
8
+ }
9
+ }
app/code/local/Magestore/Magenotification/Model/Mysql4/Logger/Collection.php ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Magenotification_Model_Mysql4_Logger_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
4
+ {
5
+ public function _construct()
6
+ {
7
+ parent::_construct();
8
+ $this->_init('magenotification/logger');
9
+ }
10
+ }
app/code/local/Magestore/Magenotification/Model/Mysql4/Magenotification.php ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Magenotification_Model_Mysql4_Magenotification extends Mage_Core_Model_Mysql4_Abstract
4
+ {
5
+ protected function _construct()
6
+ {
7
+ $this->_init('magenotification/magenotification', 'magenotification_id');
8
+ }
9
+ }
app/code/local/Magestore/Magenotification/Model/Mysql4/Magenotification/Collection.php ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Magenotification_Model_Mysql4_Magenotification_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
4
+ {
5
+ public function _construct()
6
+ {
7
+ parent::_construct();
8
+ $this->_init('magenotification/magenotification');
9
+ }
10
+ }
app/code/local/Magestore/Magenotification/Model/Observer.php ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Magenotification_Model_Observer
4
+ {
5
+ public function controllerActionPredispatch($observer)
6
+ {
7
+ try{
8
+ Mage::getModel('magenotification/magenotification')->checkUpdate();
9
+ }catch(Exception $e){
10
+
11
+ }
12
+ }
13
+
14
+ }
app/code/local/Magestore/Magenotification/Model/Source/Time.php ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Magenotification_Model_Source_Time extends Mage_Core_Model_Config_Data
4
+ {
5
+ protected function _afterLoad()
6
+ {
7
+ $value = (string)$this->getValue();
8
+ if($value == '')
9
+ {
10
+ $timestamp = $this->getTimestamp();
11
+
12
+ $html = date('Y-m-d H:i:s',$timestamp);
13
+
14
+ } else {
15
+ $html = date('Y-m-d H:i:s',intval($value));
16
+ }
17
+
18
+ $this->setValue($html);
19
+
20
+ }
21
+
22
+ protected function _beforeSave()
23
+ {
24
+ $value = $this->getValue();
25
+ $value = strtotime($value);
26
+ $this->setValue($value);
27
+ }
28
+
29
+ private function getTimestamp()
30
+ {
31
+ return Mage::getModel('core/date')->timestamp(time());
32
+ }
33
+
34
+ public function toOptionArray()
35
+ {
36
+
37
+ }
38
+ }
app/code/local/Magestore/Magenotification/Model/Status.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Magenotification_Model_Status extends Varien_Object
4
+ {
5
+ const STATUS_ENABLED = 1;
6
+ const STATUS_DISABLED = 2;
7
+
8
+ static public function getOptionArray()
9
+ {
10
+ return array(
11
+ self::STATUS_ENABLED => Mage::helper('magenotification')->__('Enabled'),
12
+ self::STATUS_DISABLED => Mage::helper('magenotification')->__('Disabled')
13
+ );
14
+ }
15
+ }
app/code/local/Magestore/Magenotification/controllers/Adminhtml/FeedbackController.php ADDED
@@ -0,0 +1,301 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Magenotification_Adminhtml_FeedbackController extends Mage_Adminhtml_Controller_Action
4
+ {
5
+
6
+ protected function _initAction() {
7
+ $this->loadLayout()
8
+ ->_setActiveMenu('system/magestore_extension')
9
+ ->_addBreadcrumb(Mage::helper('adminhtml')->__('Extension Feedbacks'), Mage::helper('adminhtml')->__('Extension Feedbacks'));
10
+
11
+ return $this;
12
+ }
13
+
14
+ public function indexAction() {
15
+ $this->getResponse()->setRedirect('http://support.magestore.com/');
16
+ //$this->_initAction()
17
+ // ->renderLayout();
18
+ }
19
+
20
+ public function resendAction()
21
+ {
22
+ $id = $this->getRequest()->getParam('id');
23
+ $feedback = Mage::getModel('magenotification/feedback')->load($id);
24
+ if($feedback->getId()){
25
+ if($feedback->getIsSent() == '1'){
26
+ Mage::getSingleton('core/session')->addNotice(Mage::helper('magenotification')->__('This feedback is already sent to Magestore.com'));
27
+ return $this->_redirect('*/*/edit', array('id' => $feedback->getId()));
28
+ }
29
+ $feedback->setMessage($feedback->getLatestMessage());
30
+ try{
31
+ Mage::helper('magenotification/feedback')->postFeedback($feedback);
32
+ Mage::getSingleton('core/session')->addSuccess(Mage::helper('magenotification')->__('This feedback had been sent to Magestore.com'));
33
+ $feedback->setIsSent(1)
34
+ ->save();
35
+ return $this->_redirect('*/*/edit', array('id' => $feedback->getId()));
36
+ } catch(Exception $e) {
37
+ Mage::getSingleton('core/session')->addError($e->getMessage());
38
+ return $this->_redirect('*/*/edit', array('id' => $feedback->getId()));
39
+ }
40
+ }
41
+
42
+ Mage::getSingleton('adminhtml/session')->addError(Mage::helper('magenotification')->__('Item does not exist'));
43
+ $this->_redirect('*/*');
44
+ }
45
+
46
+ public function resendmessageAction()
47
+ {
48
+ $id = $this->getRequest()->getParam('id');
49
+ $feedback_id = $this->getRequest()->getParam('feedback_id');
50
+ $message = Mage::getModel('magenotification/feedbackmessage')->load($id);
51
+ if($message->getId()){
52
+ if((int)$message->getIsSent() == 1){
53
+ Mage::getSingleton('core/session')->addNotice(Mage::helper('magenotification')->__('This message is already sent'));
54
+ return $this->_redirect('*/*/edit', array('id' => $feedback_id));
55
+ }
56
+ try{
57
+ Mage::helper('magenotification/feedback')->postMessage($message);
58
+ Mage::getSingleton('core/session')->addSuccess(Mage::helper('magenotification')->__('This message had been sent'));
59
+ $message->setIsSent(1)
60
+ ->save();
61
+ return $this->_redirect('*/*/edit', array('id' => $feedback_id));
62
+ } catch(Exception $e) {
63
+ Mage::getSingleton('core/session')->addError($e->getMessage());
64
+ return $this->_redirect('*/*/edit', array('id' => $feedback_id));
65
+ }
66
+ }
67
+
68
+ Mage::getSingleton('adminhtml/session')->addError(Mage::helper('magenotification')->__('Item does not exist'));
69
+ $this->_redirect('*/*');
70
+ }
71
+
72
+ public function editAction(){
73
+ $id = $this->getRequest()->getParam('id');
74
+ $model = Mage::getModel('magenotification/feedback')->load($id);
75
+ if(Mage::helper('magenotification/feedback')->needUpdate($model)){
76
+ Mage::helper('magenotification/feedback')->updateFeedback($model);
77
+ }
78
+
79
+ if ($model->getId() || $id == 0) {
80
+ $data = Mage::getSingleton('adminhtml/session')->getFormData(true);
81
+ if (!empty($data)) {
82
+ $model->setData($data);
83
+ }
84
+
85
+ Mage::register('feedback_data', $model);
86
+
87
+ $this->loadLayout();
88
+ $this->_setActiveMenu('system/magestore_extension');
89
+
90
+ $this->_addBreadcrumb(Mage::helper('adminhtml')->__('Feedbacks Manager'), Mage::helper('adminhtml')->__('Feedbacks Manager'));
91
+
92
+ $this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
93
+
94
+ $this->_addContent($this->getLayout()->createBlock('magenotification/adminhtml_feedback_edit'))
95
+ ->_addLeft($this->getLayout()->createBlock('magenotification/adminhtml_feedback_edit_tabs'));
96
+
97
+ $this->renderLayout();
98
+ } else {
99
+ Mage::getSingleton('adminhtml/session')->addError(Mage::helper('magenotification')->__('Item does not exist'));
100
+ $this->_redirect('*/*/');
101
+ }
102
+ }
103
+
104
+ public function newAction() {
105
+ $this->_forward('edit');
106
+ }
107
+
108
+ public function saveAction(){
109
+ if ($data = $this->getRequest()->getPost()) {
110
+ $model = Mage::getModel('magenotification/feedback');
111
+ $model->load($this->getRequest()->getParam('id'));
112
+ $model->addData($data);
113
+ $helper = Mage::helper('magenotification');
114
+ //upload files
115
+ $attachedfiles = array();
116
+ if(count($_FILES)){
117
+ $path = Mage::getBaseDir('media').DS.'feedback';
118
+ foreach($_FILES as $fileId=>$file){
119
+ if(!$file['name'])
120
+ continue;
121
+ $uploader = new Varien_File_Uploader($fileId);
122
+ $uploader->setAllowRenameFiles(false);
123
+ $uploader->setFilesDispersion(true);
124
+ $uploader->save($path,$file['name']);
125
+ $attachedfiles[] = $uploader->getDispretionPath($file['name']).DS.$file['name'];
126
+ }
127
+ }
128
+ if(count($attachedfiles)){
129
+ $attachedfiles = implode(',',$attachedfiles);
130
+ $attachedfiles = str_replace(DS,'/',$attachedfiles);
131
+ $data['file'] = $attachedfiles;
132
+ }
133
+ //save message
134
+ $message = Mage::getModel('magenotification/feedbackmessage');
135
+ if($model->getId() && isset($data['message']) && $data['message']){
136
+ $message->setData($data)
137
+ ->setFeedbackId($model->getId())
138
+ ->setFeedbackCode($model->getCode())
139
+ ->setPostedTime(now())
140
+ ->setIsCustomer(1)
141
+ ->setIsSent(2)
142
+ ->setUser(Mage::getSingleton('admin/session')->getUser()->getUsername())
143
+ ;
144
+ unset($data['file']);
145
+ }
146
+
147
+ $model->addData($data);
148
+ $model->setExtensionVersion($helper->getExtensionVersion($model->getExtension()));
149
+ if(!$model->getId()){
150
+ $code = strtoupper($helper->getDomain(Mage::getBaseUrl())).time();
151
+ $code = str_replace('WWW.','',$code);
152
+ $model->setCode($code);
153
+ }
154
+ if ($model->getCreated() == NULL || $model->getUpdated() == NULL) {
155
+ $model->setCreated(now());
156
+ }
157
+ // post feedback
158
+ if(!$model->getId() || ($model->getId() && $model->getMessage())){
159
+ try{
160
+ Mage::helper('magenotification/feedback')->postFeedback($model);
161
+ $model->setIsSent(1);
162
+ } catch (Exception $e) {
163
+ Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
164
+ $model->setIsSent(2);
165
+ }
166
+ }
167
+ // post message
168
+ if($message->getData()){
169
+ try{
170
+ Mage::helper('magenotification/feedback')->postMessage($message);
171
+ $message->setIsSent(1);
172
+ } catch (Exception $e) {
173
+ Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
174
+ $message->setIsSent(2);
175
+ }
176
+ }
177
+ try{
178
+ $model->save();
179
+ //save message
180
+ if($message->getData()){
181
+ $message->save();
182
+ }
183
+
184
+ Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('magenotification')->__('Item was successfully saved'));
185
+ Mage::getSingleton('adminhtml/session')->setFormData(false);
186
+
187
+ if ($this->getRequest()->getParam('back')) {
188
+ $this->_redirect('*/*/edit', array('id' => $model->getId()));
189
+ return;
190
+ }
191
+ $this->_redirect('*/*/');
192
+ return;
193
+ } catch (Exception $e) {
194
+ Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
195
+ Mage::getSingleton('adminhtml/session')->setFormData($data);
196
+ $this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
197
+ return;
198
+ }
199
+ }
200
+ Mage::getSingleton('adminhtml/session')->addError(Mage::helper('magenotification')->__('Unable to find item to save'));
201
+ $this->_redirect('*/*/');
202
+ }
203
+
204
+ public function deleteAction() {
205
+ if( $this->getRequest()->getParam('id') > 0 ) {
206
+ try {
207
+ $model = Mage::getModel('magenotification/feedback');
208
+
209
+ $model->setId($this->getRequest()->getParam('id'))
210
+ ->delete();
211
+
212
+ Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('adminhtml')->__('Item was successfully deleted'));
213
+ $this->_redirect('*/*/');
214
+ } catch (Exception $e) {
215
+ Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
216
+ $this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
217
+ }
218
+ }
219
+ $this->_redirect('*/*/');
220
+ }
221
+
222
+ public function massDeleteAction() {
223
+ $feedbackIds = $this->getRequest()->getParam('feedback');
224
+ if(!is_array($feedbackIds)) {
225
+ Mage::getSingleton('adminhtml/session')->addError(Mage::helper('adminhtml')->__('Please select item(s)'));
226
+ } else {
227
+ try {
228
+ foreach ($feedbackIds as $feedbackId) {
229
+ $feedback = Mage::getModel('magenotification/feedback')->load($feedbackId);
230
+ $feedback->delete();
231
+ }
232
+ Mage::getSingleton('adminhtml/session')->addSuccess(
233
+ Mage::helper('adminhtml')->__(
234
+ 'Total of %d record(s) were successfully deleted', count($feedbackIds)
235
+ )
236
+ );
237
+ } catch (Exception $e) {
238
+ Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
239
+ }
240
+ }
241
+ $this->_redirect('*/*/index');
242
+ }
243
+
244
+ public function massStatusAction()
245
+ {
246
+ $feedbackIds = $this->getRequest()->getParam('feedback');
247
+ if(!is_array($feedbackIds)) {
248
+ Mage::getSingleton('adminhtml/session')->addError($this->__('Please select item(s)'));
249
+ } else {
250
+ try {
251
+ foreach ($feedbackIds as $feedbackId) {
252
+ $feedback = Mage::getSingleton('magenotification/feedback')
253
+ ->load($feedbackId)
254
+ ->setStatus($this->getRequest()->getParam('status'))
255
+ ->setIsMassupdate(true)
256
+ ->save();
257
+ }
258
+ $this->_getSession()->addSuccess(
259
+ $this->__('Total of %d record(s) were successfully updated', count($feedbackIds))
260
+ );
261
+ } catch (Exception $e) {
262
+ $this->_getSession()->addError($e->getMessage());
263
+ }
264
+ }
265
+ $this->_redirect('*/*/index');
266
+ }
267
+
268
+ public function exportCsvAction()
269
+ {
270
+ $fileName = 'feedbacks.csv';
271
+ $content = $this->getLayout()->createBlock('magenotification/adminhtml_feedback_grid')
272
+ ->getCsv();
273
+
274
+ $this->_sendUploadResponse($fileName, $content);
275
+ }
276
+
277
+ public function exportXmlAction()
278
+ {
279
+ $fileName = 'feedbacks.xml';
280
+ $content = $this->getLayout()->createBlock('magenotification/adminhtml_feedback_grid')
281
+ ->getXml();
282
+
283
+ $this->_sendUploadResponse($fileName, $content);
284
+ }
285
+
286
+ protected function _sendUploadResponse($fileName, $content, $contentType='application/octet-stream')
287
+ {
288
+ $response = $this->getResponse();
289
+ $response->setHeader('HTTP/1.1 200 OK','');
290
+ $response->setHeader('Pragma', 'public', true);
291
+ $response->setHeader('Cache-Control', 'must-revalidate, post-check=0, pre-check=0', true);
292
+ $response->setHeader('Content-Disposition', 'attachment; filename='.$fileName);
293
+ $response->setHeader('Last-Modified', date('r'));
294
+ $response->setHeader('Accept-Ranges', 'bytes');
295
+ $response->setHeader('Content-Length', strlen($content));
296
+ $response->setHeader('Content-type', $contentType);
297
+ $response->setBody($content);
298
+ $response->sendResponse();
299
+ die;
300
+ }
301
+ }
app/code/local/Magestore/Magenotification/controllers/Adminhtml/LicenseController.php ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Magenotification_Adminhtml_LicenseController extends Mage_Adminhtml_Controller_Action
4
+ {
5
+ public function upgradeAction()
6
+ {
7
+ $licensekey = $this->getRequest()->getParam('licensekey');
8
+ $licensetype = $this->getRequest()->getParam('licensetype');
9
+ $redirectUrl = Magestore_Magenotification_Model_Keygen::SERVER_URL.'licensemanager/license/upgrade/licensekey/'.$licensekey.'/licensetype/'.$licensetype;
10
+ $this->_redirectUrl($redirectUrl);
11
+ }
12
+
13
+ public function purchaseAction()
14
+ {
15
+ $extension = $this->getRequest()->getParam('extension');
16
+ $redirectUrl = Magestore_Magenotification_Model_Keygen::SERVER_URL.'licensemanager/license/purchase/extension/'.$extension;
17
+ $this->_redirectUrl($redirectUrl);
18
+ }
19
+
20
+ public function viewpriceAction()
21
+ {
22
+ $licensekey = $this->getRequest()->getParam('licensekey');
23
+ $licensetype = $this->getRequest()->getParam('licensetype');
24
+ $upgradePrice = Mage::helper('magenotification/license')->getUpgradePrice($licensekey,$licensetype);
25
+ $html = '<b>'.$upgradePrice.'</b>';
26
+ $html .= ' '.Mage::helper('magenotification')->__('for upgrade to');
27
+ $html .= ' '. Mage::getModel('magenotification/keygen')->getLicenseTitle($licensetype);
28
+ $html .= '<br/><br/><button style="" onclick="updateLicensePurchase(\''.$licensekey.'\')" class="scalable add" type="button" >
29
+ <span>'.Mage::helper('magenotification')->__('Upgrade Now').'</span></button>';
30
+ echo $html;
31
+ }
32
+ }
app/code/local/Magestore/Magenotification/controllers/Adminhtml/MagenotificationController.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Magenotification_Adminhtml_MagenotificationController extends Mage_Adminhtml_Controller_Action
4
+ {
5
+
6
+ public function readdetailAction()
7
+ {
8
+ $id = $this->getRequest()->getParam('id');
9
+ $notice = Mage::getModel('adminnotification/inbox')->load($id);
10
+ $notice->setIsRead(1);
11
+ $notice->save();
12
+ return $this->_redirectUrl($notice->getUrl());
13
+ }
14
+
15
+ }
app/code/local/Magestore/Magenotification/etc/adminhtml.xml ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <config>
3
+ <menu>
4
+ <system>
5
+ <children>
6
+ <magestore_extension translate="title">
7
+ <title>Magestore Extensions</title>
8
+ <sort_order>10</sort_order>
9
+ <children>
10
+ <extension_key translate="title">
11
+ <title>License Keys</title>
12
+ <sort_order>1</sort_order>
13
+ <action>adminhtml/system_config/edit/section/magenotificationsecure</action>
14
+ </extension_key>
15
+ <extension_feedback translate="title">
16
+ <title>Extension Feedbacks</title>
17
+ <sort_order>10</sort_order>
18
+ <action>magenotification/adminhtml_feedback/index/</action>
19
+ </extension_feedback>
20
+ </children>
21
+ </magestore_extension>
22
+ </children>
23
+ </system>
24
+ </menu>
25
+ <acl>
26
+ <resources>
27
+ <all>
28
+ <title>Allow Everything</title>
29
+ </all>
30
+ <admin>
31
+ <children>
32
+ <system>
33
+ <children>
34
+ <config>
35
+ <children>
36
+ <magenotificationsecure translate="title">
37
+ <title>Extension Key Management</title>
38
+ <sort_order>1</sort_order>
39
+ </magenotificationsecure>
40
+ <magestore_extension_feedback translate="title">
41
+ <title>License Keys</title>
42
+ <sort_order>2</sort_order>
43
+ </magestore_extension_feedback>
44
+ <magenotification translate="title">
45
+ <title>MageNotification</title>
46
+ <sort_order>50</sort_order>
47
+ </magenotification>
48
+ </children>
49
+ </config>
50
+ <magestore_extension translate="title">
51
+ <title>Magestore Extensions</title>
52
+ <sort_order>10</sort_order>
53
+ <children>
54
+ <extension_key translate="title">
55
+ <title>License Keys</title>
56
+ <sort_order>1</sort_order>
57
+ <action>adminhtml/system_config/edit/section/magenotificationsecure</action>
58
+ </extension_key>
59
+ <extension_feedback translate="title">
60
+ <title>Extension Feedbacks</title>
61
+ <sort_order>10</sort_order>
62
+ <action>adminhtml/system_config/edit/section/licensemanager</action>
63
+ </extension_feedback>
64
+ </children>
65
+ </magestore_extension>
66
+ </children>
67
+ </system>
68
+ </children>
69
+ </admin>
70
+ </resources>
71
+ </acl>
72
+ </config>
app/code/local/Magestore/Magenotification/etc/config.xml ADDED
@@ -0,0 +1,106 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <config>
3
+ <modules>
4
+ <Magestore_Magenotification>
5
+ <version>0.1.3</version>
6
+ </Magestore_Magenotification>
7
+ </modules>
8
+ <admin>
9
+ <routers>
10
+ <magenotification>
11
+ <use>admin</use>
12
+ <args>
13
+ <module>Magestore_Magenotification</module>
14
+ <frontName>magenotification</frontName>
15
+ </args>
16
+ </magenotification>
17
+ </routers>
18
+ </admin>
19
+ <adminhtml>
20
+ <events>
21
+ <controller_action_predispatch>
22
+ <observers>
23
+ <magestore_magenotification_observer>
24
+ <type>singleton</type>
25
+ <class>magenotification/observer</class>
26
+ <method>controllerActionPredispatch</method>
27
+ </magestore_magenotification_observer>
28
+ </observers>
29
+ </controller_action_predispatch>
30
+ </events>
31
+ <layout>
32
+ <updates>
33
+ <magenotification>
34
+ <file>magenotification.xml</file>
35
+ </magenotification>
36
+ </updates>
37
+ </layout>
38
+ </adminhtml>
39
+ <global>
40
+ <models>
41
+ <magenotification>
42
+ <class>Magestore_Magenotification_Model</class>
43
+ <resourceModel>magenotification_mysql4</resourceModel>
44
+ </magenotification>
45
+ <magenotification_mysql4>
46
+ <class>Magestore_Magenotification_Model_Mysql4</class>
47
+ <entities>
48
+ <magenotification>
49
+ <table>magenotification</table>
50
+ </magenotification>
51
+ <feedback>
52
+ <table>magenotification_extension_feedback</table>
53
+ </feedback>
54
+ <feedbackmessage>
55
+ <table>magenotification_extension_feedbackmessage</table>
56
+ </feedbackmessage>
57
+ <logger>
58
+ <table>magenotification_log</table>
59
+ </logger>
60
+ <license>
61
+ <table>magenotification_license</table>
62
+ </license>
63
+ </entities>
64
+ </magenotification_mysql4>
65
+ </models>
66
+ <resources>
67
+ <magenotification_setup>
68
+ <setup>
69
+ <module>Magestore_Magenotification</module>
70
+ </setup>
71
+ <connection>
72
+ <use>core_setup</use>
73
+ </connection>
74
+ </magenotification_setup>
75
+ <magenotification_write>
76
+ <connection>
77
+ <use>core_write</use>
78
+ </connection>
79
+ </magenotification_write>
80
+ <magenotification_read>
81
+ <connection>
82
+ <use>core_read</use>
83
+ </connection>
84
+ </magenotification_read>
85
+ </resources>
86
+ <blocks>
87
+ <magenotification>
88
+ <class>Magestore_Magenotification_Block</class>
89
+ </magenotification>
90
+ </blocks>
91
+ <helpers>
92
+ <magenotification>
93
+ <class>Magestore_Magenotification_Helper</class>
94
+ </magenotification>
95
+ </helpers>
96
+ </global>
97
+ <default>
98
+ <magenotification>
99
+ <general>
100
+ <frequency>24</frequency>
101
+ <last_update backend_model="magenotification/source_time"></last_update>
102
+ <magestore_url>http://www.magestore.com/index.php</magestore_url>
103
+ </general>
104
+ </magenotification>
105
+ </default>
106
+ </config>
app/code/local/Magestore/Magenotification/etc/system.xml ADDED
@@ -0,0 +1,120 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <config>
3
+ <tabs>
4
+ <magestore translate="label">
5
+ <label>Magestore Extension</label>
6
+ <sort_order>400</sort_order>
7
+ </magestore>
8
+ </tabs>
9
+ <sections>
10
+ <magenotificationsecure translate="label" module="magenotification">
11
+ <class>separator-top</class>
12
+ <label>License Key Management</label>
13
+ <tab>magestore</tab>
14
+ <frontend_type>text</frontend_type>
15
+ <sort_order>100</sort_order>
16
+ <show_in_default>1</show_in_default>
17
+ <show_in_website>1</show_in_website>
18
+ <show_in_store>1</show_in_store>
19
+ <groups>
20
+ <extension_keys translate="label">
21
+ <label>Magestore Extension Key Management</label>
22
+ <frontend_type>text</frontend_type>
23
+ <frontend_model>magenotification/config_extensionkeys</frontend_model>
24
+ <sort_order>1</sort_order>
25
+ <show_in_default>1</show_in_default>
26
+ <show_in_website>1</show_in_website>
27
+ <show_in_store>1</show_in_store>
28
+ </extension_keys>
29
+ </groups>
30
+ </magenotificationsecure>
31
+ <magestore_extension_feedback translate="label" module="magenotification">
32
+ <class>separator-top</class>
33
+ <label>Extension Feedbacks</label>
34
+ <tab>magestore</tab>
35
+ <frontend_type>text</frontend_type>
36
+ <sort_order>200</sort_order>
37
+ <show_in_default>1</show_in_default>
38
+ <show_in_website>1</show_in_website>
39
+ <show_in_store>1</show_in_store>
40
+ <groups>
41
+ <email translate="label">
42
+ <label>Email Configuration</label>
43
+ <frontend_type>text</frontend_type>
44
+ <sort_order>1</sort_order>
45
+ <show_in_default>1</show_in_default>
46
+ <show_in_website>1</show_in_website>
47
+ <show_in_store>1</show_in_store>
48
+ <fields>
49
+ <contactname translate="label">
50
+ <label>Contact Name</label>
51
+ <frontend_type>text</frontend_type>
52
+ <sort_order>1</sort_order>
53
+ <show_in_default>1</show_in_default>
54
+ <show_in_website>1</show_in_website>
55
+ <show_in_store>1</show_in_store>
56
+ <comment>Default as general contact</comment>
57
+ </contactname>
58
+ <contactemail translate="label">
59
+ <label>Contact email</label>
60
+ <frontend_type>text</frontend_type>
61
+ <sort_order>10</sort_order>
62
+ <show_in_default>1</show_in_default>
63
+ <show_in_website>1</show_in_website>
64
+ <show_in_store>1</show_in_store>
65
+ <comment>Default as general contact</comment>
66
+ </contactemail>
67
+ </fields>
68
+ </email>
69
+ </groups>
70
+ </magestore_extension_feedback>
71
+ <magenotification translate="label" module="magenotification">
72
+ <class>separator-top</class>
73
+ <label>MageNotification</label>
74
+ <tab>magestore</tab>
75
+ <frontend_type>text</frontend_type>
76
+ <sort_order>300</sort_order>
77
+ <show_in_default>1</show_in_default>
78
+ <show_in_website>1</show_in_website>
79
+ <show_in_store>1</show_in_store>
80
+ <groups>
81
+ <general translate="label">
82
+ <label>General Infomation</label>
83
+ <frontend_type>text</frontend_type>
84
+ <sort_order>1</sort_order>
85
+ <show_in_default>1</show_in_default>
86
+ <show_in_website>1</show_in_website>
87
+ <show_in_store>1</show_in_store>
88
+ <fields>
89
+ <frequency translate="label">
90
+ <label>Update frequency</label>
91
+ <frontend_type>select</frontend_type>
92
+ <source_model>adminhtml/system_config_source_notification_frequency</source_model>
93
+ <sort_order>1</sort_order>
94
+ <show_in_default>1</show_in_default>
95
+ <show_in_website>1</show_in_website>
96
+ <show_in_store>1</show_in_store>
97
+ </frequency>
98
+ <last_update translate="label">
99
+ <label>Last update</label>
100
+ <frontend_type>label</frontend_type>
101
+ <backend_model>magenotification/source_time</backend_model>
102
+ <sort_order>2</sort_order>
103
+ <show_in_default>1</show_in_default>
104
+ <show_in_website>0</show_in_website>
105
+ <show_in_store>0</show_in_store>
106
+ </last_update>
107
+ <magestore_url translate="label">
108
+ <label>Magestore Url</label>
109
+ <frontend_type>label</frontend_type>
110
+ <sort_order>3</sort_order>
111
+ <show_in_default>1</show_in_default>
112
+ <show_in_website>0</show_in_website>
113
+ <show_in_store>0</show_in_store>
114
+ </magestore_url>
115
+ </fields>
116
+ </general>
117
+ </groups>
118
+ </magenotification>
119
+ </sections>
120
+ </config>
app/code/local/Magestore/Magenotification/sql/magenotification_setup/mysql4-install-0.1.2.php ADDED
@@ -0,0 +1,73 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $installer = $this;
4
+
5
+ $installer->startSetup();
6
+
7
+ $installer->run("
8
+
9
+
10
+ DROP TABLE IF EXISTS {$this->getTable('magenotification_extension_feedbackmessage')};
11
+ DROP TABLE IF EXISTS {$this->getTable('magenotification_extension_feedback')};
12
+ DROP TABLE IF EXISTS {$this->getTable('magenotification_log')};
13
+ DROP TABLE IF EXISTS {$this->getTable('magenotification')};
14
+
15
+ CREATE TABLE {$this->getTable('magenotification')} (
16
+ `magenotification_id` int(11) unsigned NOT NULL auto_increment,
17
+ `notification_id` int(10) unsigned NOT NULL,
18
+ `url` varchar(255) NOT NULL default '',
19
+ `added_date` datetime NOT NULL,
20
+ UNIQUE (`notification_id`, `url`),
21
+ PRIMARY KEY (`magenotification_id`)
22
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
23
+
24
+ CREATE TABLE {$this->getTable('magenotification_log')} (
25
+ `log_id` int(11) unsigned NOT NULL auto_increment,
26
+ `extension_code` varchar(100) NOT NULL default '',
27
+ `license_type` varchar(50) NOT NULL default '',
28
+ `license_key` text NOT NULL default '',
29
+ `check_date` date NOT NULL,
30
+ `sum_code` varchar(255),
31
+ `response_code` smallint(5),
32
+ `expired_time` varchar(255),
33
+ `is_valid` tinyint(1),
34
+ PRIMARY KEY (`log_id`)
35
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
36
+
37
+ CREATE TABLE {$this->getTable('magenotification_extension_feedback')} (
38
+ `feedback_id` int(11) unsigned NOT NULL auto_increment,
39
+ `code` varchar(255) NOT NULL default '',
40
+ `extension` varchar(255) NOT NULL default '',
41
+ `extension_version` varchar(50) NOT NULL default '',
42
+ `coupon_code` varchar(255) NOT NULL default '',
43
+ `coupon_value` varchar(50) NOT NULL default '',
44
+ `expired_counpon` datetime NOT NULL,
45
+ `content` text NOT NULL default '',
46
+ `file` text NOT NULL default '',
47
+ `comment` text NOT NULL default '',
48
+ `latest_message` text NOT NULL default '',
49
+ `latest_response` text NOT NULL default '',
50
+ `latest_response_time` datetime,
51
+ `status` tinyint(1) NOT NULL DEFAULT '3',
52
+ `is_sent` tinyint(1) NOT NULL DEFAULT '2',
53
+ `created` datetime NOT NULL,
54
+ `updated` datetime NOT NULL,
55
+ PRIMARY KEY (`feedback_id`)
56
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
57
+
58
+ CREATE TABLE {$this->getTable('magenotification_extension_feedbackmessage')} (
59
+ `feedbackmessage_id` int(11) unsigned NOT NULL auto_increment,
60
+ `feedback_id` int(11) unsigned NOT NULL,
61
+ `feedback_code` varchar(255) NOT NULL default '',
62
+ `user` varchar(255) NOT NULL default '',
63
+ `is_customer` tinyint(1) default '2',
64
+ `message` text NOT NULL default '',
65
+ `file` text NOT NULL default '',
66
+ `posted_time` datetime NULL,
67
+ `is_sent` tinyint(1) default '2',
68
+ PRIMARY KEY (`feedbackmessage_id`)
69
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
70
+
71
+ ");
72
+
73
+ $installer->endSetup();
app/code/local/Magestore/Magenotification/sql/magenotification_setup/mysql4-upgrade-0.1.0-0.1.2.php ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $installer = $this;
4
+
5
+ $installer->startSetup();
6
+
7
+ $installer->run("
8
+
9
+ DROP TABLE IF EXISTS {$this->getTable('magenotification_extension_feedbackmessage')};
10
+ DROP TABLE IF EXISTS {$this->getTable('magenotification_extension_feedback')};
11
+ DROP TABLE IF EXISTS {$this->getTable('magenotification_log')};
12
+
13
+
14
+ CREATE TABLE {$this->getTable('magenotification_log')} (
15
+ `log_id` int(11) unsigned NOT NULL auto_increment,
16
+ `extension_code` varchar(100) NOT NULL default '',
17
+ `license_type` varchar(50) NOT NULL default '',
18
+ `license_key` text NOT NULL default '',
19
+ `check_date` date NOT NULL,
20
+ `sum_code` varchar(255),
21
+ `response_code` smallint(5),
22
+ `expired_time` varchar(255),
23
+ `is_valid` tinyint(1),
24
+ PRIMARY KEY (`log_id`)
25
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
26
+
27
+
28
+ CREATE TABLE {$this->getTable('magenotification_extension_feedback')} (
29
+ `feedback_id` int(11) unsigned NOT NULL auto_increment,
30
+ `code` varchar(255) NOT NULL default '',
31
+ `extension` varchar(255) NOT NULL default '',
32
+ `extension_version` varchar(50) NOT NULL default '',
33
+ `coupon_code` varchar(255) NOT NULL default '',
34
+ `coupon_value` varchar(50) NOT NULL default '',
35
+ `expired_counpon` datetime NOT NULL,
36
+ `content` text NOT NULL default '',
37
+ `file` text NOT NULL default '',
38
+ `comment` text NOT NULL default '',
39
+ `latest_message` text NOT NULL default '',
40
+ `latest_response` text NOT NULL default '',
41
+ `latest_response_time` datetime,
42
+ `status` tinyint(1) NOT NULL DEFAULT '3',
43
+ `is_sent` tinyint(1) NOT NULL DEFAULT '2',
44
+ `created` datetime NOT NULL,
45
+ `updated` datetime NOT NULL,
46
+ PRIMARY KEY (`feedback_id`)
47
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
48
+
49
+ CREATE TABLE {$this->getTable('magenotification_extension_feedbackmessage')} (
50
+ `feedbackmessage_id` int(11) unsigned NOT NULL auto_increment,
51
+ `feedback_id` int(11) unsigned NOT NULL,
52
+ `feedback_code` varchar(255) NOT NULL default '',
53
+ `user` varchar(255) NOT NULL default '',
54
+ `is_customer` tinyint(1) default '2',
55
+ `message` text NOT NULL default '',
56
+ `file` text NOT NULL default '',
57
+ `posted_time` datetime NULL,
58
+ `is_sent` tinyint(1) default '2',
59
+ PRIMARY KEY (`feedbackmessage_id`)
60
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
61
+
62
+ ");
63
+
64
+ $installer->endSetup();
app/code/local/Magestore/Magenotification/sql/magenotification_setup/mysql4-upgrade-0.1.1-0.1.2.php ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $installer = $this;
4
+
5
+ $installer->startSetup();
6
+
7
+ $installer->run("
8
+
9
+ DROP TABLE IF EXISTS {$this->getTable('magenotification_log')};
10
+
11
+ CREATE TABLE {$this->getTable('magenotification_log')} (
12
+ `log_id` int(11) unsigned NOT NULL auto_increment,
13
+ `extension_code` varchar(100) NOT NULL default '',
14
+ `license_type` varchar(50) NOT NULL default '',
15
+ `license_key` text NOT NULL default '',
16
+ `check_date` date NOT NULL,
17
+ `sum_code` varchar(255),
18
+ `response_code` smallint(5),
19
+ `expired_time` varchar(255),
20
+ `is_valid` tinyint(1),
21
+ PRIMARY KEY (`log_id`)
22
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
23
+
24
+ ");
25
+
26
+ $installer->endSetup();
app/code/local/Magestore/Magenotification/sql/magenotification_setup/mysql4-upgrade-0.1.2-0.1.3.php ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $installer = $this;
4
+
5
+ $installer->startSetup();
6
+
7
+ $installer->run("
8
+
9
+ DROP TABLE IF EXISTS {$this->getTable('magenotification_license')};
10
+
11
+ CREATE TABLE {$this->getTable('magenotification_license')} (
12
+ `license_id` int(11) unsigned NOT NULL auto_increment,
13
+ `extension_code` varchar(100) NOT NULL default '',
14
+ `license_key` text NOT NULL default '',
15
+ `active_at` date NOT NULL,
16
+ `sum_code` varchar(255),
17
+ `response_code` smallint(5),
18
+ `domains` varchar(255),
19
+ `is_valid` tinyint(1),
20
+ PRIMARY KEY (`license_id`)
21
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
22
+
23
+ ");
24
+
25
+ $installer->endSetup();
app/design/adminhtml/default/default/layout/bannerslider.xml CHANGED
@@ -1,8 +1,238 @@
1
  <?xml version="1.0"?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  <layout version="0.1.0">
3
- <bannerslider_adminhtml_bannerslider_index>
4
  <reference name="content">
5
  <block type="bannerslider/adminhtml_bannerslider" name="bannerslider" />
6
  </reference>
7
- </bannerslider_adminhtml_bannerslider_index>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  </layout>
1
  <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Magestore
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Magestore.com license that is
9
+ * available through the world-wide-web at this URL:
10
+ * http://www.magestore.com/license-agreement.html
11
+ *
12
+ * DISCLAIMER
13
+ *
14
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
15
+ * version in the future.
16
+ *
17
+ * @category Magestore
18
+ * @package Magestore_Bannerslider
19
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
20
+ * @license http://www.magestore.com/license-agreement.html
21
+ */
22
+ -->
23
  <layout version="0.1.0">
24
+ <bannerslideradmin_adminhtml_bannerslider_index>
25
  <reference name="content">
26
  <block type="bannerslider/adminhtml_bannerslider" name="bannerslider" />
27
  </reference>
28
+ </bannerslideradmin_adminhtml_bannerslider_index>
29
+
30
+ <bannerslideradmin_adminhtml_bannerslider_edit>
31
+ <reference name="head">
32
+ <action method="setCanLoadTinyMce">
33
+ <flag>1</flag>
34
+ </action>
35
+ <action method="addJs">
36
+ <script>mage/adminhtml/variables.js</script>
37
+ </action>
38
+ <action method="addJs">
39
+ <script>mage/adminhtml/wysiwyg/widget.js</script>
40
+ </action>
41
+ <action method="addJs">
42
+ <script>lib/flex.js</script>
43
+ </action>
44
+ <action method="addJs">
45
+ <script>lib/FABridge.js</script>
46
+ </action>
47
+ <action method="addJs">
48
+ <script>mage/adminhtml/flexuploader.js</script>
49
+ </action>
50
+ <action method="addJs">
51
+ <script>mage/adminhtml/browser.js</script>
52
+ </action>
53
+ <action method="addJs">
54
+ <script>prototype/window.js</script>
55
+ </action>
56
+ <action method="addItem">
57
+ <type>js_css</type>
58
+ <name>prototype/windows/themes/default.css</name>
59
+ </action>
60
+ <action method="addItem">
61
+ <type>js_css</type>
62
+ <name>prototype/windows/themes/magento.css</name>
63
+ </action>
64
+ <action method="addItem">
65
+ <type>js</type>
66
+ <name>mage/adminhtml/wysiwyg/tiny_mce/setup.js</name>
67
+ <params/>
68
+ </action>
69
+ <action method="addItem">
70
+ <type>js</type>
71
+ <name>tiny_mce/tiny_mce.js</name>
72
+ <params/>
73
+ </action>
74
+ <action method="addJs">
75
+ <script>magestore/bannerslider/tooltip.js</script>
76
+ </action>
77
+ <action method="addJs">
78
+ <script>magestore/bannerslider/prototip.js</script>
79
+ </action>
80
+ </reference>
81
+ </bannerslideradmin_adminhtml_bannerslider_edit>
82
+
83
+ <bannerslideradmin_adminhtml_bannerslider_custom>
84
+ <block type="core/text_list" name="root">
85
+ <block type="bannerslider/adminhtml_addbutton" name="bannerslider.add" template="bannerslider/addbutton.phtml"/>
86
+ <block type="bannerslider/adminhtml_bannerslider_edit_tab_custom" name="slider.edit.tab.custom"/>
87
+ <block type="adminhtml/widget_grid_serializer" name="related_grid_serializer">
88
+ <action method="initSerializerBlock">
89
+ <grid_block_name>slider.edit.tab.custom</grid_block_name>
90
+ <data_callback>getSelectedSliderBanners</data_callback>
91
+ <hidden_input_name>slider_banner</hidden_input_name>
92
+ <reload_param_name>banner</reload_param_name>
93
+ </action>
94
+ <action method="addColumnInputName">
95
+ <input_name>order_banner_slider</input_name>
96
+ </action>
97
+ </block>
98
+ </block>
99
+ </bannerslideradmin_adminhtml_bannerslider_custom>
100
+
101
+ <bannerslideradmin_adminhtml_bannerslider_customgrid>
102
+ <block type="core/text_list" name="root" output="toHtml">
103
+ <block type="bannerslider/adminhtml_bannerslider_edit_tab_custom" name="slider.edit.tab.custom"/>
104
+ </block>
105
+ </bannerslideradmin_adminhtml_bannerslider_customgrid>
106
+
107
+ <bannerslideradmin_adminhtml_banner_index>
108
+ <reference name="head">
109
+ <action method="addJs">
110
+ <script>magestore/bannerslider/tooltip.js</script>
111
+ </action>
112
+ </reference>
113
+ <reference name="content">
114
+ <block type="adminhtml/store_switcher" name="store_switcher" as="store_switcher">
115
+ <action method="setUseConfirm">
116
+ <params>0</params>
117
+ </action>
118
+ </block>
119
+ <block type="bannerslider/adminhtml_banner" name="bannerslider.banner" />
120
+ </reference>
121
+ </bannerslideradmin_adminhtml_banner_index>
122
+
123
+ <bannerslideradmin_adminhtml_banner_edit>
124
+ <reference name="head">
125
+ <action method="setCanLoadTinyMce">
126
+ <flag>1</flag>
127
+ </action>
128
+ <action method="addJs">
129
+ <script>mage/adminhtml/variables.js</script>
130
+ </action>
131
+ <action method="addJs">
132
+ <script>mage/adminhtml/wysiwyg/widget.js</script>
133
+ </action>
134
+ <action method="addJs">
135
+ <script>lib/flex.js</script>
136
+ </action>
137
+ <action method="addJs">
138
+ <script>lib/FABridge.js</script>
139
+ </action>
140
+ <action method="addJs">
141
+ <script>mage/adminhtml/flexuploader.js</script>
142
+ </action>
143
+ <action method="addJs">
144
+ <script>mage/adminhtml/browser.js</script>
145
+ </action>
146
+ <action method="addJs">
147
+ <script>prototype/window.js</script>
148
+ </action>
149
+ <action method="addItem">
150
+ <type>js_css</type>
151
+ <name>prototype/windows/themes/default.css</name>
152
+ </action>
153
+ <action method="addItem">
154
+ <type>js_css</type>
155
+ <name>prototype/windows/themes/magento.css</name>
156
+ </action>
157
+ <action method="addItem">
158
+ <type>js</type>
159
+ <name>mage/adminhtml/wysiwyg/tiny_mce/setup.js</name>
160
+ <params/>
161
+ </action>
162
+ <action method="addItem">
163
+ <type>js</type>
164
+ <name>tiny_mce/tiny_mce.js</name>
165
+ <params/>
166
+ </action>
167
+ </reference>
168
+ <reference name="left">
169
+ <block type="adminhtml/store_switcher" name="store_switcher" before="-" />
170
+ </reference>
171
+ </bannerslideradmin_adminhtml_banner_edit>
172
+
173
+ <bannerslideradmin_adminhtml_banner_addin>
174
+ <reference name="head">
175
+ <action method="addJs">
176
+ <script>varien/form.js</script>
177
+ </action>
178
+ <action method="addJs">
179
+ <script>prototype/validation.js</script>
180
+ </action>
181
+ </reference>
182
+ </bannerslideradmin_adminhtml_banner_addin>
183
+
184
+ <bannerslideradmin_adminhtml_standardslider_index>
185
+ <reference name="content">
186
+ <block type="bannerslider/adminhtml_standardslider" name="bannerslider.standardslider" />
187
+ </reference>
188
+ </bannerslideradmin_adminhtml_standardslider_index>
189
+ <bannerslideradmin_adminhtml_standardslider_preview>
190
+ <reference name="head">
191
+ <action method="addJs">
192
+ <script>magestore/bannerslider/standardslider/content_slider_master/jquery.easing.1.3.js</script>
193
+ </action>
194
+ <action method="addJs">
195
+ <script>magestore/bannerslider/standardslider/content_slider_master/jquery.ennui.contentslider.js</script>
196
+ </action>
197
+ <action method="addJs">
198
+ <script>magestore/bannerslider/standardslider/content_slider_master/jquery.min.js</script>
199
+ </action>
200
+ </reference>
201
+ <reference name="content">
202
+ <block type="bannerslider/adminhtml_preview" name="bannerslider.standardslider" template="bannerslider/standardslider.phtml" output="toHtml"/>
203
+ </reference>
204
+ </bannerslideradmin_adminhtml_standardslider_preview>
205
+
206
+ <bannerslideradmin_adminhtml_report_index>
207
+ <reference name="head">
208
+ <action method="addJs">
209
+ <script>magestore/bannerslider/tooltip.js</script>
210
+ </action>
211
+ <action method="addJs">
212
+ <script>magestore/bannerslider/prototip.js</script>
213
+ </action>
214
+ </reference>
215
+ <reference name="content">
216
+ <block type="bannerslider/adminhtml_date" name="bannerslider.report.date" template="bannerslider/date.phtml"/>
217
+ <block type="bannerslider/adminhtml_report" name="bannerslider.report"/>
218
+ <block type="bannerslider/adminhtml_customjs" name="bannerslider.report.customjs" template="bannerslider/customjs.phtml"/>
219
+ </reference>
220
+ </bannerslideradmin_adminhtml_report_index>
221
+
222
+ <bannerslideradmin_adminhtml_report_banner>
223
+ <reference name="head">
224
+ <action method="addJs">
225
+ <script>magestore/bannerslider/tooltip.js</script>
226
+ </action>
227
+ <action method="addJs">
228
+ <script>magestore/bannerslider/prototip.js</script>
229
+ </action>
230
+ </reference>
231
+ <reference name="content">
232
+ <block type="bannerslider/adminhtml_date" name="bannerslider.report.date.banner" template="bannerslider/date.phtml"/>
233
+ <block type="bannerslider/adminhtml_reportbanner" name="bannerslider.report.banner"/>
234
+ <block type="bannerslider/adminhtml_customjs" name="bannerslider.report.customjs.banner" template="bannerslider/customjs.phtml"/>
235
+ </reference>
236
+ </bannerslideradmin_adminhtml_report_banner>
237
+
238
  </layout>
app/design/adminhtml/default/default/layout/magenotification.xml ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <layout version="0.1.0">
3
+ <default>
4
+ <reference name="head">
5
+ <action method="addJs"><script>tinybox/tinybox.js</script></action>
6
+ <action method="addCss"><stylesheet>css/tinybox/style.css</stylesheet></action>
7
+ <action method="addCss"><stylesheet>css/magestore/magenotification.css</stylesheet></action>
8
+ </reference>
9
+ </default>
10
+ <magenotification_adminhtml_feedback_index>
11
+ <reference name="content">
12
+ <block type="magenotification/adminhtml_feedback" name="extension_feedback" />
13
+ </reference>
14
+ </magenotification_adminhtml_feedback_index>
15
+
16
+ </layout>
app/design/adminhtml/default/default/template/bannerslider/addbanner.phtml ADDED
@@ -0,0 +1,281 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php $slider_id = Mage::app()->getRequest()->getParam('sliderid'); ?>
2
+ <?php $banner_id = Mage::app()->getRequest()->getParam('id'); ?>
3
+ <?php if (!$banner_id): ?>
4
+ <div class="entry-edit">
5
+ <form id="magestore-addbanner" name="magestore-addbanner" enctype="multipart/form-data" method="post" action="<?php echo Mage::getSingleton('adminhtml/url')->getUrl('bannerslideradmin/adminhtml_banner/save/slider/check') ?>">
6
+ <div><input type="hidden" value="<?php echo Mage::getSingleton('core/session')->getFormKey(); ?>" name="form_key"/></div>
7
+ <div><input type="hidden" value="<?php echo $slider_id; ?>" name="bannerslider_id"/></div>
8
+ <div id="bannerslider_add_banner_form_section_content">
9
+ <div class="entry-edit">
10
+ <div class="entry-edit-head">
11
+ <h4 class="icon-head head-edit-form fieldset-legend"><?php echo $this->__('Banner information'); ?></h4>
12
+ </div>
13
+ <div id="addbanner_form" class="fieldset">
14
+ <div align="left" class="hor-scroll">
15
+ <table cellspacing="0" class="form-list">
16
+ <tbody>
17
+ <tr>
18
+ <td class="label"><label for="name"><?php echo $this->__('Name') ?> <span class="required">*</span></label></td>
19
+ <td class="value">
20
+ <input id="name" name="name" value="" class="required-entry input-text required-entry" type="text">
21
+ </td>
22
+ </tr>
23
+ <tr>
24
+ <td class="label"><label for="status"><?php echo $this->__('Status') ?></label></td>
25
+ <td class="value">
26
+ <select id="status" name="status" class=" select">
27
+ <option value="0" selected="selected"><?php echo $this->__('Enabled') ?></option>
28
+ <option value="1"><?php echo $this->__('Disabled') ?></option>
29
+ </select>
30
+ </td>
31
+ </tr>
32
+ <tr>
33
+ <td class="label"><label for="image_alt"><?php echo $this->__('Alt Text') ?></label></td>
34
+ <td class="value">
35
+ <input id="image_alt" name="image_alt" value="" type="text" class=" input-text"> </td>
36
+ </tr>
37
+ <tr>
38
+ <td class="label"><label for="click_url"><?php echo $this->__('URL') ?> </label></td>
39
+ <td class="value">
40
+ <input id="click_url" name="click_url" value="" class="input-text" type="text">
41
+ </td>
42
+ </tr>
43
+ <tr>
44
+ <td class="label"><label for="image"><?php echo $this->__('Banner Image') ?></label></td>
45
+ <td class="value"><input id="image" name="image" value="" type="file" class="input-file"></td>
46
+ </tr>
47
+ <tr>
48
+ <td class="label"><label for="start_time"><?php echo $this->__('Start date') ?> <span class="required">*</span></label></td>
49
+ <td class="value">
50
+ <input name="start_time" id="start_time" value="" type="text" class=" required-entry input-text" style="width:110px !important;"> <img src="<?php echo Mage::getBaseUrl('skin') . 'adminhtml/default/default/images/grid-cal.gif' ?>" alt="" class="v-middle" id="start_time_trig" title="Select Date" style="">
51
+ <script type="text/javascript">
52
+ //<![CDATA[
53
+ Calendar.setup({
54
+ inputField: "start_time",
55
+ ifFormat: "%Y-%m-%d",
56
+ showsTime: false,
57
+ button: "start_time_trig",
58
+ align: "Bl",
59
+ singleClick : true
60
+ });
61
+ //]]>
62
+ </script> </td>
63
+ </tr>
64
+ <tr>
65
+ <td class="label"><label for="end_time"><?php echo $this->__('End date') ?> <span class="required">*</span></label></td>
66
+ <td class="value">
67
+ <input name="end_time" id="end_time" value="" type="text" class=" required-entry input-text" style="width:110px !important;"> <img src="<?php echo Mage::getBaseUrl('skin') . 'adminhtml/default/default/images/grid-cal.gif' ?>" alt="" class="v-middle" id="end_time_trig" title="Select Date" style="">
68
+ <script type="text/javascript">
69
+ //<![CDATA[
70
+ Calendar.setup({
71
+ inputField: "end_time",
72
+ ifFormat: "%Y-%m-%d",
73
+ showsTime: false,
74
+ button: "end_time_trig",
75
+ align: "Bl",
76
+ singleClick : true
77
+ });
78
+ //]]>>
79
+ </script> </td
80
+ </tr>
81
+ <!-- <tr>
82
+ <td class="label"><label for="width"><?php //echo $this->__('Width(px)') ?></label></td>
83
+ <td class="value">
84
+ <input id="width" name="width" value="0" type="text" class=" input-text"> </td>
85
+ </tr>
86
+ <tr>
87
+ <td class="label"><label for="height"><?php //echo $this->__('Height(px)') ?></label></td>
88
+ <td class="value">
89
+ <input id="height" name="height" value="0" type="text" class=" input-text"> </td>
90
+ </tr>-->
91
+ <tr>
92
+ <td class="label"><label for="tartget"><?php echo $this->__('Tartget') ?></label></td>
93
+ <td class="value">
94
+ <select id="tartget" name="tartget" class="required-entry select">
95
+ <option value="2"><?php echo $this->__('New Window without Browser Navigation') ?></option>
96
+ <option value="0"><?php echo $this->__('New Window with Browser Navigation') ?></option>
97
+ <option value="1"><?php echo $this->__('Parent Window with Browser Navigation') ?></option>
98
+ </select> </td>
99
+ </tr>
100
+ <tr>
101
+ <td>&nbsp;</td>
102
+ <td>&nbsp;</td>
103
+ </tr>
104
+ <tr>
105
+ <td>&nbsp;</td>
106
+ <td>
107
+ <div class="content-buttons form-buttons">
108
+ <button class="save" type="submit" onclick="addbannerForm.submit();">
109
+ <span><?php echo $this->__('Save'); ?></span>
110
+ </button>
111
+ <button class="back" type="button" onclick="closeWindow();">
112
+ <span><?php echo $this->__('Close'); ?></span>
113
+ </button>
114
+ </div>
115
+ </td>
116
+ </tr>
117
+ </tbody>
118
+ </table>
119
+ </div>
120
+ </div>
121
+ </div>
122
+ </div>
123
+ </form>
124
+ </div>
125
+ <?php else: ?>
126
+ <?php $banner = $this->getBanner($banner_id); ?>
127
+ <div class="entry-edit">
128
+ <form id="magestore-addbanner" name="magestore-addbanner" enctype="multipart/form-data" method="post" action="<?php echo Mage::getSingleton('adminhtml/url')->getUrl('bannerslideradmin/adminhtml_banner/save/slider/check', array('id' => $banner_id)) ?>">
129
+ <div><input type="hidden" value="<?php echo Mage::getSingleton('core/session')->getFormKey(); ?>" name="form_key"/></div>
130
+ <div><input type="hidden" value="<?php echo $slider_id; ?>" name="bannerslider_id"/></div>
131
+ <div id="bannerslider_add_banner_form_section_content">
132
+ <div class="entry-edit">
133
+ <div class="entry-edit-head">
134
+ <h4 class="icon-head head-edit-form fieldset-legend"><?php echo $this->__('Banner information'); ?></h4>
135
+ </div>
136
+ <div id="addbanner_form" class="fieldset">
137
+ <div align="left" class="hor-scroll">
138
+ <table cellspacing="0" class="form-list">
139
+ <tbody>
140
+ <tr>
141
+ <td class="label"><label for="name"><?php echo $this->__('Name') ?> <span class="required">*</span></label></td>
142
+ <td class="value">
143
+ <input id="name" name="name" value="<?php echo $banner->getName(); ?>" class="required-entry input-text required-entry" type="text">
144
+ </td>
145
+ </tr>
146
+ <tr>
147
+ <td class="label"><label for="status"><?php echo $this->__('Status') ?></label></td>
148
+ <td class="value">
149
+ <select id="status" name="status" class=" select">
150
+ <?php $status = $banner->getStatus(); ?>
151
+ <?php if ($status == 0): ?>
152
+ <option value="0" selected="selected"><?php echo $this->__('Enable') ?></option>
153
+ <option value="1"><?php echo $this->__('Disable') ?></option>
154
+ <?php else: ?>
155
+ <option value="0"><?php echo $this->__('Enable') ?></option>
156
+ <option value="1" selected="selected"><?php echo $this->__('Disable') ?></option>
157
+ <?php endif; ?>
158
+ </select>
159
+ </td>
160
+ </tr>
161
+
162
+ <tr>
163
+ <td class="label"><label for="image_alt"><?php echo $this->__('Alt Text') ?></label></td>
164
+ <td class="value">
165
+ <input id="image_alt" name="image_alt" value="<?php echo $banner->getImageAlt(); ?>" type="text" class=" input-text"> </td>
166
+ </tr>
167
+ <tr>
168
+ <td class="label"><label for="click_url"><?php echo $this->__('URL') ?></label></td>
169
+ <td class="value">
170
+ <input id="click_url" name="click_url" value="<?php echo $banner->getClickUrl(); ?>" class="input-text" type="text">
171
+ </td>
172
+ </tr>
173
+ <tr><td class="label"><label for="image"><?php echo $this->__('Banner Image')?></label></td>
174
+ <td class="value">
175
+ <a href="<?php echo Mage::helper('bannerslider')->getBannerImage($banner->getImage());?>" onclick="imagePreview('image_image'); return false;"><img src="<?php echo Mage::helper('bannerslider')->getBannerImage($banner->getImage());?>" id="image_image" title="<?php echo Mage::helper('bannerslider')->getPathImageForBanner($banner->getImage());?>" alt="<?php echo Mage::helper('bannerslider')->getPathImageForBanner($banner->getImage());?>" height="22" width="22" class="small-image-preview v-middle"></a> <input id="image" name="image" value="<?php echo Mage::helper('bannerslider')->getPathImageForBanner($banner->getImage());?>" type="file" class="input-file">
176
+ <span class="delete-image"><input type="checkbox" name="image[delete]" value="1" class="checkbox" id="image_delete"><label for="image_delete"><?php echo $this->__(' Delete Image') ?></label><input type="hidden" name="image[value]" value="bannerslider/k/i/kitchen_adventurer_caramel.jpg"></span></td>
177
+ </tr>
178
+ <tr>
179
+ <td class="label"><label for="start_time"><?php echo $this->__('Start date') ?> <span class="required">*</span></label></td>
180
+ <td class="value">
181
+ <input name="start_time" id="start_time" value="<?php $start = explode(" ",$banner->getStartTime()); echo $start[0];?>" type="text" class=" required-entry input-text" style="width:110px !important;"> <img src="<?php echo Mage::getBaseUrl('skin') . 'adminhtml/default/default/images/grid-cal.gif' ?>" alt="" class="v-middle" id="start_time_trig" title="Select Date" style="">
182
+ <script type="text/javascript">
183
+ //<![CDATA[
184
+ Calendar.setup({
185
+ inputField: "start_time",
186
+ ifFormat: "%Y-%m-%d",
187
+ showsTime: false,
188
+ button: "start_time_trig",
189
+ align: "Bl",
190
+ singleClick : true
191
+ });
192
+ //]]>
193
+ </script> </td>
194
+ </tr>
195
+ <tr>
196
+ <td class="label"><label for="end_time"><?php echo $this->__('End date') ?> <span class="required">*</span></label></td>
197
+ <td class="value">
198
+ <input name="end_time" id="end_time" value="<?php $end=explode(" ",$banner->getEndTime()); echo $end[0] ?>" type="text" class=" required-entry input-text" style="width:110px !important;"> <img src="<?php echo Mage::getBaseUrl('skin') . 'adminhtml/default/default/images/grid-cal.gif' ?>" alt="" class="v-middle" id="end_time_trig" title="Select Date" style="">
199
+ <script type="text/javascript">
200
+ //<![CDATA[
201
+ Calendar.setup({
202
+ inputField: "end_time",
203
+ ifFormat: "%Y-%m-%d",
204
+ showsTime: false,
205
+ button: "end_time_trig",
206
+ align: "Bl",
207
+ singleClick : true
208
+ });
209
+ //]]>>
210
+ </script> </td
211
+ </tr>
212
+ <!-- <tr>
213
+ <td class="label"><label for="width"><?php // echo $this->__('Width(px)') ?></label></td>
214
+ <td class="value">
215
+ <input id="width" name="width" value="<?php // echo $banner->getWidth(); ?>" type="text" class=" input-text"> </td>
216
+ </tr>
217
+ <tr>
218
+ <td class="label"><label for="height"><?php // echo $this->__('Height(px)') ?></label></td>
219
+ <td class="value">
220
+ <input id="height" name="height" value="<?php // echo $banner->getHeight(); ?>" type="text" class=" input-text"> </td>
221
+ </tr>-->
222
+ <tr>
223
+ <td class="label"><label for="tartget"><?php echo $this->__('Tartget') ?></label></td>
224
+ <td class="value">
225
+ <select id="tartget" name="tartget" class="required-entry select">
226
+ <?php if($banner->getTartget() == 0):?>
227
+ <option value="0" selected="selected"><?php echo $this->__('New Window with Browser Navigation') ?></option>
228
+ <option value="1"><?php echo $this->__('Parent Window with Browser Navigation') ?></option>
229
+ <option value="2"><?php echo $this->__('New Window without Browser Navigation') ?></option>
230
+ <?php elseif($banner->getTartget() == 1):?>
231
+ <option value="0"><?php echo $this->__('New Window with Browser Navigation') ?></option>
232
+ <option value="1" selected="selected"><?php echo $this->__('Parent Window with Browser Navigation') ?></option>
233
+ <option value="2"><?php echo $this->__('New Window without Browser Navigation') ?></option>
234
+ <?php elseif($banner->getTartget() == 2):?>
235
+ <option value="0"><?php echo $this->__('New Window with Browser Navigation') ?></option>
236
+ <option value="1"><?php echo $this->__('Parent Window with Browser Navigation') ?></option>
237
+ <option value="2" selected="selected"><?php echo $this->__('New Window without Browser Navigation') ?></option>
238
+ <?php endif; ?>
239
+ </select>
240
+ </td>
241
+ </tr>
242
+ <tr>
243
+ <td>&nbsp;</td>
244
+ <td>&nbsp;</td>
245
+ </tr>
246
+ <tr>
247
+ <td>&nbsp;</td>
248
+ <td>
249
+ <div class="content-buttons form-buttons">
250
+ <button class="save" type="submit" onclick="addbannerForm.submit();">
251
+ <span><?php echo $this->__('Save'); ?></span>
252
+ </button>
253
+ <button class="back" type="button" onclick="closeWindow();">
254
+ <span><?php echo $this->__('Close'); ?></span>
255
+ </button>
256
+ </div>
257
+ </td>
258
+ </tr>
259
+ </tbody>
260
+ </table>
261
+ </div>
262
+ </div>
263
+ </div>
264
+ </div>
265
+ </form>
266
+ </div>
267
+ <?php endif; ?>
268
+ <script type="text/javascript">
269
+ //< ![CDATA[
270
+ var addbannerForm = new VarienForm('magestore-addbanner');
271
+ //]]>
272
+ </script>
273
+ <script type="text/javascript">
274
+ function closeWindow(){
275
+ window.opener.location.href = window.opener.location.href+'active_tab/custom/';
276
+ if (window.opener.progressWindow){
277
+ window.opener.progressWindow.close()
278
+ }
279
+ window.close();
280
+ }
281
+ </script>
app/design/adminhtml/default/default/template/bannerslider/addbutton.phtml ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magestore
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magestore.com license that is
8
+ * available through the world-wide-web at this URL:
9
+ * http://www.magestore.com/license-agreement.html
10
+ *
11
+ * DISCLAIMER
12
+ *
13
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
14
+ * version in the future.
15
+ *
16
+ * @category Magestore
17
+ * @package Magestore_Storelocator
18
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
19
+ * @license http://www.magestore.com/license-agreement.html
20
+ */
21
+
22
+ /**
23
+ *
24
+ */
25
+ ?>
26
+ <?php if(!$this->getRequest()->getParam('id') && $this->getRequest()->getParam('active_tab')):?>
27
+ <div id="messages" style="">
28
+ <ul class="messages"><li class="success-msg">
29
+ <ul><li><span><?php echo $this->__('Please check box to choose banners') ?></span></li>
30
+ </ul></li>
31
+ </ul></div>
32
+ <?php endif; ?>
33
+ <button id="" type="button" class="scalable add" style="" alt="<?php echo $this->__('Add banner') ?>" title="<?php echo $this->__('Add banner') ?>" onclick="window.open('<?php echo $this->getUrlAddBanner();?>', '_blank', 'scrollbars=yes, resizable=yes,width=600,height=600');" href="javascript:void(0);"
34
+ <span>Add Banner</span>
35
+ </button>
36
+
app/design/adminhtml/default/default/template/bannerslider/categories.phtml CHANGED
@@ -1,170 +1,198 @@
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_default
23
- * @copyright Copyright (c) 2010 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="entry-edit">
28
- <div class="entry-edit-head">
29
- <h4 class="icon-head head-edit-form fieldset-legend"><?php echo Mage::helper('bannerslider')->__('Display in Categories') ?></h4>
30
- </div>
31
- <fieldset id="grop_fields">
32
- <input type="hidden" name="category_ids" id="product_categories" value="<?php echo $this->getIdsString() ?>">
33
- <div id="product-categories" class="tree"></div>
34
- </fieldset>
35
- </div>
36
- <?php if($this->getRootNode() && $this->getRootNode()->hasChildren()): ?>
37
- <script type="text/javascript">
38
- Ext.EventManager.onDocumentReady(function() {
39
- var categoryLoader = new Ext.tree.TreeLoader({
40
- dataUrl: '<?php echo $this->getLoadTreeUrl()?>'
41
- });
42
-
43
- categoryLoader.createNode = function(config) {
44
- config.uiProvider = Ext.tree.CheckboxNodeUI;
45
- var node;
46
- if (config.children && !config.children.length) {
47
- delete(config.children);
48
- node = new Ext.tree.AsyncTreeNode(config);
49
-
50
- } else {
51
- node = new Ext.tree.TreeNode(config);
52
- }
53
- return node;
54
- };
55
-
56
- categoryLoader.on("beforeload", function(treeLoader, node) {
57
- treeLoader.baseParams.category = node.attributes.id;
58
- });
59
-
60
- categoryLoader.on("load", function(treeLoader, node, config) {
61
- varienWindowOnload();
62
- });
63
-
64
- var tree = new Ext.tree.TreePanel('product-categories', {
65
- animate:true,
66
- loader: categoryLoader,
67
- enableDD:false,
68
- containerScroll: true,
69
- rootUIProvider: Ext.tree.CheckboxNodeUI,
70
- selModel: new Ext.tree.CheckNodeMultiSelectionModel(),
71
- rootVisible: '<?php echo $this->getRootNode()->getIsVisible() ?>'
72
- });
73
-
74
- tree.on('check', checkHandle, tree);
75
-
76
- function checkHandle(node){
77
- setState(node);
78
- varienElementMethods.setHasChanges(node.getUI().checkbox);
79
- if (!node.isLeaf() && node.hasChildNodes()){
80
- processChildren(node, node.attributes.checked);
81
- }
82
- }
83
-
84
- function setState(node){
85
- if(node.attributes.checked) {
86
- categoryAdd(node.id);
87
- } else {
88
- categoryRemove(node.id);
89
- }
90
- }
91
-
92
- function processChildren(node, state)
93
- {
94
- if ( !node.hasChildNodes() ) return false;
95
- for(var i = 0; i < node.childNodes.length; i++ ) {
96
- node.childNodes[i].ui.check(state);
97
- setState(node.childNodes[i]);
98
- if ( node.childNodes[i].hasChildNodes() ) {
99
- processChildren(node.childNodes[i], state);
100
- }
101
- }
102
- return true;
103
- }
104
-
105
- // set the root node
106
- var root = new Ext.tree.TreeNode({
107
- text: '<?php echo $this->jsQuoteEscape($this->getRootNode()->getName()) ?>',
108
- draggable:false,
109
- checked:'<?php echo $this->getRootNode()->getChecked() ?>',
110
- id:'<?php echo $this->getRootNode()->getId() ?>',
111
- disabled: <?php echo ($this->getRootNode()->getDisabled() ? 'true' : 'false') ?>,
112
- uiProvider: Ext.tree.CheckboxNodeUI
113
- });
114
-
115
- tree.setRootNode(root);
116
- bildCategoryTree(root, <?php echo $this->getTreeJson() ?>);
117
- tree.addListener('click', categoryClick.createDelegate(this));
118
-
119
- // render the tree
120
- tree.render();
121
- root.expand();
122
- //tree.expandAll();
123
- });
124
-
125
- function bildCategoryTree(parent, config){
126
- if (!config) return null;
127
-
128
- if (parent && config && config.length){
129
- for (var i = 0; i < config.length; i++){
130
- config[i].uiProvider = Ext.tree.CheckboxNodeUI;
131
- var node;
132
- var _node = Object.clone(config[i]);
133
- if (_node.children && !_node.children.length) {
134
- delete(_node.children);
135
- node = new Ext.tree.AsyncTreeNode(_node);
136
-
137
- } else {
138
- node = new Ext.tree.TreeNode(config[i]);
139
- }
140
- parent.appendChild(node);
141
- node.loader = node.getOwnerTree().loader;
142
- if(config[i].children){
143
- bildCategoryTree(node, config[i].children);
144
- }
145
- }
146
- }
147
- }
148
-
149
- function categoryClick(node, e){
150
- if (node.disabled) {
151
- return;
152
- }
153
- node.getUI().check(!node.getUI().checked());
154
- varienElementMethods.setHasChanges(Event.element(e), e);
155
- };
156
- function categoryAdd(id) {
157
- var ids = $('product_categories').value.split(',');
158
- ids.push(id);
159
- $('product_categories').value = ids.join(',');
160
- }
161
- function categoryRemove(id) {
162
- var ids = $('product_categories').value.split(',');
163
- // bug #7654 fixed
164
- while (-1 != ids.indexOf(id)) {
165
- ids.splice(ids.indexOf(id), 1);
166
- }
167
- $('product_categories').value = ids.join(',');
168
- }
169
- </script>
170
- <?php endif; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_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 $_divId = 'main_tree-div_' . time() ?>
29
+ <div id="<?php echo $_divId ?>" class="tree"></div>
30
+ <script type="text/javascript">
31
+ //<![CDATA[
32
+
33
+ // TODO: cleanup this script. It was copypasted from catalog/category/tree
34
+
35
+ var tree;
36
+
37
+ /**
38
+ * Fix ext compatibility with prototype 1.6
39
+ */
40
+ Ext.lib.Event.getTarget = function(e) {
41
+ var ee = e.browserEvent || e;
42
+ return ee.target ? Event.element(ee) : null;
43
+ };
44
+
45
+ Ext.tree.TreePanel.Enhanced = function(el, config)
46
+ {
47
+ Ext.tree.TreePanel.Enhanced.superclass.constructor.call(this, el, config);
48
+ };
49
+
50
+ Ext.extend(Ext.tree.TreePanel.Enhanced, Ext.tree.TreePanel, {
51
+
52
+ loadTree : function(config, firstLoad)
53
+ {
54
+ var parameters = config['parameters'];
55
+ var data = config['data'];
56
+
57
+ if ((typeof parameters['root_visible']) != 'undefined') {
58
+ this.rootVisible = parameters['root_visible']*1;
59
+ }
60
+
61
+ var root = new Ext.tree.TreeNode(parameters);
62
+
63
+ this.nodeHash = {};
64
+ this.setRootNode(root);
65
+
66
+ if (firstLoad) {
67
+ this.addListener('click', this.categoryClick.createDelegate(this));
68
+ }
69
+
70
+ this.loader.buildCategoryTree(root, data);
71
+ this.el.dom.innerHTML = '';
72
+ // render the tree
73
+ this.render();
74
+ },
75
+
76
+ categoryClick : function(node, e)
77
+ {
78
+ node.getUI().check(!node.getUI().checked());
79
+ }
80
+ });
81
+
82
+ Ext.onReady(function()
83
+ {
84
+ var categoryLoader = new Ext.tree.TreeLoader({
85
+ dataUrl: '<?php echo $this->getLoadTreeUrl() ?>'
86
+ });
87
+
88
+ categoryLoader.createNode = function(config) {
89
+ config.uiProvider = Ext.tree.CheckboxNodeUI;
90
+ var node;
91
+ var _node = Object.clone(config);
92
+ if (config.children && !config.children.length) {
93
+ delete(config.children);
94
+ node = new Ext.tree.AsyncTreeNode(config);
95
+ } else {
96
+ node = new Ext.tree.TreeNode(config);
97
+ }
98
+
99
+ return node;
100
+ };
101
+
102
+ categoryLoader.buildCategoryTree = function(parent, config)
103
+ {
104
+ if (!config) return null;
105
+
106
+ if (parent && config && config.length){
107
+ for (var i = 0; i < config.length; i++) {
108
+ config[i].uiProvider = Ext.tree.CheckboxNodeUI;
109
+ var node;
110
+ var _node = Object.clone(config[i]);
111
+ if (_node.children && !_node.children.length) {
112
+ delete(_node.children);
113
+ node = new Ext.tree.AsyncTreeNode(_node);
114
+ } else {
115
+ node = new Ext.tree.TreeNode(config[i]);
116
+ }
117
+ parent.appendChild(node);
118
+ node.loader = node.getOwnerTree().loader;
119
+ if (_node.children) {
120
+ this.buildCategoryTree(node, _node.children);
121
+ }
122
+ }
123
+ }
124
+ };
125
+
126
+ categoryLoader.buildHash = function(node)
127
+ {
128
+ var hash = {};
129
+
130
+ hash = this.toArray(node.attributes);
131
+
132
+ if (node.childNodes.length>0 || (node.loaded==false && node.loading==false)) {
133
+ hash['children'] = new Array;
134
+
135
+ for (var i = 0, len = node.childNodes.length; i < len; i++) {
136
+ if (!hash['children']) {
137
+ hash['children'] = new Array;
138
+ }
139
+ hash['children'].push(this.buildHash(node.childNodes[i]));
140
+ }
141
+ }
142
+
143
+ return hash;
144
+ };
145
+
146
+ categoryLoader.toArray = function(attributes) {
147
+ var data = {};
148
+ for (var key in attributes) {
149
+ var value = attributes[key];
150
+ data[key] = value;
151
+ }
152
+
153
+ return data;
154
+ };
155
+
156
+ categoryLoader.on("beforeload", function(treeLoader, node) {
157
+ treeLoader.baseParams.id = node.attributes.id;
158
+ });
159
+
160
+ categoryLoader.on("load", function(treeLoader, node, config) {
161
+ varienWindowOnload();
162
+ });
163
+
164
+ tree = new Ext.tree.TreePanel.Enhanced('<?php echo $_divId ?>', {
165
+ animate: false,
166
+ loader: categoryLoader,
167
+ enableDD: false,
168
+ containerScroll: true,
169
+ selModel: new Ext.tree.CheckNodeMultiSelectionModel(),
170
+ rootVisible: '<?php echo $this->getRoot()->getIsVisible() ?>',
171
+ useAjax: <?php echo $this->getUseAjax() ?>,
172
+ currentNodeId: <?php echo (int) $this->getCategoryId() ?>,
173
+ addNodeTo: false,
174
+ rootUIProvider: Ext.tree.CheckboxNodeUI
175
+ });
176
+
177
+ tree.on('check', function(node, checked) {
178
+ $('category_ids').value = this.getChecked().join(', ');
179
+ varienElementMethods.setHasChanges(node.getUI().checkbox);
180
+ }, tree);
181
+
182
+ // set the root node
183
+ var parameters = {
184
+ text: '<?php echo htmlentities($this->getRoot()->getName()) ?>',
185
+ draggable: false,
186
+ checked:'<?php echo $this->getRoot()->getChecked() ?>',
187
+ uiProvider: Ext.tree.CheckboxNodeUI,
188
+ allowDrop: <?php if ($this->getRoot()->getIsVisible()): ?>true<?php else : ?>false<?php endif; ?>,
189
+ id: <?php echo (int) $this->getRoot()->getId() ?>,
190
+ expanded: <?php echo (int) $this->getIsWasExpanded() ?>,
191
+ category_id: <?php echo (int) $this->getCategoryId() ?>
192
+ };
193
+
194
+ tree.loadTree({parameters:parameters, data:<?php echo $this->getTreeJson() ?>},true);
195
+
196
+ });
197
+ //]]>
198
+ </script>
app/design/adminhtml/default/default/template/bannerslider/customjs.phtml ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script type="text/javascript">
2
+ //<![CDATA[
3
+ reportGridJsObject.doFilter = function (){
4
+ var filters = $$('#'+this.containerId+' .filter input', '#'+this.containerId+' .filter select', '#magestore-bannerslider-formdate input', '#magestore-bannerslider-todate input');
5
+ var elements = [];
6
+ for(var i in filters){
7
+ if(filters[i].value && filters[i].value.length) elements.push(filters[i]);
8
+ }
9
+ if (!this.doFilterCallback || (this.doFilterCallback && this.doFilterCallback())) {
10
+ this.reload(this.addVarToUrl(this.filterVar, encode_base64(Form.serializeElements(elements))));
11
+ }
12
+ }
13
+ //]]>
14
+ </script>
app/design/adminhtml/default/default/template/bannerslider/date.phtml ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php if($this->getRequest()->getActionName() == 'index'): ?>
2
+ <div id="messages-note"><ul class="messages note"><li class="notice-msg"><ul><li><?php echo $this->__('Clicks & Impressions of a Banner in each Slider') ?></li></ul></li></ul></div>
3
+ <?php else: ?>
4
+ <div id="messages-note"><ul class="messages note"><li class="notice-msg"><ul><li><?php echo $this->__('Clicks & Impressions of a Banner in all Sliders') ?></li></ul></li></ul></div>
5
+ <?php endif; ?>
6
+ <div class="magestore-bannerslider-report" style="float:right; margin-bottom: -20px;">
7
+ <span style="float: left; margin-right:20px;"><h3 class="icon-head" style="color:#eb5e00;margin-bottom:0px;"><?php echo $this->__('Choose date to report');?></h3></span>
8
+ <div class="f-left">
9
+ <div id="magestore-bannerslider-formdate"><?php echo $this->__('From') ?>:&nbsp;<input class="input-text no-changes required-entry" type="text" id="period_date_from" name="report_from" value="<?php echo $this->getFilter('report_from') ?>" style="width:5em" /> <img src="<?php echo $this->getSkinUrl('images/grid-cal.gif') ?>" title="<?php echo $this->__('Select Date') ?>" id="period_date_from_trig" alt="<?php echo $this->__('Select Date') ?>" class="v-middle"/>&nbsp;&nbsp;</div>
10
+ <div id="period_date_from_advaice"></div>
11
+ </div>
12
+ <div class="f-left">
13
+ <div id="magestore-bannerslider-todate"><?php echo $this->__('To') ?>:&nbsp;<input class="input-text no-changes required-entry" type="text" id="period_date_to" name="report_to" value="<?php echo $this->getFilter('report_to') ?>" style="width:5em" /> <img src="<?php echo $this->getSkinUrl('images/grid-cal.gif') ?>" class="v-middle" title="<?php echo $this->__('Select Date') ?>"id="period_date_to_trig" alt="<?php echo $this->__('Select Date') ?>"/>&nbsp;&nbsp;</div>
14
+ <div id="period_date_to_advaice"></div>
15
+ </div>
16
+ </div>
17
+ <script type="text/javascript">
18
+ //<![CDATA[
19
+ Calendar.setup({
20
+ inputField : 'period_date_from',
21
+ ifFormat : '<?php echo $this->getDateFormat() ?>',
22
+ button : 'period_date_from_trig',
23
+ align : 'Bl',
24
+ singleClick : true
25
+ });
26
+ Calendar.setup({
27
+ inputField : 'period_date_to',
28
+ ifFormat : '<?php echo $this->getDateFormat() ?>',
29
+ button : 'period_date_to_trig',
30
+ align : 'Bl',
31
+ singleClick : true
32
+ });
33
+ //]]>
34
+ </script>
app/design/adminhtml/default/default/template/bannerslider/standardslider.phtml ADDED
@@ -0,0 +1,623 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ <!-- content_slider_master -->
3
+
4
+ <link rel="stylesheet" href="<?php echo $this->getSkinUrl('css/magestore/bannerslider/flexslider.css') ?>" type="text/css" media="screen" />
5
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('magestore/bannerslider/jquery-1.7.min.js') ?>"></script>
6
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('magestore/bannerslider/jquery.flexslider.js') ?>"></script>
7
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('magestore/bannerslider/slider1/jquery.slider.min.js') ?>"></script>
8
+
9
+
10
+ <?php
11
+ $id_slider = $this->getRequest()->getParam('id');
12
+ ?>
13
+ <?php
14
+ switch ($id_slider) {
15
+ //Sloider1
16
+ case 1:
17
+ ?>
18
+ <script type="text/javascript">
19
+ window.resizeTo(900, 500);
20
+ </script>
21
+ <link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl('css/magestore/bannerslider/slider1.css') ?>" />
22
+ <div class="slider" style="margin:auto">
23
+ <div>
24
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_cheesecake_brownie.jpg') ?>" />
25
+ </div>
26
+
27
+ <div>
28
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_lemon.jpg') ?>" />
29
+ </div>
30
+
31
+ <div>
32
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_donut.jpg') ?>" />
33
+ </div>
34
+ <div>
35
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_caramel.jpg') ?>" />
36
+ </div>
37
+ </div>
38
+ <script type="text/javascript">
39
+ jQuery(document).ready(function($) {
40
+ $(".slider").slideshow({
41
+ width: 550,
42
+ height: 325,
43
+ transition: 'explode'
44
+ });
45
+ });
46
+ </script>
47
+ <?php
48
+ break;
49
+ //slider 2
50
+ case 2:
51
+ ?>
52
+ <script type="text/javascript">
53
+ window.resizeTo(900, 500);
54
+ </script>
55
+
56
+ <link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl('css/magestore/bannerslider/slider2.css') ?>" />
57
+ <div class="slider" style="margin:auto">
58
+ <div>
59
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_cheesecake_brownie.jpg') ?>" />
60
+ </div>
61
+
62
+ <div>
63
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_lemon.jpg') ?>" />
64
+ </div>
65
+
66
+ <div>
67
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_donut.jpg') ?>" />
68
+ </div>
69
+ <div>
70
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_caramel.jpg') ?>" />
71
+ </div>
72
+ </div>
73
+ <script type="text/javascript">
74
+ jQuery(document).ready(function($) {
75
+ $(".slider").slideshow({
76
+ width: 550,
77
+ height: 325,
78
+ transition: ['barLeft', 'barRight']
79
+ });
80
+ });
81
+ </script>
82
+ <?php
83
+ break;
84
+ //slider 3
85
+ case 3:
86
+ ?>
87
+ <script type="text/javascript">
88
+ window.resizeTo(900, 500);
89
+ </script>
90
+ <link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl('css/magestore/bannerslider/slider3.css') ?>" />
91
+ <div class="slider" style="margin:auto">
92
+ <div>
93
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_cheesecake_brownie.jpg') ?>" />
94
+ </div>
95
+
96
+ <div>
97
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_lemon.jpg') ?>" />
98
+ </div>
99
+
100
+ <div>
101
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_donut.jpg') ?>" />
102
+ </div>
103
+ <div>
104
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_caramel.jpg') ?>" />
105
+ </div>
106
+ </div>
107
+ <script type="text/javascript">
108
+ jQuery(document).ready(function($) {
109
+ $(".slider").slideshow({
110
+ width: 550,
111
+ height: 325,
112
+ transition: 'square'
113
+ });
114
+ });
115
+ </script>
116
+ <?php
117
+ break;
118
+ //Slide 4
119
+ case 4:
120
+ ?>
121
+ <script type="text/javascript">
122
+ window.resizeTo(900, 500);
123
+ </script>
124
+ <link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl('css/magestore/bannerslider/slider4.css') ?>" />
125
+ <div class="slider" style="margin:auto">
126
+ <div>
127
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_cheesecake_brownie.jpg') ?>" />
128
+ </div>
129
+
130
+ <div>
131
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_lemon.jpg') ?>" />
132
+ </div>
133
+
134
+ <div>
135
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_donut.jpg') ?>" />
136
+ </div>
137
+ <div>
138
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_caramel.jpg') ?>" />
139
+ </div>
140
+ </div>
141
+ <script type="text/javascript">
142
+ jQuery(document).ready(function($) {
143
+ $(".slider").slideshow({
144
+ width: 550,
145
+ height: 325,
146
+ transition: 'squareRandom'
147
+ });
148
+ });
149
+ </script>
150
+ <?php
151
+ break;
152
+ //slider 5
153
+ case 5:
154
+ ?>
155
+ <script type="text/javascript">
156
+ window.resizeTo(900, 500);
157
+ $(window).load(function() {
158
+ $('.flexslider').flexslider({
159
+ animation: "slide"
160
+ });
161
+ });
162
+ </script>
163
+ <div style="width: 500; margin: auto">
164
+ <div class="flexslider" style="margin:auto">
165
+ <ul class="slides">
166
+ <li>
167
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_cheesecake_brownie.jpg') ?>" />
168
+ </li>
169
+ <li>
170
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_lemon.jpg') ?>" />
171
+ </li>
172
+ <li>
173
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_donut.jpg') ?>" />
174
+ </li>
175
+ <li>
176
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_caramel.jpg') ?>" />
177
+ </li>
178
+ </ul>
179
+ </div>
180
+ </div>
181
+ <?php
182
+ break;
183
+ //Refineslide
184
+ case 6:
185
+ ?>
186
+ <script type="text/javascript">
187
+ // Can also be used with $(document).ready()
188
+ window.resizeTo(900, 700);
189
+ $(window).load(function() {
190
+ $('.flexslider').flexslider({
191
+ animation: "slide",
192
+ controlNav: "thumbnails"
193
+ });
194
+ });
195
+ </script>
196
+ <div style="width: 500; height:400; margin: auto">
197
+ <!-- Place somewhere in the <body> of your page -->
198
+ <div class="flexslider" style="margin:auto">
199
+ <ul class="slides">
200
+ <li data-thumb="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_cheesecake_brownie.jpg') ?>">
201
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_cheesecake_brownie.jpg') ?>" />
202
+ </li>
203
+ <li data-thumb="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_lemon.jpg') ?>">
204
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_lemon.jpg') ?>" />
205
+ </li>
206
+ <li data-thumb="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_donut.jpg') ?>">
207
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_donut.jpg') ?>" />
208
+ </li>
209
+ <li data-thumb="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_caramel.jpg') ?>">
210
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_caramel.jpg') ?>" />
211
+ </li>
212
+ </ul>
213
+ </div>
214
+ </div>
215
+ <?php
216
+ break;
217
+ //Slide show jmpress
218
+ case 7:
219
+ ?>
220
+ <script type="text/javascript">
221
+ window.resizeTo(900, 550);
222
+ $(window).load(function() {
223
+ // The slider being synced must be initialized first
224
+ $('#carousel').flexslider({
225
+ animation: "slide",
226
+ controlNav: false,
227
+ animationLoop: false,
228
+ slideshow: false,
229
+ itemWidth: 210,
230
+ itemMargin: 5,
231
+ asNavFor: '#slider'
232
+ });
233
+
234
+ $('#slider').flexslider({
235
+ animation: "slide",
236
+ controlNav: false,
237
+ animationLoop: false,
238
+ slideshow: false,
239
+ sync: "#carousel"
240
+ });
241
+ });
242
+ </script>
243
+ <div style="width: 500; margin: auto">
244
+ <div id="slider" class="flexslider" style="margin:auto">
245
+ <ul class="slides">
246
+ <li>
247
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_cheesecake_brownie.jpg') ?>" />
248
+ </li>
249
+ <li>
250
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_lemon.jpg') ?>" />
251
+ </li>
252
+ <li>
253
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_donut.jpg') ?>" />
254
+ </li>
255
+ <li>
256
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_caramel.jpg') ?>" />
257
+ </li>
258
+ <!-- items mirrored twice, total of 12 -->
259
+ </ul>
260
+ </div>
261
+ <div id="carousel" class="flexslider" style="margin:auto">
262
+ <ul class="slides">
263
+
264
+ <li>
265
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_cheesecake_brownie.jpg') ?>" />
266
+ </li>
267
+ <li>
268
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_lemon.jpg') ?>" />
269
+ </li>
270
+ <li>
271
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_donut.jpg') ?>" />
272
+ </li>
273
+ <li>
274
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_caramel.jpg') ?>" />
275
+ </li>
276
+ <!-- items mirrored twice, total of 12 -->
277
+ </ul>
278
+ </div>
279
+ </div>
280
+ <?php
281
+ break;
282
+ //Modern slide-in
283
+ case 8:
284
+ ?>
285
+ <script type="text/javascript">
286
+ window.resizeTo(900, 300);
287
+ $(window).load(function() {
288
+ $('.flexslider').flexslider({
289
+ animation: "slide",
290
+ animationLoop: false,
291
+ itemWidth: 210,
292
+ itemMargin: 5,
293
+ minItems: 2,
294
+ maxItems: 4
295
+ });
296
+ });
297
+ </script>
298
+ <div style="width: 500; margin: auto">
299
+ <div class="flexslider" style="margin:auto">
300
+ <ul class="slides">
301
+ <li>
302
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_cheesecake_brownie.jpg') ?>" />
303
+ </li>
304
+ <li>
305
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_lemon.jpg') ?>" />
306
+ </li>
307
+ <li>
308
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_donut.jpg') ?>" />
309
+ </li>
310
+ <li>
311
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_caramel.jpg') ?>" />
312
+ </li>
313
+ <!-- items mirrored twice, total of 12 -->
314
+ </ul>
315
+ </div>
316
+ </div>
317
+ <?php
318
+ break;
319
+ ?>
320
+ <?php case 9: ?>
321
+ <link rel="stylesheet" type="text/css" href="<?php echo $this->getJsUrl('magestore/bannerslider/jquery.ads.note.css') ?>">
322
+ <link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl('css/magestore/bannerslider/slider3.css') ?>" />
323
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('magestore/bannerslider/jquery.ads.note.js') ?>"></script>
324
+ <script type="text/javascript">
325
+ jQuery(document).ready(function($) {
326
+ // khai báo note
327
+ $("#ads-note1").adsNote({
328
+ bgcolor:"#83ba00", //23b8ff
329
+ position:"top-left"
330
+ });
331
+ $("#ads-note2").adsNote({
332
+ bgcolor:"#f7d700",
333
+ position:"top-right"
334
+ });
335
+ $("#ads-note3").adsNote({
336
+ bgcolor:"#dd0707",
337
+ position:"middle-top"
338
+ });
339
+ $("#ads-note4").adsNote({
340
+ bgcolor:"#ee5f00",
341
+ position:"middle-left"
342
+ });
343
+ $("#ads-note5").adsNote({
344
+ bgcolor:"#999",
345
+ position:"middle-right"
346
+ });
347
+ $("#ads-note6").adsNote({
348
+ bgcolor:"#23b8ff",
349
+ position:"bottom-left"
350
+ });
351
+ $("#ads-note7").adsNote({
352
+ bgcolor:"#ee5f00",
353
+ position:"middle-bottom"
354
+ });
355
+ $("#ads-note8").adsNote({
356
+ bgcolor:"#dd0707",
357
+ position:"bottom-right"
358
+ });
359
+
360
+ //khai báo slide
361
+ $(".slider1").slideshow({
362
+ width : 300,
363
+ height : 200,
364
+ transition : 'squarerandom'
365
+ });
366
+ $(".slider2").slideshow({
367
+ width : 300,
368
+ height : 200,
369
+ transition : 'squarerandom'
370
+ });
371
+ $(".slider3").slideshow({
372
+ width : 300,
373
+ height : 200,
374
+ transition : 'squarerandom'
375
+ });
376
+ $(".slider4").slideshow({
377
+ width : 300,
378
+ height : 200,
379
+ transition : 'squarerandom'
380
+ });
381
+ $(".slider5").slideshow({
382
+ width : 300,
383
+ height : 200,
384
+ transition : 'squarerandom'
385
+ });
386
+ $(".slider6").slideshow({
387
+ width : 300,
388
+ height : 200,
389
+ transition : 'squarerandom'
390
+ });
391
+ $(".slider7").slideshow({
392
+ width : 300,
393
+ height : 200,
394
+ transition : 'squarerandom'
395
+ });
396
+ $(".slider8").slideshow({
397
+ width : 300,
398
+ height : 200,
399
+ transition : 'squarerandom'
400
+ });
401
+ });
402
+ </script>
403
+ <div id="ads-note1" class="ads-note">
404
+ <div class="ads-note-box" >
405
+ <div class="ads-note-content">
406
+ <div class="ads-note-content-text">
407
+ Text color <strong><span style="color: #83ba00;">Green</span></strong>
408
+ </div>
409
+ <div class="ads-note-content-img">
410
+ <div class="slider1">
411
+ <div>
412
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_cheesecake_brownie.jpg') ?>" width="300px" height="200px" />
413
+ </div>
414
+
415
+ <div>
416
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_lemon.jpg') ?>" width="300px" height="200px" />
417
+ </div>
418
+
419
+ <div>
420
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_donut.jpg') ?>" width="300px" height="200px" />
421
+ </div>
422
+ <div>
423
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_caramel.jpg') ?>" width="300px" height="200px" />
424
+ </div>
425
+ </div>
426
+ </div>
427
+ </div>
428
+ </div>
429
+ </div>
430
+ <div id="ads-note2">
431
+ <div class="ads-note-box">
432
+ <div class="ads-note-content">
433
+ <div class="ads-note-content-text">
434
+ Text color <strong><span style="color: #83ba00;">Green</span></strong>
435
+ </div>
436
+ <div class="ads-note-content-img">
437
+ <!--Nội dung ảnh -->
438
+ <div class="slider2" style="margin:auto">
439
+ <div>
440
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_cheesecake_brownie.jpg') ?>" width="300px" height="200px" />
441
+ </div>
442
+
443
+ <div>
444
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_lemon.jpg') ?>" width="300px" height="200px" />
445
+ </div>
446
+
447
+ <div>
448
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_donut.jpg') ?>" width="300px" height="200px" />
449
+ </div>
450
+ <div>
451
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_caramel.jpg') ?>" width="300px" height="200px" />
452
+ </div>
453
+ </div>
454
+
455
+ </div>
456
+ </div>
457
+ </div>
458
+ </div>
459
+ <div id="ads-note3" class="ads-note">
460
+ <div class="ads-note-box" >
461
+ <div class="ads-note-content">
462
+ <div class="ads-note-content-text">
463
+ Text color <strong><span style="color: #83ba00;">Green</span></strong>
464
+ </div>
465
+ <div class="ads-note-content-img">
466
+ <div class="slider3" style="margin:auto">
467
+ <div>
468
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_cheesecake_brownie.jpg') ?>" width="300px" height="200px" />
469
+ </div>
470
+
471
+ <div>
472
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_lemon.jpg') ?>" width="300px" height="200px" />
473
+ </div>
474
+
475
+ <div>
476
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_donut.jpg') ?>" width="300px" height="200px" />
477
+ </div>
478
+ <div>
479
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_caramel.jpg') ?>" width="300px" height="200px" />
480
+ </div>
481
+ </div>
482
+ </div>
483
+ </div>
484
+ </div>
485
+ </div>
486
+ <div id="ads-note4" class="ads-note">
487
+ <div class="ads-note-box" >
488
+ <div class="ads-note-content">
489
+ <div class="ads-note-content-text">
490
+ Text color <strong><span style="color: #83ba00;">Green</span></strong>
491
+ </div>
492
+ <div class="ads-note-content-img">
493
+ <div class="slider4" style="margin:auto">
494
+ <div>
495
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_cheesecake_brownie.jpg') ?>" width="300px" height="200px" />
496
+ </div>
497
+
498
+ <div>
499
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_lemon.jpg') ?>" width="300px" height="200px" />
500
+ </div>
501
+
502
+ <div>
503
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_donut.jpg') ?>" width="300px" height="200px" />
504
+ </div>
505
+ <div>
506
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_caramel.jpg') ?>" width="300px" height="200px" />
507
+ </div>
508
+ </div>
509
+ </div>
510
+ </div>
511
+ </div>
512
+ </div>
513
+ <div id="ads-note5" class="ads-note">
514
+ <div class="ads-note-box" >
515
+ <div class="ads-note-content">
516
+ <div class="ads-note-content-text">
517
+ Text color <strong><span style="color: #83ba00;">Green</span></strong>
518
+ </div>
519
+ <div class="ads-note-content-img">
520
+ <div class="slider5" style="margin:auto">
521
+ <div>
522
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_cheesecake_brownie.jpg') ?>" width="300px" height="200px" />
523
+ </div>
524
+
525
+ <div>
526
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_lemon.jpg') ?>" width="300px" height="200px" />
527
+ </div>
528
+
529
+ <div>
530
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_donut.jpg') ?>" width="300px" height="200px" />
531
+ </div>
532
+ <div>
533
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_caramel.jpg') ?>" width="300px" height="200px" />
534
+ </div>
535
+ </div>
536
+ </div>
537
+ </div>
538
+ </div>
539
+ </div>
540
+ <div id="ads-note6" class="ads-note">
541
+ <div class="ads-note-box" >
542
+ <div class="ads-note-content">
543
+ <div class="ads-note-content-text">
544
+ Text color <strong><span style="color: #83ba00;">Green</span></strong>
545
+ </div>
546
+ <div class="ads-note-content-img">
547
+ <div>
548
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_cheesecake_brownie.jpg') ?>" width="300px" height="200px" />
549
+ </div>
550
+
551
+ <div>
552
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_lemon.jpg') ?>" width="300px" height="200px" />
553
+ </div>
554
+
555
+ <div>
556
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_donut.jpg') ?>" width="300px" height="200px" />
557
+ </div>
558
+ <div>
559
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_caramel.jpg') ?>" width="300px" height="200px" />
560
+ </div>
561
+ </div>
562
+ </div>
563
+ </div>
564
+ </div>
565
+ </div>
566
+ <div id="ads-note7" class="ads-note">
567
+ <div class="ads-note-box" >
568
+ <div class="ads-note-content">
569
+ <div class="ads-note-content-text">
570
+ Text color <strong><span style="color: #83ba00;">Green</span></strong>
571
+ </div>
572
+ <div class="ads-note-content-img">
573
+ <div class="slider7" style="margin:auto">
574
+ <div>
575
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_cheesecake_brownie.jpg') ?>" width="300px" height="200px" />
576
+ </div>
577
+
578
+ <div>
579
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_lemon.jpg') ?>" width="300px" height="200px" />
580
+ </div>
581
+
582
+ <div>
583
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_donut.jpg') ?>" width="300px" height="200px" />
584
+ </div>
585
+ <div>
586
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_caramel.jpg') ?>" width="300px" height="200px" />
587
+ </div>
588
+ </div>
589
+ </div>
590
+ </div>
591
+ </div>
592
+ </div>
593
+ <div id="ads-note8" class="ads-note">
594
+ <div class="ads-note-box" >
595
+ <div class="ads-note-content">
596
+ <div class="ads-note-content-text">
597
+ Nội dung text
598
+ </div>
599
+ <div class="ads-note-content-img">
600
+ <div class="slider8" style="margin:auto">
601
+ <div>
602
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_cheesecake_brownie.jpg') ?>" width="300px" height="200px" />
603
+ </div>
604
+
605
+ <div>
606
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_lemon.jpg') ?>" width="300px" height="200px" />
607
+ </div>
608
+
609
+ <div>
610
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_donut.jpg') ?>" width="300px" height="200px" />
611
+ </div>
612
+ <div>
613
+ <img src="<?php echo $this->getSkinUrl('css/magestore/bannerslider/image/demo/kitchen_adventurer_caramel.jpg') ?>" width="300px" height="200px" />
614
+ </div>
615
+ </div>
616
+ </div>
617
+ </div>
618
+ </div>
619
+ </div>
620
+ <?php break; ?>
621
+ <?php
622
+ }
623
+ ?>
app/design/adminhtml/default/default/template/bannerslider/vssver2.scc ADDED
Binary file
app/design/adminhtml/default/default/template/magenotification/feedback/files.phtml ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ ?>
4
+ <div id="feedback_files">
5
+ <input type="file" class="input-file" value="" name="file0" id="file0" >
6
+ <button onclick="magenotificationAddMoreFile();" class="scalable add" type="button">
7
+ <span><?php echo $this->__('Add More')?></span>
8
+ </button>
9
+ </div>
10
+ <script type="text/javascript">
11
+ var currentfile = 0;
12
+ function magenotificationAddMoreFile(){
13
+ currentfile++;
14
+ var inputFile = '<br/><input type="file" class="input-file" value="" name="file'+currentfile+'" id="file'+currentfile+'">';
15
+ $('feedback_files').insert(inputFile);
16
+ }
17
+ </script>
app/design/adminhtml/default/default/template/magenotification/feedback/history.phtml ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php $messages = $this->getMessages() ?>
2
+ <?php if(count($messages)): ?>
3
+ <?php foreach($messages as $message): ?>
4
+ <?php if((int)$message->getIsCustomer() == 1): ?>
5
+ <br/>
6
+ <?php if((int)$message->getIsSent() == 1): ?>
7
+ <span class="grid-severity-notice" style="width: 150px;">
8
+ <span><?php echo $this->__('Sent to').' '.Magestore_Magenotification_Model_Keygen::SERVER_NAME?></span>
9
+ </span>
10
+ <?php else: ?>
11
+ <table><tr><td width="170">
12
+ <span class="grid-severity-critical" style="width: 150px;"><span><?php echo $this->__('Not Sent')?></span></span>
13
+ </td><td>
14
+ <a href='<?php echo $this->getUrl('magenotification/adminhtml_feedback/resendmessage',array('id'=>$message->getId(),'feedback_id'=>$this->getFeedback()->getId(),'_secure'=>true)) ?>' >
15
+ <?php echo $this->__('Resend')?>
16
+ </a>
17
+ </td></tr></table>
18
+ <?php endif; ?>
19
+ <?php endif; ?>
20
+ <?php echo $this->getMessageTitle($message) ?>
21
+ <br/>
22
+ <pre><?php echo $message->getMessage() ?></pre>
23
+ <br/>
24
+ <?php if($attachedfiles = $message->getAttachedFile()): ?>
25
+ <b><?php echo $this->__('Attached Files')?></b>
26
+ <?php echo $attachedfiles ?>
27
+ <?php endif; ?>
28
+ <br/>
29
+ <hr style="border: 1px dashed rgb(204, 204, 204);"/>
30
+ <?php endforeach; ?>
31
+ <?php endif; ?>
app/design/adminhtml/default/default/template/magenotification/license/purchaseform.phtml ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ ?>
4
+
5
+ <button style="margin-top:5px;" onclick="location.href='<?php echo $this->getPurchaseUrl() ?>'" class="scalable add" type="button" >
6
+ <span><?php echo $this->__('Purchase now')?></span>
7
+ </button><br/><br/>
app/design/adminhtml/default/default/template/magenotification/license/updateform.phtml ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ ?>
4
+ <table width="300">
5
+ <tr>
6
+ <td colspan="2">
7
+ <?php echo $this->__('Upgrade License to')?><br/>
8
+ <select style="margin:5px 0 5px 0;"class="input-text" name="<?php echo $this->getExtensionName() ?>_licensetype" id="<?php echo $this->getExtensionName() ?>_licensetype">
9
+ <?php foreach($this->getLicenseTypeOption() as $key=>$label): ?>
10
+ <option value="<?php echo $key?>"><?php echo $label?></option>
11
+ <?php endforeach; ?>
12
+ </select>
13
+ </td>
14
+ </tr>
15
+ <tr>
16
+ <td>
17
+ <button style="" onclick="updateLicenseViewPrice('<?php echo $this->getLicensekey() ?>','<?php echo $this->getExtensionName() ?>_licensetype')" class="scalable" type="button" >
18
+ <span><?php echo $this->__('View Price')?></span>
19
+ </button>
20
+ </td>
21
+ <td>
22
+ <button style="" onclick="updateLicensePurchase('<?php echo $this->getLicensekey() ?>','<?php echo $this->getExtensionName() ?>_licensetype')" class="scalable add" type="button" >
23
+ <span><?php echo $this->__('Upgrade Now')?></span>
24
+ </button>
25
+ </td>
26
+ </tr>
27
+ </table><br/>
28
+
29
+ <script type="text/javascript">
30
+ function updateLicenseViewPrice(licensekey,licensetype_selector){
31
+ var licensetype = $(licensetype_selector).value;
32
+ var url = '<?php echo $this->getViewPriceUrl()?>'+'licensekey/'+licensekey+'/licensetype/'+licensetype;
33
+ TINY.box.show(url, 1, 300, 100, 1);
34
+ }
35
+
36
+ function updateLicensePurchase(licensekey,licensetype_selector){
37
+ var licensetype = $(licensetype_selector).value;
38
+ var url = '<?php echo $this->getUpdateUrl()?>'+'licensekey/'+licensekey+'/licensetype/'+licensetype;
39
+ location.href=url;
40
+ }
41
+ </script>
app/design/frontend/base/default/layout/bannerslider.xml CHANGED
@@ -1,21 +1,844 @@
1
  <?xml version="1.0"?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  <layout version="0.1.0">
3
- <!--
4
- <catalog_category_default>
5
- <reference name="category.products">
6
- <action method="setTemplate"><template>bannerslider/view.phtml</template></action>
7
- <block type="bannerslider/bannerslider" name="bannerslider" template="bannerslider/bannerslider.phtml">
8
- <action method="setDisplay"><display>1</display></action>
9
- </block>
10
- </reference>
11
- </catalog_category_default>
12
- <catalog_category_layered>
13
- <reference name="category.products">
14
- <action method="setTemplate"><template>bannerslider/view.phtml</template></action>
15
- <block type="bannerslider/bannerslider" name="bannerslider" template="bannerslider/bannerslider.phtml">
16
- <action method="setDisplay"><display>1</display></action>
17
- </block>
18
- </reference>
19
- </catalog_category_layered>
20
- -->
21
- </layout>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Magestore
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Magestore.com license that is
9
+ * available through the world-wide-web at this URL:
10
+ * http://www.magestore.com/license-agreement.html
11
+ *
12
+ * DISCLAIMER
13
+ *
14
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
15
+ * version in the future.
16
+ *
17
+ * @category Magestore
18
+ * @package Magestore_Bannerslider
19
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
20
+ * @license http://www.magestore.com/license-agreement.html
21
+ */
22
+ -->
23
  <layout version="0.1.0">
24
+
25
+ <default>
26
+ <!-- update layout for all frontend page -->
27
+ <reference name="head">
28
+ <action method="addCss">
29
+ <stylesheet>css/magestore/bannerslider/popup.css</stylesheet>
30
+ </action>
31
+ <action method="addJs"><script>magestore/bannerslider/lightbox.js</script></action>
32
+ </reference>
33
+ <reference name="right">
34
+ <block type="bannerslider/bannerslider" name="sidebar.right.top" before="-">
35
+ <action method="setBlockPosition">
36
+ <block_position>sidebar-right-top</block_position>
37
+ </action>
38
+ </block>
39
+ <block type="bannerslider/bannerslider" name="sidebar.right.bottom">
40
+ <action method="setBlockPosition">
41
+ <block_position>sidebar-right-bottom</block_position>
42
+ </action>
43
+ </block>
44
+ </reference>
45
+ <reference name="left">
46
+ <block type="bannerslider/bannerslider" name="sidebar.left.top" before="-">
47
+ <action method="setBlockPosition">
48
+ <block_position>sidebar-left-top</block_position>
49
+ </action>
50
+ </block>
51
+ <block type="bannerslider/bannerslider" name="sidebar.left.bottom">
52
+ <action method="setBlockPosition">
53
+ <block_position>sidebar-left-bottom</block_position>
54
+ </action>
55
+ </block>
56
+ </reference>
57
+ <reference name="content">
58
+ <block type="bannerslider/bannerslider" name="content.top" before="-">
59
+ <action method="setBlockPosition">
60
+ <block_position>content-top</block_position>
61
+ </action>
62
+ <action method="setBlocknotePosition">
63
+ <blocknote_position>note-allsite</blocknote_position>
64
+ </action>
65
+ </block>
66
+ </reference>
67
+ <reference name="top.menu">
68
+ <block type="bannerslider/bannerslider" name="menu.top" before="-">
69
+ <action method="setBlockPosition">
70
+ <block_position>menu-top</block_position>
71
+ </action>
72
+ </block>
73
+ <block type="bannerslider/bannerslider" name="menu.bottom">
74
+ <action method="setBlockPosition">
75
+ <block_position>menu-bottom</block_position>
76
+ </action>
77
+ </block>
78
+ </reference>
79
+ <reference name="before_body_end" >
80
+ <block type="bannerslider/bannerslider" name="page.bottom" >
81
+ <action method="setBlockPosition">
82
+ <block_position>page-bottom</block_position>
83
+ </action>
84
+ </block>
85
+ </reference>
86
+ </default>
87
+ <!-- homepage -->
88
+ <cms_index_index>
89
+ <reference name="content">
90
+ <block type="bannerslider/bannerslider" name="cms.page.content.top" before="-">
91
+ <action method="setBlockPosition">
92
+ <block_position>cms-page-content-top</block_position>
93
+ </action>
94
+ <action method="setPopupPosition">
95
+ <popup_position>pop-up</popup_position>
96
+ </action>
97
+ </block>
98
+ </reference>
99
+ </cms_index_index>
100
+ <!-- end homepage -->
101
+
102
+ <!-- customer -->
103
+ <customer_account>
104
+ <!-- <reference name="customer_account_navigation">
105
+ <block type="banner/client" name="banner" >
106
+ <action method="addAffiliateLink"/>
107
+ </block>
108
+ </reference> -->
109
+ <reference name="content">
110
+ <action method="unsetChild">
111
+ <name>content.top</name>
112
+ </action>
113
+ </reference>
114
+ <reference name="left">
115
+ <action method="unsetChild">
116
+ <name>sidebar.left.bottom</name>
117
+ </action>
118
+ </reference>
119
+ <reference name="content">
120
+ <block type="bannerslider/bannerslider" name="content.top" before="-">
121
+ <action method="setBlockPosition">
122
+ <block_position>customer-content-top</block_position>
123
+ </action>
124
+ </block>
125
+ </reference>
126
+ <reference name="left">
127
+ <block type="bannerslider/bannerslider" name="sidebar.left.bottom">
128
+ <action method="setBlockPosition">
129
+ <block_position>sidebar-left-bottom</block_position>
130
+ </action>
131
+ </block>
132
+ </reference>
133
+ </customer_account>
134
+ <customer_address_index>
135
+ <reference name="content">
136
+ <action method="unsetChild">
137
+ <name>content.top</name>
138
+ </action>
139
+ <block type="bannerslider/bannerslider" name="content.top" before="-">
140
+ <action method="setBlockPosition">
141
+ <block_position>customer-content-top</block_position>
142
+ </action>
143
+ </block>
144
+ </reference>
145
+ </customer_address_index>
146
+ <!-- end customer -->
147
+
148
+ <!-- catalog -->
149
+ <catalog_product_view>
150
+ <reference name="right">
151
+ <action method="unsetChild">
152
+ <name>sidebar.right.top</name>
153
+ </action>
154
+ <action method="unsetChild">
155
+ <name>sidebar.right.bottom</name>
156
+ </action>
157
+ </reference>
158
+ <reference name="right">
159
+ <block type="bannerslider/bannerslider" name="sidebar.right.top" before="-">
160
+ <action method="setBlockPosition">
161
+ <block_position>sidebar-right-top</block_position>
162
+ </action>
163
+ </block>
164
+ <block type="bannerslider/bannerslider" name="sidebar.right.bottom">
165
+ <action method="setBlockPosition">
166
+ <block_position>sidebar-right-bottom</block_position>
167
+ </action>
168
+ </block>
169
+ </reference>
170
+ </catalog_product_view>
171
+ <catalog_category_default>
172
+ <reference name="right">
173
+ <block type="bannerslider/bannerslider" name="catalog.sidebar.right.top" before="-">
174
+ <action method="setBlockPosition">
175
+ <block_position>catalog-sidebar-right-top</block_position>
176
+ </action>
177
+ <action method="setCateBlockPosition">
178
+ <cateblock_position>category-sidebar-right-top</cateblock_position>
179
+ </action>
180
+ </block>
181
+ <block type="bannerslider/bannerslider" name="catalog.sidebar.right.bottom">
182
+ <action method="setBlockPosition">
183
+ <block_position>catalog-sidebar-right-bottom</block_position>
184
+ </action>
185
+ <action method="setCateBlockPosition">
186
+ <cateblock_position>category-sidebar-right-bottom</cateblock_position>
187
+ </action>
188
+ </block>
189
+ </reference>
190
+ <reference name="left">
191
+ <block type="bannerslider/bannerslider" name="catalog.sidebar.left.top" before="-">
192
+ <action method="setBlockPosition">
193
+ <block_position>catalog-sidebar-left-top</block_position>
194
+ </action>
195
+ <action method="setCateBlockPosition">
196
+ <cateblock_position>category-sidebar-left-top</cateblock_position>
197
+ </action>
198
+ </block>
199
+ <block type="bannerslider/bannerslider" name="catalog.sidebar.left.bottom">
200
+ <action method="setBlockPosition">
201
+ <block_position>catalog-sidebar-left-bottom</block_position>
202
+ </action>
203
+ <action method="setCateBlockPosition">
204
+ <cateblock_position>category-sidebar-left-bottom</cateblock_position>
205
+ </action>
206
+ </block>
207
+ </reference>
208
+ <reference name="content">
209
+ <block type="bannerslider/bannerslider" name="catalog.content.top" before="-">
210
+ <action method="setBlockPosition">
211
+ <block_position>catalog-content-top</block_position>
212
+ </action>
213
+ <action method="setCateBlockPosition">
214
+ <cateblock_position>category-content-top</cateblock_position>
215
+ </action>
216
+ </block>
217
+ </reference>
218
+ <reference name="top.menu">
219
+ <block type="bannerslider/bannerslider" name="catalog.menu.top" before="-">
220
+ <action method="setBlockPosition">
221
+ <block_position>catalog-menu-top</block_position>
222
+ </action>
223
+ <action method="setCateBlockPosition">
224
+ <cateblock_position>category-menu-top</cateblock_position>
225
+ </action>
226
+ </block>
227
+ <block type="bannerslider/bannerslider" name="catalog.menu.bottom">
228
+ <action method="setBlockPosition">
229
+ <block_position>catalog-menu-bottom</block_position>
230
+ </action>
231
+ <action method="setCateBlockPosition">
232
+ <cateblock_position>category-menu-bottom</cateblock_position>
233
+ </action>
234
+ </block>
235
+ </reference>
236
+ <reference name="before_body_end" >
237
+ <block type="bannerslider/bannerslider" name="catalog.page.bottom" >
238
+ <action method="setBlockPosition">
239
+ <block_position>catalog-page-bottom</block_position>
240
+ </action>
241
+ <action method="setCateBlockPosition">
242
+ <cateblock_position>category-page-bottom</cateblock_position>
243
+ </action>
244
+ </block>
245
+ </reference>
246
+ </catalog_category_default>
247
+ <catalog_category_layered>
248
+ <reference name="right">
249
+ <block type="bannerslider/bannerslider" name="catalog.sidebar.right.top" before="-">
250
+ <action method="setBlockPosition">
251
+ <block_position>catalog-sidebar-right-top</block_position>
252
+ </action>
253
+ <action method="setCateBlockPosition">
254
+ <cateblock_position>category-sidebar-right-top</cateblock_position>
255
+ </action>
256
+ </block>
257
+ <block type="bannerslider/bannerslider" name="catalog.sidebar.right.bottom">
258
+ <action method="setBlockPosition">
259
+ <block_position>catalog-sidebar-right-bottom</block_position>
260
+ </action>
261
+ <action method="setCateBlockPosition">
262
+ <cateblock_position>category-sidebar-right-bottom</cateblock_position>
263
+ </action>
264
+ </block>
265
+ </reference>
266
+ <reference name="left">
267
+ <block type="bannerslider/bannerslider" name="catalog.sidebar.left.top" before="-">
268
+ <action method="setBlockPosition">
269
+ <block_position>catalog-sidebar-left-top</block_position>
270
+ </action>
271
+ <action method="setCateBlockPosition">
272
+ <cateblock_position>category-sidebar-left-top</cateblock_position>
273
+ </action>
274
+ </block>
275
+ <block type="bannerslider/bannerslider" name="catalog.sidebar.left.bottom">
276
+ <action method="setBlockPosition">
277
+ <block_position>catalog-sidebar-left-bottom</block_position>
278
+ </action>
279
+ <action method="setCateBlockPosition">
280
+ <cateblock_position>category-sidebar-left-bottom</cateblock_position>
281
+ </action>
282
+ </block>
283
+ </reference>
284
+ <reference name="content">
285
+ <block type="bannerslider/bannerslider" name="catalog.content.top" before="-">
286
+ <action method="setBlockPosition">
287
+ <block_position>catalog-content-top</block_position>
288
+ </action>
289
+ <action method="setCateBlockPosition">
290
+ <cateblock_position>category-content-top</cateblock_position>
291
+ </action>
292
+ </block>
293
+ </reference>
294
+ <reference name="top.menu">
295
+ <block type="bannerslider/bannerslider" name="catalog.menu.top" before="-">
296
+ <action method="setBlockPosition">
297
+ <block_position>catalog-menu-top</block_position>
298
+ </action>
299
+ <action method="setCateBlockPosition">
300
+ <cateblock_position>category-menu-top</cateblock_position>
301
+ </action>
302
+ </block>
303
+ <block type="bannerslider/bannerslider" name="catalog.menu.bottom">
304
+ <action method="setBlockPosition">
305
+ <block_position>catalog-menu-bottom</block_position>
306
+ </action>
307
+ <action method="setCateBlockPosition">
308
+ <cateblock_position>category-menu-bottom</cateblock_position>
309
+ </action>
310
+ </block>
311
+ </reference>
312
+ <reference name="before_body_end" >
313
+ <block type="bannerslider/bannerslider" name="catalog.page.bottom" >
314
+ <action method="setBlockPosition">
315
+ <block_position>catalog-page-bottom</block_position>
316
+ </action>
317
+ <action method="setCateBlockPosition">
318
+ <cateblock_position>category-page-bottom</cateblock_position>
319
+ </action>
320
+ </block>
321
+ </reference>
322
+ </catalog_category_layered>
323
+ <catalog_product_view>
324
+ <reference name="right">
325
+ <block type="bannerslider/bannerslider" name="catalog.sidebar.right.top" before="-">
326
+ <action method="setBlockPosition">
327
+ <block_position>catalog-sidebar-right-top</block_position>
328
+ </action>
329
+ </block>
330
+ <block type="bannerslider/bannerslider" name="catalog.sidebar.right.bottom">
331
+ <action method="setBlockPosition">
332
+ <block_position>catalog-sidebar-right-bottom</block_position>
333
+ </action>
334
+ </block>
335
+ </reference>
336
+ <reference name="left">
337
+ <block type="bannerslider/bannerslider" name="catalog.sidebar.left.top" before="-">
338
+ <action method="setBlockPosition">
339
+ <block_position>catalog-sidebar-left-top</block_position>
340
+ </action>
341
+ </block>
342
+ <block type="bannerslider/bannerslider" name="catalog.sidebar.left.bottom">
343
+ <action method="setBlockPosition">
344
+ <block_position>catalog-sidebar-left-bottom</block_position>
345
+ </action>
346
+ </block>
347
+ </reference>
348
+ <reference name="content">
349
+ <block type="bannerslider/bannerslider" name="catalog.content.top" before="-">
350
+ <action method="setBlockPosition">
351
+ <block_position>catalog-content-top</block_position>
352
+ </action>
353
+ </block>
354
+ </reference>
355
+ <reference name="top.menu">
356
+ <block type="bannerslider/bannerslider" name="catalog.menu.top" before="-">
357
+ <action method="setBlockPosition">
358
+ <block_position>catalog-menu-top</block_position>
359
+ </action>
360
+ </block>
361
+ <block type="bannerslider/bannerslider" name="catalog.menu.bottom">
362
+ <action method="setBlockPosition">
363
+ <block_position>catalog-menu-bottom</block_position>
364
+ </action>
365
+ </block>
366
+ </reference>
367
+ <reference name="before_body_end" >
368
+ <block type="bannerslider/bannerslider" name="catalog.page.bottom" >
369
+ <action method="setBlockPosition">
370
+ <block_position>catalog-page-bottom</block_position>
371
+ </action>
372
+ </block>
373
+ </reference>
374
+ <reference name="right">
375
+ <block type="bannerslider/bannerslider" name="product.sidebar.right.top" before="-">
376
+ <action method="setBlockPosition">
377
+ <block_position>product-sidebar-right-top</block_position>
378
+ </action>
379
+ </block>
380
+ <block type="bannerslider/bannerslider" name="product.sidebar.right.bottom">
381
+ <action method="setBlockPosition">
382
+ <block_position>product-sidebar-right-bottom</block_position>
383
+ </action>
384
+ </block>
385
+ </reference>
386
+ <reference name="left">
387
+ <block type="bannerslider/bannerslider" name="product.sidebar.left.top" before="-">
388
+ <action method="setBlockPosition">
389
+ <block_position>product-sidebar-left-top</block_position>
390
+ </action>
391
+ </block>
392
+ <block type="bannerslider/bannerslider" name="product.sidebar.left.bottom">
393
+ <action method="setBlockPosition">
394
+ <block_position>product-sidebar-left-bottom</block_position>
395
+ </action>
396
+ </block>
397
+ </reference>
398
+ <reference name="content">
399
+ <block type="bannerslider/bannerslider" name="product.content.top" before="-">
400
+ <action method="setBlockPosition">
401
+ <block_position>product-content-top</block_position>
402
+ </action>
403
+ </block>
404
+ </reference>
405
+ <reference name="top.menu">
406
+ <block type="bannerslider/bannerslider" name="product.menu.top" before="-">
407
+ <action method="setBlockPosition">
408
+ <block_position>product-menu-top</block_position>
409
+ </action>
410
+ </block>
411
+ <block type="bannerslider/bannerslider" name="product.menu.bottom">
412
+ <action method="setBlockPosition">
413
+ <block_position>product-menu-bottom</block_position>
414
+ </action>
415
+ </block>
416
+ </reference>
417
+ <reference name="before_body_end" >
418
+ <block type="bannerslider/bannerslider" name="product.page.bottom" >
419
+ <action method="setBlockPosition">
420
+ <block_position>product-page-bottom</block_position>
421
+ </action>
422
+ </block>
423
+ </reference>
424
+ </catalog_product_view>
425
+ <!-- end catalog -->
426
+
427
+ <!-- checkout -->
428
+ <checkout_cart_index>
429
+ <reference name="content">
430
+ <action method="unsetChild">
431
+ <name>content.top</name>
432
+ </action>
433
+ </reference>
434
+ <reference name="content">
435
+ <block type="bannerslider/bannerslider" name="content.top" before="-">
436
+ <action method="setBlockPosition">
437
+ <block_position>cart-content-top</block_position>
438
+ </action>
439
+ </block>
440
+ </reference>
441
+ </checkout_cart_index>
442
+ <checkout_multishipping>
443
+ <reference name="content">
444
+ <action method="unsetChild">
445
+ <name>content.top</name>
446
+ </action>
447
+ </reference>
448
+ <reference name="content">
449
+ <block type="bannerslider/bannerslider" name="content.top" before="-">
450
+ <action method="setBlockPosition">
451
+ <block_position>checkout-content-top</block_position>
452
+ </action>
453
+ </block>
454
+ </reference>
455
+ </checkout_multishipping>
456
+ <checkout_multishipping_login>
457
+ <reference name="content">
458
+ <action method="unsetChild">
459
+ <name>content.top</name>
460
+ </action>
461
+ </reference>
462
+ <reference name="content">
463
+ <block type="bannerslider/bannerslider" name="content.top" before="-">
464
+ <action method="setBlockPosition">
465
+ <block_position>checkout-content-top</block_position>
466
+ </action>
467
+ </block>
468
+ </reference>
469
+ </checkout_multishipping_login>
470
+ <checkout_multishipping_register>
471
+ <reference name="content">
472
+ <action method="unsetChild">
473
+ <name>content.top</name>
474
+ </action>
475
+ </reference>
476
+ <reference name="content">
477
+ <block type="bannerslider/bannerslider" name="content.top" before="-">
478
+ <action method="setBlockPosition">
479
+ <block_position>checkout-content-top</block_position>
480
+ </action>
481
+ </block>
482
+ </reference>
483
+ </checkout_multishipping_register>
484
+ <checkout_multishipping_address_select>
485
+ <reference name="content">
486
+ <action method="unsetChild">
487
+ <name>content.top</name>
488
+ </action>
489
+ </reference>
490
+ <reference name="content">
491
+ <block type="bannerslider/bannerslider" name="content.top" before="-">
492
+ <action method="setBlockPosition">
493
+ <block_position>checkout-content-top</block_position>
494
+ </action>
495
+ </block>
496
+ </reference>
497
+ </checkout_multishipping_address_select>
498
+ <checkout_multishipping_address_selectbilling>
499
+ <reference name="content">
500
+ <action method="unsetChild">
501
+ <name>content.top</name>
502
+ </action>
503
+ </reference>
504
+ <reference name="content">
505
+ <block type="bannerslider/bannerslider" name="content.top" before="-">
506
+ <action method="setBlockPosition">
507
+ <block_position>checkout-content-top</block_position>
508
+ </action>
509
+ </block>
510
+ </reference>
511
+ </checkout_multishipping_address_selectbilling>
512
+ <checkout_multishipping_address_newshipping>
513
+ <reference name="content">
514
+ <action method="unsetChild">
515
+ <name>content.top</name>
516
+ </action>
517
+ </reference>
518
+ <reference name="content">
519
+ <block type="bannerslider/bannerslider" name="content.top" before="-">
520
+ <action method="setBlockPosition">
521
+ <block_position>checkout-content-top</block_position>
522
+ </action>
523
+ </block>
524
+ </reference>
525
+ </checkout_multishipping_address_newshipping>
526
+ <checkout_multishipping_address_newbilling>
527
+ <reference name="content">
528
+ <action method="unsetChild">
529
+ <name>content.top</name>
530
+ </action>
531
+ </reference>
532
+ <reference name="content">
533
+ <block type="bannerslider/bannerslider" name="content.top" before="-">
534
+ <action method="setBlockPosition">
535
+ <block_position>checkout-content-top</block_position>
536
+ </action>
537
+ </block>
538
+ </reference>
539
+ </checkout_multishipping_address_newbilling>
540
+ <checkout_multishipping_address_editshipping>
541
+ <reference name="content">
542
+ <action method="unsetChild">
543
+ <name>content.top</name>
544
+ </action>
545
+ </reference>
546
+ <reference name="content">
547
+ <block type="bannerslider/bannerslider" name="content.top" before="-">
548
+ <action method="setBlockPosition">
549
+ <block_position>checkout-content-top</block_position>
550
+ </action>
551
+ </block>
552
+ </reference>
553
+ </checkout_multishipping_address_editshipping>
554
+ <checkout_multishipping_address_editaddress>
555
+ <reference name="content">
556
+ <action method="unsetChild">
557
+ <name>content.top</name>
558
+ </action>
559
+ </reference>
560
+ <reference name="content">
561
+ <block type="bannerslider/bannerslider" name="content.top" before="-">
562
+ <action method="setBlockPosition">
563
+ <block_position>checkout-content-top</block_position>
564
+ </action>
565
+ </block>
566
+ </reference>
567
+ </checkout_multishipping_address_editaddress>
568
+ <checkout_multishipping_address_editbilling>
569
+ <reference name="content">
570
+ <action method="unsetChild">
571
+ <name>content.top</name>
572
+ </action>
573
+ </reference>
574
+ <reference name="content">
575
+ <block type="bannerslider/bannerslider" name="content.top" before="-">
576
+ <action method="setBlockPosition">
577
+ <block_position>checkout-content-top</block_position>
578
+ </action>
579
+ </block>
580
+ </reference>
581
+ </checkout_multishipping_address_editbilling>
582
+ <checkout_multishipping_customer_address>
583
+ <reference name="content">
584
+ <action method="unsetChild">
585
+ <name>content.top</name>
586
+ </action>
587
+ </reference>
588
+ <reference name="content">
589
+ <block type="bannerslider/bannerslider" name="content.top" before="-">
590
+ <action method="setBlockPosition">
591
+ <block_position>checkout-content-top</block_position>
592
+ </action>
593
+ </block>
594
+ </reference>
595
+ </checkout_multishipping_customer_address>
596
+ <checkout_multishipping_addresses>
597
+ <reference name="content">
598
+ <action method="unsetChild">
599
+ <name>content.top</name>
600
+ </action>
601
+ </reference>
602
+ <reference name="content">
603
+ <block type="bannerslider/bannerslider" name="content.top" before="-">
604
+ <action method="setBlockPosition">
605
+ <block_position>checkout-content-top</block_position>
606
+ </action>
607
+ </block>
608
+ </reference>
609
+ </checkout_multishipping_addresses>
610
+ <checkout_multishipping_shipping>
611
+ <reference name="content">
612
+ <action method="unsetChild">
613
+ <name>content.top</name>
614
+ </action>
615
+ </reference>
616
+ <reference name="content">
617
+ <block type="bannerslider/bannerslider" name="content.top" before="-">
618
+ <action method="setBlockPosition">
619
+ <block_position>checkout-content-top</block_position>
620
+ </action>
621
+ </block>
622
+ </reference>
623
+ </checkout_multishipping_shipping>
624
+ <checkout_multishipping_billing>
625
+ <reference name="content">
626
+ <action method="unsetChild">
627
+ <name>content.top</name>
628
+ </action>
629
+ </reference>
630
+ <reference name="content">
631
+ <block type="bannerslider/bannerslider" name="content.top" before="-">
632
+ <action method="setBlockPosition">
633
+ <block_position>checkout-content-top</block_position>
634
+ </action>
635
+ </block>
636
+ </reference>
637
+ </checkout_multishipping_billing>
638
+ <checkout_multishipping_overview>
639
+ <reference name="content">
640
+ <action method="unsetChild">
641
+ <name>content.top</name>
642
+ </action>
643
+ </reference>
644
+ <reference name="content">
645
+ <block type="bannerslider/bannerslider" name="content.top" before="-">
646
+ <action method="setBlockPosition">
647
+ <block_position>checkout-content-top</block_position>
648
+ </action>
649
+ </block>
650
+ </reference>
651
+ </checkout_multishipping_overview>
652
+ <checkout_multishipping_success>
653
+ <reference name="content">
654
+ <action method="unsetChild">
655
+ <name>content.top</name>
656
+ </action>
657
+ </reference>
658
+ <reference name="content">
659
+ <block type="bannerslider/bannerslider" name="content.top" before="-">
660
+ <action method="setBlockPosition">
661
+ <block_position>checkout-content-top</block_position>
662
+ </action>
663
+ </block>
664
+ </reference>
665
+ </checkout_multishipping_success>
666
+ <checkout_onepage_index>
667
+ <reference name="content">
668
+ <action method="unsetChild">
669
+ <name>content.top</name>
670
+ </action>
671
+ </reference>
672
+ <reference name="content">
673
+ <block type="bannerslider/bannerslider" name="content.top" before="-">
674
+ <action method="setBlockPosition">
675
+ <block_position>checkout-content-top</block_position>
676
+ </action>
677
+ </block>
678
+ </reference>
679
+ </checkout_onepage_index>
680
+ <checkout_onepage_progress>
681
+ <reference name="content">
682
+ <action method="unsetChild">
683
+ <name>content.top</name>
684
+ </action>
685
+ </reference>
686
+ <reference name="content">
687
+ <block type="bannerslider/bannerslider" name="content.top" before="-">
688
+ <action method="setBlockPosition">
689
+ <block_position>checkout-content-top</block_position>
690
+ </action>
691
+ </block>
692
+ </reference>
693
+ </checkout_onepage_progress>
694
+ <checkout_onepage_paymentmethod>
695
+ <reference name="content">
696
+ <action method="unsetChild">
697
+ <name>content.top</name>
698
+ </action>
699
+ </reference>
700
+ <reference name="content">
701
+ <block type="bannerslider/bannerslider" name="content.top" before="-">
702
+ <action method="setBlockPosition">
703
+ <block_position>checkout-content-top</block_position>
704
+ </action>
705
+ </block>
706
+ </reference>
707
+ </checkout_onepage_paymentmethod>
708
+ <checkout_onepage_shippingmethod>
709
+ <reference name="content">
710
+ <action method="unsetChild">
711
+ <name>content.top</name>
712
+ </action>
713
+ </reference>
714
+ <reference name="content">
715
+ <block type="bannerslider/bannerslider" name="content.top" before="-">
716
+ <action method="setBlockPosition">
717
+ <block_position>checkout-content-top</block_position>
718
+ </action>
719
+ </block>
720
+ </reference>
721
+ </checkout_onepage_shippingmethod>
722
+ <checkout_onepage_additional>
723
+ <reference name="content">
724
+ <action method="unsetChild">
725
+ <name>content.top</name>
726
+ </action>
727
+ </reference>
728
+ <reference name="content">
729
+ <block type="bannerslider/bannerslider" name="content.top" before="-">
730
+ <action method="setBlockPosition">
731
+ <block_position>checkout-content-top</block_position>
732
+ </action>
733
+ </block>
734
+ </reference>
735
+ </checkout_onepage_additional>
736
+ <checkout_onepage_review>
737
+ <reference name="content">
738
+ <action method="unsetChild">
739
+ <name>content.top</name>
740
+ </action>
741
+ </reference>
742
+ <reference name="content">
743
+ <block type="bannerslider/bannerslider" name="content.top" before="-">
744
+ <action method="setBlockPosition">
745
+ <block_position>checkout-content-top</block_position>
746
+ </action>
747
+ </block>
748
+ </reference>
749
+ </checkout_onepage_review>
750
+ <checkout_onepage_success>
751
+ <reference name="content">
752
+ <action method="unsetChild">
753
+ <name>content.top</name>
754
+ </action>
755
+ </reference>
756
+ <reference name="content">
757
+ <block type="bannerslider/bannerslider" name="content.top" before="-">
758
+ <action method="setBlockPosition">
759
+ <block_position>checkout-content-top</block_position>
760
+ </action>
761
+ </block>
762
+ </reference>
763
+ </checkout_onepage_success>
764
+ <checkout_onepage_failure>
765
+ <reference name="content">
766
+ <action method="unsetChild">
767
+ <name>content.top</name>
768
+ </action>
769
+ </reference>
770
+ <reference name="content">
771
+ <block type="bannerslider/bannerslider" name="content.top" before="-">
772
+ <action method="setBlockPosition">
773
+ <block_position>checkout-content-top</block_position>
774
+ </action>
775
+ </block>
776
+ </reference>
777
+ </checkout_onepage_failure>
778
+ <!-- end checkout -->
779
+
780
+ <bannerslider_index_index>
781
+ <reference name="content">
782
+ <block type="bannerslider/bannerslider" name="bannerslider" template="bannerslider/bannerslider.phtml" />
783
+ </reference>
784
+ </bannerslider_index_index>
785
+ <!--bannerslider_popup_index>
786
+ <reference name="head">
787
+ <action method="addJs">
788
+ <script>magestore/bannerslider/lightbox.js</script>
789
+ </action>
790
+ <action method="addCss">
791
+ <stylesheet>css/magestore/bannerslider/popup.css</stylesheet>
792
+ </action>
793
+ </reference>
794
+ <reference name="content">
795
+ <block type="bannerslider/popup" name="popup" template="bannerslider/popup.phtml" />
796
+ </reference>
797
+ </bannerslider_popup_index>
798
+ <bannerslider_applelike_index>
799
+ <reference name="head">
800
+ <action method="addJs">
801
+ <script>magestore/bannerslider/applelike.js</script>
802
+ </action>
803
+ <action method="addJs">
804
+ <script>magestore/bannerslider/jquery.min.js</script>
805
+ </action>
806
+ <action method="addCss">
807
+ <stylesheet>css/magestore/bannerslider/applelike.css</stylesheet>
808
+ </action>
809
+ </reference>
810
+ <reference name="content">
811
+ <block type="bannerslider/applelike" name="applelike slide" template="bannerslider/applelike.phtml" />
812
+ </reference>
813
+ </bannerslider_applelike_index-->
814
+ <!--AWESOME-->
815
+ <!--bannerslider_awesome_index>
816
+ <reference name="head">
817
+ <action method="addCss">
818
+ <stylesheet>css/magestore/bannerslider/awesome.css</stylesheet>
819
+ </action>
820
+ <action method="addCss">
821
+ <stylesheet>css/magestore/bannerslider/awesome-1.css</stylesheet>
822
+ </action>
823
+ </reference>
824
+ <reference name="content">
825
+ <block type="bannerslider/awesome" name="Awesome slide" template="bannerslider/awesome.phtml" />
826
+ </reference>
827
+ </bannerslider_awesome_index>
828
+ <bannerslider_contentslide_index>
829
+ <reference name="head">
830
+ <action method="addJs">
831
+ <script>magestore/bannerslider/jquery.easing.1.3.js</script>
832
+ </action>
833
+ <action method="addJs">
834
+ <script>magestore/bannerslider/jquery.ennui.contentslider.js</script>
835
+ </action>
836
+ <action method="addCss">
837
+ <stylesheet>css/magestore/bannerslider/jquery.ennui.contentslider.css</stylesheet>
838
+ </action>
839
+ </reference>
840
+ <reference name="content">
841
+ <block type="bannerslider/contentslide" name="Awesome slide" template="bannerslider/contentslide.phtml" />
842
+ </reference>
843
+ </bannerslider_contentslide_index-->
844
+ </layout>
app/design/frontend/base/default/template/bannerslider/bannerslider.phtml CHANGED
@@ -1,1126 +1,112 @@
1
  <?php
2
- $bannerCollection = $this->getBannerCollection();
3
- $i = 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  ?>
5
- <?php $timeDelay = $this->getDelayTime() ?>
6
- <?php $showdesc = $this->isShowDescription() ?>
7
- <?php $listStyle = $this->getListStyle() ?>
8
- <?php $imagewidth = $this->getImageWidth() ?>
9
- <?php $imageheight = $this->getImageHeight() ?>
10
- <?php if (!count($bannerCollection)): ?>
11
- <?php elseif ($listStyle == '1'):?>
12
- <div id="slider-1" class="slide-container">
13
- <script type="text/javascript" src="<?php echo $this->getJsUrl('magestore/bannerslider/banner1.js') ?>"></script>
14
- <link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl('css/magestore/bannerslider/banner1.css');?>" media="all" />
15
- <div id="slide-images" class="slide-show" style="width:<?php echo $imagewidth;?>px; height:<?php echo $imageheight;?>px;">
16
- <div id="pettabs" class="indentmenu">
17
- <ul>
18
- <?php foreach($bannerCollection as $banner): $i++; ?>
19
- <li><a href="#" rel="tab<?php echo $i;?>" <?php if ($i == 1) { echo 'class="selected"'; }?>><?php echo $i;?></a></li>
20
- <?php endforeach; ?>
21
- </ul>
22
- </div>
23
- <div class="banner-content-style1">
24
- <?php $i = 0; foreach ($bannerCollection as $banner): $i++; ?>
25
- <div id="tab<?php echo $i;?>" class="tabcontent">
26
- <a href="<?php echo $banner['weblink'];?>">
27
- <img src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA) . $banner['filename']?>" title="<?php echo $banner['title']?>" alt="<?php echo $banner['title']?>" style="width:<?php echo $imagewidth;?>px; height:<?php echo $imageheight;?>px;"/>
28
- <?php if ($showdesc == '1'):?>
29
- <div class="banner_content" style="width:<?php echo $imagewidth - 20?>px;"><p><?php echo $banner['content']; ?></p></div>
30
- <?php endif;?>
31
- </a>
32
- </div>
33
- <?php endforeach; ?>
34
- </div>
35
- </div>
36
- <script type="text/javascript">
37
- <?php echo 'var delay = ' . $timeDelay . ';'; ?>
38
- var mypets=new ddtabcontent("pettabs");
39
- mypets.setpersist(true);
40
- mypets.setselectedClassTarget("link");
41
- mypets.init(delay);
42
- </script>
43
- </div>
44
-
45
- <?php elseif ($listStyle == '2'):?>
46
- <div id="slider-2" class="slide-container">
47
- <script type="text/javascript" src="<?php echo $this->getJsUrl('magestore/bannerslider/jquery-1.4.2.min.js') ?>"></script>
48
- <link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl('css/magestore/bannerslider/banner2.css');?>" media="all" />
49
- <script type="text/javascript">
50
- var $j = jQuery.noConflict();
51
- $j(document).ready(function(){
52
- //Execute the slideShow
53
- slideShow();
54
- });
55
- function slideShow() {
56
-
57
- //Set the opacity of all images to 0
58
- $j('#gallery a').css({opacity: 0.0});
59
-
60
- //Get the first image and display it (set it to full opacity)
61
- $j('#gallery a:first').css({opacity: 1.0});
62
-
63
- //Set the caption background to semi-transparent
64
- $j('#gallery .caption').css({opacity: 0.7});
65
-
66
- //Resize the width of the caption according to the image width
67
- $j('#gallery .caption').css({width: $j('#gallery a').find('img').css('width')});
68
- <?php if ($showdesc == '1'):?>
69
- //Get the caption of the first image from REL attribute and display it
70
- $j('#gallery .content').html($j('#gallery a:first').find('img').attr('rel'))
71
- .animate({opacity: 0.7}, 400);
72
- <?php endif ?>
73
-
74
- //Call the gallery function to run the slideshow, 6000 = change to next image after 6 seconds
75
- setInterval('gallery()',<?php echo $timeDelay; ?>);
76
-
77
- }
78
-
79
- function gallery() {
80
-
81
- //if no IMGs have the show class, grab the first image
82
- var current = ($j('#gallery a.show')? $j('#gallery a.show') : $j('#gallery a:first'));
83
-
84
- //Get next image, if it reached the end of the slideshow, rotate it back to the first image
85
- var next = ((current.next().length) ? ((current.next().hasClass('caption'))? $j('#gallery a:first') :current.next()) : $j('#gallery a:first'));
86
-
87
- //Get next image caption
88
- var caption = next.find('img').attr('rel');
89
-
90
- //Set the fade in effect for the next image, show class has higher z-index
91
- next.css({opacity: 0.0})
92
- .addClass('show')
93
- .animate({opacity: 1.0}, 1000);
94
-
95
- //Hide the current image
96
- current.animate({opacity: 0.0}, 1000)
97
- .removeClass('show');
98
-
99
- //Set the opacity to 0 and height to 1px
100
- $j('#gallery .caption').animate({opacity: 0.0}, { queue:false, duration:0 }).animate({height: '1px'}, { queue:true, duration:300 });
101
-
102
- //Animate the caption, opacity to 0.7 and heigth to 100px, a slide up effect
103
- $j('#gallery .caption').animate({opacity: 0.7},100 ).animate({height: '100px'},500 );
104
-
105
- //Display the content
106
- $j('#gallery .content').html(caption);
107
-
108
-
109
- }
110
- </script>
111
- <div id="gallery" style="width:<?php echo $imagewidth;?>px; height:<?php echo $imageheight;?>px;">
112
- <?php foreach ($bannerCollection as $banner):?>
113
- <a href="<?php echo $banner['weblink'];?>" class="">
114
- <img src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA) . $banner['filename']?>" width="<?php echo $imagewidth;?>" height="<?php echo $imageheight;?>" title="<?php echo $banner['title']?>" alt="<?php echo $banner['title']?>" <?php if ($showdesc == '1'):?> rel="<h3><?php echo $banner['title']?></h3><?php echo $banner['content']; ?>"<?php endif;?> />
115
- </a>
116
- <?php endforeach; ?>
117
- <?php if ($showdesc == '1'):?>
118
- <div class="caption"><div class="content"></div></div>
119
- <?php endif ?>
120
- </div>
121
- </div>
122
-
123
- <?php elseif ($listStyle == '3'):?>
124
- <div id="slider-3" class="slide-container">
125
- <script type="text/javascript" src="<?php echo $this->getJsUrl('magestore/bannerslider/jquery-1.4.2.min.js') ?>"></script>
126
- <link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl('css/magestore/bannerslider/banner3.css');?>" media="all" />
127
- <script type="text/javascript">
128
- var $j = jQuery.noConflict();
129
- $j(document).ready(function(){
130
- $j('#games').coinslider({ hoverPause: false });
131
- });
132
-
133
- (function($j) {
134
-
135
- var params = new Array;
136
- var order = new Array;
137
- var images = new Array;
138
- var links = new Array;
139
- var linksTarget = new Array;
140
- var titles = new Array;
141
- var interval = new Array;
142
- var imagePos = new Array;
143
- var appInterval = new Array;
144
- var squarePos = new Array;
145
- var reverse = new Array;
146
-
147
- $j.fn.coinslider= $j.fn.CoinSlider = function(options){
148
-
149
- init = function(el){
150
-
151
- order[el.id] = new Array(); // order of square appereance
152
- images[el.id] = new Array();
153
- links[el.id] = new Array();
154
- linksTarget[el.id] = new Array();
155
- titles[el.id] = new Array();
156
- imagePos[el.id] = 0;
157
- squarePos[el.id] = 0;
158
- reverse[el.id] = 1;
159
-
160
- params[el.id] = $j.extend({}, $j.fn.coinslider.defaults, options);
161
-
162
- // create images, links and titles arrays
163
- $j.each($j('#'+el.id+' img'), function(i,item){
164
- images[el.id][i] = $j(item).attr('src');
165
- links[el.id][i] = $j(item).parent().is('a') ? $j(item).parent().attr('href') : '';
166
- linksTarget[el.id][i] = $j(item).parent().is('a') ? $j(item).parent().attr('target') : '';
167
- titles[el.id][i] = $j(item).next().is('span') ? $j(item).next().html() : '';
168
- $j(item).hide();
169
- $j(item).next().hide();
170
- });
171
-
172
-
173
- // set panel
174
- $j(el).css({
175
- 'background-image':'url('+images[el.id][0]+')',
176
- 'width': params[el.id].width,
177
- 'height': params[el.id].height,
178
- 'position': 'relative',
179
- 'background-position': 'top left'
180
- }).wrap("<div class='coin-slider' id='coin-slider-"+el.id+"' />");
181
-
182
-
183
- // create title bar
184
- $j('#'+el.id).append("<div class='cs-title' id='cs-title-"+el.id+"' style='position: absolute; bottom:0; left: 0; z-index: 1000; width:<?php echo $imagewidth - 20;?>px'></div>");
185
-
186
- $j.setFields(el);
187
-
188
- if(params[el.id].navigation)
189
- $j.setNavigation(el);
190
-
191
- $j.transition(el,0);
192
- $j.transitionCall(el);
193
-
194
- }
195
-
196
- // squares positions
197
- $j.setFields = function(el){
198
-
199
- tWidth = sWidth = parseInt(params[el.id].width/params[el.id].spw);
200
- tHeight = sHeight = parseInt(params[el.id].height/params[el.id].sph);
201
-
202
- counter = sLeft = sTop = 0;
203
- tgapx = gapx = params[el.id].width - params[el.id].spw*sWidth;
204
- tgapy = gapy = params[el.id].height - params[el.id].sph*sHeight;
205
-
206
- for(i=1;i <= params[el.id].sph;i++){
207
- gapx = tgapx;
208
-
209
- if(gapy > 0){
210
- gapy--;
211
- sHeight = tHeight+1;
212
- } else {
213
- sHeight = tHeight;
214
- }
215
-
216
- for(j=1; j <= params[el.id].spw; j++){
217
-
218
- if(gapx > 0){
219
- gapx--;
220
- sWidth = tWidth+1;
221
- } else {
222
- sWidth = tWidth;
223
- }
224
-
225
- order[el.id][counter] = i+''+j;
226
- counter++;
227
-
228
- if(params[el.id].links)
229
- $j('#'+el.id).append("<a href='"+links[el.id][0]+"' class='cs-"+el.id+"' id='cs-"+el.id+i+j+"' style='width:"+sWidth+"px; height:"+sHeight+"px; float: left; position: absolute;'></a>");
230
- else
231
- $j('#'+el.id).append("<div class='cs-"+el.id+"' id='cs-"+el.id+i+j+"' style='width:"+sWidth+"px; height:"+sHeight+"px; float: left; position: absolute;'></div>");
232
-
233
- // positioning squares
234
- $j("#cs-"+el.id+i+j).css({
235
- 'background-position': -sLeft +'px '+(-sTop+'px'),
236
- 'left' : sLeft ,
237
- 'top': sTop
238
- });
239
-
240
- sLeft += sWidth;
241
- }
242
-
243
- sTop += sHeight;
244
- sLeft = 0;
245
-
246
- }
247
-
248
-
249
- $j('.cs-'+el.id).mouseover(function(){
250
- $j('#cs-navigation-'+el.id).show();
251
- });
252
-
253
- $j('.cs-'+el.id).mouseout(function(){
254
- $j('#cs-navigation-'+el.id).hide();
255
- });
256
-
257
- $j('#cs-title-'+el.id).mouseover(function(){
258
- $j('#cs-navigation-'+el.id).show();
259
- });
260
-
261
- $j('#cs-title-'+el.id).mouseout(function(){
262
- $j('#cs-navigation-'+el.id).hide();
263
- });
264
-
265
- if(params[el.id].hoverPause){
266
- $j('.cs-'+el.id).mouseover(function(){
267
- params[el.id].pause = true;
268
- });
269
-
270
- $j('.cs-'+el.id).mouseout(function(){
271
- params[el.id].pause = false;
272
- });
273
-
274
- $j('#cs-title-'+el.id).mouseover(function(){
275
- params[el.id].pause = true;
276
- });
277
-
278
- $j('#cs-title-'+el.id).mouseout(function(){
279
- params[el.id].pause = false;
280
- });
281
- }
282
-
283
-
284
- };
285
-
286
-
287
- $j.transitionCall = function(el){
288
-
289
- clearInterval(interval[el.id]);
290
- delay = params[el.id].delay + params[el.id].spw*params[el.id].sph*params[el.id].sDelay;
291
- interval[el.id] = setInterval(function() { $j.transition(el) }, delay);
292
-
293
- }
294
-
295
- // transitions
296
- $j.transition = function(el,direction){
297
-
298
- if(params[el.id].pause == true) return;
299
-
300
- $j.effect(el);
301
-
302
- squarePos[el.id] = 0;
303
- appInterval[el.id] = setInterval(function() { $j.appereance(el,order[el.id][squarePos[el.id]]) },params[el.id].sDelay);
304
-
305
- $j(el).css({ 'background-image': 'url('+images[el.id][imagePos[el.id]]+')' });
306
-
307
- if(typeof(direction) == "undefined")
308
- imagePos[el.id]++;
309
- else
310
- if(direction == 'prev')
311
- imagePos[el.id]--;
312
- else
313
- imagePos[el.id] = direction;
314
-
315
- if (imagePos[el.id] == images[el.id].length) {
316
- imagePos[el.id] = 0;
317
- }
318
-
319
- if (imagePos[el.id] == -1){
320
- imagePos[el.id] = images[el.id].length-1;
321
- }
322
-
323
- $j('.cs-button-'+el.id).removeClass('cs-active');
324
- $j('#cs-button-'+el.id+"-"+(imagePos[el.id]+1)).addClass('cs-active');
325
-
326
- if(titles[el.id][imagePos[el.id]]){
327
- $j('#cs-title-'+el.id).css({ 'opacity' : 0 }).animate({ 'opacity' : params[el.id].opacity }, params[el.id].titleSpeed);
328
- $j('#cs-title-'+el.id).html(titles[el.id][imagePos[el.id]]);
329
- } else {
330
- $j('#cs-title-'+el.id).css('opacity',0);
331
- }
332
-
333
- };
334
-
335
- $j.appereance = function(el,sid){
336
-
337
- $j('.cs-'+el.id).attr('href',links[el.id][imagePos[el.id]]).attr('target',linksTarget[el.id][imagePos[el.id]]);
338
-
339
- if (squarePos[el.id] == params[el.id].spw*params[el.id].sph) {
340
- clearInterval(appInterval[el.id]);
341
- return;
342
- }
343
-
344
- $j('#cs-'+el.id+sid).css({ opacity: 0, 'background-image': 'url('+images[el.id][imagePos[el.id]]+')' });
345
- $j('#cs-'+el.id+sid).animate({ opacity: 1 }, 300);
346
- squarePos[el.id]++;
347
-
348
- };
349
-
350
- // navigation
351
- $j.setNavigation = function(el){
352
- // create prev and next
353
- $j(el).append("<div id='cs-navigation-"+el.id+"'></div>");
354
- $j('#cs-navigation-'+el.id).hide();
355
- $j('#cs-navigation-'+el.id).append("<a href='#' id='cs-prev-"+el.id+"' class='cs-prev'><span>prev</span></a>");
356
- $j('#cs-navigation-'+el.id).append("<a href='#' id='cs-next-"+el.id+"' class='cs-next'><span>next</span></a>");
357
- $j('#cs-prev-'+el.id).css({
358
- 'position' : 'absolute',
359
- 'top' : params[el.id].height/2 - 15,
360
- 'left' : 0,
361
- 'z-index' : 1001,
362
- 'line-height': '30px'
363
- //'opacity' : params[el.id].opacity
364
- }).click( function(e){
365
- e.preventDefault();
366
- $j.transition(el,'prev');
367
- $j.transitionCall(el);
368
- }).mouseover( function(){ $j('#cs-navigation-'+el.id).show() });
369
-
370
- $j('#cs-next-'+el.id).css({
371
- 'position' : 'absolute',
372
- 'top' : params[el.id].height/2 - 15,
373
- 'right' : 0,
374
- 'z-index' : 1001,
375
- 'line-height': '30px'
376
- //'opacity' : params[el.id].opacity
377
- }).click( function(e){
378
- e.preventDefault();
379
- $j.transition(el);
380
- $j.transitionCall(el);
381
- }).mouseover( function(){ $j('#cs-navigation-'+el.id).show() });
382
-
383
- // image buttons
384
- //$j("<div id='cs-buttons-"+el.id+"' class='cs-buttons'></div>").appendTo($j('#coin-slider-'+el.id));
385
-
386
-
387
- for(k=1;k<images[el.id].length+1;k++){
388
- $j('#cs-buttons-'+el.id).append("<a href='#' class='cs-button-"+el.id+"' id='cs-button-"+el.id+"-"+k+"'>"+k+"</a>");
389
- }
390
-
391
- $j.each($j('.cs-button-'+el.id), function(i,item){
392
- $j(item).click( function(e){
393
- $j('.cs-button-'+el.id).removeClass('cs-active');
394
- $j(this).addClass('cs-active');
395
- e.preventDefault();
396
- $j.transition(el,i);
397
- $j.transitionCall(el);
398
- })
399
- });
400
-
401
- $j('#cs-navigation-'+el.id+' a').mouseout(function(){
402
- $j('#cs-navigation-'+el.id).hide();
403
- params[el.id].pause = false;
404
- });
405
-
406
- $j("#cs-buttons-"+el.id).css({
407
- 'left' : '50%',
408
- 'margin-left' : -images[el.id].length*15/2-5,
409
- 'position' : 'relative'
410
-
411
- });
412
-
413
-
414
- }
415
-
416
-
417
-
418
-
419
- // effects
420
- $j.effect = function(el){
421
-
422
- effA = ['random','swirl','rain','straight'];
423
- if(params[el.id].effect == '')
424
- eff = effA[Math.floor(Math.random()*(effA.length))];
425
- else
426
- eff = params[el.id].effect;
427
-
428
- order[el.id] = new Array();
429
-
430
- if(eff == 'random'){
431
- counter = 0;
432
- for(i=1;i <= params[el.id].sph;i++){
433
- for(j=1; j <= params[el.id].spw; j++){
434
- order[el.id][counter] = i+''+j;
435
- counter++;
436
- }
437
- }
438
- $j.random(order[el.id]);
439
- }
440
-
441
- if(eff == 'rain') {
442
- $j.rain(el);
443
- }
444
-
445
- if(eff == 'swirl')
446
- $j.swirl(el);
447
-
448
- if(eff == 'straight')
449
- $j.straight(el);
450
-
451
- reverse[el.id] *= -1;
452
- if(reverse[el.id] > 0){
453
- order[el.id].reverse();
454
- }
455
-
456
- }
457
-
458
-
459
- // shuffle array function
460
- $j.random = function(arr) {
461
-
462
- var i = arr.length;
463
- if ( i == 0 ) return false;
464
- while ( --i ) {
465
- var j = Math.floor( Math.random() * ( i + 1 ) );
466
- var tempi = arr[i];
467
- var tempj = arr[j];
468
- arr[i] = tempj;
469
- arr[j] = tempi;
470
- }
471
- }
472
-
473
- //swirl effect by milos popovic
474
- $j.swirl = function(el){
475
-
476
- var n = params[el.id].sph;
477
- var m = params[el.id].spw;
478
-
479
- var x = 1;
480
- var y = 1;
481
- var going = 0;
482
- var num = 0;
483
- var c = 0;
484
-
485
- var dowhile = true;
486
-
487
- while(dowhile) {
488
-
489
- num = (going==0 || going==2) ? m : n;
490
-
491
- for (i=1;i<=num;i++){
492
-
493
- order[el.id][c] = x+''+y;
494
- c++;
495
-
496
- if(i!=num){
497
- switch(going){
498
- case 0 : y++; break;
499
- case 1 : x++; break;
500
- case 2 : y--; break;
501
- case 3 : x--; break;
502
-
503
- }
504
- }
505
- }
506
-
507
- going = (going+1)%4;
508
-
509
- switch(going){
510
- case 0 : m--; y++; break;
511
- case 1 : n--; x++; break;
512
- case 2 : m--; y--; break;
513
- case 3 : n--; x--; break;
514
- }
515
-
516
- check = $j.max(n,m) - $j.min(n,m);
517
- if(m<=check && n<=check)
518
- dowhile = false;
519
-
520
- }
521
- }
522
-
523
- // rain effect
524
- $j.rain = function(el){
525
- var n = params[el.id].sph;
526
- var m = params[el.id].spw;
527
-
528
- var c = 0;
529
- var to = to2 = from = 1;
530
- var dowhile = true;
531
-
532
-
533
- while(dowhile){
534
-
535
- for(i=from;i<=to;i++){
536
- order[el.id][c] = i+''+parseInt(to2-i+1);
537
- c++;
538
- }
539
-
540
- to2++;
541
-
542
- if(to < n && to2 < m && n<m){
543
- to++;
544
- }
545
-
546
- if(to < n && n>=m){
547
- to++;
548
- }
549
-
550
- if(to2 > m){
551
- from++;
552
- }
553
-
554
- if(from > to) dowhile= false;
555
-
556
- }
557
-
558
- }
559
-
560
- // straight effect
561
- $j.straight = function(el){
562
- counter = 0;
563
- for(i=1;i <= params[el.id].sph;i++){
564
- for(j=1; j <= params[el.id].spw; j++){
565
- order[el.id][counter] = i+''+j;
566
- counter++;
567
- }
568
-
569
- }
570
- }
571
-
572
- $j.min = function(n,m){
573
- if (n>m) return m;
574
- else return n;
575
- }
576
-
577
- $j.max = function(n,m){
578
- if (n<m) return m;
579
- else return n;
580
- }
581
-
582
- this.each (
583
- function(){ init(this); }
584
- );
585
-
586
-
587
- };
588
-
589
-
590
- // default values
591
- $j.fn.coinslider.defaults = {
592
- width: <?php echo $imagewidth;?>, // width of slider panel
593
- height: <?php echo $imageheight;?>, // height of slider panel
594
- spw: 7, // squares per width
595
- sph: 5, // squares per height
596
- delay:<?php echo $timeDelay; ?>, // delay between images in ms
597
- sDelay: 30, // delay beetwen squares in ms
598
- opacity: 0.7, // opacity of title and navigation
599
- titleSpeed: 500, // speed of title appereance in ms
600
- effect: '', // random, swirl, rain, straight
601
- navigation: true, // prev next and buttons
602
- links : true, // show images as links
603
- hoverPause: true // pause on hover
604
- };
605
-
606
- })(jQuery);
607
- </script>
608
- <div id="gamesHolder">
609
- <div class="coin-slider" id="coin-slider-games">
610
- <div style="width:<?php echo $imagewidth;?>px; height: <?php echo $imageheight;?>px; position: relative;" id="games">
611
- <?php foreach ($bannerCollection as $banner):?>
612
- <a href="<?php echo $banner['weblink'];?>">
613
- <img src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA) . $banner['filename']?>" title="<?php echo $banner['title']?>" alt="<?php echo $banner['title']?>" style="width:<?php echo $imagewidth;?>px; height:<?php echo $imageheight;?>px; display: none;"/>
614
- <?php if ($showdesc == '1'):?>
615
- <span style="display: none;">
616
- <b><?php echo $banner['title']?></b><br><?php echo $banner['content']; ?>
617
- </span>
618
- <?php endif;?>
619
- </a>
620
- <?php endforeach ?>
621
- </div>
622
- </div>
623
- </div>
624
- </div>
625
-
626
- <?php elseif ($listStyle == '4'):?>
627
- <div id="slider-4" class="slide-container">
628
- <script type="text/javascript" src="<?php echo $this->getJsUrl('magestore/bannerslider/jquery-1.4.2.min.js') ?>"></script>
629
- <script type="text/javascript" src="<?php echo $this->getJsUrl('magestore/bannerslider/jquery-easing-1.3.pack.js') ?>"></script>
630
- <script type="text/javascript" src="<?php echo $this->getJsUrl('magestore/bannerslider/jquery-easing-compatibility.1.2.pack.js') ?>"></script>
631
- <script type="text/javascript" src="<?php echo $this->getJsUrl('magestore/bannerslider/coda-slider.1.1.1.pack.js') ?>"></script>
632
- <link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl('css/magestore/bannerslider/banner4.css');?>" media="all" />
633
- <script type="text/javascript">
634
- var theInt = null;
635
- var $crosslink, $navthumb;
636
- var curclicked = 0;
637
-
638
- theInterval = function(cur){
639
- clearInterval(theInt);
640
-
641
- if( typeof cur != 'undefined' )
642
- curclicked = cur;
643
-
644
- $crosslink.removeClass("active-thumb");
645
- $navthumb.eq(curclicked).parent().addClass("active-thumb");
646
- $j(".stripNav ul li a").eq(curclicked).trigger('click');
647
-
648
- theInt = setInterval(function(){
649
- $crosslink.removeClass("active-thumb");
650
- $navthumb.eq(curclicked).parent().addClass("active-thumb");
651
- $j(".stripNav ul li a").eq(curclicked).trigger('click');
652
- curclicked++;
653
- <?php $curclick = count ($bannerCollection); ?>
654
- if( <?php echo $curclick;?> == curclicked )
655
- curclicked = 0;
656
-
657
- }, <?php echo $timeDelay; ?>);
658
- };
659
-
660
-
661
- var $j = jQuery.noConflict();
662
- $j(document).ready(function(){
663
- $j("#main-photo-slider").codaSlider();
664
-
665
- $navthumb = $j(".nav-thumb");
666
- $crosslink = $j(".cross-link");
667
-
668
- $navthumb
669
- .click(function() {
670
- var $this = $j(this);
671
- theInterval($this.parent().attr('href').slice(1) - 1);
672
- return false;
673
- });
674
-
675
- theInterval();
676
- });
677
- </script>
678
- <div class="slider-wrap">
679
- <div id="main-photo-slider" class="csw" style="width:<?php echo $imagewidth;?>px; height:<?php echo $imageheight;?>px;">
680
- <div class="panelContainer">
681
- <?php $i = 0; foreach ($bannerCollection as $banner): $i++; ?>
682
- <div class="panel" title="Panel <?php echo $i;?>" style="width:<?php echo $imagewidth;?>px;" >
683
- <div class="wrapper-content-slider4">
684
- <a href="<?php echo $banner['weblink'];?>">
685
- <img src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA) . $banner['filename']?>" title="<?php echo $banner['title']?>" alt="<?php echo $banner['title']?>" style="width:<?php echo $imagewidth;?>px; height:<?php echo $imageheight;?>px;"/>
686
- </a>
687
- <?php if ($showdesc == '1'):?>
688
- <div class="photo-meta-data"style="width:<?php echo $imagewidth - 20;?>px;">
689
- <b><?php echo $banner['title']?></b><br />
690
- <span><?php echo $banner['content']; ?></span>
691
- </div>
692
- <?php endif;?>
693
- </div>
694
- </div>
695
- <?php endforeach ?>
696
- </div>
697
- </div>
698
- <div id="movers-row">
699
- <?php $i = 0; foreach ($bannerCollection as $banner): $i++; ?>
700
- <div class="image-thumb"><a href="#<?php echo $i;?>" class="cross-link"><img class="nav-thumb" src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA) . $banner['filename']?>" title="<?php echo $banner['title']?>" alt="<?php echo $banner['title']?>" style="width:60px; height:40px;"/></a></div>
701
- <?php endforeach ?>
702
- </div>
703
- </div>
704
- </div>
705
-
706
- <?php elseif ($listStyle == '5'):?>
707
- <div id="slider-5" class="slide-container">
708
- <link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl('css/magestore/bannerslider/banner5.css');?>" media="all" />
709
- <script type="text/javascript" src="<?php echo $this->getJsUrl('magestore/bannerslider/jquery-1.4.2.min.js') ?>"></script>
710
- <script type="text/javascript">
711
- var $j = jQuery.noConflict();
712
- $j(document).ready(function(){
713
- $j('#carousel').infiniteCarousel();
714
- });
715
-
716
- (function($j){
717
- $j.fn.extend({
718
- infiniteCarousel: function(options)
719
- {
720
- var defaults =
721
- {
722
- transitionSpeed: 800,
723
- displayTime:<?php echo $timeDelay; ?>,
724
- textholderHeight: .25,
725
- displayProgressBar: false,
726
- displayThumbnails: false,
727
- displayThumbnailNumbers: true,
728
- displayThumbnailBackground: true,
729
- thumbnailWidth: '20px',
730
- thumbnailHeight: '20px',
731
- thumbnailFontSize: '12px',
732
- easeLeft: 'linear',
733
- easeRight: 'linear',
734
- imagePath: '<?php echo $this->getSkinUrl('css/magestore/bannerslider/') ?>',
735
- inView: 1,
736
- padding: '0px',
737
- advance: 1,
738
- showControls: true,
739
- autoHideControls: true,
740
- autoHideCaptions: false,
741
- autoStart: true,
742
- prevNextInternal: true,
743
- enableKeyboardNav: true,
744
- onSlideStart: function(){},
745
- onSlideEnd: function(){},
746
- onPauseClick: function(){}
747
- };
748
- var options = $j.extend(defaults, options);
749
-
750
- return this.each(function() {
751
- var randID = Math.round(Math.random()*100000000);
752
- var o=options;
753
- var obj = $j(this);
754
- var autopilot = o.autoStart;
755
-
756
- var numImages = $j('img', obj).length; // Number of images
757
- var imgWidth = <?php echo $imagewidth;?>;
758
- var imgHeight = <?php echo $imageheight;?>;
759
-
760
- if(o.inView > numImages-1) o.inView=numImages-1; // check to make sure inview isnt greater than the number of images. inview should be at least two less than numimages (otherwise hinting wont work and animating left may catch a flash), but one less can work
761
- $j('p', obj).hide(); // Hide any text paragraphs in the carousel
762
- $j(obj).css({'position':'relative','overflow':'hidden'}).width((imgWidth*o.inView)+(o.inView*parseInt(o.padding)*2)).height(imgHeight+(parseInt(o.padding)*2)); //,'overflow':'hidden'
763
- $j('ul', obj).css({'position':'relative'}).width(imgWidth*numImages);
764
- $j('li', obj).css({/*'display':'inline',*/'float':'left'});
765
-
766
- // Move rightmost image over to the left
767
- $j('li:last', obj).prependTo($j('ul', obj));
768
- $j('ul', obj).css('left',-imgWidth-(parseInt(o.padding)*2)+'px').width(9999);
769
-
770
- // Build progress bar
771
- if(o.displayProgressBar)
772
- {
773
- $j(obj).append('<div id="progress'+randID+'" class="ic-progress-bar" style="position:absolute;bottom:0;background:#bbb;left:0;z-index:1"></div>');
774
- $j('#progress'+randID).width('100%').height(5).css('opacity','.6');
775
- }
776
-
777
- // Animate progress bar
778
- function startProgressBar(barTime)
779
- {
780
- barTime = (barTime==null)? o.displayTime:barTime;
781
- $j('#progress'+randID).width('100%').height(5);
782
- $j('#progress'+randID).animate({'width':0},barTime);
783
- }
784
-
785
- // Build textholder div(s) as wide as one image and as tall as the textholderHeight option
786
- var containerBorder = parseInt($j(obj).css('border-bottom-width')) + parseInt($j(obj).css('border-top-width'));
787
- if(isNaN(containerBorder)) containerBorder = 0; // IE returns NaN for $j(obj).css('border-bottom-width')
788
- var containerPaddingLeft = parseInt($j(obj).css('padding-left')); // Normally we'd do both left and right but only left matters here
789
- for(i=1;i<=o.inView;i++)
790
- {
791
- $j(obj).append('<div id="textholder'+randID+'_'+i+'" class="textholder" style="position:absolute;width:<?php echo $imagewidth - 20;?>px;bottom:0px;margin-bottom:'+-(imgHeight*o.textholderHeight+containerBorder)+'px;"><span></span></div>');
792
- $j('#textholder'+randID+'_'+i).css({'left':(i-1)*(imgWidth+parseInt(o.padding)*2),'margin-left':parseInt(o.padding)+containerPaddingLeft,'margin-right':o.padding});
793
- $j('#textholder'+randID+'_'+i).css({'backgroundColor':'#000','opacity':'0.7'});
794
- html = '<div class="minmax" id="minmax'+randID+'_'+i+'" style="width:8px;height:8px;position:absolute;top:1px;right:14px;cursor:pointer;background:url('+o.imagePath+'caption.gif) no-repeat 0 -8px"></div>';
795
- html += '<div class="close" id="close'+randID+'_'+i+'" style="width:8px;height:8px;position:absolute;top:1px;right:3px;cursor:pointer;background:url('+o.imagePath+'caption.gif) no-repeat 0 0"></div>';
796
- $j('#textholder'+randID+'_'+i).append(html);
797
- $j('#minmax'+randID+'_'+i).hide();
798
- $j('#close'+randID+'_'+i).hide();
799
- if(!o.autoHideCaptions) showtext($j('li:eq('+i+') p', obj).html(),i);
800
- }
801
- var textholderPadding = parseInt($j('#textholder'+randID+'_1').css('padding-left')) + parseInt($j('#textholder'+randID+'_1').css('padding-right'));
802
- if (textholderPadding > 0) $j('.textholder',obj).width(imgWidth-textholderPadding);
803
-
804
- $j('.close',obj).each(function(i){ // Need to use each() because a loop doesn't work in this situation. see http://www.bennadel.com/blog/534-The-Beauty-Of-The-jQuery-Each-Method.htm
805
- $j(this).click(function(){$j('#textholder'+randID+'_'+(i+1)).animate({marginBottom:(-imgHeight*o.textholderHeight)-containerBorder-1+'px'},500)});
806
- });
807
- $j('.minmax',obj).each(function(i){ // Same reason as previous chunk
808
- $j(this).click(function(){
809
- if(parseInt($j('#textholder'+randID+'_'+(i+1)).css('margin-bottom'))==0)
810
- {
811
- $j('#textholder'+randID+'_'+(i+1)).animate({marginBottom:((-imgHeight*o.textholderHeight)-containerBorder+12)+'px'},500,function(){
812
- $j('#minmax'+randID+'_'+(i+1)).css('background-position','0 -16px')});
813
- }
814
- else
815
- {
816
- $j('#textholder'+randID+'_'+(i+1)).animate({marginBottom:'0px'},500,function(){
817
- $j('#minmax'+randID+'_'+(i+1)).css('background-position','0 -8px')});
818
- }
819
-
820
- });
821
- });
822
-
823
- function showtext(t,i)
824
- {
825
- if(autopilot)
826
- {
827
- $j('#minmax'+randID+'_'+i).hide();
828
- $j('#close'+randID+'_'+i).hide();
829
- }
830
- if(t != null)
831
- {
832
- $j('#textholder'+randID+'_'+i+' span').html(t); // Change textholder content
833
- $j('#textholder'+randID+'_'+i).stop().animate({marginBottom:'0px'},500); // Raise textholder
834
- $j('#minmax'+randID+'_'+i).css('background-position','0 -8px');
835
- showminmax();
836
- }
837
- }
838
-
839
- function showminmax()
840
- {
841
- if(!autopilot)
842
- {
843
- $j('.minmax',obj).fadeIn(250);
844
- $j('.close',obj).fadeIn(250);
845
- }
846
- }
847
-
848
- function hideCaption() {$j('.textholder',obj).stop().animate({marginBottom:(-imgHeight*o.textholderHeight-containerBorder-1)+'px'},o.transitionSpeed)}
849
-
850
- if(o.displayThumbnails)
851
- {
852
- function thumbclick(event)
853
- {
854
- target_num = this.id.split('_'); // we want target_num[1]
855
- if(viewable[0] != target_num[1])
856
- {
857
- status='pause';
858
- $j('#progress'+randID).stop().fadeOut();
859
- clearTimeout(clearInt);
860
- $j('#thumbs'+randID+' div').css({'cursor':'default'}).unbind('click'); // Unbind the thumbnail click event until the transition has ended
861
- autopilot = 0;
862
- }
863
- if(target_num[1] > viewable[0])
864
- {
865
- diff = target_num[1] - viewable[0];
866
- moveLeft(diff);
867
- }
868
- if(target_num[1] < viewable[0])
869
- {
870
- diff = viewable[0]- target_num[1];
871
- moveRight(diff);
872
- }
873
- }
874
-
875
- var viewable = []; // track which images are being displayed
876
- var unviewable = []; // track which images are being displayed
877
- // Build thumbnail viewer and thumbnail divs
878
- $j(obj).after('<div id="thumbs'+randID+'" style="position:relative;overflow:auto;clear:left;text-align:left;padding-top:5px;"></div>');
879
- for(i=0;i<=numImages-1;i++)
880
- {
881
- thumb = $j('img:eq('+(i+1)+')', obj).attr('src');
882
- $j('#thumbs'+randID).append('<div class="thumb" id="thumb'+randID+'_'+(i+1)+'" style="cursor:pointer;background-image:url('+thumb+');display:inline;float:left;width:'+o.thumbnailWidth+';height:'+o.thumbnailHeight+';line-height:'+o.thumbnailHeight+';padding:0;overflow:hidden;text-align:center;border:2px solid #ccc;margin-right:4px;font-size:'+o.thumbnailFontSize+';font-family:Arial;color:#000;text-shadow:0 0 3px #fff">'+(i+1)+'</div>');
883
- if(i<=o.inView) $j('#thumb'+randID+'_'+i).css({'border-color':'#ff0000'});
884
- unviewable.push(i+1);
885
- }
886
- // Initialize viewable/unviewable arrays
887
- for(i=1;i<=o.inView;i++) viewable.push(unviewable.shift());
888
-
889
- // Next two lines are a special case to handle the first list element which was originally the last
890
- thumb = $j('img:first', obj).attr('src');
891
- $j('#thumb'+randID+'_'+numImages).css({'background-image':'url('+thumb+')'});
892
- $j('#thumbs'+randID+' div.thumb:not(:first)').css({opacity:.65}); // makes all thumbs 65% opaque except the first one
893
-
894
- $j('#thumbs'+randID+' div.thumb').hover(function(){$j(this).animate({'opacity':1},150)},function(){if(viewable[0]!=this.id.split('_')[1]) $j(this).animate({'opacity':.65},250)}); // add hover to thumbs
895
- // Assign click handler for the thumbnails. Normally the format $j('.thumb') would work but since it's outside of our object (obj) it would get called multiple times
896
- $j('#thumbs'+randID+' div').bind('click', thumbclick); // We use bind instead of just plain click so that we can repeatedly remove and reattach the handler
897
-
898
- if(!o.displayThumbnailNumbers) $j('#thumbs'+randID+' div').text('');
899
- if(!o.displayThumbnailBackground) $j('#thumbs'+randID+' div').css({'background-image':'none'});
900
- }
901
-
902
- if(o.showControls)
903
- {
904
- // Pause/play button(img)
905
- html = '<div id="play_pause_btn'+randID+'" style="cursor:pointer;position:absolute;top:3px;right:3px;border:none;width:16px;height:16px;background:url('+o.imagePath+'playpause.gif) no-repeat 0 0"></div>';
906
- $j(obj).append(html);
907
- var status = 'play';
908
- $j('#play_pause_btn'+randID).css('opacity',.5).hover(function(){$(this).animate({opacity:'1'},250)},function(){$(this).animate({opacity:'.5'},250)});
909
- $j('#play_pause_btn'+randID).click(function(){
910
- status = (status == 'play') ? 'pause':'play';
911
- (status=='play') ? forceStart():forcePause();
912
- });
913
-
914
- if(!o.prevNextInternal)
915
- {
916
- wrapID = $(obj).attr('id')+'Wrapper';
917
- $j(obj).wrap('<div id="'+wrapID+'"></div>').css('margin','0 auto');
918
- $j('#'+wrapID).css('position','relative').width(($(obj).width()+40+parseInt($(obj).css('padding-left'))+parseInt($(obj).css('padding-right'))));
919
- }
920
- // Prev/next button(img)
921
- arrowsTop = ((imgHeight/2)-15)+parseInt(o.padding);
922
- html = '<div id="btn_rt'+randID+'" style="position:absolute;right:2px;top:'+arrowsTop+'px;cursor:pointer;border:none;width:13px;height:30px;background:url('+o.imagePath+'leftright.gif) no-repeat 0 0"></div>';
923
- html += '<div id="btn_lt'+randID+'" style="position:absolute;left:2px;top:'+arrowsTop+'px;cursor:pointer;border:none;width:13px;height:30px;background:url('+o.imagePath+'leftright.gif) no-repeat -13px 0"></div>';
924
- (o.prevNextInternal) ? $j(obj).append(html):$j('#'+wrapID).append(html);
925
-
926
- $j('#btn_rt'+randID).css('opacity',.5).click(function(){
927
- forcePrevNext('next');
928
- }).hover(function(){$j(this).animate({opacity:'1'},250)},function(){$j(this).animate({opacity:'.5'},250)});
929
- $j('#btn_lt'+randID).css('opacity',.5).click(function(){
930
- forcePrevNext('prev');
931
- }).hover(function(){$j(this).animate({opacity:'1'},250)},function(){$j(this).animate({opacity:'.5'},250)});
932
-
933
- if(o.autoHideControls && o.prevNextInternal)
934
- {
935
- function showcontrols()
936
- {
937
- $j('#play_pause_btn'+randID).stop().animate({top:'3px',right:'3px'},250);
938
- $j('#btn_rt'+randID).stop().animate({top:arrowsTop+'px',right:'2px'},250);
939
- $j('#btn_lt'+randID).stop().animate({top:arrowsTop+'px',left:'2px'},250);
940
- }
941
- function hidecontrols()
942
- {
943
- $j('#play_pause_btn'+randID).stop().animate({top:-16-containerBorder+'px',right:-16-containerBorder+'px'},250);
944
- $j('#btn_rt'+randID).stop().animate({right:'-16px'},250);
945
- $j('#btn_lt'+randID).stop().animate({left:'-16px'},250);
946
- }
947
- $j(obj).hover(showcontrols,hidecontrols);
948
- hidecontrols();
949
- }
950
- if(o.autoHideCaptions)
951
- {
952
- var isHover;
953
- function autoShowCap(){isHover=true;for(i=1;i<=o.inView;i++) showtext($j('li:eq('+i+') p', obj).html(),i);}
954
- function autoHideCap(){isHover=false;hideCaption();}
955
- $j(obj).hover(autoShowCap,autoHideCap);
956
- hideCaption();
957
- }
958
- }
959
-
960
- function keyBind(){
961
- if(o.enableKeyboardNav)
962
- {
963
- $j(document).keydown(function(event){
964
- if(event.keyCode == 39)
965
- {
966
- forcePrevNext('next');
967
- $j(document).unbind('keydown');
968
- }
969
- if(event.keyCode == 37)
970
- {
971
- forcePrevNext('prev');
972
- $j(document).unbind('keydown');
973
- }
974
- if(event.keyCode == 80 || event.keyCode == 111) forcePause();
975
- if(event.keyCode == 83 || event.keyCode == 115)
976
- {
977
- forceStart();
978
- $j(document).unbind('keydown');
979
- }
980
- });
981
- }
982
- }
983
-
984
- function forcePrevNext(dir)
985
- {
986
- o.onPauseClick.call(this);
987
- $j('#btn_rt'+randID).unbind('click');
988
- $j('#btn_lt'+randID).unbind('click');
989
- autopilot = 0;
990
- $j('#progress'+randID).stop().fadeOut();
991
- status='pause';
992
- clearTimeout(clearInt);
993
- (dir=='prev') ? moveRight():moveLeft();
994
- setTimeout(function(){
995
- $j('#play_pause_btn'+randID).bind('click',function(){forceStart();});
996
- $j('#btn_rt'+randID).bind('click',function(){forcePrevNext('next')});
997
- $j('#btn_lt'+randID).bind('click',function(){forcePrevNext('prev')});
998
- },o.transitionSpeed);
999
- }
1000
-
1001
- function forcePause()
1002
- {
1003
- $j('#play_pause_btn'+randID).unbind('click'); // unbind the click, wait for transition, then reenable
1004
- if(autopilot)
1005
- {
1006
- o.onPauseClick.call(this);
1007
- $j('#play_pause_btn'+randID).fadeTo(250,0,function(){$j(this).css({'background-position':'0 -16px','opacity':'.5'});}).animate({opacity:.5},250);
1008
- autopilot = 0;
1009
- showminmax();
1010
- $j('#progress'+randID).stop().fadeOut();
1011
- clearTimeout(clearInt);
1012
- setTimeout(function(){$j('#play_pause_btn'+randID).bind('click',function(){forceStart();})},o.transitionSpeed);
1013
- }
1014
- }
1015
-
1016
- function forceStart()
1017
- {
1018
- $j('#play_pause_btn'+randID).unbind('click'); // unbind the click, wait for transition, then reenable
1019
- if(!autopilot)
1020
- {
1021
- setTimeout(function(){$j('#play_pause_btn'+randID).css('background-position','0 0')},o.transitionSpeed-1);
1022
- autopilot = 1;
1023
- moveLeft();
1024
- clearInt=setInterval(function(){moveLeft();},o.displayTime+o.transitionSpeed);
1025
- setTimeout(function(){$j('#play_pause_btn'+randID).bind('click',function(){forcePause();})},o.transitionSpeed);
1026
- }
1027
- }
1028
-
1029
- function preMove()
1030
- {
1031
- hideCaption();
1032
- // Fade out play/pause/left/right
1033
- if(o.showControls && o.prevNextInternal)
1034
- {
1035
- $j('#play_pause_btn'+randID).fadeOut(200);
1036
- $j('#btn_lt'+randID).fadeOut(200);
1037
- $j('#btn_rt'+randID).fadeOut(200);
1038
- }
1039
- if(o.displayThumbnails) for(i=1;i<=numImages;i++) $j('#thumb'+randID+'_'+i).css({'border-color':'#ccc'}).animate({'opacity': .65},500);
1040
- }
1041
-
1042
- function postMove()
1043
- {
1044
- if(o.showControls && o.prevNextInternal)
1045
- {
1046
- $j('#play_pause_btn'+randID).fadeIn(200);
1047
- $j('#btn_lt'+randID).fadeIn(200);
1048
- $j('#btn_rt'+randID).fadeIn(200);
1049
- }
1050
- keyBind();
1051
- if(o.autoHideCaptions && isHover) autoShowCap();
1052
- if(o.displayThumbnails) for(i=0;i<viewable.length;i++) $j('#thumb'+randID+'_'+viewable[i]).css({'border-color':'#ff0000'}).animate({'opacity': 1},500);
1053
- if(!o.autoHideCaptions) for(i=1;i<=o.inView;i++) showtext($j('li:eq('+i+') p', obj).html(),i);
1054
- if(o.displayThumbnails) $j('#thumbs'+randID+' div').bind('click', thumbclick).css({'cursor':'pointer'});
1055
- ary=[];
1056
- for(x=1;x<=o.inView;x++){ary.push($j('img:eq('+x+')',obj).attr('src'))}
1057
- o.onSlideEnd.call(this,ary);
1058
- }
1059
-
1060
- function moveLeft(dist)
1061
- {
1062
- if(dist==null) dist=o.advance;
1063
- preMove();
1064
- if(o.displayThumbnails)
1065
- {
1066
- for(i=1;i<=dist;i++){
1067
- viewable.push(unviewable.shift());
1068
- unviewable.push(viewable.shift());
1069
- }
1070
- }
1071
- if(o.displayTime == 0){clearInterval(clearInt);} // If running a contonuous show with no display time, fist clear the interval. Then below, recursively call moveLeft
1072
- $j('li:lt('+dist+')', obj).clone(true).insertAfter($j('li:last', obj)); // Copy the first image (offscreen to the left) to the end of the list (offscreen to the right)
1073
- o.onSlideStart.call(this,viewable,'left');
1074
- $j('ul', obj).animate({left:-imgWidth*(dist+1)-(parseInt(o.padding)*(dist+1))*2},o.transitionSpeed,o.easeLeft,function(){ // Animate the entire list to the left
1075
- $j('li:lt('+dist+')', obj).remove(); // When the animation finishes, remove the first image (on the left). It has already been copied to the end of the list (right)
1076
- $j(this).css({'left':-imgWidth-parseInt(o.padding)*2});
1077
- if(o.displayProgressBar && autopilot) startProgressBar();
1078
- postMove();
1079
- if(o.displayTime == 0){moveLeft();}
1080
- });
1081
- }
1082
- function moveRight(dist)
1083
- {
1084
- if(dist==null) dist=o.advance;
1085
- preMove();
1086
- if(o.displayThumbnails)
1087
- {
1088
- for(i=1;i<=dist;i++){
1089
- viewable.unshift(unviewable.pop());
1090
- unviewable.unshift(viewable.pop());
1091
- }
1092
- }
1093
- $j('li:gt('+(numImages-(dist+1))+')', obj).clone(true).insertBefore($j('li:first', obj)); // Copy rightmost (last) li and insert it after the first li
1094
- o.onSlideStart.call(this,viewable,'right');
1095
- $j('ul', obj).css('left',-(imgWidth*(dist+1))-(parseInt(o.padding)*((dist+1)*2)))
1096
- .animate({left:-imgWidth-(parseInt(o.padding)*2)},o.transitionSpeed,o.easeRight,function(){
1097
- $j('li:gt('+(numImages-1)+')', obj).remove();
1098
- postMove();
1099
- });
1100
- }
1101
-
1102
- // Kickoff the show
1103
- if(autopilot)
1104
- {
1105
- var clearInt = setInterval(function(){moveLeft();},o.displayTime+o.transitionSpeed);
1106
- if(o.displayProgressBar) startProgressBar(o.displayTime+o.transitionSpeed);
1107
- } else {}
1108
- keyBind();
1109
- });
1110
- }
1111
- });
1112
- })(jQuery);
1113
- </script>
1114
- <div id="carousel">
1115
- <ul>
1116
- <?php $i = 0; foreach ($bannerCollection as $banner): $i++; ?>
1117
- <li><a href="<?php echo $banner['weblink'];?>"><img src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA) . $banner['filename']?>" title="<?php echo $banner['title']?>" alt="<?php echo $banner['title']?>" style="width:<?php echo $imagewidth;?>px; height:<?php echo $imageheight;?>px;"/></a><?php if ($showdesc == '1'):?><p><?php echo $banner['content']; ?></p><?php endif;?></li>
1118
- <?php endforeach; ?>
1119
- </ul>
1120
- </div>
1121
- </div>
1122
-
1123
- <?php elseif ($listStyle == ''):?>
1124
- <?php echo ("Please Upload Banner Or Configuration"); ?>
1125
- <?php endif;?>
1126
- <div class="clear"></div>
1
  <?php
2
+ /**
3
+ * Magestore
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magestore.com license that is
8
+ * available through the world-wide-web at this URL:
9
+ * http://www.magestore.com/license-agreement.html
10
+ *
11
+ * DISCLAIMER
12
+ *
13
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
14
+ * version in the future.
15
+ *
16
+ * @category Magestore
17
+ * @package Magestore_Bannerslider
18
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
19
+ * @license http://www.magestore.com/license-agreement.html
20
+ */
21
+ /**
22
+ * bannerslider template
23
+ *
24
+ * @see Magestore_Bannerslider_Block_Bannerslider
25
+ */
26
  ?>
27
+ <?php
28
+ $result = $this->getBlockData();
29
+ $block = $result['block'];
30
+ $banners = $result['banners'];
31
+ $banner_ids = array();
32
+ $banner_note_ids = array();
33
+ $url = $this->getUrl('bannerslider/index/impress');
34
+ ?>
35
+ <?php if (count($banners) && count($block->getData())): ?>
36
+ <?php if ($block->getPosition() == 'pop-up'): ?>
37
+ <?php echo $this->returntemplateSlider("11", $result) ?>
38
+ <?php
39
+ $banner_popup_id = $banners[0]["banner_id"];
40
+ $slider_popup_id = $block['bannerslider_id'];
41
+ ?>
42
+ <script type="text/javascript">
43
+ Event.observe(window, 'load', function() {
44
+ banner_popup_id = '<?php echo $banner_popup_id; ?>';
45
+ slider_id = '<?php echo $slider_popup_id ?>';
46
+ imp_url = '<?php echo $url; ?>';
47
+ new Ajax.Request(imp_url, {
48
+ method: 'post',
49
+ parameters: {banner_popup_id: banner_popup_id, slider_id: slider_id},
50
+ onFailure: '',
51
+ onSuccess: ''
52
+
53
+ });
54
+ });
55
+ </script>
56
+ <?php elseif ($block->getPosition() == 'note-allsite'): ?>
57
+ <?php echo $this->returntemplateSlider("12", $result) ?>
58
+ <?php
59
+ foreach ($banners as $banner) {
60
+ $banner_note_ids[$banner["banner_id"]] = $banner["banner_id"];
61
+ }
62
+ ?>
63
+ <script type="text/javascript">
64
+ Event.observe(window, 'load', function() {
65
+ banner_ids = '<?php echo implode(",", $banner_note_ids); ?>';
66
+ slider_id = '<?php echo $block['bannerslider_id'];?>';
67
+ imp_url = '<?php echo $url; ?>';
68
+ new Ajax.Request(imp_url, {
69
+ method: 'post',
70
+ parameters:{banner_ids: banner_ids, slider_id:slider_id},
71
+ onFailure: '',
72
+ onSuccess: ''
73
+
74
+ });
75
+ });
76
+ </script>
77
+ <?php else: ?>
78
+ <?php if ($block['show_title'] == 0): ?>
79
+ <div class="magestore-bannerslider-title" style="font: bold 12px/16px Arial, Helvetica, sans-serif;text-transform: uppercase;color: #e26703;"><strong><span><?php echo $block['title']; ?></span></strong></div>
80
+ <?php endif; ?>
81
+ <div class="magestore-bannerslider">
82
+ <?php if ($block->getStyleContent() == "1"): ?>
83
+ <div class="magestore-bannerslider-custom">
84
+ <?php echo $block->getCustomCode(); ?>
85
+ </div>
86
+ <?php elseif ($block->getStyleContent() == "0"): ?>
87
+ <div class="magestore-bannerslider-standard">
88
+ <?php echo $this->returntemplateSlider($block->getStyleSlide(), $result) ?>
89
+ </div>
90
+ <?php endif; ?>
91
+ </div>
92
+ <?php
93
+ foreach ($banners as $banner) {
94
+ $banner_ids[$banner["banner_id"]] = $banner["banner_id"];
95
+ }
96
+ ?>
97
+ <script type="text/javascript">
98
+ Event.observe(window, 'load', function() {
99
+ banner_ids = '<?php echo implode(",", $banner_ids); ?>';
100
+ slider_id = '<?php echo $block['bannerslider_id'];?>';
101
+ imp_url = '<?php echo $url; ?>';
102
+ new Ajax.Request(imp_url, {
103
+ method: 'post',
104
+ parameters:{banner_ids: banner_ids, slider_id:slider_id},
105
+ onFailure: '',
106
+ onSuccess: ''
107
+
108
+ });
109
+ });
110
+ </script>
111
+ <?php endif; ?>
112
+ <?php endif; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/template/bannerslider/note.phtml ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $block_data = $this->getBlockData();
3
+ $blocks = $block_data['block'];
4
+ $banners = $block_data['banners'];
5
+ $click_url = $this->getUrl('bannerslider/index/click');
6
+ ?>
7
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('magestore/bannerslider/jquery-1.7.min.js')?>"></script>
8
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('magestore/bannerslider/jquery.ads.note.js') ?>"></script>
9
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('magestore/bannerslider/slider1/jquery.slider.min.js') ?>"></script>
10
+ <link rel="stylesheet" type="text/css" href="<?php echo $this->getJsUrl('magestore/bannerslider/jquery.ads.note.css') ?>">
11
+ <link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl('css/magestore/bannerslider/slider3.css') ?>">
12
+
13
+ <script type="text/javascript">
14
+ var jnote = jQuery.noConflict();
15
+ jnote(document).ready(function($) {
16
+ jnote("#ads-note-<?php echo $blocks['bannerslider_id'] ?>").adsNote({
17
+ bgcolor:"<?php echo $blocks['note_color'] ?>", //23b8ff
18
+ position:"<?php echo Mage::helper('bannerslider')->getVaulePosition($blocks['position_note']) ?>"
19
+ });
20
+ jnote(".slider2-note-<?php echo $blocks['bannerslider_id'] ?>").slideshow({
21
+ width : 300,
22
+ height : 200,
23
+ transition : 'square'
24
+ });
25
+ });
26
+ </script>
27
+ <div id="ads-note-<?php echo $blocks['bannerslider_id'] ?>">
28
+ <div class="ads-note-box" >
29
+ <div class="ads-note-content">
30
+ <div class="ads-note-content-text">
31
+ <?php if(!$blocks['show_title']): ?>
32
+ <strong><span style="text-transform: uppercase; color: #ffffff; margin-bottom: 1px"><?php echo $blocks['title'] ?></span></strong>
33
+ <br>
34
+ <?php endif; ?>
35
+ <?php echo $blocks['description'] ?>
36
+ </div>
37
+ <div class="ads-note-content-img">
38
+ <div class="bannerslide-minimal-slider">
39
+ <div class="slider2-note-<?php echo $blocks['bannerslider_id'] ?>">
40
+ <?php foreach ($banners as $banner): ?>
41
+ <div>
42
+ <a href="<?php echo $banner['click_url']; ?>" onclick="bannerClicks('<?php echo $banner['banner_id']?>','<?php echo $blocks['bannerslider_id'] ?>')" style="display:block;"><img src="<?php echo $this->getBannerImage($banner['image']); ?>" title="<?php echo $banner['name']; ?>" width="300" height="200"/></a>
43
+ </div>
44
+ <?php endforeach; ?>
45
+
46
+ </div>
47
+ </div>
48
+ </div>
49
+ </div>
50
+ </div>
51
+ </div>
52
+ <script type="text/javascript">
53
+ function bannerClicks(id_banner,slider_id){
54
+ var click_url = '<?php echo $click_url;?>';
55
+ banner_id = id_banner;
56
+ new Ajax.Request(click_url,{
57
+ method: 'post',
58
+ parameters:{id_banner: banner_id,slider_id:slider_id},
59
+ onFailure: '',
60
+ onSuccess: ''
61
+
62
+ });
63
+
64
+ }
65
+ </script>
app/design/frontend/base/default/template/bannerslider/popup.phtml ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //if($this->isDisplayPopup()): ?>
2
+ <?php $block = $this->getBlockData(); ?>
3
+ <?php $nameImage = $block['banners'][0]['image'] ;
4
+ $block_data = $block['block'];
5
+
6
+ ?>
7
+ <?php $urlImage = $this->getBannerImage($nameImage); ?>
8
+
9
+ <div id="magestore-bannerslider-popup" style="display: block; text-align: left;">
10
+ <div id="magestore-bannerslider-popup-close" title="Close"></div>
11
+ <?php if(!$block['block']['show_title']): ?>
12
+ <p style="text-transform: uppercase; color: #e26703; margin-bottom: 1px">
13
+ <strong><span><?php echo $block['block']['title'] ?></span></strong>
14
+ </p>
15
+ <?php endif; ?>
16
+ <a href="<?php echo $block['banners'][0]['click_url'] ?>" target="<?php echo $this->getTarget($block['banners'][0]['tartget'])?>" onclick="bannerClicks('<?php echo $block['banners'][0]['banner_id']?>','<?php echo $block_data['bannerslider_id']?>')" style="display:block;">
17
+ <img src="<?php echo $urlImage; ?>" width="<?php echo $block['block']['width'] ?>px" height="<?php echo $block['block']['height'] ?>px"/>
18
+ </a>
19
+ </div>
20
+ <script type="text/javascript">
21
+ Event.observe(window, 'load', function () {
22
+ socialLogin = new Lightbox('magestore-bannerslider-popup');
23
+ socialLogin.open();
24
+ Event.observe('bg_fade', 'click', function () {
25
+ socialLogin.close();
26
+ });
27
+ });
28
+ Event.observe('magestore-bannerslider-popup-close', 'click', function () {
29
+ socialLogin.close();
30
+ });
31
+
32
+ Event.observe(window, 'resize', function () {
33
+ socialLogin._centerWindow('magestore-bannerslider-popup');
34
+ });
35
+
36
+ function bannerClicks(id_banner,id_slider){
37
+ var click_url = '<?php echo $this->getUrl('bannerslider/index/click'); ?>';
38
+ banner_id = id_banner;
39
+ new Ajax.Request(click_url,{
40
+ method: 'post',
41
+ parameters:{id_banner: banner_id,slider_id:id_slider},
42
+ onFailure: '',
43
+ onSuccess: ''
44
+ });
45
+ }
46
+ </script>
47
+ <?php //endif; ?>
app/design/frontend/base/default/template/bannerslider/slider1.phtml ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $block_data = $this->getBlockData();
3
+ $blocks = $block_data['block'];
4
+ $banners = $block_data['banners'];
5
+ $click_url = $this->getUrl('bannerslider/index/click');
6
+ ?>
7
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('magestore/bannerslider/jquery-1.7.min.js')?>"></script>
8
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('magestore/bannerslider/slider1/jquery.slider.min.js') ?>"></script>
9
+ <link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl('css/magestore/bannerslider/slider1.css') ?>" />
10
+ <script type="text/javascript">
11
+ var j1 = jQuery.noConflict();
12
+ j1(document).ready(function($) {
13
+ j1(".slider1-<?php echo $blocks['bannerslider_id'] ?>").slideshow({
14
+ width : <?php echo $blocks['width'] ?>,
15
+ height : <?php echo $blocks['height'] ?>,
16
+ transition : "<?php echo $blocks['animationB'] ?>",
17
+ delay : <?php echo $blocks['slider_speed'];?>
18
+
19
+ });
20
+ });
21
+ </script>
22
+ <div class="bannerslide-default-slider" style="margin: auto; margin-bottom: 10px">
23
+ <div class="slider1-<?php echo $blocks['bannerslider_id'] ?>" >
24
+ <?php foreach ($banners as $banner): ?>
25
+ <div>
26
+ <a href="<?php echo $banner['click_url']; ?>" target="<?php echo $this->getTarget($banner['tartget'])?>" style="display:block;" onclick="bannerClicks('<?php echo $banner['banner_id']?>','<?php echo $blocks['bannerslider_id'] ?>')"><img src="<?php echo $this->getBannerImage($banner['image']); ?>" title="<?php echo $banner['name']; ?>" alt="<?php echo $banner['image_alt']; ?>" width="<?php echo $blocks['width'] ?>" height="<?php echo $blocks['height'] ?>"/></a>
27
+ </div>
28
+ <?php endforeach; ?>
29
+ </div>
30
+ </div>
31
+ <script type="text/javascript">
32
+ function bannerClicks(id_banner,slider_id){
33
+ var click_url = '<?php echo $click_url;?>';
34
+ banner_id = id_banner;
35
+ new Ajax.Request(click_url,{
36
+ method: 'post',
37
+ parameters:{id_banner: banner_id,slider_id:slider_id},
38
+ onFailure: '',
39
+ onSuccess: ''
40
+
41
+ });
42
+
43
+ }
44
+ </script>
app/design/frontend/base/default/template/bannerslider/slider10.phtml ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $block_data = $this->getBlockData();
3
+ $blocks = $block_data['block'];
4
+ $banners = $block_data['banners'];
5
+ $click_url = $this->getUrl('bannerslider/index/click');
6
+ ?>
7
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('magestore/bannerslider/jquery-1.7.min.js') ?>"></script>
8
+ <script src="<?php echo $this->getJsUrl('magestore/bannerslider/jquery.flexslider.js') ?>"></script>
9
+ <link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl('css/magestore/bannerslider/flexslider.css') ?>" media="all" />
10
+ <script type="text/javascript">
11
+ // Can also be used with $(document).ready()
12
+ var j10 = jQuery.noConflict();
13
+ j10(window).load(function() {
14
+ j10('.flexslider-10-<?php echo $blocks['bannerslider_id'] ?>').flexslider({
15
+ animation: "slide",
16
+ animationLoop: true,
17
+ itemWidth: 210,
18
+ itemMargin: 5,
19
+ minItems: 2,
20
+ maxItems: 4
21
+ });
22
+ });
23
+ </script>
24
+ <div class="flexslider flexslider-10-<?php echo $blocks['bannerslider_id'] ?>">
25
+ <ul class="slides">
26
+ <?php foreach ($banners as $banner): ?>
27
+ <li style="margin-right:5px;">
28
+ <a href="<?php echo $banner['click_url']?>" target="<?php echo $this->getTarget($banner['tartget'])?>" style="display:block;" onclick="bannerClicks('<?php echo $blocks['bannerslider_id'] ?>','<?php echo $blocks['bannerslider_id'] ?>')"><img alt="<?php echo $banner['image_alt'];?>" src="<?php echo $this->getBannerImage($banner['image']); ?>"/></a>
29
+ </li>
30
+ <?php endforeach; ?>
31
+ <!-- items mirrored twice, total of 12 -->
32
+ </ul>
33
+ </div>
34
+ <script type="text/javascript">
35
+ function bannerClicks(id_banner,id_slider){
36
+ var click_url = '<?php echo $click_url;?>';
37
+ banner_id = id_banner;
38
+ new Ajax.Request(click_url,{
39
+ method: 'post',
40
+ parameters:{id_banner: banner_id, slider_id:id_slider},
41
+ onFailure: '',
42
+ onSuccess: ''
43
+
44
+ });
45
+
46
+ }
47
+ </script>
app/design/frontend/base/default/template/bannerslider/slider2.phtml ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $block_data = $this->getBlockData();
3
+ $blocks = $block_data['block'];
4
+ $banners = $block_data['banners'];
5
+ $click_url = $this->getUrl('bannerslider/index/click');
6
+ ?>
7
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('magestore/bannerslider/jquery-1.7.min.js')?>"></script>
8
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('magestore/bannerslider/slider1/jquery.slider.min.js') ?>"></script>
9
+ <link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl('css/magestore/bannerslider/slider2.css') ?>">
10
+ <div>
11
+ <script type="text/javascript">
12
+ var j2 = jQuery.noConflict();
13
+ j2(document).ready(function($) {
14
+ j2(".slider2-<?php echo $blocks['bannerslider_id'] ?>").slideshow({
15
+ width : <?php echo $blocks['width'] ?>,
16
+ height : <?php echo $blocks['height'] ?>,
17
+ transition : "<?php echo $blocks['animationB'] ?>",
18
+ delay : <?php echo $blocks['slider_speed'];?>
19
+
20
+ });
21
+ });
22
+ </script>
23
+ <div class="bannerslide-caborno-slider" style="margin: auto; margin-bottom: 10px">
24
+ <div class="slider2-<?php echo $blocks['bannerslider_id'] ?>">
25
+ <?php foreach ($banners as $banner): ?>
26
+ <div>
27
+ <a href="<?php echo $banner['click_url']; ?>" target="<?php echo $this->getTarget($banner['tartget'])?>" onclick="bannerClicks('<?php echo $banner['banner_id'] ?>','<?php echo $blocks['bannerslider_id'] ?>')" style="display:block"><img src="<?php echo $this->getBannerImage($banner['image']); ?>" title="<?php echo $banner['name']; ?>" alt="<?php echo $banner['image_alt']; ?>" width="<?php echo $blocks['width'] ?>" height="<?php echo $blocks['height'] ?>"/></a>
28
+ </div>
29
+ <?php endforeach; ?>
30
+
31
+ </div>
32
+ </div>
33
+ </div>
34
+ <script type="text/javascript">
35
+ function bannerClicks(id_banner,id_slider){
36
+ click_url = '<?php echo $click_url;?>';
37
+ banner_id = id_banner;
38
+ new Ajax.Request(click_url,{
39
+ method: 'post',
40
+ parameters:{id_banner: banner_id,slider_id:id_slider },
41
+ onFailure: '',
42
+ onSuccess: ''
43
+
44
+ });
45
+
46
+ }
47
+ </script>
48
+
app/design/frontend/base/default/template/bannerslider/slider3.phtml ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $block_data = $this->getBlockData();
3
+ $blocks = $block_data['block'];
4
+ $banners = $block_data['banners'];
5
+ $click_url = $this->getUrl('bannerslider/index/click');
6
+ ?>
7
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('magestore/bannerslider/jquery-1.7.min.js')?>"></script>
8
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('magestore/bannerslider/slider1/jquery.slider.min.js') ?>"></script>
9
+ <link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl('css/magestore/bannerslider/slider3.css') ?>">
10
+ <div>
11
+ <script type="text/javascript">
12
+ var j3 = jQuery.noConflict();
13
+ j3(document).ready(function($) {
14
+ j3(".slider3-<?php echo $blocks['bannerslider_id'] ?>").slideshow({
15
+ width : <?php echo $blocks['width'] ?>,
16
+ height : <?php echo $blocks['height'] ?>,
17
+ transition : "<?php echo $blocks['animationB'] ?>",
18
+ delay : <?php echo $blocks['slider_speed'];?>
19
+
20
+ });
21
+ });
22
+ </script>
23
+ <div class="bannerslide-minimal-slider" style="margin: auto; margin-bottom: 10px">
24
+ <div class="slider3-<?php echo $blocks['bannerslider_id'] ?>">
25
+ <?php foreach ($banners as $banner): ?>
26
+ <div>
27
+ <a href="<?php echo $banner['click_url']; ?>" target="<?php echo $this->getTarget($banner['tartget'])?>" onclick="bannerClicks('<?php echo $banner['banner_id'] ?>','<?php echo $blocks['bannerslider_id'] ?>')" style="display:block"><img src="<?php echo $this->getBannerImage($banner['image']); ?>" title="<?php echo $banner['name']; ?>" alt="<?php echo $banner['image_alt']; ?>" width="<?php echo $blocks['width'] ?>" height="<?php echo $blocks['height'] ?>"/></a>
28
+ </div>
29
+ <?php endforeach; ?>
30
+
31
+
32
+ </div>
33
+ </div>
34
+ </div>
35
+ <script type="text/javascript">
36
+ function bannerClicks(id_banner,id_slider){
37
+ click_url = '<?php echo $click_url;?>';
38
+ banner_id = id_banner;
39
+ new Ajax.Request(click_url,{
40
+ method: 'post',
41
+ parameters:{id_banner: banner_id, slider_id:id_slider},
42
+ onFailure: '',
43
+ onSuccess: ''
44
+
45
+ });
46
+
47
+ }
48
+ </script>
app/design/frontend/base/default/template/bannerslider/slider4.phtml ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $block_data = $this->getBlockData();
3
+ $blocks = $block_data['block'];
4
+ $banners = $block_data['banners'];
5
+ $click_url = $this->getUrl('bannerslider/index/click');
6
+ ?>
7
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('magestore/bannerslider/jquery-1.7.min.js')?>"></script>
8
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('magestore/bannerslider/slider1/jquery.slider.min.js') ?>"></script>
9
+ <link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl('css/magestore/bannerslider/slider4.css') ?>">
10
+ <div>
11
+ <script type="text/javascript">
12
+ var j4 = jQuery.noConflict();
13
+ j4(document).ready(function($) {
14
+ j4(".slider4-<?php echo $blocks['bannerslider_id'] ?>").slideshow({
15
+ width : <?php echo $blocks['width'] ?>,
16
+ height : <?php echo $blocks['height'] ?>,
17
+ transition : "<?php echo $blocks['animationB'] ?>",
18
+ delay : <?php echo $blocks['slider_speed'];?>
19
+
20
+ });
21
+ });
22
+ </script>
23
+ <div class="bannerslide-fresh-slider" style="margin: auto; margin-bottom: 10px">
24
+ <div class="slider4-<?php echo $blocks['bannerslider_id'] ?>">
25
+ <?php foreach ($banners as $banner): ?>
26
+ <div>
27
+ <a href="<?php echo $banner['click_url']; ?>" target="<?php echo $this->getTarget($banner['tartget'])?>" onclick="bannerClicks('<?php echo $banner['banner_id'] ?>','<?php echo $blocks['bannerslider_id'] ?>')" style="display:block"><img src="<?php echo $this->getBannerImage($banner['image']); ?>" title="<?php echo $banner['name']; ?>" alt="<?php echo $banner['image_alt']; ?>" width="<?php echo $blocks['width'] ?>" height="<?php echo $blocks['height'] ?>"/></a>
28
+ </div>
29
+ <?php endforeach; ?>
30
+
31
+
32
+ </div>
33
+ </div>
34
+ </div>
35
+
36
+ <script type="text/javascript">
37
+ function bannerClicks(id_banner,id_slider){
38
+ var click_url = '<?php echo $click_url;?>';
39
+ banner_id = id_banner;
40
+ new Ajax.Request(click_url,{
41
+ method: 'post',
42
+ parameters:{id_banner: banner_id, slider_id:id_slider},
43
+ onFailure: '',
44
+ onSuccess: ''
45
+
46
+ });
47
+
48
+ }
49
+ </script>
app/design/frontend/base/default/template/bannerslider/slider5.phtml ADDED
File without changes
app/design/frontend/base/default/template/bannerslider/slider6.phtml ADDED
File without changes
app/design/frontend/base/default/template/bannerslider/slider7.phtml ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $block_data = $this->getBlockData();
3
+ $blocks = $block_data['block'];
4
+ $banners = $block_data['banners'];
5
+ $click_url = $this->getUrl('bannerslider/index/click');
6
+ ?>
7
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('magestore/bannerslider/jquery-1.7.min.js') ?>"></script>
8
+ <script src="<?php echo $this->getJsUrl('magestore/bannerslider/jquery.flexslider.js') ?>"></script>
9
+ <link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl('css/magestore/bannerslider/flexslider.css') ?>" media="all" />
10
+ <script type="text/javascript">
11
+ var j7 = jQuery.noConflict();
12
+ j7(window).load(function() {
13
+ j7('.flexslider-7-<?php echo $blocks['bannerslider_id'] ?>').flexslider({
14
+ animation: "<?php echo $blocks['animationB'];?>",
15
+ slideshowSpeed: <?php echo $blocks['slider_speed'];?>
16
+ //minItems: 2,
17
+ //maxItems: <?php echo $this->getMaxItem($blocks['max_item']); ?>
18
+ });
19
+ });
20
+ </script>
21
+ <div class="flexslider flexslider-7-<?php echo $blocks['bannerslider_id'] ?>">
22
+ <ul class="slides">
23
+ <?php foreach ($banners as $banner): ?>
24
+ <li>
25
+ <a href="<?php echo $banner['click_url']?>" target="<?php echo $this->getTarget($banner['tartget'])?>" onclick="bannerClicks('<?php echo $banner['banner_id'] ?>','<?php echo $blocks['bannerslider_id'] ?>')" style="display:block"><img alt="<?php echo $banner['image_alt'];?>" src="<?php echo $this->getBannerImage($banner['image']); ?>"/></a>
26
+ </li>
27
+ <?php endforeach; ?>
28
+ <!-- items mirrored twice, total of 12 -->
29
+ </ul>
30
+ </div>
31
+ <script type="text/javascript">
32
+ function bannerClicks(id_banner,id_slider){
33
+ var click_url = '<?php echo $click_url;?>';
34
+ banner_id = id_banner;
35
+ new Ajax.Request(click_url,{
36
+ method: 'post',
37
+ parameters:{id_banner: banner_id, slider_id:id_slider},
38
+ onFailure: '',
39
+ onSuccess: ''
40
+
41
+ });
42
+
43
+ }
44
+ </script>
app/design/frontend/base/default/template/bannerslider/slider8.phtml ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $block_data = $this->getBlockData();
3
+ $blocks = $block_data['block'];
4
+ $banners = $block_data['banners'];
5
+ $click_url = $this->getUrl('bannerslider/index/click');
6
+ ?>
7
+
8
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('magestore/bannerslider/jquery-1.7.min.js') ?>"></script>
9
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('magestore/bannerslider/jquery.flexslider.js') ?>"></script>
10
+ <link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl('css/magestore/bannerslider/flexslider.css') ?>" media="all" />
11
+ <script type="text/javascript">
12
+ // Can also be used with $(document).ready()
13
+ var j8 = jQuery.noConflict();
14
+ j8(window).load(function() {
15
+ j8('.flexslider-8-<?php echo $blocks['bannerslider_id'] ?>').flexslider({
16
+ animation: "<?php echo $blocks['animationB'];?>",
17
+ controlNav: "thumbnails",
18
+ slideshowSpeed: <?php echo $blocks['slider_speed'];?>,
19
+ minItems: <?php echo $this->getMinItem($blocks['min_item']); ?>,
20
+ maxItems: <?php echo $this->getMaxItem($blocks['max_item']); ?>
21
+ });
22
+ });
23
+ </script>
24
+ <div class="flexslider flexslider-8-<?php echo $blocks['bannerslider_id'] ?>">
25
+ <ul class="slides">
26
+ <?php foreach ($banners as $banner): ?>
27
+ <li data-thumb="<?php echo $this->getBannerImage($banner['image']); ?>">
28
+ <a href="<?php echo $banner['click_url']?>" target="<?php echo $this->getTarget($banner['tartget'])?>" onclick="bannerClicks('<?php echo $banner['banner_id'] ?>','<?php echo $blocks['bannerslider_id'] ?>')" style="display:block"><img alt="<?php echo $banner['image_alt'];?>" src="<?php echo $this->getBannerImage($banner['image']); ?>"/></a>
29
+ </li>
30
+ <?php endforeach; ?>
31
+ </ul>
32
+ </div>
33
+
34
+ <script type="text/javascript">
35
+ function bannerClicks(id_banner, id_slider){
36
+ click_url = '<?php echo $click_url;?>';
37
+ banner_id = id_banner;
38
+ new Ajax.Request(click_url,{
39
+ method: 'post',
40
+ parameters:{id_banner: banner_id, slider_id:id_slider},
41
+ onFailure: '',
42
+ onSuccess: ''
43
+
44
+ });
45
+
46
+ }
47
+ </script>
app/design/frontend/base/default/template/bannerslider/slider9.phtml ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $block_data = $this->getBlockData();
3
+ $blocks = $block_data['block'];
4
+ $banners = $block_data['banners'];
5
+ $click_url = $this->getUrl('bannerslider/index/click');
6
+ ?>
7
+
8
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('magestore/bannerslider/jquery-1.7.min.js') ?>"></script>
9
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('magestore/bannerslider/jquery.flexslider.js') ?>"></script>
10
+ <link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl('css/magestore/bannerslider/flexslider.css') ?>" media="all" />
11
+ <script type="text/javascript">
12
+ var j9 = jQuery.noConflict();
13
+ j9(window).load(function() {
14
+ // The slider being synced must be initialized first
15
+ j9('#carousel-9-<?php echo $blocks['bannerslider_id'] ?>').flexslider({
16
+ animation: "slide",
17
+ controlNav: false,
18
+ animationLoop: false,
19
+ slideshow: false,
20
+ itemWidth: 210,
21
+ itemMargin: 5,
22
+ asNavFor: '#slider-9-<?php echo $blocks['bannerslider_id'] ?>'
23
+ });
24
+
25
+ j9('#slider-9-<?php echo $blocks['bannerslider_id'] ?>').flexslider({
26
+ animation: "<?php echo $blocks['animationB'];?>",
27
+ controlNav: false,
28
+ animationLoop: false,
29
+ slideshow: true,
30
+ slideshowSpeed: <?php echo $blocks['slider_speed'];?>,
31
+ sync: "#carousel-9-<?php echo $blocks['bannerslider_id'] ?>"
32
+ });
33
+ });
34
+ </script>
35
+ <div id="slider-9-<?php echo $blocks['bannerslider_id'] ?>" class="flexslider flexslider-9-<?php echo $blocks['bannerslider_id'] ?>">
36
+ <ul class="slides">
37
+ <?php foreach ($banners as $banner): ?>
38
+ <li>
39
+ <a href="<?php echo $banner['click_url']?>" target="<?php echo $this->getTarget($banner['tartget'])?>" onclick="bannerClicks('<?php echo $banner['banner_id'] ?>','<?php echo $blocks['bannerslider_id'] ?>')" style="display:block"><img alt="<?php echo $banner['image_alt'];?>" src="<?php echo $this->getBannerImage($banner['image']); ?>"/></a>
40
+ </li>
41
+ <?php endforeach; ?>
42
+ <!-- items mirrored twice, total of 12 -->
43
+ </ul>
44
+ </div>
45
+
46
+ <div id="carousel-9-<?php echo $blocks['bannerslider_id'] ?>" class="flexslider flexslider-9-<?php echo $blocks['bannerslider_id'] ?>">
47
+ <ul class="slides">
48
+ <?php foreach ($banners as $banner): ?>
49
+ <li style="margin-right: 5px;">
50
+ <a href="<?php echo $banner['click_url']?>" target="<?php echo $this->getTarget($banner['tartget'])?>" onclick="bannerClicks('<?php echo $banner['banner_id'] ?>','<?php echo $blocks['bannerslider_id'] ?>')" style="display:block"><img alt="<?php echo $banner['image_alt'];?>" src="<?php echo $this->getBannerImage($banner['image']); ?>"/></a>
51
+ </li>
52
+ <?php endforeach; ?>
53
+ <!-- items mirrored twice, total of 12 -->
54
+ </ul>
55
+ </div>
56
+
57
+ <script type="text/javascript">
58
+ function bannerClicks(id_banner, id_slider){
59
+ var click_url = '<?php echo $click_url;?>';
60
+ banner_id = id_banner;
61
+ new Ajax.Request(click_url,{
62
+ method: 'post',
63
+ parameters:{id_banner: banner_id, slider_id:id_slider},
64
+ onFailure: '',
65
+ onSuccess: ''
66
+
67
+ });
68
+
69
+ }
70
+ </script>
app/design/frontend/base/default/template/bannerslider/view.phtml DELETED
@@ -1,73 +0,0 @@
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) 2010 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 view template
30
- *
31
- * @see Mage_Catalog_Block_Category_View
32
- */
33
- ?>
34
- <?php
35
- $_helper = $this->helper('catalog/output');
36
- $_category = $this->getCurrentCategory();
37
- $_imgHtml = '';
38
- if ($_imgUrl = $_category->getImageUrl()) {
39
- $_imgHtml = '<p class="category-image"><img src="'.$_imgUrl.'" alt="'.$this->htmlEscape($_category->getName()).'" title="'.$this->htmlEscape($_category->getName()).'" /></p>';
40
- $_imgHtml = $_helper->categoryAttribute($_category, $_imgHtml, 'image');
41
- }
42
- ?>
43
- <div class="page-title category-title">
44
- <?php if($this->IsRssCatalogEnable() && $this->IsTopCategory()): ?>
45
- <a href="<?php echo $this->getRssLink() ?>" class="link-rss"><?php echo $this->__('Subscribe to RSS Feed') ?></a>
46
- <?php endif; ?>
47
- <h1><?php echo $_helper->categoryAttribute($_category, $_category->getName(), 'name') ?></h1>
48
- </div>
49
-
50
- <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
51
-
52
- <?php echo $this->getChildHtml('bannerslider') ?>
53
-
54
- <?php if($_imgUrl): ?>
55
- <?php echo $_imgHtml ?>
56
- <?php endif; ?>
57
-
58
- <?php if($_description=$this->getCurrentCategory()->getDescription()): ?>
59
- <div class="category-description std">
60
- <?php echo $_helper->categoryAttribute($_category, $_description, 'description') ?>
61
- </div>
62
- <?php endif; ?>
63
-
64
- <?php if($this->isContentMode()): ?>
65
- <?php echo $this->getCmsBlockHtml() ?>
66
-
67
- <?php elseif($this->isMixedMode()): ?>
68
- <?php echo $this->getCmsBlockHtml() ?>
69
- <?php echo $this->getProductListHtml() ?>
70
-
71
- <?php else: ?>
72
- <?php echo $this->getProductListHtml() ?>
73
- <?php endif; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/template/bannerslider/vssver2.scc ADDED
Binary file
app/etc/modules/Magestore_Bannerslider.xml CHANGED
@@ -1,9 +1,30 @@
1
  <?xml version="1.0"?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  <config>
3
- <modules>
4
- <Magestore_Bannerslider>
5
- <active>true</active>
6
- <codePool>community</codePool>
7
- </Magestore_Bannerslider>
8
- </modules>
9
- </config>
1
  <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Magestore
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Magestore.com license that is
9
+ * available through the world-wide-web at this URL:
10
+ * http://www.magestore.com/license-agreement.html
11
+ *
12
+ * DISCLAIMER
13
+ *
14
+ * Do not edit or add to this file if you wish to upgrade this extension to newer
15
+ * version in the future.
16
+ *
17
+ * @category Magestore
18
+ * @package Magestore_Bannerslider
19
+ * @copyright Copyright (c) 2012 Magestore (http://www.magestore.com/)
20
+ * @license http://www.magestore.com/license-agreement.html
21
+ */
22
+ -->
23
  <config>
24
+ <modules>
25
+ <Magestore_Bannerslider>
26
+ <active>true</active>
27
+ <codePool>community</codePool>
28
+ </Magestore_Bannerslider>
29
+ </modules>
30
+ </config>
app/etc/modules/Magestore_Magenotification.xml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <config>
3
+ <modules>
4
+ <Magestore_Magenotification>
5
+ <active>true</active>
6
+ <codePool>local</codePool>
7
+ </Magestore_Magenotification>
8
+ </modules>
9
+ </config>
app/locale/en_US/Magestore_Bannerslider.csv ADDED
File without changes
js/magestore/bannerslider/banner1.js DELETED
@@ -1,159 +0,0 @@
1
- //** Tab Content script v2.0- � Dynamic Drive DHTML code library (http://www.dynamicdrive.com)
2
- //** Updated Oct 7th, 07 to version 2.0. Contains numerous improvements:
3
- // -Added Auto Mode: Script auto rotates the tabs based on an interval, until a tab is explicitly selected
4
- // -Ability to expand/contract arbitrary DIVs on the page as the tabbed content is expanded/ contracted
5
- // -Ability to dynamically select a tab either based on its position within its peers, or its ID attribute (give the target tab one 1st)
6
- // -Ability to set where the CSS classname "selected" get assigned- either to the target tab's link ("A"), or its parent container
7
- //** Updated Feb 18th, 08 to version 2.1: Adds a "tabinstance.cycleit(dir)" method to cycle forward or backward between tabs dynamically
8
- //** Updated April 8th, 08 to version 2.2: Adds support for expanding a tab using a URL parameter (ie: http://mysite.com/tabcontent.htm?tabinterfaceid=0)
9
-
10
- ////NO NEED TO EDIT BELOW////////////////////////
11
-
12
- function ddtabcontent(tabinterfaceid){
13
- this.tabinterfaceid=tabinterfaceid //ID of Tab Menu main container
14
- this.tabs=document.getElementById(tabinterfaceid).getElementsByTagName("a") //Get all tab links within container
15
- this.enabletabpersistence=true
16
- this.hottabspositions=[] //Array to store position of tabs that have a "rel" attr defined, relative to all tab links, within container
17
- this.currentTabIndex=0 //Index of currently selected hot tab (tab with sub content) within hottabspositions[] array
18
- this.subcontentids=[] //Array to store ids of the sub contents ("rel" attr values)
19
- this.revcontentids=[] //Array to store ids of arbitrary contents to expand/contact as well ("rev" attr values)
20
- this.selectedClassTarget="link" //keyword to indicate which target element to assign "selected" CSS class ("linkparent" or "link")
21
- }
22
-
23
- ddtabcontent.getCookie=function(Name){
24
- var re=new RegExp(Name+"=[^;]+", "i"); //construct RE to search for target name/value pair
25
- if (document.cookie.match(re)) //if cookie found
26
- return document.cookie.match(re)[0].split("=")[1] //return its value
27
- return ""
28
- }
29
-
30
- ddtabcontent.setCookie=function(name, value){
31
- document.cookie = name+"="+value+";path=/" //cookie value is domain wide (path=/)
32
- }
33
-
34
- ddtabcontent.prototype={
35
-
36
- expandit:function(tabid_or_position){ //PUBLIC function to select a tab either by its ID or position(int) within its peers
37
- this.cancelautorun() //stop auto cycling of tabs (if running)
38
- var tabref=""
39
- try{
40
- if (typeof tabid_or_position=="string" && document.getElementById(tabid_or_position).getAttribute("rel")) //if specified tab contains "rel" attr
41
- tabref=document.getElementById(tabid_or_position)
42
- else if (parseInt(tabid_or_position)!=NaN && this.tabs[tabid_or_position].getAttribute("rel")) //if specified tab contains "rel" attr
43
- tabref=this.tabs[tabid_or_position]
44
- }
45
- catch(err){alert("Invalid Tab ID or position entered!")}
46
- if (tabref!="") //if a valid tab is found based on function parameter
47
- this.expandtab(tabref) //expand this tab
48
- },
49
-
50
- cycleit:function(dir, autorun){ //PUBLIC function to move foward or backwards through each hot tab (tabinstance.cycleit('foward/back') )
51
- if (dir=="next"){
52
- var currentTabIndex=(this.currentTabIndex<this.hottabspositions.length-1)? this.currentTabIndex+1 : 0
53
- }
54
- else if (dir=="prev"){
55
- var currentTabIndex=(this.currentTabIndex>0)? this.currentTabIndex-1 : this.hottabspositions.length-1
56
- }
57
- if (typeof autorun=="undefined") //if cycleit() is being called by user, versus autorun() function
58
- this.cancelautorun() //stop auto cycling of tabs (if running)
59
- this.expandtab(this.tabs[this.hottabspositions[currentTabIndex]])
60
- },
61
-
62
- setpersist:function(bool){ //PUBLIC function to toggle persistence feature
63
- this.enabletabpersistence=bool
64
- },
65
-
66
- setselectedClassTarget:function(objstr){ //PUBLIC function to set which target element to assign "selected" CSS class ("linkparent" or "link")
67
- this.selectedClassTarget=objstr || "link"
68
- },
69
-
70
- getselectedClassTarget:function(tabref){ //Returns target element to assign "selected" CSS class to
71
- return (this.selectedClassTarget==("linkparent".toLowerCase()))? tabref.parentNode : tabref
72
- },
73
-
74
- urlparamselect:function(tabinterfaceid){
75
- var result=window.location.search.match(new RegExp(tabinterfaceid+"=(\\d+)", "i")) //check for "?tabinterfaceid=2" in URL
76
- return (result==null)? null : parseInt(RegExp.$1) //returns null or index, where index (int) is the selected tab's index
77
- },
78
-
79
- expandtab:function(tabref){
80
- var subcontentid=tabref.getAttribute("rel") //Get id of subcontent to expand
81
- //Get "rev" attr as a string of IDs in the format ",john,george,trey,etc," to easily search through
82
- var associatedrevids=(tabref.getAttribute("rev"))? ","+tabref.getAttribute("rev").replace(/\s+/, "")+"," : ""
83
- this.expandsubcontent(subcontentid)
84
- this.expandrevcontent(associatedrevids)
85
- for (var i=0; i<this.tabs.length; i++){ //Loop through all tabs, and assign only the selected tab the CSS class "selected"
86
- this.getselectedClassTarget(this.tabs[i]).className=(this.tabs[i].getAttribute("rel")==subcontentid)? "selected" : ""
87
- }
88
- if (this.enabletabpersistence) //if persistence enabled, save selected tab position(int) relative to its peers
89
- ddtabcontent.setCookie(this.tabinterfaceid, tabref.tabposition)
90
- this.setcurrenttabindex(tabref.tabposition) //remember position of selected tab within hottabspositions[] array
91
- },
92
-
93
- expandsubcontent:function(subcontentid){
94
- for (var i=0; i<this.subcontentids.length; i++){
95
- var subcontent=document.getElementById(this.subcontentids[i]) //cache current subcontent obj (in for loop)
96
- subcontent.style.display=(subcontent.id==subcontentid)? "block" : "none" //"show" or hide sub content based on matching id attr value
97
- }
98
- },
99
-
100
- expandrevcontent:function(associatedrevids){
101
- var allrevids=this.revcontentids
102
- for (var i=0; i<allrevids.length; i++){ //Loop through rev attributes for all tabs in this tab interface
103
- //if any values stored within associatedrevids matches one within allrevids, expand that DIV, otherwise, contract it
104
- document.getElementById(allrevids[i]).style.display=(associatedrevids.indexOf(","+allrevids[i]+",")!=-1)? "block" : "none"
105
- }
106
- },
107
-
108
- setcurrenttabindex:function(tabposition){ //store current position of tab (within hottabspositions[] array)
109
- for (var i=0; i<this.hottabspositions.length; i++){
110
- if (tabposition==this.hottabspositions[i]){
111
- this.currentTabIndex=i
112
- break
113
- }
114
- }
115
- },
116
-
117
- autorun:function(){ //function to auto cycle through and select tabs based on a set interval
118
- this.cycleit('next', true)
119
- },
120
-
121
- cancelautorun:function(){
122
- if (typeof this.autoruntimer!="undefined")
123
- clearInterval(this.autoruntimer)
124
- },
125
-
126
- init:function(automodeperiod){
127
- var persistedtab=ddtabcontent.getCookie(this.tabinterfaceid) //get position of persisted tab (applicable if persistence is enabled)
128
- var selectedtab=-1 //Currently selected tab index (-1 meaning none)
129
- var selectedtabfromurl=this.urlparamselect(this.tabinterfaceid) //returns null or index from: tabcontent.htm?tabinterfaceid=index
130
- this.automodeperiod=automodeperiod || 0
131
- for (var i=0; i<this.tabs.length; i++){
132
- this.tabs[i].tabposition=i //remember position of tab relative to its peers
133
- if (this.tabs[i].getAttribute("rel")){
134
- var tabinstance=this
135
- this.hottabspositions[this.hottabspositions.length]=i //store position of "hot" tab ("rel" attr defined) relative to its peers
136
- this.subcontentids[this.subcontentids.length]=this.tabs[i].getAttribute("rel") //store id of sub content ("rel" attr value)
137
- this.tabs[i].onclick=function(){
138
- tabinstance.expandtab(this)
139
- tabinstance.cancelautorun() //stop auto cycling of tabs (if running)
140
- return false
141
- }
142
- if (this.tabs[i].getAttribute("rev")){ //if "rev" attr defined, store each value within "rev" as an array element
143
- this.revcontentids=this.revcontentids.concat(this.tabs[i].getAttribute("rev").split(/\s*,\s*/))
144
- }
145
- if (selectedtabfromurl==i || this.enabletabpersistence && selectedtab==-1 && parseInt(persistedtab)==i || !this.enabletabpersistence && selectedtab==-1 && this.getselectedClassTarget(this.tabs[i]).className=="selected"){
146
- selectedtab=i //Selected tab index, if found
147
- }
148
- }
149
- } //END for loop
150
- if (selectedtab!=-1) //if a valid default selected tab index is found
151
- this.expandtab(this.tabs[selectedtab]) //expand selected tab (either from URL parameter, persistent feature, or class="selected" class)
152
- else //if no valid default selected index found
153
- this.expandtab(this.tabs[this.hottabspositions[0]]) //Just select first tab that contains a "rel" attr
154
- if (parseInt(this.automodeperiod)>500 && this.hottabspositions.length>1){
155
- this.autoruntimer=setInterval(function(){tabinstance.autorun()}, this.automodeperiod)
156
- }
157
- } //END int() function
158
-
159
- } //END Prototype assignment
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
js/magestore/bannerslider/banner3.js DELETED
@@ -1,52 +0,0 @@
1
- /**
2
- * Coin Slider - Unique jQuery Image Slider
3
- * @version: 1.0 - (2010/04/04)
4
- * @requires jQuery v1.2.2 or later
5
- * @author Ivan Lazarevic
6
- * Examples and documentation at: http://workshop.rs/projects/coin-slider/
7
-
8
- * Licensed under MIT licence:
9
- * http://www.opensource.org/licenses/mit-license.php
10
- **/
11
-
12
- (function($){var params=new Array;var order=new Array;var images=new Array;var links=new Array;var linksTarget=new Array;var titles=new Array;var interval=new Array;var imagePos=new Array;var appInterval=new Array;var squarePos=new Array;var reverse=new Array;$.fn.coinslider=$.fn.CoinSlider=function(options){init=function(el){order[el.id]=new Array();images[el.id]=new Array();links[el.id]=new Array();linksTarget[el.id]=new Array();titles[el.id]=new Array();imagePos[el.id]=0;squarePos[el.id]=0;reverse[el.id]=1;params[el.id]=$.extend({},$.fn.coinslider.defaults,options);$.each($('#'+el.id+' img'),function(i,item){images[el.id][i]=$(item).attr('src');links[el.id][i]=$(item).parent().is('a')?$(item).parent().attr('href'):'';linksTarget[el.id][i]=$(item).parent().is('a')?$(item).parent().attr('target'):'';titles[el.id][i]=$(item).next().is('span')?$(item).next().html():'';$(item).hide();$(item).next().hide();});$(el).css({'background-image':'url('+images[el.id][0]+')','width':params[el.id].width,'height':params[el.id].height,'position':'relative','background-position':'top left'}).wrap("<div class='coin-slider' id='coin-slider-"+el.id+"' />");$('#'+el.id).append("<div class='cs-title' id='cs-title-"+el.id+"' style='position: absolute; bottom:0; left: 0; z-index: 1000;'></div>");$.setFields(el);if(params[el.id].navigation)
13
- $.setNavigation(el);$.transition(el,0);$.transitionCall(el);}
14
- $.setFields=function(el){tWidth=sWidth=parseInt(params[el.id].width/params[el.id].spw);tHeight=sHeight=parseInt(params[el.id].height/params[el.id].sph);counter=sLeft=sTop=0;tgapx=gapx=params[el.id].width-params[el.id].spw*sWidth;tgapy=gapy=params[el.id].height-params[el.id].sph*sHeight;for(i=1;i<=params[el.id].sph;i++){gapx=tgapx;if(gapy>0){gapy--;sHeight=tHeight+1;}else{sHeight=tHeight;}
15
- for(j=1;j<=params[el.id].spw;j++){if(gapx>0){gapx--;sWidth=tWidth+1;}else{sWidth=tWidth;}
16
- order[el.id][counter]=i+''+j;counter++;if(params[el.id].links)
17
- $('#'+el.id).append("<a href='"+links[el.id][0]+"' class='cs-"+el.id+"' id='cs-"+el.id+i+j+"' style='width:"+sWidth+"px; height:"+sHeight+"px; float: left; position: absolute;'></a>");else
18
- $('#'+el.id).append("<div class='cs-"+el.id+"' id='cs-"+el.id+i+j+"' style='width:"+sWidth+"px; height:"+sHeight+"px; float: left; position: absolute;'></div>");$("#cs-"+el.id+i+j).css({'background-position':-sLeft+'px '+(-sTop+'px'),'left':sLeft,'top':sTop});sLeft+=sWidth;}
19
- sTop+=sHeight;sLeft=0;}
20
- $('.cs-'+el.id).mouseover(function(){$('#cs-navigation-'+el.id).show();});$('.cs-'+el.id).mouseout(function(){$('#cs-navigation-'+el.id).hide();});$('#cs-title-'+el.id).mouseover(function(){$('#cs-navigation-'+el.id).show();});$('#cs-title-'+el.id).mouseout(function(){$('#cs-navigation-'+el.id).hide();});if(params[el.id].hoverPause){$('.cs-'+el.id).mouseover(function(){params[el.id].pause=true;});$('.cs-'+el.id).mouseout(function(){params[el.id].pause=false;});$('#cs-title-'+el.id).mouseover(function(){params[el.id].pause=true;});$('#cs-title-'+el.id).mouseout(function(){params[el.id].pause=false;});}};$.transitionCall=function(el){clearInterval(interval[el.id]);delay=params[el.id].delay+params[el.id].spw*params[el.id].sph*params[el.id].sDelay;interval[el.id]=setInterval(function(){$.transition(el)},delay);}
21
- $.transition=function(el,direction){if(params[el.id].pause==true)return;$.effect(el);squarePos[el.id]=0;appInterval[el.id]=setInterval(function(){$.appereance(el,order[el.id][squarePos[el.id]])},params[el.id].sDelay);$(el).css({'background-image':'url('+images[el.id][imagePos[el.id]]+')'});if(typeof(direction)=="undefined")
22
- imagePos[el.id]++;else
23
- if(direction=='prev')
24
- imagePos[el.id]--;else
25
- imagePos[el.id]=direction;if(imagePos[el.id]==images[el.id].length){imagePos[el.id]=0;}
26
- if(imagePos[el.id]==-1){imagePos[el.id]=images[el.id].length-1;}
27
- $('.cs-button-'+el.id).removeClass('cs-active');$('#cs-button-'+el.id+"-"+(imagePos[el.id]+1)).addClass('cs-active');if(titles[el.id][imagePos[el.id]]){$('#cs-title-'+el.id).css({'opacity':0}).animate({'opacity':params[el.id].opacity},params[el.id].titleSpeed);$('#cs-title-'+el.id).html(titles[el.id][imagePos[el.id]]);}else{$('#cs-title-'+el.id).css('opacity',0);}};$.appereance=function(el,sid){$('.cs-'+el.id).attr('href',links[el.id][imagePos[el.id]]).attr('target',linksTarget[el.id][imagePos[el.id]]);if(squarePos[el.id]==params[el.id].spw*params[el.id].sph){clearInterval(appInterval[el.id]);return;}
28
- $('#cs-'+el.id+sid).css({opacity:0,'background-image':'url('+images[el.id][imagePos[el.id]]+')'});$('#cs-'+el.id+sid).animate({opacity:1},300);squarePos[el.id]++;};$.setNavigation=function(el){$(el).append("<div id='cs-navigation-"+el.id+"'></div>");$('#cs-navigation-'+el.id).hide();$('#cs-navigation-'+el.id).append("<a href='#' id='cs-prev-"+el.id+"' class='cs-prev'>prev</a>");$('#cs-navigation-'+el.id).append("<a href='#' id='cs-next-"+el.id+"' class='cs-next'>next</a>");$('#cs-prev-'+el.id).css({'position':'absolute','top':params[el.id].height/2-15,'left':0,'z-index':1001,'line-height':'30px','opacity':params[el.id].opacity}).click(function(e){e.preventDefault();$.transition(el,'prev');$.transitionCall(el);}).mouseover(function(){$('#cs-navigation-'+el.id).show()});$('#cs-next-'+el.id).css({'position':'absolute','top':params[el.id].height/2-15,'right':0,'z-index':1001,'line-height':'30px','opacity':params[el.id].opacity}).click(function(e){e.preventDefault();$.transition(el);$.transitionCall(el);}).mouseover(function(){$('#cs-navigation-'+el.id).show()});$("<div id='cs-buttons-"+el.id+"' class='cs-buttons'></div>").appendTo($('#coin-slider-'+el.id));for(k=1;k<images[el.id].length+1;k++){$('#cs-buttons-'+el.id).append("<a href='#' class='cs-button-"+el.id+"' id='cs-button-"+el.id+"-"+k+"'>"+k+"</a>");}
29
- $.each($('.cs-button-'+el.id),function(i,item){$(item).click(function(e){$('.cs-button-'+el.id).removeClass('cs-active');$(this).addClass('cs-active');e.preventDefault();$.transition(el,i);$.transitionCall(el);})});$('#cs-navigation-'+el.id+' a').mouseout(function(){$('#cs-navigation-'+el.id).hide();params[el.id].pause=false;});$("#cs-buttons-"+el.id).css({'left':'50%','margin-left':-images[el.id].length*15/2-5,'position':'relative'});}
30
- $.effect=function(el){effA=['random','swirl','rain','straight'];if(params[el.id].effect=='')
31
- eff=effA[Math.floor(Math.random()*(effA.length))];else
32
- eff=params[el.id].effect;order[el.id]=new Array();if(eff=='random'){counter=0;for(i=1;i<=params[el.id].sph;i++){for(j=1;j<=params[el.id].spw;j++){order[el.id][counter]=i+''+j;counter++;}}
33
- $.random(order[el.id]);}
34
- if(eff=='rain'){$.rain(el);}
35
- if(eff=='swirl')
36
- $.swirl(el);if(eff=='straight')
37
- $.straight(el);reverse[el.id]*=-1;if(reverse[el.id]>0){order[el.id].reverse();}}
38
- $.random=function(arr){var i=arr.length;if(i==0)return false;while(--i){var j=Math.floor(Math.random()*(i+1));var tempi=arr[i];var tempj=arr[j];arr[i]=tempj;arr[j]=tempi;}}
39
- $.swirl=function(el){var n=params[el.id].sph;var m=params[el.id].spw;var x=1;var y=1;var going=0;var num=0;var c=0;var dowhile=true;while(dowhile){num=(going==0||going==2)?m:n;for(i=1;i<=num;i++){order[el.id][c]=x+''+y;c++;if(i!=num){switch(going){case 0:y++;break;case 1:x++;break;case 2:y--;break;case 3:x--;break;}}}
40
- going=(going+1)%4;switch(going){case 0:m--;y++;break;case 1:n--;x++;break;case 2:m--;y--;break;case 3:n--;x--;break;}
41
- check=$.max(n,m)-$.min(n,m);if(m<=check&&n<=check)
42
- dowhile=false;}}
43
- $.rain=function(el){var n=params[el.id].sph;var m=params[el.id].spw;var c=0;var to=to2=from=1;var dowhile=true;while(dowhile){for(i=from;i<=to;i++){order[el.id][c]=i+''+parseInt(to2-i+1);c++;}
44
- to2++;if(to<n&&to2<m&&n<m){to++;}
45
- if(to<n&&n>=m){to++;}
46
- if(to2>m){from++;}
47
- if(from>to)dowhile=false;}}
48
- $.straight=function(el){counter=0;for(i=1;i<=params[el.id].sph;i++){for(j=1;j<=params[el.id].spw;j++){order[el.id][counter]=i+''+j;counter++;}}}
49
- $.min=function(n,m){if(n>m)return m;else return n;}
50
- $.max=function(n,m){if(n<m)return m;else return n;}
51
- this.each(function(){init(this);});};$.fn.coinslider.defaults={width:565,height:290,spw:7,sph:5,delay:3000,sDelay:30,opacity:0.7,titleSpeed:500,effect:'',navigation:true,links:true,hoverPause:true};})
52
- jQuery.noConflict();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
js/magestore/bannerslider/coda-slider.1.1.1.pack.js DELETED
@@ -1,7 +0,0 @@
1
- /*
2
- jQuery Coda-Slider v1.1 - http://www.ndoherty.com/coda-slider
3
-
4
- Copyright (c) 2007 Niall Doherty
5
- */
6
- eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('3(d(){3("4.T").1s("<p r=\'O\'>16...<1t /><18 19=\'1a/11-1b.1c\' 1d=\'O...\'/ ></p>")});b j=0;3.1e.1f=d(f){f=3.1g({G:"1h",E:1i,1j:Q},f);P 6.w(d(){b o=3(6);o.7("p.O").1k();o.q("T").l("1l");b m=o.7("4.I").C();b k=o.7("4.I").1m();b U=m*k;o.7("4.t").K("C",U);b N=k*2;F(h.g&&D(h.g.s(1))<=k){b 9=D(h.g.s(1));b e=-(m*(9-1));3(6).7("4.t").K({H:e})}B{b 9=1};o.w(d(i){3(6).W("<4 r=\'J\' M=\'J"+j+"\'><a A=\'#\'>1n</a><\\/4>");3(6).1o("<4 r=\'L\' M=\'L"+j+"\'><a A=\'#\'>1q</a><\\/4>");3(6).W("<4 r=\'c\' M=\'c"+j+"\'><v><\\/v><\\/4>");3(6).7("4.I").w(d(n){3("4#c"+j+" v").X("<x r=\'Z"+(n+1)+"\'><a A=\'#"+(n+1)+"\'>"+3(6).S("10")+"<\\/a><\\/x>")});3("4#c"+j+" a").w(d(z){N+=3(6).5().C();3(6).12("u",d(){3(6).l("8").5().5().7("a").13(3(6)).q("8");b e=-(m*z);9=z+1;3(6).5().5().5().V().7("4.t").R({H:e},f.E,f.G)})});3("4#J"+j+" a").u(d(){F(9==1){b e=-(m*(k-1));9=k;3(6).5().5().7("4.c a.8").q("8").5().5().7("x:14 a").l("8")}B{9-=1;b e=-(m*(9-1));3(6).5().5().7("4.c a.8").q("8").5().15().7("a").l("8")};3(6).5().5().7("4.t").R({H:e},f.E,f.G);h.g=9;P Q});3("4#L"+j+" a").u(d(){F(9==k){b e=0;9=1;3(6).5().5().7("4.c a.8").q("8").5().5().7("a:y(0)").l("8")}B{b e=-(m*9);9+=1;3(6).5().5().7("4.c a.8").q("8").5().V().7("a").l("8")};3(6).5().5().7("4.t").R({H:e},f.E,f.G);h.g=9;P Q});3("a.1p-1r").u(d(){3(6).Y().7(".c v x a:y("+(D(3(6).S("A").s(1))-1)+")").17(\'u\')});3("4#c"+j).K("C",N);F(h.g&&D(h.g.s(1))<=k){3("4#c"+j+" a:y("+(h.g.s(1)-1)+")").l("8")}B{3("4#c"+j+" a:y(0)").l("8")}});j++})};',62,92,'|||jQuery|div|parent|this|find|current|cPanel||var|stripNav|function|cnt|settings|hash|location|||panelCount|addClass|panelWidth||container||removeClass|class|slice|panelContainer|click|ul|each|li|eq||href|else|width|parseInt|easeTime|if|easeFunc|left|panel|stripNavL|css|stripNavR|id|navWidth|loading|return|false|animate|attr|csw|stripViewerWidth|next|before|append|parents|tab|title|ajax|bind|not|last|prev|Loading|trigger|img|src|images|loader|gif|alt|fn|codaSlider|extend|expoinout|750|toolTip|remove|stripViewer|size|Left|after|cross|Right|link|prepend|br'.split('|'),0,{}))
7
- jQuery.noConflict();
 
 
 
 
 
 
 
js/magestore/bannerslider/images/arrow.png ADDED
Binary file
js/magestore/bannerslider/images/close-button.png ADDED
Binary file
js/magestore/bannerslider/images/vssver2.scc ADDED
Binary file
js/magestore/bannerslider/jquery-1.4.2.min.js DELETED
@@ -1,154 +0,0 @@
1
- /*
2
- * jQuery JavaScript Library v1.4.2
3
- * Copyright 2010, John Resig, http://jquery.com/
4
- * Distributed in whole under the terms of the MIT license
5
- * http://www.opensource.org/licenses/mit-license.php
6
- *
7
- * Includes Sizzle.js
8
- * http://sizzlejs.com/
9
- * Copyright 2010, The Dojo Foundation
10
- * Released under the MIT, BSD, and GPL Licenses.
11
- */
12
- (function(A, w) {
13
- function ma() { if (!c.isReady) { try { s.documentElement.doScroll("left") } catch (a) { setTimeout(ma, 1); return } c.ready() } } function Qa(a, b) { b.src ? c.ajax({ url: b.src, async: false, dataType: "script" }) : c.globalEval(b.text || b.textContent || b.innerHTML || ""); b.parentNode && b.parentNode.removeChild(b) } function X(a, b, d, f, e, j) {
14
- var i = a.length; if (typeof b === "object") { for (var o in b) X(a, o, b[o], f, e, d); return a } if (d !== w) { f = !j && f && c.isFunction(d); for (o = 0; o < i; o++) e(a[o], b, f ? d.call(a[o], o, e(a[o], b)) : d, j); return a } return i ?
15
- e(a[0],b):w}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function na(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function oa(a){var b,d=[],f=[],e=arguments,j,i,o,k,n,r;i=c.data(this,"events");if(!(a.liveFired===this||!i||!i.live||a.button&&a.type==="click")){a.liveFired=this;var u=i.live.slice(0);for(k=0;k<u.length;k++){i=u[k];i.origType.replace(O,"")===a.type?f.push(i.selector):u.splice(k--,1)}j=c(a.target).closest(f,a.currentTarget);n=0;for(r=
16
- j.length;n<r;n++)for(k=0;k<u.length;k++){i=u[k];if(j[n].selector===i.selector){o=j[n].elem;f=null;if(i.preType==="mouseenter"||i.preType==="mouseleave")f=c(a.relatedTarget).closest(i.selector)[0];if(!f||f!==o)d.push({elem:o,handleObj:i})}}n=0;for(r=d.length;n<r;n++){j=d[n];a.currentTarget=j.elem;a.data=j.handleObj.data;a.handleObj=j.handleObj;if(j.handleObj.origHandler.apply(j.elem,e)===false){b=false;break}}return b}}function pa(a,b){return"live."+(a&&a!=="*"?a+".":"")+b.replace(/\./g,"`").replace(/ /g,
17
- "&")}function qa(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function ra(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var j in f)for(var i in f[j])c.event.add(this,j,f[j][i],f[j][i].data)}}})}function sa(a,b,d){var f,e,j;b=b&&b[0]?b[0].ownerDocument||b[0]:s;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===s&&!ta.test(a[0])&&(c.support.checkClone||!ua.test(a[0]))){e=
18
- true;if(j=c.fragments[a[0]])if(j!==1)f=j}if(!f){f=b.createDocumentFragment();c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=j?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(va.concat.apply([],va.slice(0,b)),function(){d[this]=a});return d}function wa(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},Ra=A.jQuery,Sa=A.$,s=A.document,T,Ta=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/,
19
- Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&&
20
- (d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this,
21
- a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b===
22
- "find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(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(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this,
23
- function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b<d;b++)if((e=arguments[b])!=null)for(j in e){i=a[j];o=e[j];if(a!==o)if(f&&o&&(c.isPlainObject(o)||c.isArray(o))){i=i&&(c.isPlainObject(i)||
24
- c.isArray(i))?i:c.isArray(o)?[]:{};a[j]=c.extend(f,i,o)}else if(o!==w)a[j]=o}return a};c.extend({noConflict:function(a){A.$=Sa;if(a)A.jQuery=Ra;return c},isReady:false,ready:function(){if(!c.isReady){if(!s.body)return setTimeout(c.ready,13);c.isReady=true;if(Q){for(var a,b=0;a=Q[b++];)a.call(s,c);Q=null}c.fn.triggerHandler&&c(s).triggerHandler("ready")}},bindReady:function(){if(!xa){xa=true;if(s.readyState==="complete")return c.ready();if(s.addEventListener){s.addEventListener("DOMContentLoaded",
25
- L,false);A.addEventListener("load",c.ready,false)}else if(s.attachEvent){s.attachEvent("onreadystatechange",L);A.attachEvent("onload",c.ready);var a=false;try{a=A.frameElement==null}catch(b){}s.documentElement.doScroll&&a&&ma()}}},isFunction:function(a){return $.call(a)==="[object Function]"},isArray:function(a){return $.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor.prototype,
26
- "isPrototypeOf"))return false;var b;for(b in a);return b===w||aa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;a=c.trim(a);if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return A.JSON&&A.JSON.parse?A.JSON.parse(a):(new Function("return "+
27
- a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Va.test(a)){var b=s.getElementsByTagName("head")[0]||s.documentElement,d=s.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(s.createTextNode(a));else d.text=a;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,d){var f,e=0,j=a.length,i=j===w||c.isFunction(a);if(d)if(i)for(f in a){if(b.apply(a[f],
28
- d)===false)break}else for(;e<j;){if(b.apply(a[e++],d)===false)break}else if(i)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=a[0];e<j&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Wa,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var d=0,f=b.length;d<f;d++)if(b[d]===
29
- a)return d;return-1},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number")for(var e=b.length;f<e;f++)a[d++]=b[f];else for(;b[f]!==w;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,j=a.length;e<j;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,j=0,i=a.length;j<i;j++){e=b(a[j],j,d);if(e!=null)f[f.length]=e}return f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length===2)if(typeof b==="string"){d=a;a=d[b];b=w}else if(b&&
30
- !c.isFunction(b)){d=b;b=w}if(!b&&a)b=function(){return a.apply(d||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});P=c.uaMatch(P);if(P.browser){c.browser[P.browser]=true;c.browser.version=P.version}if(c.browser.webkit)c.browser.safari=
31
- true;if(ya)c.inArray=function(a,b){return ya.call(b,a)};T=c(s);if(s.addEventListener)L=function(){s.removeEventListener("DOMContentLoaded",L,false);c.ready()};else if(s.attachEvent)L=function(){if(s.readyState==="complete"){s.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=s.documentElement,b=s.createElement("script"),d=s.createElement("div"),f="script"+J();d.style.display="none";d.innerHTML=" <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
32
- var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected,
33
- parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent=
34
- false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n=
35
- s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true,
36
- applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando];
37
- else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this,
38
- a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===
39
- w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i,
40
- cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1)if(e.className){for(var j=" "+e.className+" ",
41
- i=e.className,o=0,k=b.length;o<k;o++)if(j.indexOf(" "+b[o]+" ")<0)i+=" "+b[o];e.className=c.trim(i)}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(k){var n=c(this);n.removeClass(a.call(this,k,n.attr("class")))});if(a&&typeof a==="string"||a===w)for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className)if(a){for(var j=(" "+e.className+" ").replace(Aa," "),i=0,o=b.length;i<o;i++)j=j.replace(" "+b[i]+" ",
42
- " ");e.className=c.trim(j)}else e.className=""}return this},toggleClass:function(a,b){var d=typeof a,f=typeof b==="boolean";if(c.isFunction(a))return this.each(function(e){var j=c(this);j.toggleClass(a.call(this,e,j.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,j=0,i=c(this),o=b,k=a.split(ca);e=k[j++];){o=f?o:!i.hasClass(e);i[o?"addClass":"removeClass"](e)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className=
43
- this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(Aa," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j<d;j++){var i=
44
- e[j];if(i.selected){a=c(i).val();if(b)return a;f.push(a)}}return f}if(Ba.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Za,"")}return w}var o=c.isFunction(a);return this.each(function(k){var n=c(this),r=a;if(this.nodeType===1){if(o)r=a.call(this,k,n.val());if(typeof r==="number")r+="";if(c.isArray(r)&&Ba.test(this.type))this.checked=c.inArray(n.val(),r)>=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected=
45
- c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");
46
- a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g,
47
- function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split(".");
48
- k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a),
49
- C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B<r.length;B++){u=r[B];if(d.guid===u.guid){if(i||k.test(u.namespace)){f==null&&r.splice(B--,1);n.remove&&n.remove.call(a,u)}if(f!=
50
- null)break}}if(r.length===0||f!=null&&r.length===1){if(!n.teardown||n.teardown.call(a,o)===false)Ca(a,e,z.handle);delete C[e]}}else for(var B=0;B<r.length;B++){u=r[B];if(i||k.test(u.namespace)){c.event.remove(a,n,u.handler,B);r.splice(B--,1)}}}if(c.isEmptyObject(C)){if(b=z.handle)b.elem=null;delete z.events;delete z.handle;c.isEmptyObject(z)&&c.removeData(a)}}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf("!")>=0){a.type=
51
- e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&&
52
- f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;
53
- if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e<j;e++){var i=d[e];if(b||f.test(i.namespace)){a.handler=i.handler;a.data=i.data;a.handleObj=i;i=i.handler.apply(this,arguments);if(i!==w){a.result=i;if(i===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
54
- fix:function(a){if(a[G])return a;var b=a;a=c.Event(b);for(var d=this.props.length,f;d;){f=this.props[--d];a[f]=b[f]}if(!a.target)a.target=a.srcElement||s;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=s.documentElement;d=s.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
55
- d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(!a.which&&(a.charCode||a.charCode===0?a.charCode:a.keyCode))a.which=a.charCode||a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==w)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,a.origType,c.extend({},a,{handler:oa}))},remove:function(a){var b=true,d=a.origType.replace(O,"");c.each(c.data(this,
56
- "events").live||[],function(){if(d===this.origType.replace(O,""))return b=false});b&&c.event.remove(this,a.origType,oa)}},beforeunload:{setup:function(a,b,d){if(this.setInterval)this.onbeforeunload=d;return false},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};var Ca=s.removeEventListener?function(a,b,d){a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=
57
- a;this.type=a.type}else this.type=a;this.timeStamp=J();this[G]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=Z;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=Z;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Z;this.stopPropagation()},isDefaultPrevented:Y,isPropagationStopped:Y,
58
- isImmediatePropagationStopped:Y};var Da=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},Ea=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?Ea:Da,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ea:Da)}}});if(!c.support.submitBubbles)c.event.special.submit=
59
- {setup:function(){if(this.nodeName.toLowerCase()!=="form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length)return na("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13)return na("submit",this,arguments)})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};
60
- if(!c.support.changeBubbles){var da=/textarea|input|select/i,ea,Fa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",
61
- e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,
62
- "_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a,
63
- d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j<o;j++)c.event.add(this[j],d,i,f)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&
64
- !a.preventDefault)for(var d in a)this.unbind(d,a[d]);else{d=0;for(var f=this.length;d<f;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,f){return this.live(b,d,f,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){a=c.Event(a);a.preventDefault();a.stopPropagation();c.event.trigger(a,b,this[0]);return a.result}},
65
- toggle:function(a){for(var b=arguments,d=1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(f){var e=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,e+1);f.preventDefault();return b[e].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Ga={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,f,e,j){var i,o=0,k,n,r=j||this.selector,
66
- u=j?this:c(this.context);if(c.isFunction(f)){e=f;f=w}for(d=(d||"").split(" ");(i=d[o++])!=null;){j=O.exec(i);k="";if(j){k=j[0];i=i.replace(O,"")}if(i==="hover")d.push("mouseenter"+k,"mouseleave"+k);else{n=i;if(i==="focus"||i==="blur"){d.push(Ga[i]+k);i+=k}else i=(Ga[i]||i)+k;b==="live"?u.each(function(){c.event.add(this,pa(i,r),{data:f,selector:r,handler:e,origType:i,origHandler:e,preType:n})}):u.unbind(pa(i,r),e)}}return this}});c.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".split(" "),
67
- function(a,b){c.fn[b]=function(d){return d?this.bind(b,d):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});A.attachEvent&&!A.addEventListener&&A.attachEvent("onunload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});(function(){function a(g){for(var h="",l,m=0;g[m];m++){l=g[m];if(l.nodeType===3||l.nodeType===4)h+=l.nodeValue;else if(l.nodeType!==8)h+=a(l.childNodes)}return h}function b(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];
68
- if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1&&!p){t.sizcache=l;t.sizset=q}if(t.nodeName.toLowerCase()===h){y=t;break}t=t[g]}m[q]=y}}}function d(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1){if(!p){t.sizcache=l;t.sizset=q}if(typeof h!=="string"){if(t===h){y=true;break}}else if(k.filter(h,[t]).length>0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
69
- e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift();
70
- t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D||
71
- g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h<g.length;h++)g[h]===g[h-1]&&g.splice(h--,1)}return g};k.matches=function(g,h){return k(g,null,null,h)};k.find=function(g,h,l){var m,q;if(!g)return[];
72
- for(var p=0,v=n.order.length;p<v;p++){var t=n.order[p];if(q=n.leftMatch[t].exec(g)){var y=q[1];q.splice(1,1);if(y.substr(y.length-1)!=="\\"){q[1]=(q[1]||"").replace(/\\/g,"");m=n.find[t](q,h,l);if(m!=null){g=g.replace(n.match[t],"");break}}}}m||(m=h.getElementsByTagName("*"));return{set:m,expr:g}};k.filter=function(g,h,l,m){for(var q=g,p=[],v=h,t,y,S=h&&h[0]&&x(h[0]);g&&h.length;){for(var H in n.filter)if((t=n.leftMatch[H].exec(g))!=null&&t[2]){var M=n.filter[H],I,D;D=t[1];y=false;t.splice(1,1);if(D.substr(D.length-
73
- 1)!=="\\"){if(v===p)p=[];if(n.preFilter[H])if(t=n.preFilter[H](t,v,l,p,m,S)){if(t===true)continue}else y=I=true;if(t)for(var U=0;(D=v[U])!=null;U++)if(D){I=M(D,t,U,v);var Ha=m^!!I;if(l&&I!=null)if(Ha)y=true;else v[U]=false;else if(Ha){p.push(D);y=true}}if(I!==w){l||(v=p);g=g.replace(n.match[H],"");if(!y)return[];break}}}if(g===q)if(y==null)k.error(g);else break;q=g}return v};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var n=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
74
- CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},
75
- relative:{"+":function(g,h){var l=typeof h==="string",m=l&&!/\W/.test(h);l=l&&!m;if(m)h=h.toLowerCase();m=0;for(var q=g.length,p;m<q;m++)if(p=g[m]){for(;(p=p.previousSibling)&&p.nodeType!==1;);g[m]=l||p&&p.nodeName.toLowerCase()===h?p||false:p===h}l&&k.filter(h,g,true)},">":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m<q;m++){var p=g[m];if(p){l=p.parentNode;g[m]=l.nodeName.toLowerCase()===h?l:false}}}else{m=0;for(q=g.length;m<q;m++)if(p=g[m])g[m]=
76
- l?p.parentNode:p.parentNode===h;l&&k.filter(h,g,true)}},"":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("parentNode",h,m,g,p,l)},"~":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("previousSibling",h,m,g,p,l)}},find:{ID:function(g,h,l){if(typeof h.getElementById!=="undefined"&&!l)return(g=h.getElementById(g[1]))?[g]:[]},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){var l=[];
77
- h=h.getElementsByName(g[1]);for(var m=0,q=h.length;m<q;m++)h[m].getAttribute("name")===g[1]&&l.push(h[m]);return l.length===0?null:l}},TAG:function(g,h){return h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,l,m,q,p){g=" "+g[1].replace(/\\/g,"")+" ";if(p)return g;p=0;for(var v;(v=h[p])!=null;p++)if(v)if(q^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},
78
- CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m,
79
- g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},
80
- text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},
81
- setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return h<l[3]-0},gt:function(g,h,l){return h>l[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h=
82
- h[3];l=0;for(m=h.length;l<m;l++)if(h[l]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+q)},CHILD:function(g,h){var l=h[1],m=g;switch(l){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(l==="first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":l=h[2];var q=h[3];if(l===1&&q===0)return true;h=h[0];var p=g.parentNode;if(p&&(p.sizcache!==h||!g.nodeIndex)){var v=0;for(m=p.firstChild;m;m=
83
- m.nextSibling)if(m.nodeType===1)m.nodeIndex=++v;p.sizcache=h}g=g.nodeIndex-q;return l===0?g===0:g%l===0&&g/l>=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m===
84
- "="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g,
85
- h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l<m;l++)h.push(g[l]);else for(l=0;g[l];l++)h.push(g[l]);return h}}var B;if(s.documentElement.compareDocumentPosition)B=function(g,h){if(!g.compareDocumentPosition||
86
- !h.compareDocumentPosition){if(g==h)i=true;return g.compareDocumentPosition?-1:1}g=g.compareDocumentPosition(h)&4?-1:g===h?0:1;if(g===0)i=true;return g};else if("sourceIndex"in s.documentElement)B=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h)i=true;return g.sourceIndex?-1:1}g=g.sourceIndex-h.sourceIndex;if(g===0)i=true;return g};else if(s.createRange)B=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h)i=true;return g.ownerDocument?-1:1}var l=g.ownerDocument.createRange(),m=
87
- h.ownerDocument.createRange();l.setStart(g,0);l.setEnd(g,0);m.setStart(h,0);m.setEnd(h,0);g=l.compareBoundaryPoints(Range.START_TO_END,m);if(g===0)i=true;return g};(function(){var g=s.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name='"+h+"'/>";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&&
88
- q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML="<a href='#'></a>";
89
- if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="<p class='TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}();
90
- (function(){var g=s.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}:
91
- function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q<p;q++)k(g,h[q],l);return k.filter(m,l)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=a;c.isXMLDoc=x;c.contains=E})();var eb=/Until$/,fb=/^(?:parents|prevUntil|prevAll)/,
92
- gb=/,/;R=Array.prototype.slice;var Ia=function(a,b,d){if(c.isFunction(b))return c.grep(a,function(e,j){return!!b.call(e,j,e)===d});else if(b.nodeType)return c.grep(a,function(e){return e===b===d});else if(typeof b==="string"){var f=c.grep(a,function(e){return e.nodeType===1});if(Ua.test(b))return c.filter(b,f,!d);else b=c.filter(b,f)}return c.grep(a,function(e){return c.inArray(e,b)>=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f<e;f++){d=b.length;
93
- c.find(a,this[f],b);if(f>0)for(var j=d;j<b.length;j++)for(var i=0;i<d;i++)if(b[i]===b[j]){b.splice(j--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,f=b.length;d<f;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(Ia(this,a,false),"not",a)},filter:function(a){return this.pushStack(Ia(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j=
94
- {},i;if(f&&a.length){e=0;for(var o=a.length;e<o;e++){i=a[e];j[i]||(j[i]=c.expr.match.POS.test(i)?c(i,b||this.context):i)}for(;f&&f.ownerDocument&&f!==b;){for(i in j){e=j[i];if(e.jquery?e.index(f)>-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a===
95
- "string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",
96
- d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?
97
- a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType===
98
- 1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/<tbody/i,jb=/<|&#?\w+;/,ta=/<script|<object|<embed|<option|<style/i,ua=/checked\s*(?:[^=]|=\s*.checked.)/i,Ma=function(a,b,d){return hb.test(d)?
99
- a:b+"></"+d+">"},F={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,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=
100
- c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},
101
- wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},
102
- prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,
103
- this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);
104
- return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja,
105
- ""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(f){this.empty().append(a)}}else c.isFunction(a)?this.each(function(e){var j=c(this),i=j.html();j.empty().append(function(){return a.call(this,e,i)})}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&
106
- this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=c(this),f=d.html();d.replaceWith(a.call(this,b,f))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){function f(u){return c.nodeName(u,"table")?u.getElementsByTagName("tbody")[0]||
107
- u.appendChild(u.ownerDocument.createElement("tbody")):u}var e,j,i=a[0],o=[],k;if(!c.support.checkClone&&arguments.length===3&&typeof i==="string"&&ua.test(i))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(i))return this.each(function(u){var z=c(this);a[0]=i.call(this,u,b?z.html():w);z.domManip(a,b,d)});if(this[0]){e=i&&i.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:sa(a,this,o);k=e.fragment;if(j=k.childNodes.length===
108
- 1?(k=k.firstChild):k.firstChild){b=b&&c.nodeName(j,"tr");for(var n=0,r=this.length;n<r;n++)d.call(b?f(this[n],j):this[n],n>0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]);
109
- return this}else{e=0;for(var j=d.length;e<j;e++){var i=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["",
110
- ""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]==="<table>"&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e=
111
- c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]?
112
- c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja=
113
- function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter=
114
- Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a,
115
- "border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f=
116
- a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=
117
- a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=/<script(.|\s)*?\/script>/gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!==
118
- "string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("<div />").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this},
119
- serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),
120
- function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,
121
- global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&&
122
- e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)?
123
- "&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache===
124
- false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B=
125
- false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since",
126
- c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E||
127
- d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x);
128
- g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===
129
- 1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b===
130
- "json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional;
131
- if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");
132
- this[a].style.display=d||"";if(c.css(this[a],"display")==="none"){d=this[a].nodeName;var f;if(la[d])f=la[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b){if(a||a===0)return this.animate(K("hide",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");!d&&d!=="none"&&c.data(this[a],
133
- "olddisplay",c.css(this[a],"display"))}a=0;for(b=this.length;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b){var d=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||d?this.each(function(){var f=d?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(K("toggle",3),a,b);return this},fadeTo:function(a,b,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d)},
134
- animate:function(a,b,d,f){var e=c.speed(b,d,f);if(c.isEmptyObject(a))return this.each(e.complete);return this[e.queue===false?"each":"queue"](function(){var j=c.extend({},e),i,o=this.nodeType===1&&c(this).is(":hidden"),k=this;for(i in a){var n=i.replace(ia,ja);if(i!==n){a[n]=a[i];delete a[i];i=n}if(a[i]==="hide"&&o||a[i]==="show"&&!o)return j.complete.call(this);if((i==="height"||i==="width")&&this.style){j.display=c.css(this,"display");j.overflow=this.style.overflow}if(c.isArray(a[i])){(j.specialEasing=
135
- j.specialEasing||{})[i]=a[i][1];a[i]=a[i][0]}}if(j.overflow!=null)this.style.overflow="hidden";j.curAnim=c.extend({},a);c.each(a,function(r,u){var z=new c.fx(k,j,r);if(Ab.test(u))z[u==="toggle"?o?"show":"hide":u](a);else{var C=Bb.exec(u),B=z.cur(true)||0;if(C){u=parseFloat(C[2]);var E=C[3]||"px";if(E!=="px"){k.style[r]=(u||1)+E;B=(u||1)/z.cur(true)*B;k.style[r]=B+E}if(C[1])u=(C[1]==="-="?-1:1)*u+B;z.custom(B,u,E)}else z.custom(B,u,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);
136
- this.each(function(){for(var f=d.length-1;f>=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration===
137
- "number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||
138
- c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;
139
- this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=
140
- this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem,
141
- e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||
142
- c.fx.stop()},stop:function(){clearInterval(W);W=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===b.elem}).length};c.fn.offset="getBoundingClientRect"in s.documentElement?
143
- function(a){var b=this[0];if(a)return this.each(function(e){c.offset.setOffset(this,a,e)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);var d=b.getBoundingClientRect(),f=b.ownerDocument;b=f.body;f=f.documentElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrollTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXOffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.clientLeft||0)}}:function(a){var b=
144
- this[0];if(a)return this.each(function(r){c.offset.setOffset(this,a,r)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,f=b,e=b.ownerDocument,j,i=e.documentElement,o=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var k=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==o&&b!==i;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;j=e?e.getComputedStyle(b,null):b.currentStyle;
145
- k-=b.scrollTop;n-=b.scrollLeft;if(b===d){k+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&j.overflow!=="visible"){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=j}if(f.position==="relative"||f.position==="static"){k+=o.offsetTop;n+=o.offsetLeft}if(c.offset.supportsFixedPosition&&
146
- f.position==="fixed"){k+=Math.max(i.scrollTop,o.scrollTop);n+=Math.max(i.scrollLeft,o.scrollLeft)}return{top:k,left:n}};c.offset={initialize:function(){var a=s.body,b=s.createElement("div"),d,f,e,j=parseFloat(c.curCSS(a,"marginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";
147
- a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b);
148
- c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a,
149
- d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top-
150
- f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset":
151
- "pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in
152
- e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window);
153
-
154
- jQuery.noConflict();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
js/magestore/bannerslider/jquery-1.7.min.js ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ /*! jQuery v1.7 jquery.com | jquery.org/license */
2
+ (function(a,b){function cA(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cx(a){if(!cm[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cn||(cn=c.createElement("iframe"),cn.frameBorder=cn.width=cn.height=0),b.appendChild(cn);if(!co||!cn.createElement)co=(cn.contentWindow||cn.contentDocument).document,co.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),co.close();d=co.createElement(a),co.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cn)}cm[a]=e}return cm[a]}function cw(a,b){var c={};f.each(cs.concat.apply([],cs.slice(0,b)),function(){c[this]=a});return c}function cv(){ct=b}function cu(){setTimeout(cv,0);return ct=f.now()}function cl(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ck(){try{return new a.XMLHttpRequest}catch(b){}}function ce(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 cd(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 cc(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bG.test(a)?d(a,e):cc(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)cc(a+"["+e+"]",b[e],c,d);else d(a,b)}function cb(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 ca(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===bV,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=ca(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=ca(a,c,d,e,"*",g));return l}function b_(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bR),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 bE(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bz:bA;if(d>0){c!=="border"&&f.each(e,function(){c||(d-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?d+=parseFloat(f.css(a,c+this))||0:d-=parseFloat(f.css(a,"border"+this+"Width"))||0});return d+"px"}d=bB(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0,c&&f.each(e,function(){d+=parseFloat(f.css(a,"padding"+this))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+this+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+this))||0)});return d+"px"}function br(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bi,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bq(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bp(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bp)}function bp(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bo(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bn(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bm(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].namespace?".":"")+i[c][d].namespace,i[c][d],i[c][d].data)}h.data&&(h.data=f.extend({},h.data))}}function bl(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function X(a){var b=Y.split(" "),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function W(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(R.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 V(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function N(){return!0}function M(){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)?parseFloat(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 K(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(K,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=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=/-([a-z]|[0-9])/ig,x=/^-ms-/,y=function(a,b){return(b+"").toUpperCase()},z=d.userAgent,A,B,C,D=Object.prototype.toString,E=Object.prototype.hasOwnProperty,F=Array.prototype.push,G=Array.prototype.slice,H=String.prototype.trim,I=Array.prototype.indexOf,J={};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=n.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",length:0,size:function(){return this.length},toArray:function(){return G.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)?F.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(),B.add(a);return this},eq:function(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(G.apply(this,arguments),"slice",G.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:F,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;B.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!B){B=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",C,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",C),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&K()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return a!=null&&m.test(a)&&!isNaN(a)},type:function(a){return a==null?String(a):J[D.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!E.call(a,"constructor")&&!E.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||E.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw 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(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){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(x,"ms-").replace(w,y)},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:H?function(a){return a==null?"":H.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)?F.call(c,a):e.merge(c,a)}return c},inArray:function(a,b,c){var d;if(b){if(I)return I.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=G.call(arguments,2),g=function(){return a.apply(c,f.concat(G.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=s.exec(a)||t.exec(a)||u.exec(a)||a.indexOf("compatible")<0&&v.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){J["[object "+b+"]"]=b.toLowerCase()}),A=e.uaMatch(z),A.browser&&(e.browser[A.browser]=!0,e.browser.version=A.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?C=function(){c.removeEventListener("DOMContentLoaded",C,!1),e.ready()}:c.attachEvent&&(C=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",C),e.ready())}),typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return e});return e}(),g={};f.Callbacks=function(a){a=a?g[a]||h(a):{};var c=[],d=[],e,i,j,k,l,m=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"?m(g):h==="function"&&(!a.unique||!o.has(g))&&c.push(g)},n=function(b,f){f=f||[],e=!a.memory||[b,f],i=!0,l=j||0,j=0,k=c.length;for(;c&&l<k;l++)if(c[l].apply(b,f)===!1&&a.stopOnFalse){e=!0;break}i=!1,c&&(a.once?e===!0?o.disable():c=[]:d&&d.length&&(e=d.shift(),o.fireWith(e[0],e[1])))},o={add:function(){if(c){var a=c.length;m(arguments),i?k=c.length:e&&e!==!0&&(j=a,n(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]){i&&f<=k&&(k--,f<=l&&l--),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)&&o.disable();return this},locked:function(){return!d},fireWith:function(b,c){d&&(i?a.once||d.push([b,c]):(!a.once||!e)&&n(b,c));return this},fire:function(){o.fireWith(this,arguments);return this},fired:function(){return!!e}};return o};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(){return i.done.apply(i,arguments).fail.apply(i,arguments)},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 a=c.createElement("div"),b=c.documentElement,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;a.setAttribute("className","t"),a.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/><nav></nav>",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=a.getElementsByTagName("input")[0],k={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.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,unknownElems:!!a.getElementsByTagName("nav").length,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:a.className!=="t",enctype:!!c.createElement("form").enctype,submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,k.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,k.optDisabled=!h.disabled;try{delete a.test}catch(v){k.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function(){k.noCloneEvent=!1}),a.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),k.radioValue=i.value==="t",i.setAttribute("checked","checked"),a.appendChild(i),l=c.createDocumentFragment(),l.appendChild(a.lastChild),k.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",m=c.getElementsByTagName("body")[0],o=c.createElement(m?"div":"body"),p={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},m&&f.extend(p,{position:"absolute",left:"-999px",top:"-999px"});for(t in p)o.style[t]=p[t];o.appendChild(a),n=m||b,n.insertBefore(o,n.firstChild),k.appendChecked=i.checked,k.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,k.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="<div style='width:4px;'></div>",k.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",q=a.getElementsByTagName("td"),u=q[0].offsetHeight===0,q[0].style.display="",q[1].style.display="none",k.reliableHiddenOffsets=u&&q[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",a.appendChild(j),k.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(a.attachEvent)for(t in{submit:1,change:1,focusin:1})s="on"+t,u=s in a,u||(a.setAttribute(s,"return;"),u=typeof a[s]=="function"),k[t+"Bubbles"]=u;f(function(){var a,b,d,e,g,h,i=1,j="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",l="visibility:hidden;border:0;",n="style='"+j+"border:5px solid #000;padding:0;'",p="<div "+n+"><div></div></div>"+"<table "+n+" cellpadding='0' cellspacing='0'>"+"<tr><td></td></tr></table>";m=c.getElementsByTagName("body")[0];!m||(a=c.createElement("div"),a.style.cssText=l+"width:0;height:0;position:static;top:0;margin-top:"+i+"px",m.insertBefore(a,m.firstChild),o=c.createElement("div"),o.style.cssText=j+l,o.innerHTML=p,a.appendChild(o),b=o.firstChild,d=b.firstChild,g=b.nextSibling.firstChild.firstChild,h={doesNotAddBorder:d.offsetTop!==5,doesAddBorderForTableAndCells:g.offsetTop===5},d.style.position="fixed",d.style.top="20px",h.fixedPosition=d.offsetTop===20||d.offsetTop===15,d.style.position=d.style.top="",b.style.overflow="hidden",b.style.position="relative",h.subtractsBorderForOverflowNotVisible=d.offsetTop===-5,h.doesNotIncludeMarginInBodyOffset=m.offsetTop!==i,m.removeChild(a),o=a=null,f.extend(k,h))}),o.innerHTML="",n.removeChild(o),o=l=g=h=m=j=a=i=null;return k}(),f.boxModel=f.support.boxModel;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[f.expando]:a[f.expando]&&f.expando,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[f.expando]=n=++f.uuid:n=f.expando),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[f.expando]:f.expando;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)?b=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[f.expando]:a.removeAttribute?a.removeAttribute(f.expando):a[f.expando]=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=null;if(typeof a=="undefined"){if(this.length){h=f.data(this[0]);if(this[0].nodeType===1&&!f._data(this[0],"parsedAttrs")){e=this[0].attributes;for(var i=0,j=e.length;i<j;i++)g=e[i].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),l(this[0],g,h[g]));f._data(this[0],"parsedAttrs",!0)}}return h}if(typeof a=="object")return this.each(function(){f.data(this,a)});d=a.split("."),d[1]=d[1]?"."+d[1]:"";if(c===b){h=this.triggerHandler("getData"+d[1]+"!",[d[0]]),h===b&&this.length&&(h=f.data(this[0],a),h=l(this[0],a,h));return h===b&&d[1]?this.data(d[0]):h}return this.each(function(){var b=f(this),e=[d[0],c];b.triggerHandler("setData"+d[1]+"!",e),f.data(this,a,c),b.triggerHandler("changeData"+d[1]+"!",e)})},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){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return 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()}});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,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},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){if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];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}return b}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.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),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)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))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 b}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=0;if(a.nodeType===1){d=(b||"").split(p),g=d.length;for(;h<g;h++)e=d[h].toLowerCase(),c=f.propFix[e]||e,f.attr(a,e,""),a.removeAttribute(v?e:c),u.test(e)&&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)return b;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},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=/\.(.*)$/,A=/^(?:textarea|input|select)$/i,B=/\./g,C=/ /g,D=/[^\w\s.|`]/g,E=/^([^\.]*)?(?:\.(.+))?$/,F=/\bhover(\.\S+)?/,G=/^key/,H=/^(?:mouse|contextmenu)|click/,I=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,J=function(a){var b=I.exec(a);b&&
3
+ (b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},K=function(a,b){return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||a.id===b[2])&&(!b[3]||b[3].test(a.className))},L=function(a){return f.event.special.hover?a:a.replace(F,"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),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=L(c).split(" ");for(k=0;k<c.length;k++){l=E.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,namespace:n.join(".")},p),g&&(o.quick=J(g),!o.quick&&f.expr.match.POS.test(g)&&(o.isPositional=!0)),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){var e=f.hasData(a)&&f._data(a),g,h,i,j,k,l,m,n,o,p,q;if(!!e&&!!(m=e.events)){b=L(b||"").split(" ");for(g=0;g<b.length;g++){h=E.exec(b[g])||[],i=h[1],j=h[2];if(!i){j=j?"."+j:"";for(l in m)f.event.remove(a,l+j,c,d);return}n=f.event.special[i]||{},i=(d?n.delegateType:n.bindType)||i,p=m[i]||[],k=p.length,j=j?new RegExp("(^|\\.)"+j.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;if(c||j||d||n.remove)for(l=0;l<p.length;l++){q=p[l];if(!c||c.guid===q.guid)if(!j||j.test(q.namespace))if(!d||d===q.selector||d==="**"&&q.selector)p.splice(l--,1),q.selector&&p.delegateCount--,n.remove&&n.remove.call(a,q)}else p.length=0;p.length===0&&k!==p.length&&((!n.teardown||n.teardown.call(a,j)===!1)&&f.removeEvent(a,i,e.handle),delete m[i])}f.isEmptyObject(m)&&(o=e.handle,o&&(o.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;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:"",(g||!e)&&c.preventDefault();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,n=null;for(m=e.parentNode;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;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);if(c.isPropagationStopped())break}c.type=h,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]||{}).handle,j=[],k,l,m,n,o,p,q,r,s,t,u;g[0]=c,c.delegateTarget=this;if(e&&!c.target.disabled&&(!c.button||c.type!=="click"))for(m=c.target;m!=this;m=m.parentNode||this){o={},q=[];for(k=0;k<e;k++)r=d[k],s=r.selector,t=o[s],r.isPositional?t=(t||(o[s]=f(s))).index(m)>=0:t===b&&(t=o[s]=r.quick?K(m,r.quick):f(m).is(s)),t&&q.push(r);q.length&&j.push({elem:m,matches:q})}d.length>e&&j.push({elem:this,matches:d.slice(e)});for(k=0;k<j.length&&!c.isPropagationStopped();k++){p=j[k],c.currentTarget=p.elem;for(l=0;l<p.matches.length&&!c.isImmediatePropagationStopped();l++){r=p.matches[l];if(h||!c.namespace&&!r.namespace||c.namespace_re&&c.namespace_re.test(r.namespace))c.data=r.data,c.handleObj=r,n=(i||r.handler).apply(p.elem,g),n!==b&&(c.result=n,n===!1&&(c.preventDefault(),c.stopPropagation()))}}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 wheelDelta".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},focus:{delegateType:"focusin",noBubble:!0},blur:{delegateType:"focusout",noBubble:!0},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()?N:M):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=N;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=N;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=N,this.stopPropagation()},isDefaultPrevented:M,isPropagationStopped:M,isImmediatePropagationStopped:M},f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]=f.event.special[b]={delegateType:b,bindType:b,handle:function(a){var b=this,c=a.relatedTarget,d=a.handleObj,e=d.selector,g,h;if(!c||d.origType===a.type||c!==b&&!f.contains(b,c))g=a.type,a.type=d.origType,h=d.handler.apply(this,arguments),a.type=g;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){this.parentNode&&f.event.simulate("submit",this.parentNode,a,!0)}),d._submit_attached=!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(A.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&&(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;A.test(b.nodeName)&&!b._change_attached&&(f.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&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 A.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=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=M;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.call(this,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.type+"."+e.namespace:e.type,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=M);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.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),G.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),H.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"Syntax error, unrecognized expression: "+a};var n=m.getText=function(a){var b,c,d=a.nodeType,e="";if(d){if(d===1){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));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 O=/Until$/,P=/^(?:parents|prevUntil|prevAll)/,Q=/,/,R=/^.[^:#\[\.,]*$/,S=Array.prototype.slice,T=f.expr.match.POS,U={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(W(this,a,!1),"not",a)},filter:function(a){return this.pushStack(W(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?T.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=T.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(V(c[0])||V(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),g=S.call(arguments);O.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!U[a]?f.unique(e):e,(this.length>1||Q.test(d))&&P.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.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 Y="abbr article aside audio canvas datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",Z=/ jQuery\d+="(?:\d+|null)"/g,$=/^\s+/,_=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,ba=/<([\w:]+)/,bb=/<tbody/i,bc=/<|&#?\w+;/,bd=/<(?:script|style)/i,be=/<(?:script|object|embed|option|style)/i,bf=new RegExp("<(?:"+Y.replace(" ","|")+")","i"),bg=/checked\s*(?:[^=]|=\s*.checked.)/i,bh=/\/(java|ecma)script/i,bi=/^\s*<!(?:\[CDATA\[|\-\-)/,bj={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,"",""]},bk=X(c);bj.optgroup=bj.option,bj.tbody=bj.tfoot=bj.colgroup=bj.caption=bj.thead,bj.th=bj.td,f.support.htmlSerialize||(bj._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},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){return this.each(function(){f(this).wrapAll(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(arguments[0]);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"
4
+ ,arguments);a.push.apply(a,f(arguments[0]).toArray());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){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Z,""):null;if(typeof a=="string"&&!bd.test(a)&&(f.support.leadingWhitespace||!$.test(a))&&!bj[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(_,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},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"&&bg.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?bl(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,br)}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)==="<"&&!be.test(j)&&(f.support.checkClone||!bg.test(j))&&!f.support.unknownElems&&bf.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=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bn(a,d),e=bo(a),g=bo(d);for(h=0;e[h];++h)g[h]&&bn(e[h],g[h])}if(b){bm(a,d);if(c){e=bo(a),g=bo(d);for(h=0;e[h];++h)bm(e[h],g[h])}}e=g=null;return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!bc.test(k))k=b.createTextNode(k);else{k=k.replace(_,"<$1></$2>");var l=(ba.exec(k)||["",""])[1].toLowerCase(),m=bj[l]||bj._default,n=m[0],o=b.createElement("div");b===c?bk.appendChild(o):X(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=bb.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&$.test(k)&&o.insertBefore(b.createTextNode($.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i<r;i++)bq(k[i]);else bq(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||bh.test(a.type)};for(j=0;h[j];j++)if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript"))e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j]):h[j]);else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}return h},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 bs=/alpha\([^)]*\)/i,bt=/opacity=([^)]*)/,bu=/([A-Z]|^ms)/g,bv=/^-?\d+(?:px)?$/i,bw=/^-?\d/,bx=/^([\-+])=([\-+.\de]+)/,by={position:"absolute",visibility:"hidden",display:"block"},bz=["Left","Right"],bA=["Top","Bottom"],bB,bC,bD;f.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bB(a,"opacity","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=bx.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(bB)return bB(a,c)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){if(a.offsetWidth!==0)return bE(a,b,d);f.swap(a,by,function(){e=bE(a,b,d)});return e}},set:function(a,b){if(!bv.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bt.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(bs,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bs.test(g)?g.replace(bs,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bB(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bC=function(a,c){var d,e,g;c=c.replace(bu,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bD=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bv.test(f)&&bw.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bB=bC||bD,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)});var bF=/%20/g,bG=/\[\]$/,bH=/\r?\n/g,bI=/#.*$/,bJ=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bK=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bL=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bM=/^(?:GET|HEAD)$/,bN=/^\/\//,bO=/\?/,bP=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bQ=/^(?:select|textarea)/i,bR=/\s+/,bS=/([?&])_=[^&]*/,bT=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bU=f.fn.load,bV={},bW={},bX,bY,bZ=["*/"]+["*"];try{bX=e.href}catch(b$){bX=c.createElement("a"),bX.href="",bX=bX.href}bY=bT.exec(bX.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bU)return bU.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(bP,"")).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||bQ.test(this.nodeName)||bK.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(bH,"\r\n")}}):{name:b.name,value:c.replace(bH,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(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?cb(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),cb(a,b);return a},ajaxSettings:{url:bX,isLocal:bL.test(bY[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bZ},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:b_(bV),ajaxTransport:b_(bW),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?cd(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=ce(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=bJ.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(bI,"").replace(bN,bY[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bR),d.crossDomain==null&&(r=bT.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bY[1]&&r[2]==bY[2]&&(r[3]||(r[1]==="http:"?80:443))==(bY[3]||(bY[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),ca(bV,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bM.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bO.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bS,"$1_="+x);d.url=y+(y===d.url?(bO.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]!=="*"?", "+bZ+"; 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=ca(bW,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){s<2?w(-1,z):f.error(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)cc(g,a[g],c,e);return d.join("&").replace(bF,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cf=f.now(),cg=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cf++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cg.test(b.url)||e&&cg.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(cg,l),b.url===j&&(e&&(k=k.replace(cg,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 ch=a.ActiveXObject?function(){for(var a in cj)cj[a](0,1)}:!1,ci=0,cj;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ck()||cl()}:ck,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,ch&&delete cj[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),m.text=h.responseText;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=++ci,ch&&(cj||(cj={},f(a).unload(ch)),cj[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cm={},cn,co,cp=/^(?:toggle|show|hide)$/,cq=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cr,cs=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],ct;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cw("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._data(d,"olddisplay",cx(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(cw("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(cw("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;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),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||cx(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],cp.test(h)?(o=f._data(this,"toggle"+i)||(h==="toggle"?d?"show":"hide":0),o?(f._data(this,"toggle"+i,o==="show"?"hide":"show"),j[o]()):j[h]()):(k=cq.exec(h),l=j.cur(),k?(m=parseFloat(k[2]),n=k[3]||(f.cssNumber[i]?"":"px"),n!=="px"&&(f.style(this,i,(m||1)+n),l=(m||1)/j.cur()*l,f.style(this,i,l+n)),k[1]&&(m=(k[1]==="-="?-1:1)*m+l),j.custom(l,m,n)):j.custom(l,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].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:cw("show",1),slideUp:cw("hide",1),slideToggle:cw("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,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},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=ct||cu(),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(){e.options.hide&&f._data(e.elem,"fxshow"+e.prop)===b&&f._data(e.elem,"fxshow"+e.prop,e.start)},h()&&f.timers.push(h)&&!cr&&(cr=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=ct||cu(),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(cr),cr=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(["width","height"],function(a,b){f.fx.step[b]=function(a){f.style(a.elem,b,Math.max(0,a.now))}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cy=/^t(?:able|d|h)$/i,cz=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cA(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.support.fixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.support.doesNotAddBorder&&(!f.support.doesAddBorderForTableAndCells||!cy.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.support.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.support.fixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},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=cz.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&&!cz.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cA(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cA(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window);
js/magestore/bannerslider/jquery-easing-1.3.pack.js DELETED
@@ -1,73 +0,0 @@
1
- /*
2
- * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
3
- *
4
- * Uses the built in easing capabilities added In jQuery 1.1
5
- * to offer multiple easing options
6
- *
7
- * TERMS OF USE - jQuery Easing
8
- *
9
- * Open source under the BSD License.
10
- *
11
- * Copyright © 2008 George McGinley Smith
12
- * All rights reserved.
13
- *
14
- * Redistribution and use in source and binary forms, with or without modification,
15
- * are permitted provided that the following conditions are met:
16
- *
17
- * Redistributions of source code must retain the above copyright notice, this list of
18
- * conditions and the following disclaimer.
19
- * Redistributions in binary form must reproduce the above copyright notice, this list
20
- * of conditions and the following disclaimer in the documentation and/or other materials
21
- * provided with the distribution.
22
- *
23
- * Neither the name of the author nor the names of contributors may be used to endorse
24
- * or promote products derived from this software without specific prior written permission.
25
- *
26
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
27
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
28
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
29
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
30
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
31
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
32
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
33
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
34
- * OF THE POSSIBILITY OF SUCH DAMAGE.
35
- *
36
- */
37
-
38
- // t: current time, b: begInnIng value, c: change In value, d: duration
39
- eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('h.i[\'1a\']=h.i[\'z\'];h.O(h.i,{y:\'D\',z:9(x,t,b,c,d){6 h.i[h.i.y](x,t,b,c,d)},17:9(x,t,b,c,d){6 c*(t/=d)*t+b},D:9(x,t,b,c,d){6-c*(t/=d)*(t-2)+b},13:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t+b;6-c/2*((--t)*(t-2)-1)+b},X:9(x,t,b,c,d){6 c*(t/=d)*t*t+b},U:9(x,t,b,c,d){6 c*((t=t/d-1)*t*t+1)+b},R:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t+b;6 c/2*((t-=2)*t*t+2)+b},N:9(x,t,b,c,d){6 c*(t/=d)*t*t*t+b},M:9(x,t,b,c,d){6-c*((t=t/d-1)*t*t*t-1)+b},L:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t*t+b;6-c/2*((t-=2)*t*t*t-2)+b},K:9(x,t,b,c,d){6 c*(t/=d)*t*t*t*t+b},J:9(x,t,b,c,d){6 c*((t=t/d-1)*t*t*t*t+1)+b},I:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t*t*t+b;6 c/2*((t-=2)*t*t*t*t+2)+b},G:9(x,t,b,c,d){6-c*8.C(t/d*(8.g/2))+c+b},15:9(x,t,b,c,d){6 c*8.n(t/d*(8.g/2))+b},12:9(x,t,b,c,d){6-c/2*(8.C(8.g*t/d)-1)+b},Z:9(x,t,b,c,d){6(t==0)?b:c*8.j(2,10*(t/d-1))+b},Y:9(x,t,b,c,d){6(t==d)?b+c:c*(-8.j(2,-10*t/d)+1)+b},W:9(x,t,b,c,d){e(t==0)6 b;e(t==d)6 b+c;e((t/=d/2)<1)6 c/2*8.j(2,10*(t-1))+b;6 c/2*(-8.j(2,-10*--t)+2)+b},V:9(x,t,b,c,d){6-c*(8.o(1-(t/=d)*t)-1)+b},S:9(x,t,b,c,d){6 c*8.o(1-(t=t/d-1)*t)+b},Q:9(x,t,b,c,d){e((t/=d/2)<1)6-c/2*(8.o(1-t*t)-1)+b;6 c/2*(8.o(1-(t-=2)*t)+1)+b},P:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d)==1)6 b+c;e(!p)p=d*.3;e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);6-(a*8.j(2,10*(t-=1))*8.n((t*d-s)*(2*8.g)/p))+b},H:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d)==1)6 b+c;e(!p)p=d*.3;e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);6 a*8.j(2,-10*t)*8.n((t*d-s)*(2*8.g)/p)+c+b},T:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d/2)==2)6 b+c;e(!p)p=d*(.3*1.5);e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);e(t<1)6-.5*(a*8.j(2,10*(t-=1))*8.n((t*d-s)*(2*8.g)/p))+b;6 a*8.j(2,-10*(t-=1))*8.n((t*d-s)*(2*8.g)/p)*.5+c+b},F:9(x,t,b,c,d,s){e(s==u)s=1.l;6 c*(t/=d)*t*((s+1)*t-s)+b},E:9(x,t,b,c,d,s){e(s==u)s=1.l;6 c*((t=t/d-1)*t*((s+1)*t+s)+1)+b},16:9(x,t,b,c,d,s){e(s==u)s=1.l;e((t/=d/2)<1)6 c/2*(t*t*(((s*=(1.B))+1)*t-s))+b;6 c/2*((t-=2)*t*(((s*=(1.B))+1)*t+s)+2)+b},A:9(x,t,b,c,d){6 c-h.i.v(x,d-t,0,c,d)+b},v:9(x,t,b,c,d){e((t/=d)<(1/2.k)){6 c*(7.q*t*t)+b}m e(t<(2/2.k)){6 c*(7.q*(t-=(1.5/2.k))*t+.k)+b}m e(t<(2.5/2.k)){6 c*(7.q*(t-=(2.14/2.k))*t+.11)+b}m{6 c*(7.q*(t-=(2.18/2.k))*t+.19)+b}},1b:9(x,t,b,c,d){e(t<d/2)6 h.i.A(x,t*2,0,c,d)*.5+b;6 h.i.v(x,t*2-d,0,c,d)*.5+c*.5+b}});',62,74,'||||||return||Math|function|||||if|var|PI|jQuery|easing|pow|75|70158|else|sin|sqrt||5625|asin|||undefined|easeOutBounce|abs||def|swing|easeInBounce|525|cos|easeOutQuad|easeOutBack|easeInBack|easeInSine|easeOutElastic|easeInOutQuint|easeOutQuint|easeInQuint|easeInOutQuart|easeOutQuart|easeInQuart|extend|easeInElastic|easeInOutCirc|easeInOutCubic|easeOutCirc|easeInOutElastic|easeOutCubic|easeInCirc|easeInOutExpo|easeInCubic|easeOutExpo|easeInExpo||9375|easeInOutSine|easeInOutQuad|25|easeOutSine|easeInOutBack|easeInQuad|625|984375|jswing|easeInOutBounce'.split('|'),0,{}))
40
- jQuery.noConflict();
41
-
42
- /*
43
- *
44
- * TERMS OF USE - EASING EQUATIONS
45
- *
46
- * Open source under the BSD License.
47
- *
48
- * Copyright © 2001 Robert Penner
49
- * All rights reserved.
50
- *
51
- * Redistribution and use in source and binary forms, with or without modification,
52
- * are permitted provided that the following conditions are met:
53
- *
54
- * Redistributions of source code must retain the above copyright notice, this list of
55
- * conditions and the following disclaimer.
56
- * Redistributions in binary form must reproduce the above copyright notice, this list
57
- * of conditions and the following disclaimer in the documentation and/or other materials
58
- * provided with the distribution.
59
- *
60
- * Neither the name of the author nor the names of contributors may be used to endorse
61
- * or promote products derived from this software without specific prior written permission.
62
- *
63
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
64
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
65
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
66
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
67
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
68
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
69
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
70
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
71
- * OF THE POSSIBILITY OF SUCH DAMAGE.
72
- *
73
- */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
js/magestore/bannerslider/jquery-easing-compatibility.1.2.pack.js DELETED
@@ -1,11 +0,0 @@
1
- /*
2
- * jQuery Easing Compatibility v1 - http://gsgd.co.uk/sandbox/jquery.easing.php
3
- *
4
- * Adds compatibility for applications that use the pre 1.2 easing names
5
- *
6
- * Copyright (c) 2007 George Smith
7
- * Licensed under the MIT License:
8
- * http://www.opensource.org/licenses/mit-license.php
9
- */
10
- eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('0.C(0.1,{7:2(x,t,b,c,d){3 0.1.D(x,t,b,c,d)},5:2(x,t,b,c,d){3 0.1.6(x,t,b,c,d)},h:2(x,t,b,c,d){3 0.1.B(x,t,b,c,d)},A:2(x,t,b,c,d){3 0.1.m(x,t,b,c,d)},y:2(x,t,b,c,d){3 0.1.w(x,t,b,c,d)},v:2(x,t,b,c,d){3 0.1.u(x,t,b,c,d)},s:2(x,t,b,c,d){3 0.1.r(x,t,b,c,d)},q:2(x,t,b,c,d){3 0.1.p(x,t,b,c,d)},o:2(x,t,b,c,d){3 0.1.n(x,t,b,c,d)},8:2(x,t,b,c,d){3 0.1.l(x,t,b,c,d)},g:2(x,t,b,c,d){3 0.1.j(x,t,b,c,d)},i:2(x,t,b,c,d){3 0.1.k(x,t,b,c,d)},z:2(x,t,b,c,d){3 0.1.f(x,t,b,c,d)},e:2(x,t,b,c,d){3 0.1.a(x,t,b,c,d)},9:2(x,t,b,c,d){3 0.1.4(x,t,b,c,d)}});',40,40,'jQuery|easing|function|return|easeInOutBack|easeOut|easeOutQuad|easeIn|elasin|backinout|easeOutBack||||backout|easeInBack|elasout|easeInOut|elasinout|easeOutElastic|easeInOutElastic|easeInElastic|easeInExpo|easeInOutBounce|bounceinout|easeOutBounce|bounceout|easeInBounce|bouncein||easeInOutExpo|expoinout|easeOutExpo||expoout|backin|expoin|easeInOutQuad|extend|easeInQuad'.split('|'),0,{}))
11
- jQuery.noConflict();
 
 
 
 
 
 
 
 
 
 
 
js/magestore/bannerslider/jquery.ads.note.css ADDED
@@ -0,0 +1,163 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .ads-note-box{
2
+ position:relative;
3
+ width:120px;
4
+ }
5
+ .ads-note-close{
6
+ width:40px;
7
+ height:40px;
8
+ background:#CCC;
9
+ position:absolute;
10
+ z-index:91000;
11
+ }
12
+ .ads-note-content{
13
+ width:100%;
14
+ position:relative;
15
+ }
16
+ .ads-note-content-text{
17
+ padding:5.5px;
18
+ width:130px;
19
+ min-height:29px;
20
+ }
21
+ .ads-note-content-img{
22
+ background:#fff;
23
+ width:300px;
24
+ height:0;
25
+ overflow:hidden;
26
+ clear:both;
27
+
28
+ }
29
+
30
+ .ads-note-left .ads-note-show{
31
+ width:30px;
32
+ height:30px;
33
+ position:absolute;
34
+ top:0px;
35
+ left:-35px;
36
+ border-top-right-radius:30px;
37
+ border-bottom-right-radius:30px;
38
+ }
39
+ .ads-note-right .ads-note-show{
40
+ width:30px;
41
+ height:30px;
42
+ position:absolute;
43
+ top:0px;
44
+ right:-35px;
45
+ border-top-left-radius:30px;
46
+ border-bottom-left-radius:30px;
47
+ }
48
+ .ads-note-top .ads-note-show{
49
+ height:30px;
50
+ width: 30px;
51
+ position:absolute;
52
+ top:-35px;
53
+ right:15px;
54
+ border-bottom-right-radius:30px;
55
+ border-bottom-left-radius:30px;
56
+ }
57
+ .ads-note-bottom .ads-note-show{
58
+ height:31px;
59
+ width: 30px;
60
+ position:absolute;
61
+ bottom:-35px;
62
+ left:120px;
63
+ border-top-left-radius:30px;
64
+ border-top-right-radius:30px;
65
+ }
66
+ /*Button Arrow*/
67
+ .ads-note-left .ads-note-show-arrow{
68
+ width:20px;
69
+ height:20px;
70
+ background:url(images/arrow.png) no-repeat -59px 0;
71
+ margin:auto;
72
+ margin-top:4px;
73
+ }
74
+ .ads-note-right .ads-note-show-arrow{
75
+ width:20px;
76
+ height:20px;
77
+ background:url(images/arrow.png) no-repeat -20px 0;
78
+ margin:auto;
79
+ margin-top:4px;
80
+ }
81
+ .ads-note-top .ads-note-show-arrow{
82
+ width:19px;
83
+ height:20px;
84
+ background:url(images/arrow.png) no-repeat -0 0;
85
+ margin:auto;
86
+ margin-top:4px;
87
+ }
88
+ .ads-note-bottom .ads-note-show-arrow{
89
+ width:19px;
90
+ height:20px;
91
+ background:url(images/arrow.png) no-repeat -39px 0;
92
+ margin:auto;
93
+ margin-top:4px;
94
+ }
95
+ /*Button close*/
96
+ .ads-note-left .ads-note-close{
97
+ top:0px;
98
+ left:0;
99
+ background:url(images/close-button.png) no-repeat -40px;
100
+ z-index: 9999;
101
+ }
102
+ .ads-note-right .ads-note-close{
103
+ top:0px;
104
+ right:0;
105
+ background:url(images/close-button.png) no-repeat -80px;
106
+ z-index: 9999;
107
+ }
108
+ .ads-note-top .ads-note-close{
109
+ bottom:0;
110
+ right:0;
111
+ background:url(images/close-button.png) no-repeat -120px;
112
+ z-index: 9999;
113
+ }
114
+ .ads-note-bottom .ads-note-close{
115
+ top:0px;
116
+ left:0;
117
+ background:url(images/close-button.png) no-repeat -40px;
118
+ z-index: 9999;
119
+ }
120
+ /*Content*/
121
+ .ads-note-left .ads-note-content{
122
+ top:0;
123
+ left:0;
124
+ }
125
+ .ads-note-right .ads-note-content{
126
+ top:0;
127
+ right:0;
128
+ }
129
+ .ads-note-top .ads-note-content{
130
+ top:0;
131
+ right:0;
132
+ }
133
+ .ads-note-bottom .ads-note-content{
134
+ top:0;
135
+ left:0;
136
+ }
137
+ .ads-note-left .ads-note-content-text{
138
+ padding-left:40px;
139
+ border-top-right-radius:30px;
140
+
141
+ }
142
+ .ads-note-right .ads-note-content-text{
143
+ padding-left:10px;
144
+ padding-right:35px;
145
+ border-top-left-radius:30px;
146
+ text-align:right;
147
+ float:right;
148
+
149
+ }
150
+ .ads-note-top .ads-note-content-text{
151
+ padding-right:35px;
152
+ padding-left:10px;
153
+ text-align:right;
154
+ border-bottom-left-radius:30px;
155
+ float:right;
156
+
157
+ }
158
+ .ads-note-bottom .ads-note-content-text{
159
+ padding-left:40px;
160
+ border-top-right-radius:30px;
161
+
162
+ }
163
+
js/magestore/bannerslider/jquery.ads.note.js ADDED
@@ -0,0 +1,243 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function($){
2
+ $.fn.extend({
3
+ adsNote: function(options) {
4
+ // Default value
5
+ var defaults = {
6
+ position: "top-left", // top-left, middle-left, bottom-left, top-right, middle-right, bottom-right,
7
+ bgcolor: "#FC0"
8
+ }
9
+ var opts = $.extend({},defaults, options);
10
+ return this.each(function() {
11
+ var obj = $(this);
12
+ var contentText=$(".ads-note-content-text",obj);
13
+ var contentImg=$(".ads-note-content-img",obj);
14
+
15
+ $(".ads-note-box",obj).before('<div class="ads-note-show"><div class="ads-note-show-arrow"></div></div>');
16
+ $(".ads-note-content",obj).append('<div class="ads-note-close"></div>'); // create close button
17
+ // box color
18
+ if(opts.position=="middle-top"){
19
+ var temp=$(".ads-note-content-text",obj).outerHeight()-40;
20
+ $(".ads-note-close",obj).css({"top":temp});
21
+ }
22
+ contentText.css({
23
+ "background": opts.bgcolor
24
+ });
25
+ $(".ads-note-show",obj).css({
26
+ "background": opts.bgcolor
27
+ });
28
+
29
+ if((opts.position=="top-left")||(opts.position=="middle-left")||(opts.position=="bottom-left")){
30
+ obj.addClass("ads-note-left"); }
31
+ else
32
+ if((opts.position=="top-right")||(opts.position=="middle-right")||(opts.position=="bottom-right")){
33
+ obj.addClass("ads-note-right"); }
34
+ else
35
+ if(opts.position=="middle-top"){
36
+ obj.addClass("ads-note-top");
37
+ $(".ads-note-content-text",obj).before($("div.ads-note-content-img",obj));
38
+ }
39
+ else
40
+ if(opts.position=="middle-bottom"){
41
+ obj.addClass("ads-note-bottom");
42
+ }
43
+ // //fix position
44
+ switch(opts.position){
45
+ case "top-left":{
46
+ obj.css({
47
+ "position":"fixed",
48
+ "z-index":9999,
49
+ "top": "1%",
50
+ "left": "0%"
51
+ });
52
+ break;
53
+ }
54
+ case "middle-left":{
55
+ obj.css({
56
+ "position":"fixed",
57
+ "z-index":9999,
58
+ "top": "33%",
59
+ "left": 0
60
+ });
61
+ break;
62
+ }
63
+ case "bottom-left":{
64
+ obj.css({
65
+ "position":"fixed",
66
+ "z-index":9999,
67
+ "bottom": "1%",
68
+ "left": 0
69
+ });
70
+ break;
71
+ }
72
+ case "top-right":{
73
+ obj.css({
74
+ "position":"fixed",
75
+ "z-index":9999,
76
+ "top": "1%",
77
+ "right": "0%"
78
+ });
79
+ break;
80
+ }
81
+ case "middle-right":{
82
+ obj.css({
83
+ "position": "fixed",
84
+ "z-index":9999,
85
+ "right": "0%",
86
+ "top": "33%",
87
+
88
+ });
89
+ break;
90
+ }
91
+ case "bottom-right":{
92
+ obj.css({
93
+ "position":"fixed",
94
+ "z-index":9999,
95
+ "bottom": "1%",
96
+ "right": "0%"
97
+ });
98
+ break;
99
+ }
100
+ case "middle-top":{
101
+ obj.css({
102
+ "position":"fixed",
103
+ "z-index":9999,
104
+ "top": "0",
105
+ "right": "40%"
106
+ });
107
+ break;
108
+ }
109
+ case "middle-bottom":{
110
+ obj.css({
111
+ "position":"fixed",
112
+ "z-index":9999,
113
+ "bottom": "0%",
114
+ "left": "40%"
115
+ });
116
+ break;
117
+ }
118
+ } // end switch
119
+
120
+
121
+ // event
122
+ if((opts.position=="bottom-left")||(opts.position=="middle-left")||(opts.position=="top-left")){
123
+ $(".ads-note-close",obj).click(function(){
124
+ $(".ads-note-box",obj).animate({left:'-350px'});
125
+ $(".ads-note-show",obj).animate({left:'0px'});
126
+ });
127
+ $(".ads-note-show",obj).click(function(){
128
+ $(".ads-note-show",obj).animate({left:'-30px'});
129
+ $(".ads-note-box",obj).animate({left:'0px'});
130
+ });
131
+
132
+ }//end if
133
+ if(opts.position=="middle-top"){
134
+ $(".ads-note-close",obj).click(function(){
135
+ $(".ads-note-box",obj).animate({top:'-350px'});
136
+ $(".ads-note-show",obj).animate({top:'0px'});
137
+ });
138
+ $(".ads-note-show").click(function(){
139
+ $(".ads-note-show",obj).animate({top:'-30px'});
140
+ $(".ads-note-box",obj).animate({top:'0px'});
141
+ });
142
+ $(".ads-note-content",obj).mouseover(function(){
143
+ $(".ads-note-close",obj).css({
144
+ "transition":"0.7s",
145
+ "-webkit-transition":".7s",
146
+ "-o-transition":".7s",
147
+ "-ms-transition":".7s",
148
+ "-moz-transition":".7s",
149
+ "top":"200px"
150
+ });
151
+ $(".ads-note-content",obj).mouseout(function(){
152
+ $(".ads-note-close",obj).css({
153
+ "transition":"0.1s",
154
+ "-webkit-transition":".1s",
155
+ "-o-transition":".1s",
156
+ "-ms-transition":".1s",
157
+ "-moz-transition":".1s",
158
+ "top":temp
159
+ });
160
+ });
161
+ });
162
+ }//end if
163
+ if(opts.position=="middle-bottom"){
164
+ $(".ads-note-close",obj).click(function(){
165
+ $(".ads-note-box",obj).animate({bottom:'-350px'});
166
+ $(".ads-note-show",obj).animate({bottom:'0px'});
167
+ });
168
+ $(".ads-note-show",obj).click(function(){
169
+ $(".ads-note-show",obj).animate({bottom:'-30px'});
170
+ $(".ads-note-box",obj).animate({bottom:'0px'});
171
+ });
172
+ }//end if
173
+ if((opts.position=="bottom-right")||(opts.position=="middle-right")||(opts.position=="top-right")){
174
+ $(".ads-note-close",obj).click(function(){
175
+ $(".ads-note-box",obj).animate({right:'-350px'});
176
+ $(".ads-note-show",obj).animate({right:'0px'});
177
+ });
178
+ $(".ads-note-show",obj).click(function(){
179
+ $(".ads-note-show",obj).animate({right:'-30px'});
180
+ $(".ads-note-box",obj).animate({right:'0px'});
181
+ });
182
+
183
+ }//end if
184
+
185
+ $(".ads-note-content",obj).mouseover(function(){
186
+ $(".ads-note-content",obj).css({
187
+ "width":"300px"
188
+ });
189
+ contentText.css({
190
+ "transition":"0.05s",
191
+ "-webkit-transition":"0.05s",
192
+ "-o-transition":".05s",
193
+ "-ms-transition":".05s",
194
+ "-moz-transition":".05s",
195
+ "width":"255px"
196
+ });
197
+ contentImg.css({
198
+ "transition":"0.7s",
199
+ "-webkit-transition":"0.7s",
200
+ "-o-transition":"0.7s",
201
+ "-ms-transition":"0.7s",
202
+ "-moz-transition":"0.7s",
203
+ "height":"200px"
204
+ });
205
+ });
206
+
207
+ $(".ads-note-content",obj).mouseout(function(){
208
+ $(".ads-note-content",obj).css({
209
+ "width":"120px"
210
+ });
211
+ contentImg.css({
212
+ "transition":"0.2s",
213
+ "-webkit-transition":"0.1s",
214
+ "-o-transition":".2s",
215
+ "-ms-transition":".2s",
216
+ "-moz-transition":".2s",
217
+ "height":"0px"
218
+ });
219
+ contentText.css({
220
+ "transition":"0.7s",
221
+ "-webkit-transition":"0.7s",
222
+ "-o-transition":"0.7s",
223
+ "-ms-transition":"0.7s",
224
+ "-moz-transition":"0.7s",
225
+ "width":"130px"
226
+ });
227
+ });
228
+ obj.mouseover(function(){
229
+ obj.css({
230
+ "z-index":99999
231
+ });
232
+ });
233
+ obj.mouseout(function(){
234
+ obj.css({
235
+ "z-index":9999
236
+ });
237
+ });
238
+
239
+ });
240
+ }
241
+ });
242
+
243
+ })(jQuery);
js/magestore/bannerslider/jquery.flexslider.js ADDED
@@ -0,0 +1,903 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * jQuery FlexSlider v2.1
3
+ * http://www.woothemes.com/flexslider/
4
+ *
5
+ * Copyright 2012 WooThemes
6
+ * Free to use under the GPLv2 license.
7
+ * http://www.gnu.org/licenses/gpl-2.0.html
8
+ *
9
+ * Contributing author: Tyler Smith (@mbmufffin)
10
+ */
11
+
12
+ ;(function ($) {
13
+
14
+ //FlexSlider: Object Instance
15
+ $.flexslider = function(el, options) {
16
+ var slider = $(el),
17
+ vars = $.extend({}, $.flexslider.defaults, options),
18
+ namespace = vars.namespace,
19
+ touch = ("ontouchstart" in window) || window.DocumentTouch && document instanceof DocumentTouch,
20
+ eventType = (touch) ? "touchend" : "click",
21
+ vertical = vars.direction === "vertical",
22
+ reverse = vars.reverse,
23
+ carousel = (vars.itemWidth > 0),
24
+ fade = vars.animation === "fade",
25
+ asNav = vars.asNavFor !== "",
26
+ methods = {};
27
+
28
+ // Store a reference to the slider object
29
+ $.data(el, "flexslider", slider);
30
+
31
+ // Privat slider methods
32
+ methods = {
33
+ init: function() {
34
+ slider.animating = false;
35
+ slider.currentSlide = vars.startAt;
36
+ slider.animatingTo = slider.currentSlide;
37
+ slider.atEnd = (slider.currentSlide === 0 || slider.currentSlide === slider.last);
38
+ slider.containerSelector = vars.selector.substr(0,vars.selector.search(' '));
39
+ slider.slides = $(vars.selector, slider);
40
+ slider.container = $(slider.containerSelector, slider);
41
+ slider.count = slider.slides.length;
42
+ // SYNC:
43
+ slider.syncExists = $(vars.sync).length > 0;
44
+ // SLIDE:
45
+ if (vars.animation === "slide") vars.animation = "swing";
46
+ slider.prop = (vertical) ? "top" : "marginLeft";
47
+ slider.args = {};
48
+ // SLIDESHOW:
49
+ slider.manualPause = false;
50
+ // TOUCH/USECSS:
51
+ slider.transitions = !vars.video && !fade && vars.useCSS && (function() {
52
+ var obj = document.createElement('div'),
53
+ props = ['perspectiveProperty', 'WebkitPerspective', 'MozPerspective', 'OPerspective', 'msPerspective'];
54
+ for (var i in props) {
55
+ if ( obj.style[ props[i] ] !== undefined ) {
56
+ slider.pfx = props[i].replace('Perspective','').toLowerCase();
57
+ slider.prop = "-" + slider.pfx + "-transform";
58
+ return true;
59
+ }
60
+ }
61
+ return false;
62
+ }());
63
+ // CONTROLSCONTAINER:
64
+ if (vars.controlsContainer !== "") slider.controlsContainer = $(vars.controlsContainer).length > 0 && $(vars.controlsContainer);
65
+ // MANUAL:
66
+ if (vars.manualControls !== "") slider.manualControls = $(vars.manualControls).length > 0 && $(vars.manualControls);
67
+
68
+ // RANDOMIZE:
69
+ if (vars.randomize) {
70
+ slider.slides.sort(function() { return (Math.round(Math.random())-0.5); });
71
+ slider.container.empty().append(slider.slides);
72
+ }
73
+
74
+ slider.doMath();
75
+
76
+ // ASNAV:
77
+ if (asNav) methods.asNav.setup();
78
+
79
+ // INIT
80
+ slider.setup("init");
81
+
82
+ // CONTROLNAV:
83
+ if (vars.controlNav) methods.controlNav.setup();
84
+
85
+ // DIRECTIONNAV:
86
+ if (vars.directionNav) methods.directionNav.setup();
87
+
88
+ // KEYBOARD:
89
+ if (vars.keyboard && ($(slider.containerSelector).length === 1 || vars.multipleKeyboard)) {
90
+ $(document).bind('keyup', function(event) {
91
+ var keycode = event.keyCode;
92
+ if (!slider.animating && (keycode === 39 || keycode === 37)) {
93
+ var target = (keycode === 39) ? slider.getTarget('next') :
94
+ (keycode === 37) ? slider.getTarget('prev') : false;
95
+ slider.flexAnimate(target, vars.pauseOnAction);
96
+ }
97
+ });
98
+ }
99
+ // MOUSEWHEEL:
100
+ if (vars.mousewheel) {
101
+ slider.bind('mousewheel', function(event, delta, deltaX, deltaY) {
102
+ event.preventDefault();
103
+ var target = (delta < 0) ? slider.getTarget('next') : slider.getTarget('prev');
104
+ slider.flexAnimate(target, vars.pauseOnAction);
105
+ });
106
+ }
107
+
108
+ // PAUSEPLAY
109
+ if (vars.pausePlay) methods.pausePlay.setup();
110
+
111
+ // SLIDSESHOW
112
+ if (vars.slideshow) {
113
+ if (vars.pauseOnHover) {
114
+ slider.hover(function() {
115
+ if (!slider.manualPlay && !slider.manualPause) slider.pause();
116
+ }, function() {
117
+ if (!slider.manualPause && !slider.manualPlay) slider.play();
118
+ });
119
+ }
120
+ // initialize animation
121
+ (vars.initDelay > 0) ? setTimeout(slider.play, vars.initDelay) : slider.play();
122
+ }
123
+
124
+ // TOUCH
125
+ if (touch && vars.touch) methods.touch();
126
+
127
+ // FADE&&SMOOTHHEIGHT || SLIDE:
128
+ if (!fade || (fade && vars.smoothHeight)) $(window).bind("resize focus", methods.resize);
129
+
130
+
131
+ // API: start() Callback
132
+ setTimeout(function(){
133
+ vars.start(slider);
134
+ }, 200);
135
+ },
136
+ asNav: {
137
+ setup: function() {
138
+ slider.asNav = true;
139
+ slider.animatingTo = Math.floor(slider.currentSlide/slider.move);
140
+ slider.currentItem = slider.currentSlide;
141
+ slider.slides.removeClass(namespace + "active-slide").eq(slider.currentItem).addClass(namespace + "active-slide");
142
+ slider.slides.click(function(e){
143
+ e.preventDefault();
144
+ var $slide = $(this),
145
+ target = $slide.index();
146
+ if (!$(vars.asNavFor).data('flexslider').animating && !$slide.hasClass('active')) {
147
+ slider.direction = (slider.currentItem < target) ? "next" : "prev";
148
+ slider.flexAnimate(target, vars.pauseOnAction, false, true, true);
149
+ }
150
+ });
151
+ }
152
+ },
153
+ controlNav: {
154
+ setup: function() {
155
+ if (!slider.manualControls) {
156
+ methods.controlNav.setupPaging();
157
+ } else { // MANUALCONTROLS:
158
+ methods.controlNav.setupManual();
159
+ }
160
+ },
161
+ setupPaging: function() {
162
+ var type = (vars.controlNav === "thumbnails") ? 'control-thumbs' : 'control-paging',
163
+ j = 1,
164
+ item;
165
+
166
+ slider.controlNavScaffold = $('<ol class="'+ namespace + 'control-nav ' + namespace + type + '"></ol>');
167
+
168
+ if (slider.pagingCount > 1) {
169
+ for (var i = 0; i < slider.pagingCount; i++) {
170
+ item = (vars.controlNav === "thumbnails") ? '<img src="' + slider.slides.eq(i).attr("data-thumb") + '"/>' : '<a>' + j + '</a>';
171
+ slider.controlNavScaffold.append('<li>' + item + '</li>');
172
+ j++;
173
+ }
174
+ }
175
+
176
+ // CONTROLSCONTAINER:
177
+ (slider.controlsContainer) ? $(slider.controlsContainer).append(slider.controlNavScaffold) : slider.append(slider.controlNavScaffold);
178
+ methods.controlNav.set();
179
+
180
+ methods.controlNav.active();
181
+
182
+ slider.controlNavScaffold.delegate('a, img', eventType, function(event) {
183
+ event.preventDefault();
184
+ var $this = $(this),
185
+ target = slider.controlNav.index($this);
186
+
187
+ if (!$this.hasClass(namespace + 'active')) {
188
+ slider.direction = (target > slider.currentSlide) ? "next" : "prev";
189
+ slider.flexAnimate(target, vars.pauseOnAction);
190
+ }
191
+ });
192
+ // Prevent iOS click event bug
193
+ if (touch) {
194
+ slider.controlNavScaffold.delegate('a', "click touchstart", function(event) {
195
+ event.preventDefault();
196
+ });
197
+ }
198
+ },
199
+ setupManual: function() {
200
+ slider.controlNav = slider.manualControls;
201
+ methods.controlNav.active();
202
+
203
+ slider.controlNav.live(eventType, function(event) {
204
+ event.preventDefault();
205
+ var $this = $(this),
206
+ target = slider.controlNav.index($this);
207
+
208
+ if (!$this.hasClass(namespace + 'active')) {
209
+ (target > slider.currentSlide) ? slider.direction = "next" : slider.direction = "prev";
210
+ slider.flexAnimate(target, vars.pauseOnAction);
211
+ }
212
+ });
213
+ // Prevent iOS click event bug
214
+ if (touch) {
215
+ slider.controlNav.live("click touchstart", function(event) {
216
+ event.preventDefault();
217
+ });
218
+ }
219
+ },
220
+ set: function() {
221
+ var selector = (vars.controlNav === "thumbnails") ? 'img' : 'a';
222
+ slider.controlNav = $('.' + namespace + 'control-nav li ' + selector, (slider.controlsContainer) ? slider.controlsContainer : slider);
223
+ },
224
+ active: function() {
225
+ slider.controlNav.removeClass(namespace + "active").eq(slider.animatingTo).addClass(namespace + "active");
226
+ },
227
+ update: function(action, pos) {
228
+ if (slider.pagingCount > 1 && action === "add") {
229
+ slider.controlNavScaffold.append($('<li><a>' + slider.count + '</a></li>'));
230
+ } else if (slider.pagingCount === 1) {
231
+ slider.controlNavScaffold.find('li').remove();
232
+ } else {
233
+ slider.controlNav.eq(pos).closest('li').remove();
234
+ }
235
+ methods.controlNav.set();
236
+ (slider.pagingCount > 1 && slider.pagingCount !== slider.controlNav.length) ? slider.update(pos, action) : methods.controlNav.active();
237
+ }
238
+ },
239
+ directionNav: {
240
+ setup: function() {
241
+ var directionNavScaffold = $('<ul class="' + namespace + 'direction-nav"><li><a class="' + namespace + 'prev" href="#">' + vars.prevText + '</a></li><li><a class="' + namespace + 'next" href="#">' + vars.nextText + '</a></li></ul>');
242
+
243
+ // CONTROLSCONTAINER:
244
+ if (slider.controlsContainer) {
245
+ $(slider.controlsContainer).append(directionNavScaffold);
246
+ slider.directionNav = $('.' + namespace + 'direction-nav li a', slider.controlsContainer);
247
+ } else {
248
+ slider.append(directionNavScaffold);
249
+ slider.directionNav = $('.' + namespace + 'direction-nav li a', slider);
250
+ }
251
+
252
+ methods.directionNav.update();
253
+
254
+ slider.directionNav.bind(eventType, function(event) {
255
+ event.preventDefault();
256
+ var target = ($(this).hasClass(namespace + 'next')) ? slider.getTarget('next') : slider.getTarget('prev');
257
+ slider.flexAnimate(target, vars.pauseOnAction);
258
+ });
259
+ // Prevent iOS click event bug
260
+ if (touch) {
261
+ slider.directionNav.bind("click touchstart", function(event) {
262
+ event.preventDefault();
263
+ });
264
+ }
265
+ },
266
+ update: function() {
267
+ var disabledClass = namespace + 'disabled';
268
+ if (slider.pagingCount === 1) {
269
+ slider.directionNav.addClass(disabledClass);
270
+ } else if (!vars.animationLoop) {
271
+ if (slider.animatingTo === 0) {
272
+ slider.directionNav.removeClass(disabledClass).filter('.' + namespace + "prev").addClass(disabledClass);
273
+ } else if (slider.animatingTo === slider.last) {
274
+ slider.directionNav.removeClass(disabledClass).filter('.' + namespace + "next").addClass(disabledClass);
275
+ } else {
276
+ slider.directionNav.removeClass(disabledClass);
277
+ }
278
+ } else {
279
+ slider.directionNav.removeClass(disabledClass);
280
+ }
281
+ }
282
+ },
283
+ pausePlay: {
284
+ setup: function() {
285
+ var pausePlayScaffold = $('<div class="' + namespace + 'pauseplay"><a></a></div>');
286
+
287
+ // CONTROLSCONTAINER:
288
+ if (slider.controlsContainer) {
289
+ slider.controlsContainer.append(pausePlayScaffold);
290
+ slider.pausePlay = $('.' + namespace + 'pauseplay a', slider.controlsContainer);
291
+ } else {
292
+ slider.append(pausePlayScaffold);
293
+ slider.pausePlay = $('.' + namespace + 'pauseplay a', slider);
294
+ }
295
+
296
+ methods.pausePlay.update((vars.slideshow) ? namespace + 'pause' : namespace + 'play');
297
+
298
+ slider.pausePlay.bind(eventType, function(event) {
299
+ event.preventDefault();
300
+ if ($(this).hasClass(namespace + 'pause')) {
301
+ slider.manualPause = true;
302
+ slider.manualPlay = false;
303
+ slider.pause();
304
+ } else {
305
+ slider.manualPause = false;
306
+ slider.manualPlay = true;
307
+ slider.play();
308
+ }
309
+ });
310
+ // Prevent iOS click event bug
311
+ if (touch) {
312
+ slider.pausePlay.bind("click touchstart", function(event) {
313
+ event.preventDefault();
314
+ });
315
+ }
316
+ },
317
+ update: function(state) {
318
+ (state === "play") ? slider.pausePlay.removeClass(namespace + 'pause').addClass(namespace + 'play').text(vars.playText) : slider.pausePlay.removeClass(namespace + 'play').addClass(namespace + 'pause').text(vars.pauseText);
319
+ }
320
+ },
321
+ touch: function() {
322
+ var startX,
323
+ startY,
324
+ offset,
325
+ cwidth,
326
+ dx,
327
+ startT,
328
+ scrolling = false;
329
+
330
+ el.addEventListener('touchstart', onTouchStart, false);
331
+ function onTouchStart(e) {
332
+ if (slider.animating) {
333
+ e.preventDefault();
334
+ } else if (e.touches.length === 1) {
335
+ slider.pause();
336
+ // CAROUSEL:
337
+ cwidth = (vertical) ? slider.h : slider. w;
338
+ startT = Number(new Date());
339
+ // CAROUSEL:
340
+ offset = (carousel && reverse && slider.animatingTo === slider.last) ? 0 :
341
+ (carousel && reverse) ? slider.limit - (((slider.itemW + vars.itemMargin) * slider.move) * slider.animatingTo) :
342
+ (carousel && slider.currentSlide === slider.last) ? slider.limit :
343
+ (carousel) ? ((slider.itemW + vars.itemMargin) * slider.move) * slider.currentSlide :
344
+ (reverse) ? (slider.last - slider.currentSlide + slider.cloneOffset) * cwidth : (slider.currentSlide + slider.cloneOffset) * cwidth;
345
+ startX = (vertical) ? e.touches[0].pageY : e.touches[0].pageX;
346
+ startY = (vertical) ? e.touches[0].pageX : e.touches[0].pageY;
347
+
348
+ el.addEventListener('touchmove', onTouchMove, false);
349
+ el.addEventListener('touchend', onTouchEnd, false);
350
+ }
351
+ }
352
+
353
+ function onTouchMove(e) {
354
+ dx = (vertical) ? startX - e.touches[0].pageY : startX - e.touches[0].pageX;
355
+ scrolling = (vertical) ? (Math.abs(dx) < Math.abs(e.touches[0].pageX - startY)) : (Math.abs(dx) < Math.abs(e.touches[0].pageY - startY));
356
+
357
+ if (!scrolling || Number(new Date()) - startT > 500) {
358
+ e.preventDefault();
359
+ if (!fade && slider.transitions) {
360
+ if (!vars.animationLoop) {
361
+ dx = dx/((slider.currentSlide === 0 && dx < 0 || slider.currentSlide === slider.last && dx > 0) ? (Math.abs(dx)/cwidth+2) : 1);
362
+ }
363
+ slider.setProps(offset + dx, "setTouch");
364
+ }
365
+ }
366
+ }
367
+
368
+ function onTouchEnd(e) {
369
+ // finish the touch by undoing the touch session
370
+ el.removeEventListener('touchmove', onTouchMove, false);
371
+
372
+ if (slider.animatingTo === slider.currentSlide && !scrolling && !(dx === null)) {
373
+ var updateDx = (reverse) ? -dx : dx,
374
+ target = (updateDx > 0) ? slider.getTarget('next') : slider.getTarget('prev');
375
+
376
+ if (slider.canAdvance(target) && (Number(new Date()) - startT < 550 && Math.abs(updateDx) > 50 || Math.abs(updateDx) > cwidth/2)) {
377
+ slider.flexAnimate(target, vars.pauseOnAction);
378
+ } else {
379
+ if (!fade) slider.flexAnimate(slider.currentSlide, vars.pauseOnAction, true);
380
+ }
381
+ }
382
+ el.removeEventListener('touchend', onTouchEnd, false);
383
+ startX = null;
384
+ startY = null;
385
+ dx = null;
386
+ offset = null;
387
+ }
388
+ },
389
+ resize: function() {
390
+ if (!slider.animating && slider.is(':visible')) {
391
+ if (!carousel) slider.doMath();
392
+
393
+ if (fade) {
394
+ // SMOOTH HEIGHT:
395
+ methods.smoothHeight();
396
+ } else if (carousel) { //CAROUSEL:
397
+ slider.slides.width(slider.computedW);
398
+ slider.update(slider.pagingCount);
399
+ slider.setProps();
400
+ }
401
+ else if (vertical) { //VERTICAL:
402
+ slider.viewport.height(slider.h);
403
+ slider.setProps(slider.h, "setTotal");
404
+ } else {
405
+ // SMOOTH HEIGHT:
406
+ if (vars.smoothHeight) methods.smoothHeight();
407
+ slider.newSlides.width(slider.computedW);
408
+ slider.setProps(slider.computedW, "setTotal");
409
+ }
410
+ }
411
+ },
412
+ smoothHeight: function(dur) {
413
+ if (!vertical || fade) {
414
+ var $obj = (fade) ? slider : slider.viewport;
415
+ (dur) ? $obj.animate({"height": slider.slides.eq(slider.animatingTo).height()}, dur) : $obj.height(slider.slides.eq(slider.animatingTo).height());
416
+ }
417
+ },
418
+ sync: function(action) {
419
+ var $obj = $(vars.sync).data("flexslider"),
420
+ target = slider.animatingTo;
421
+
422
+ switch (action) {
423
+ case "animate": $obj.flexAnimate(target, vars.pauseOnAction, false, true); break;
424
+ case "play": if (!$obj.playing && !$obj.asNav) { $obj.play(); } break;
425
+ case "pause": $obj.pause(); break;
426
+ }
427
+ }
428
+ }
429
+
430
+ // public methods
431
+ slider.flexAnimate = function(target, pause, override, withSync, fromNav) {
432
+ if (asNav && slider.pagingCount === 1) slider.direction = (slider.currentItem < target) ? "next" : "prev";
433
+
434
+ if (!slider.animating && (slider.canAdvance(target, fromNav) || override) && slider.is(":visible")) {
435
+ if (asNav && withSync) {
436
+ var master = $(vars.asNavFor).data('flexslider');
437
+ slider.atEnd = target === 0 || target === slider.count - 1;
438
+ master.flexAnimate(target, true, false, true, fromNav);
439
+ slider.direction = (slider.currentItem < target) ? "next" : "prev";
440
+ master.direction = slider.direction;
441
+
442
+ if (Math.ceil((target + 1)/slider.visible) - 1 !== slider.currentSlide && target !== 0) {
443
+ slider.currentItem = target;
444
+ slider.slides.removeClass(namespace + "active-slide").eq(target).addClass(namespace + "active-slide");
445
+ target = Math.floor(target/slider.visible);
446
+ } else {
447
+ slider.currentItem = target;
448
+ slider.slides.removeClass(namespace + "active-slide").eq(target).addClass(namespace + "active-slide");
449
+ return false;
450
+ }
451
+ }
452
+
453
+ slider.animating = true;
454
+ slider.animatingTo = target;
455
+ // API: before() animation Callback
456
+ vars.before(slider);
457
+
458
+ // SLIDESHOW:
459
+ if (pause) slider.pause();
460
+
461
+ // SYNC:
462
+ if (slider.syncExists && !fromNav) methods.sync("animate");
463
+
464
+ // CONTROLNAV
465
+ if (vars.controlNav) methods.controlNav.active();
466
+
467
+ // !CAROUSEL:
468
+ // CANDIDATE: slide active class (for add/remove slide)
469
+ if (!carousel) slider.slides.removeClass(namespace + 'active-slide').eq(target).addClass(namespace + 'active-slide');
470
+
471
+ // INFINITE LOOP:
472
+ // CANDIDATE: atEnd
473
+ slider.atEnd = target === 0 || target === slider.last;
474
+
475
+ // DIRECTIONNAV:
476
+ if (vars.directionNav) methods.directionNav.update();
477
+
478
+ if (target === slider.last) {
479
+ // API: end() of cycle Callback
480
+ vars.end(slider);
481
+ // SLIDESHOW && !INFINITE LOOP:
482
+ if (!vars.animationLoop) slider.pause();
483
+ }
484
+
485
+ // SLIDE:
486
+ if (!fade) {
487
+ var dimension = (vertical) ? slider.slides.filter(':first').height() : slider.computedW,
488
+ margin, slideString, calcNext;
489
+
490
+ // INFINITE LOOP / REVERSE:
491
+ if (carousel) {
492
+ margin = (vars.itemWidth > slider.w) ? vars.itemMargin * 2 : vars.itemMargin;
493
+ calcNext = ((slider.itemW + margin) * slider.move) * slider.animatingTo;
494
+ slideString = (calcNext > slider.limit && slider.visible !== 1) ? slider.limit : calcNext;
495
+ } else if (slider.currentSlide === 0 && target === slider.count - 1 && vars.animationLoop && slider.direction !== "next") {
496
+ slideString = (reverse) ? (slider.count + slider.cloneOffset) * dimension : 0;
497
+ } else if (slider.currentSlide === slider.last && target === 0 && vars.animationLoop && slider.direction !== "prev") {
498
+ slideString = (reverse) ? 0 : (slider.count + 1) * dimension;
499
+ } else {
500
+ slideString = (reverse) ? ((slider.count - 1) - target + slider.cloneOffset) * dimension : (target + slider.cloneOffset) * dimension;
501
+ }
502
+ slider.setProps(slideString, "", vars.animationSpeed);
503
+ if (slider.transitions) {
504
+ if (!vars.animationLoop || !slider.atEnd) {
505
+ slider.animating = false;
506
+ slider.currentSlide = slider.animatingTo;
507
+ }
508
+ slider.container.unbind("webkitTransitionEnd transitionend");
509
+ slider.container.bind("webkitTransitionEnd transitionend", function() {
510
+ slider.wrapup(dimension);
511
+ });
512
+ } else {
513
+ slider.container.animate(slider.args, vars.animationSpeed, vars.easing, function(){
514
+ slider.wrapup(dimension);
515
+ });
516
+ }
517
+ } else { // FADE:
518
+ if (!touch) {
519
+ slider.slides.eq(slider.currentSlide).fadeOut(vars.animationSpeed, vars.easing);
520
+ slider.slides.eq(target).fadeIn(vars.animationSpeed, vars.easing, slider.wrapup);
521
+ } else {
522
+ slider.slides.eq(slider.currentSlide).css({ "opacity": 0, "zIndex": 1 });
523
+ slider.slides.eq(target).css({ "opacity": 1, "zIndex": 2 });
524
+
525
+ slider.slides.unbind("webkitTransitionEnd transitionend");
526
+ slider.slides.eq(slider.currentSlide).bind("webkitTransitionEnd transitionend", function() {
527
+ // API: after() animation Callback
528
+ vars.after(slider);
529
+ });
530
+
531
+ slider.animating = false;
532
+ slider.currentSlide = slider.animatingTo;
533
+ }
534
+ }
535
+ // SMOOTH HEIGHT:
536
+ if (vars.smoothHeight) methods.smoothHeight(vars.animationSpeed);
537
+ }
538
+ }
539
+ slider.wrapup = function(dimension) {
540
+ // SLIDE:
541
+ if (!fade && !carousel) {
542
+ if (slider.currentSlide === 0 && slider.animatingTo === slider.last && vars.animationLoop) {
543
+ slider.setProps(dimension, "jumpEnd");
544
+ } else if (slider.currentSlide === slider.last && slider.animatingTo === 0 && vars.animationLoop) {
545
+ slider.setProps(dimension, "jumpStart");
546
+ }
547
+ }
548
+ slider.animating = false;
549
+ slider.currentSlide = slider.animatingTo;
550
+ // API: after() animation Callback
551
+ vars.after(slider);
552
+ }
553
+
554
+ // SLIDESHOW:
555
+ slider.animateSlides = function() {
556
+ if (!slider.animating) slider.flexAnimate(slider.getTarget("next"));
557
+ }
558
+ // SLIDESHOW:
559
+ slider.pause = function() {
560
+ clearInterval(slider.animatedSlides);
561
+ slider.playing = false;
562
+ // PAUSEPLAY:
563
+ if (vars.pausePlay) methods.pausePlay.update("play");
564
+ // SYNC:
565
+ if (slider.syncExists) methods.sync("pause");
566
+ }
567
+ // SLIDESHOW:
568
+ slider.play = function() {
569
+ slider.animatedSlides = setInterval(slider.animateSlides, vars.slideshowSpeed);
570
+ slider.playing = true;
571
+ // PAUSEPLAY:
572
+ if (vars.pausePlay) methods.pausePlay.update("pause");
573
+ // SYNC:
574
+ if (slider.syncExists) methods.sync("play");
575
+ }
576
+ slider.canAdvance = function(target, fromNav) {
577
+ // ASNAV:
578
+ var last = (asNav) ? slider.pagingCount - 1 : slider.last;
579
+ return (fromNav) ? true :
580
+ (asNav && slider.currentItem === slider.count - 1 && target === 0 && slider.direction === "prev") ? true :
581
+ (asNav && slider.currentItem === 0 && target === slider.pagingCount - 1 && slider.direction !== "next") ? false :
582
+ (target === slider.currentSlide && !asNav) ? false :
583
+ (vars.animationLoop) ? true :
584
+ (slider.atEnd && slider.currentSlide === 0 && target === last && slider.direction !== "next") ? false :
585
+ (slider.atEnd && slider.currentSlide === last && target === 0 && slider.direction === "next") ? false :
586
+ true;
587
+ }
588
+ slider.getTarget = function(dir) {
589
+ slider.direction = dir;
590
+ if (dir === "next") {
591
+ return (slider.currentSlide === slider.last) ? 0 : slider.currentSlide + 1;
592
+ } else {
593
+ return (slider.currentSlide === 0) ? slider.last : slider.currentSlide - 1;
594
+ }
595
+ }
596
+
597
+ // SLIDE:
598
+ slider.setProps = function(pos, special, dur) {
599
+ var target = (function() {
600
+ var posCheck = (pos) ? pos : ((slider.itemW + vars.itemMargin) * slider.move) * slider.animatingTo,
601
+ posCalc = (function() {
602
+ if (carousel) {
603
+ return (special === "setTouch") ? pos :
604
+ (reverse && slider.animatingTo === slider.last) ? 0 :
605
+ (reverse) ? slider.limit - (((slider.itemW + vars.itemMargin) * slider.move) * slider.animatingTo) :
606
+ (slider.animatingTo === slider.last) ? slider.limit : posCheck;
607
+ } else {
608
+ switch (special) {
609
+ case "setTotal": return (reverse) ? ((slider.count - 1) - slider.currentSlide + slider.cloneOffset) * pos : (slider.currentSlide + slider.cloneOffset) * pos;
610
+ case "setTouch": return (reverse) ? pos : pos;
611
+ case "jumpEnd": return (reverse) ? pos : slider.count * pos;
612
+ case "jumpStart": return (reverse) ? slider.count * pos : pos;
613
+ default: return pos;
614
+ }
615
+ }
616
+ }());
617
+ return (posCalc * -1) + "px";
618
+ }());
619
+
620
+ if (slider.transitions) {
621
+ target = (vertical) ? "translate3d(0," + target + ",0)" : "translate3d(" + target + ",0,0)";
622
+ dur = (dur !== undefined) ? (dur/1000) + "s" : "0s";
623
+ slider.container.css("-" + slider.pfx + "-transition-duration", dur);
624
+ }
625
+
626
+ slider.args[slider.prop] = target;
627
+ if (slider.transitions || dur === undefined) slider.container.css(slider.args);
628
+ }
629
+
630
+ slider.setup = function(type) {
631
+ // SLIDE:
632
+ if (!fade) {
633
+ var sliderOffset, arr;
634
+
635
+ if (type === "init") {
636
+ slider.viewport = $('<div class="' + namespace + 'viewport"></div>').css({"overflow": "hidden", "position": "relative"}).appendTo(slider).append(slider.container);
637
+ // INFINITE LOOP:
638
+ slider.cloneCount = 0;
639
+ slider.cloneOffset = 0;
640
+ // REVERSE:
641
+ if (reverse) {
642
+ arr = $.makeArray(slider.slides).reverse();
643
+ slider.slides = $(arr);
644
+ slider.container.empty().append(slider.slides);
645
+ }
646
+ }
647
+ // INFINITE LOOP && !CAROUSEL:
648
+ if (vars.animationLoop && !carousel) {
649
+ slider.cloneCount = 2;
650
+ slider.cloneOffset = 1;
651
+ // clear out old clones
652
+ if (type !== "init") slider.container.find('.clone').remove();
653
+ slider.container.append(slider.slides.first().clone().addClass('clone')).prepend(slider.slides.last().clone().addClass('clone'));
654
+ }
655
+ slider.newSlides = $(vars.selector, slider);
656
+
657
+ sliderOffset = (reverse) ? slider.count - 1 - slider.currentSlide + slider.cloneOffset : slider.currentSlide + slider.cloneOffset;
658
+ // VERTICAL:
659
+ if (vertical && !carousel) {
660
+ slider.container.height((slider.count + slider.cloneCount) * 200 + "%").css("position", "absolute").width("100%");
661
+ setTimeout(function(){
662
+ slider.newSlides.css({"display": "block"});
663
+ slider.doMath();
664
+ slider.viewport.height(slider.h);
665
+ slider.setProps(sliderOffset * slider.h, "init");
666
+ }, (type === "init") ? 100 : 0);
667
+ } else {
668
+ slider.container.width((slider.count + slider.cloneCount) * 200 + "%");
669
+ slider.setProps(sliderOffset * slider.computedW, "init");
670
+ setTimeout(function(){
671
+ slider.doMath();
672
+ slider.newSlides.css({"width": slider.computedW, "float": "left", "display": "block"});
673
+ // SMOOTH HEIGHT:
674
+ if (vars.smoothHeight) methods.smoothHeight();
675
+ }, (type === "init") ? 100 : 0);
676
+ }
677
+ } else { // FADE:
678
+ slider.slides.css({"width": "100%", "float": "left", "marginRight": "-100%", "position": "relative"});
679
+ if (type === "init") {
680
+ if (!touch) {
681
+ slider.slides.eq(slider.currentSlide).fadeIn(vars.animationSpeed, vars.easing);
682
+ } else {
683
+ slider.slides.css({ "opacity": 0, "display": "block", "webkitTransition": "opacity " + vars.animationSpeed / 1000 + "s ease", "zIndex": 1 }).eq(slider.currentSlide).css({ "opacity": 1, "zIndex": 2});
684
+ }
685
+ }
686
+ // SMOOTH HEIGHT:
687
+ if (vars.smoothHeight) methods.smoothHeight();
688
+ }
689
+ // !CAROUSEL:
690
+ // CANDIDATE: active slide
691
+ if (!carousel) slider.slides.removeClass(namespace + "active-slide").eq(slider.currentSlide).addClass(namespace + "active-slide");
692
+ }
693
+
694
+ slider.doMath = function() {
695
+ var slide = slider.slides.first(),
696
+ slideMargin = vars.itemMargin,
697
+ minItems = vars.minItems,
698
+ maxItems = vars.maxItems;
699
+
700
+ slider.w = slider.width();
701
+ slider.h = slide.height();
702
+ slider.boxPadding = slide.outerWidth() - slide.width();
703
+
704
+ // CAROUSEL:
705
+ if (carousel) {
706
+ slider.itemT = vars.itemWidth + slideMargin;
707
+ slider.minW = (minItems) ? minItems * slider.itemT : slider.w;
708
+ slider.maxW = (maxItems) ? maxItems * slider.itemT : slider.w;
709
+ slider.itemW = (slider.minW > slider.w) ? (slider.w - (slideMargin * minItems))/minItems :
710
+ (slider.maxW < slider.w) ? (slider.w - (slideMargin * maxItems))/maxItems :
711
+ (vars.itemWidth > slider.w) ? slider.w : vars.itemWidth;
712
+ slider.visible = Math.floor(slider.w/(slider.itemW + slideMargin));
713
+ slider.move = (vars.move > 0 && vars.move < slider.visible ) ? vars.move : slider.visible;
714
+ slider.pagingCount = Math.ceil(((slider.count - slider.visible)/slider.move) + 1);
715
+ slider.last = slider.pagingCount - 1;
716
+ slider.limit = (slider.pagingCount === 1) ? 0 :
717
+ (vars.itemWidth > slider.w) ? ((slider.itemW + (slideMargin * 2)) * slider.count) - slider.w - slideMargin : ((slider.itemW + slideMargin) * slider.count) - slider.w - slideMargin;
718
+ } else {
719
+ slider.itemW = slider.w;
720
+ slider.pagingCount = slider.count;
721
+ slider.last = slider.count - 1;
722
+ }
723
+ slider.computedW = slider.itemW - slider.boxPadding;
724
+ }
725
+
726
+ slider.update = function(pos, action) {
727
+ slider.doMath();
728
+
729
+ // update currentSlide and slider.animatingTo if necessary
730
+ if (!carousel) {
731
+ if (pos < slider.currentSlide) {
732
+ slider.currentSlide += 1;
733
+ } else if (pos <= slider.currentSlide && pos !== 0) {
734
+ slider.currentSlide -= 1;
735
+ }
736
+ slider.animatingTo = slider.currentSlide;
737
+ }
738
+
739
+ // update controlNav
740
+ if (vars.controlNav && !slider.manualControls) {
741
+ if ((action === "add" && !carousel) || slider.pagingCount > slider.controlNav.length) {
742
+ methods.controlNav.update("add");
743
+ } else if ((action === "remove" && !carousel) || slider.pagingCount < slider.controlNav.length) {
744
+ if (carousel && slider.currentSlide > slider.last) {
745
+ slider.currentSlide -= 1;
746
+ slider.animatingTo -= 1;
747
+ }
748
+ methods.controlNav.update("remove", slider.last);
749
+ }
750
+ }
751
+ // update directionNav
752
+ if (vars.directionNav) methods.directionNav.update();
753
+
754
+ }
755
+
756
+ slider.addSlide = function(obj, pos) {
757
+ var $obj = $(obj);
758
+
759
+ slider.count += 1;
760
+ slider.last = slider.count - 1;
761
+
762
+ // append new slide
763
+ if (vertical && reverse) {
764
+ (pos !== undefined) ? slider.slides.eq(slider.count - pos).after($obj) : slider.container.prepend($obj);
765
+ } else {
766
+ (pos !== undefined) ? slider.slides.eq(pos).before($obj) : slider.container.append($obj);
767
+ }
768
+
769
+ // update currentSlide, animatingTo, controlNav, and directionNav
770
+ slider.update(pos, "add");
771
+
772
+ // update slider.slides
773
+ slider.slides = $(vars.selector + ':not(.clone)', slider);
774
+ // re-setup the slider to accomdate new slide
775
+ slider.setup();
776
+
777
+ //FlexSlider: added() Callback
778
+ vars.added(slider);
779
+ }
780
+ slider.removeSlide = function(obj) {
781
+ var pos = (isNaN(obj)) ? slider.slides.index($(obj)) : obj;
782
+
783
+ // update count
784
+ slider.count -= 1;
785
+ slider.last = slider.count - 1;
786
+
787
+ // remove slide
788
+ if (isNaN(obj)) {
789
+ $(obj, slider.slides).remove();
790
+ } else {
791
+ (vertical && reverse) ? slider.slides.eq(slider.last).remove() : slider.slides.eq(obj).remove();
792
+ }
793
+
794
+ // update currentSlide, animatingTo, controlNav, and directionNav
795
+ slider.doMath();
796
+ slider.update(pos, "remove");
797
+
798
+ // update slider.slides
799
+ slider.slides = $(vars.selector + ':not(.clone)', slider);
800
+ // re-setup the slider to accomdate new slide
801
+ slider.setup();
802
+
803
+ // FlexSlider: removed() Callback
804
+ vars.removed(slider);
805
+ }
806
+
807
+ //FlexSlider: Initialize
808
+ methods.init();
809
+ }
810
+
811
+ //FlexSlider: Default Settings
812
+ $.flexslider.defaults = {
813
+ namespace: "flex-", //{NEW} String: Prefix string attached to the class of every element generated by the plugin
814
+ selector: ".slides > li", //{NEW} Selector: Must match a simple pattern. '{container} > {slide}' -- Ignore pattern at your own peril
815
+ animation: "fade", //String: Select your animation type, "fade" or "slide"
816
+ easing: "swing", //{NEW} String: Determines the easing method used in jQuery transitions. jQuery easing plugin is supported!
817
+ direction: "horizontal", //String: Select the sliding direction, "horizontal" or "vertical"
818
+ reverse: false, //{NEW} Boolean: Reverse the animation direction
819
+ animationLoop: true, //Boolean: Should the animation loop? If false, directionNav will received "disable" classes at either end
820
+ smoothHeight: false, //{NEW} Boolean: Allow height of the slider to animate smoothly in horizontal mode
821
+ startAt: 0, //Integer: The slide that the slider should start on. Array notation (0 = first slide)
822
+ slideshow: true, //Boolean: Animate slider automatically
823
+ slideshowSpeed: 7000, //Integer: Set the speed of the slideshow cycling, in milliseconds
824
+ animationSpeed: 600, //Integer: Set the speed of animations, in milliseconds
825
+ initDelay: 0, //{NEW} Integer: Set an initialization delay, in milliseconds
826
+ randomize: false, //Boolean: Randomize slide order
827
+
828
+ // Usability features
829
+ pauseOnAction: true, //Boolean: Pause the slideshow when interacting with control elements, highly recommended.
830
+ pauseOnHover: false, //Boolean: Pause the slideshow when hovering over slider, then resume when no longer hovering
831
+ useCSS: true, //{NEW} Boolean: Slider will use CSS3 transitions if available
832
+ touch: true, //{NEW} Boolean: Allow touch swipe navigation of the slider on touch-enabled devices
833
+ video: false, //{NEW} Boolean: If using video in the slider, will prevent CSS3 3D Transforms to avoid graphical glitches
834
+
835
+ // Primary Controls
836
+ controlNav: true, //Boolean: Create navigation for paging control of each clide? Note: Leave true for manualControls usage
837
+ directionNav: true, //Boolean: Create navigation for previous/next navigation? (true/false)
838
+ prevText: "Previous", //String: Set the text for the "previous" directionNav item
839
+ nextText: "Next", //String: Set the text for the "next" directionNav item
840
+
841
+ // Secondary Navigation
842
+ keyboard: true, //Boolean: Allow slider navigating via keyboard left/right keys
843
+ multipleKeyboard: false, //{NEW} Boolean: Allow keyboard navigation to affect multiple sliders. Default behavior cuts out keyboard navigation with more than one slider present.
844
+ mousewheel: false, //{UPDATED} Boolean: Requires jquery.mousewheel.js (https://github.com/brandonaaron/jquery-mousewheel) - Allows slider navigating via mousewheel
845
+ pausePlay: false, //Boolean: Create pause/play dynamic element
846
+ pauseText: "Pause", //String: Set the text for the "pause" pausePlay item
847
+ playText: "Play", //String: Set the text for the "play" pausePlay item
848
+
849
+ // Special properties
850
+ controlsContainer: "", //{UPDATED} jQuery Object/Selector: Declare which container the navigation elements should be appended too. Default container is the FlexSlider element. Example use would be $(".flexslider-container"). Property is ignored if given element is not found.
851
+ manualControls: "", //{UPDATED} jQuery Object/Selector: Declare custom control navigation. Examples would be $(".flex-control-nav li") or "#tabs-nav li img", etc. The number of elements in your controlNav should match the number of slides/tabs.
852
+ sync: "", //{NEW} Selector: Mirror the actions performed on this slider with another slider. Use with care.
853
+ asNavFor: "", //{NEW} Selector: Internal property exposed for turning the slider into a thumbnail navigation for another slider
854
+
855
+ // Carousel Options
856
+ itemWidth: 0, //{NEW} Integer: Box-model width of individual carousel items, including horizontal borders and padding.
857
+ itemMargin: 0, //{NEW} Integer: Margin between carousel items.
858
+ minItems: 0, //{NEW} Integer: Minimum number of carousel items that should be visible. Items will resize fluidly when below this.
859
+ maxItems: 0, //{NEW} Integer: Maxmimum number of carousel items that should be visible. Items will resize fluidly when above this limit.
860
+ move: 0, //{NEW} Integer: Number of carousel items that should move on animation. If 0, slider will move all visible items.
861
+
862
+ // Callback API
863
+ start: function(){}, //Callback: function(slider) - Fires when the slider loads the first slide
864
+ before: function(){}, //Callback: function(slider) - Fires asynchronously with each slider animation
865
+ after: function(){}, //Callback: function(slider) - Fires after each slider animation completes
866
+ end: function(){}, //Callback: function(slider) - Fires when the slider reaches the last slide (asynchronous)
867
+ added: function(){}, //{NEW} Callback: function(slider) - Fires after a slide is added
868
+ removed: function(){} //{NEW} Callback: function(slider) - Fires after a slide is removed
869
+ }
870
+
871
+
872
+ //FlexSlider: Plugin Function
873
+ $.fn.flexslider = function(options) {
874
+ if (options === undefined) options = {};
875
+
876
+ if (typeof options === "object") {
877
+ return this.each(function() {
878
+ var $this = $(this),
879
+ selector = (options.selector) ? options.selector : ".slides > li",
880
+ $slides = $this.find(selector);
881
+
882
+ if ($slides.length === 1) {
883
+ $slides.fadeIn(400);
884
+ if (options.start) options.start($this);
885
+ } else if ($this.data('flexslider') == undefined) {
886
+ new $.flexslider(this, options);
887
+ }
888
+ });
889
+ } else {
890
+ // Helper strings to quickly perform functions on the slider
891
+ var $slider = $(this).data('flexslider');
892
+ switch (options) {
893
+ case "play": $slider.play(); break;
894
+ case "pause": $slider.pause(); break;
895
+ case "next": $slider.flexAnimate($slider.getTarget("next"), true); break;
896
+ case "prev":
897
+ case "previous": $slider.flexAnimate($slider.getTarget("prev"), true); break;
898
+ default: if (typeof options === "number") $slider.flexAnimate(options, true);
899
+ }
900
+ }
901
+ }
902
+
903
+ })(jQuery);
js/magestore/bannerslider/jquery.slider.css ADDED
@@ -0,0 +1,421 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .jquery-slider-wrapper
2
+ {
3
+ position:relative;
4
+ clear:both;
5
+ zoom:1;
6
+ }
7
+
8
+ .jquery-slider-slide
9
+ {
10
+ display: none;
11
+ float: left;
12
+ margin: 0;
13
+ padding: 0;
14
+ position: absolute;
15
+ width: 100%;
16
+ }
17
+
18
+ .jquery-slider-slide img
19
+ {
20
+ border:0;
21
+ margin:0;
22
+ padding:0;
23
+ }
24
+
25
+ .jquery-slider-slide-current
26
+ {
27
+ display:block;
28
+ z-index:2;
29
+ }
30
+
31
+ .jquery-slider-slide-next
32
+ {
33
+ display:block;
34
+ z-index:1;
35
+ }
36
+
37
+ .jquery-slider-selectors
38
+ {
39
+ display:block;
40
+ overflow:hidden;
41
+ position:absolute;
42
+ bottom:10px;
43
+ right:10px;
44
+ z-index:3;
45
+ }
46
+
47
+ .jquery-slider-option-navigation-selector-control-timer .jquery-slider-selectors,
48
+ .jquery-slider-option-navigation-selector-control .jquery-slider-selectors
49
+ {
50
+ right:100px;
51
+ }
52
+
53
+ .jquery-slider-option-navigation-selector-timer .jquery-slider-selectors,
54
+ .jquery-slider-option-navigation-selector .jquery-slider-selectors
55
+ {
56
+ right:70px;
57
+ }
58
+
59
+ .jquery-slider-option-selector-control-timer .jquery-slider-selectors,
60
+ .jquery-slider-option-selector-control .jquery-slider-selectors
61
+ {
62
+ right:40px;
63
+ }
64
+
65
+ .jquery-slider-selector
66
+ {
67
+ background:url(images/jquery-slider-theme.png) no-repeat -100px 0;
68
+ display:inline;
69
+ float:left;
70
+ width:25px;
71
+ height:25px;
72
+ margin:0 0 0 5px;
73
+ }
74
+
75
+ .jquery-slider-selector span
76
+ {
77
+ display:block;
78
+ width:100%;
79
+ height:100%;
80
+ }
81
+
82
+ .jquery-slider-selector-1
83
+ {
84
+ background:url(images/jquery-slider-theme.png) no-repeat 0px -50px;
85
+ }
86
+
87
+ .jquery-slider-selector-2
88
+ {
89
+ background:url(images/jquery-slider-theme.png) no-repeat -31px -50px;
90
+ }
91
+
92
+ .jquery-slider-selector-3
93
+ {
94
+ background:url(images/jquery-slider-theme.png) no-repeat -60px -50px;
95
+ }
96
+
97
+ .jquery-slider-selector-4
98
+ {
99
+ background:url(images/jquery-slider-theme.png) no-repeat -93px -50px;
100
+ }
101
+
102
+ .jquery-slider-selector-5
103
+ {
104
+ background:url(images/jquery-slider-theme.png) no-repeat -126px -50px;
105
+ }
106
+
107
+ .jquery-slider-selector-6
108
+ {
109
+ background:url(images/jquery-slider-theme.png) no-repeat -155px -50px;
110
+ }
111
+
112
+ .jquery-slider-selector-7
113
+ {
114
+ background:url(images/jquery-slider-theme.png) no-repeat -184px -50px;
115
+ }
116
+
117
+ .jquery-slider-selector-8
118
+ {
119
+ background:url(images/jquery-slider-theme.png) no-repeat -213px -50px;
120
+ }
121
+
122
+ .jquery-slider-selector-9
123
+ {
124
+ background:url(images/jquery-slider-theme.png) no-repeat -246px -50px;
125
+ }
126
+
127
+ .jquery-slider-selector-10
128
+ {
129
+ background:url(images/jquery-slider-theme.png) no-repeat -281px -50px;
130
+ }
131
+
132
+ .jquery-slider-selector-11
133
+ {
134
+ background:url(images/jquery-slider-theme.png) no-repeat -320px -50px;
135
+ }
136
+
137
+ .jquery-slider-selector-12
138
+ {
139
+ background:url(images/jquery-slider-theme.png) no-repeat -351px -50px;
140
+ }
141
+
142
+ .jquery-slider-selector-13
143
+ {
144
+ background:url(images/jquery-slider-theme.png) no-repeat -383px -50px;
145
+ }
146
+
147
+ .jquery-slider-selector-14
148
+ {
149
+ background:url(images/jquery-slider-theme.png) no-repeat -419px -50px;
150
+ }
151
+
152
+ .jquery-slider-selector-15
153
+ {
154
+ background:url(images/jquery-slider-theme.png) no-repeat -451px -50px;
155
+ }
156
+
157
+ .jquery-slider-selector-16
158
+ {
159
+ background:url(images/jquery-slider-theme.png) no-repeat -487px -50px;
160
+ }
161
+
162
+ .jquery-slider-selector-17
163
+ {
164
+ background:url(images/jquery-slider-theme.png) no-repeat -519px -50px;
165
+ }
166
+
167
+ .jquery-slider-selector-18
168
+ {
169
+ background:url(images/jquery-slider-theme.png) no-repeat -555px -50px;
170
+ }
171
+
172
+ .jquery-slider-selector-19
173
+ {
174
+ background:url(images/jquery-slider-theme.png) no-repeat -587px -50px;
175
+ }
176
+
177
+ .jquery-slider-selector-20
178
+ {
179
+ background:url(images/jquery-slider-theme.png) no-repeat -624px -50px;
180
+ }
181
+
182
+ .jquery-slider-selector-current
183
+ {
184
+ background:url(images/jquery-slider-theme.png) no-repeat -100px -25px;
185
+ }
186
+
187
+ .jquery-slider-selector-current .jquery-slider-selector-1
188
+ {
189
+ background:url(images/jquery-slider-theme.png) no-repeat 0px -81px;
190
+ }
191
+
192
+ .jquery-slider-selector-current .jquery-slider-selector-2
193
+ {
194
+ background:url(images/jquery-slider-theme.png) no-repeat -31px -81px;
195
+ }
196
+
197
+ .jquery-slider-selector-current .jquery-slider-selector-3
198
+ {
199
+ background:url(images/jquery-slider-theme.png) no-repeat -60px -81px;
200
+ }
201
+
202
+ .jquery-slider-selector-current .jquery-slider-selector-4
203
+ {
204
+ background:url(images/jquery-slider-theme.png) no-repeat -93px -81px;
205
+ }
206
+
207
+ .jquery-slider-selector-current .jquery-slider-selector-5
208
+ {
209
+ background:url(images/jquery-slider-theme.png) no-repeat -126px -81px;
210
+ }
211
+
212
+ .jquery-slider-selector-current .jquery-slider-selector-6
213
+ {
214
+ background:url(images/jquery-slider-theme.png) no-repeat -155px -81px;
215
+ }
216
+
217
+ .jquery-slider-selector-current .jquery-slider-selector-7
218
+ {
219
+ background:url(images/jquery-slider-theme.png) no-repeat -184px -81px;
220
+ }
221
+
222
+ .jquery-slider-selector-current .jquery-slider-selector-8
223
+ {
224
+ background:url(images/jquery-slider-theme.png) no-repeat -213px -81px;
225
+ }
226
+
227
+ .jquery-slider-selector-current .jquery-slider-selector-9
228
+ {
229
+ background:url(images/jquery-slider-theme.png) no-repeat -246px -81px;
230
+ }
231
+
232
+ .jquery-slider-selector-current .jquery-slider-selector-10
233
+ {
234
+ background:url(images/jquery-slider-theme.png) no-repeat -281px -81px;
235
+ }
236
+
237
+ .jquery-slider-selector-current .jquery-slider-selector-11
238
+ {
239
+ background:url(images/jquery-slider-theme.png) no-repeat -320px -81px;
240
+ }
241
+
242
+ .jquery-slider-selector-current .jquery-slider-selector-12
243
+ {
244
+ background:url(images/jquery-slider-theme.png) no-repeat -351px -81px;
245
+ }
246
+
247
+ .jquery-slider-selector-current .jquery-slider-selector-13
248
+ {
249
+ background:url(images/jquery-slider-theme.png) no-repeat -383px -81px;
250
+ }
251
+
252
+ .jquery-slider-selector-current .jquery-slider-selector-14
253
+ {
254
+ background:url(images/jquery-slider-theme.png) no-repeat -419px -81px;
255
+ }
256
+
257
+ .jquery-slider-selector-current .jquery-slider-selector-15
258
+ {
259
+ background:url(images/jquery-slider-theme.png) no-repeat -451px -81px;
260
+ }
261
+
262
+ .jquery-slider-selector-current .jquery-slider-selector-16
263
+ {
264
+ background:url(images/jquery-slider-theme.png) no-repeat -487px -81px;
265
+ }
266
+
267
+ .jquery-slider-selector-current .jquery-slider-selector-17
268
+ {
269
+ background:url(images/jquery-slider-theme.png) no-repeat -519px -81px;
270
+ }
271
+
272
+ .jquery-slider-selector-current .jquery-slider-selector-18
273
+ {
274
+ background:url(images/jquery-slider-theme.png) no-repeat -555px -81px;
275
+ }
276
+
277
+ .jquery-slider-selector-current .jquery-slider-selector-19
278
+ {
279
+ background:url(images/jquery-slider-theme.png) no-repeat -587px -81px;
280
+ }
281
+
282
+ .jquery-slider-selector-current .jquery-slider-selector-20
283
+ {
284
+ background:url(images/jquery-slider-theme.png) no-repeat -624px -81px;
285
+ }
286
+
287
+
288
+ .jquery-slider-selector span span
289
+ {
290
+ display:none;
291
+ }
292
+
293
+
294
+ .jquery-slider-control
295
+ {
296
+ display:block;
297
+ position:absolute;
298
+ cursor: pointer;
299
+ width:25px;
300
+ height:25px;
301
+ z-index:4;
302
+ bottom:10px;
303
+ right:10px;
304
+ }
305
+
306
+ .jquery-slider-control span
307
+ {
308
+ display:none;
309
+ }
310
+
311
+ .jquery-slider-control-play
312
+ {
313
+ background:url(images/jquery-slider-theme.png) no-repeat -75px 0;
314
+ }
315
+
316
+ .jquery-slider-control-pause
317
+ {
318
+ background:url(images/jquery-slider-theme.png) no-repeat -50px 0;
319
+ }
320
+
321
+ .jquery-slider-control-play:hover
322
+ {
323
+ background:url(images/jquery-slider-theme.png) no-repeat -75px -25px;
324
+ }
325
+
326
+ .jquery-slider-control-pause:hover
327
+ {
328
+ background:url(images/jquery-slider-theme.png) no-repeat -50px -25px;
329
+ }
330
+
331
+
332
+ .jquery-slider-navigation
333
+ {
334
+ display:block;
335
+ position:absolute;
336
+ z-index:4;
337
+ bottom:10px;
338
+ right:10px;
339
+ }
340
+
341
+ .jquery-slider-option-navigation-selector-control .jquery-slider-navigation,
342
+ .jquery-slider-option-navigation-selector-control-timer .jquery-slider-navigation,
343
+ .jquery-slider-option-navigation-control .jquery-slider-navigation,
344
+ .jquery-slider-option-navigation-control-timer .jquery-slider-navigation
345
+ {
346
+ right:40px;
347
+ }
348
+
349
+
350
+ .jquery-slider-navigation-prev
351
+ {
352
+ background:url(images/jquery-slider-theme.png) no-repeat 0 0;
353
+ cursor: pointer;
354
+ width:25px;
355
+ height:25px;
356
+ float:left;
357
+ margin:0 0 0 5px;
358
+ }
359
+
360
+ .jquery-slider-navigation-prev span
361
+ {
362
+ display:none;
363
+ }
364
+
365
+ .jquery-slider-navigation-prev:hover
366
+ {
367
+ background:url(images/jquery-slider-theme.png) no-repeat 0 -25px;
368
+ }
369
+
370
+ .jquery-slider-navigation-next
371
+ {
372
+ background:url(images/jquery-slider-theme.png) no-repeat -25px 0;
373
+ cursor: pointer;
374
+ width:25px;
375
+ height:25px;
376
+ float:left;
377
+ margin:0 0 0 5px;
378
+ }
379
+
380
+ .jquery-slider-navigation-next span
381
+ {
382
+ display:none;
383
+ }
384
+
385
+ .jquery-slider-navigation-next:hover
386
+ {
387
+ background:url(images/jquery-slider-theme.png) no-repeat -25px -25px;
388
+ }
389
+
390
+ .jquery-slider-wrapper .caption
391
+ {
392
+ padding:6px 10px;
393
+ background:#1e1e1e;
394
+ font-size:10px;
395
+ font-family:Arial, Verdana;
396
+ position:absolute;
397
+ top:10px;
398
+ left:10px;
399
+ color:#efefef;
400
+ }
401
+
402
+ .jquery-slider-timer
403
+ {
404
+ color:#000000;
405
+ height:3px;
406
+ width:100%;
407
+ position:absolute;
408
+ bottom:0;
409
+ left:0;
410
+ z-index:4;
411
+ }
412
+
413
+ .jquery-slider-timer-bar
414
+ {
415
+ background:#1e1e1e;
416
+ opacity:0.5;
417
+ height:3px;
418
+ width:0;
419
+ float:left;
420
+ display:inline;
421
+ }
js/magestore/bannerslider/lightbox.js ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Lightbox
3
+ *
4
+ * This libary is used to create a lightbox in a web application. This library
5
+ * requires the Prototype 1.6 library and Script.aculo.us core, effects, and dragdrop
6
+ * libraries. To use, add a div containing the content to be displayed anywhere on
7
+ * the page. To create the lightbox, add the following code:
8
+ *
9
+ * var test;
10
+ *
11
+ * Event.observe(window, 'load', function () {
12
+ * test = new Lightbox('idOfMyDiv');
13
+ * });
14
+ *
15
+ * Event.observe('lightboxLink', 'click', function () {
16
+ * test.open();
17
+ * });
18
+ *
19
+ * Event.observe('closeLink', 'click', function () {
20
+ * test.close();
21
+ * });
22
+ *
23
+ */
24
+ var Lightbox = Class.create({
25
+ open : function () {
26
+ this._centerWindow(this.container);
27
+ this._fade('open', this.container);
28
+ },
29
+ close : function () {
30
+ this._fade('close', this.container);
31
+ },
32
+ _fade : function fadeBg(userAction,whichDiv){
33
+ if(userAction=='close'){
34
+ new Effect.Opacity('bg_fade',
35
+ {duration:.2,
36
+ from:0.6,
37
+ to:0,
38
+ afterFinish:this._makeInvisible,
39
+ afterUpdate:this._hideLayer(whichDiv)});
40
+ }else{
41
+ new Effect.Opacity('bg_fade',
42
+ {duration:.2,
43
+ from:0,
44
+ to:0.6,
45
+ beforeUpdate:this._makeVisible,
46
+ afterFinish:this._showLayer(whichDiv)});
47
+ }
48
+ },
49
+ _makeVisible : function makeVisible(){
50
+ $("bg_fade").style.visibility="visible";
51
+ },
52
+ _makeInvisible : function makeInvisible(){
53
+ $("bg_fade").style.visibility="hidden";
54
+ },
55
+ _showLayer : function showLayer(userAction){
56
+ $(userAction).style.display="block";
57
+ },
58
+ _hideLayer : function hideLayer(userAction){
59
+ $(userAction).style.display="none";
60
+ },
61
+ _centerWindow : function centerWindow(element) {
62
+ var windowHeight = parseFloat($(element).getHeight())/2;
63
+ var windowWidth = parseFloat($(element).getWidth())/2;
64
+ if(typeof window.innerHeight != 'undefined') {
65
+ $(element).style.top = Math.round(document.body.offsetTop + ((window.innerHeight - $(element).getHeight()))/2)+'px';
66
+ $(element).style.left = Math.round(document.body.offsetLeft + ((window.innerWidth - $(element).getWidth()))/2)+'px';
67
+ } else {
68
+ $(element).style.top = Math.round(document.body.offsetTop + ((document.documentElement.offsetHeight - $(element).getHeight()))/2)+'px';
69
+ $(element).style.left = Math.round(document.body.offsetLeft + ((document.documentElement.offsetWidth - $(element).getWidth()))/2)+'px';
70
+ }
71
+ },
72
+ initialize : function(containerDiv) {
73
+ this.container = containerDiv;
74
+ if($('bg_fade') == null) {
75
+ var screen = new Element('div', {'id': 'bg_fade'});
76
+ document.body.appendChild(screen);
77
+ }
78
+ this._hideLayer(this.container);
79
+ }
80
+ });
js/magestore/bannerslider/prototip.js ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Prototip 1.3.5.1 - 18-05-2008
2
+ // Copyright (c) 2008 Nick Stakenburg (http://www.nickstakenburg.com)
3
+ //
4
+ // Licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License
5
+ // http://creativecommons.org/licenses/by-nc-nd/3.0/
6
+
7
+ // More information on this project:
8
+ // http://www.nickstakenburg.com/projects/prototip/
9
+
10
+ var Prototip = {
11
+ Version: '1.3.5.1'
12
+ };
13
+
14
+ var Tips = {
15
+ options: {
16
+ className: 'default', // default class for all tips
17
+ closeButtons: false, // true | false
18
+ zIndex: 6000 // raise if required
19
+ }
20
+ };
21
+
22
+ eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('q.1z(z,{3R:"1.6.0.2",3P:"1.8.1",2N:c(){5.28("25");f.24();t.10(2m,"2j",5.2j)},28:c(A){b((3u 2m[A]=="3s")||(5.2i(2m[A].3k)<5.2i(5["2z"+A]))){3e("37 4c "+A+" >= "+5["2z"+A]);}},2i:c(A){i B=A.40(/31.*|\\./g,"");B=3T(B+"0".3S(4-B.1Z));r A.3J("31")>-1?B-1:B},1H:c(A){b(!25.2T.2R){A=A.1V(c(E,D){i C=q.2f(5)?5:5.e,B=D.3q;b(B!=C&&!$A(C.2E("*")).3m(B)){E(D)}})}r A},1C:c(B){B=$(B);i A=B.3j(),C=[],E=[];A.1p(B);A.20(c(F){b(F!=B&&F.s()){r}C.1p(F);E.1p({1v:F.1u("1v"),1g:F.1u("1g"),Y:F.1u("Y")});F.j({1v:"47",1g:"44",Y:"s"})});i D={N:B.3Z,P:B.3V};C.20(c(G,F){G.j(E[F])});r D},2j:c(){f.30()}});q.1z(f,{Z:[],s:[],24:c(){5.23=5.13},19:(c(A){r{1i:(A?"1N":"1i"),X:(A?"1J":"X"),1N:(A?"1N":"1i"),1J:(A?"1J":"X")}})(25.2T.2R),1f:(c(B){i A=v 3K("3I ([\\\\d.]+)").3H(B);r A?(3E(A[1])<7):U})(3z.3y),2O:c(A){5.Z.1p(A)},1h:c(A){i B=5.Z.3v(c(C){r C.e==$(A)});b(B){B.2M();b(B.Q){B.h.1h();b(f.1f){B.17.1h()}}5.Z=5.Z.2I(B)}},30:c(){5.Z.20(c(A){5.1h(A.e)}.18(5))},2c:c(B){b(B.2e){r}b(5.s.1Z==0){5.23=5.9.13;1U(i A=0;A<5.Z.1Z;A++){5.Z[A].h.j({13:5.9.13})}}B.h.j({13:5.23++});b(B.k){B.k.j({13:5.23})}1U(i A=0;A<5.Z.1Z;A++){5.Z[A].2e=U}B.2e=1y},2Q:c(A){5.27(A);5.s.1p(A)},27:c(A){5.s=5.s.2I(A)},T:c(B,E){B=$(B),E=$(E);i I=q.1z({e:"2C",m:"3i",15:{x:0,y:0}},2X[2]||{});i D=E.2n();D.11+=I.15.x;D.V+=I.15.y;i C=E.38(),A=1I.1P.2w();D.11+=(-1*(C[0]-A[0]));D.V+=(-1*(C[1]-A[1]));i G={e:z.1C(B),m:z.1C(E)},H={e:q.2u(D),m:q.2u(D)};1U(i F 34 H){4a(I[F]){1r"48":H[F][0]+=G[F].N;1w;1r"46":H[F][0]+=(G[F].N/2);1w;1r"45":H[F][0]+=G[F].N;H[F][1]+=(G[F].P/2);1w;1r"2C":H[F][1]+=G[F].P;1w;1r"43":H[F][0]+=G[F].N;H[F][1]+=G[F].P;1w;1r"42":H[F][0]+=(G[F].N/2);H[F][1]+=G[F].P;1w;1r"41":H[F][1]+=(G[F].P/2);1w}}D.11+=-1*(H.e[0]-H.m[0]);D.V+=-1*(H.e[1]-H.m[1]);B.j({11:D.11+"1G",V:D.V+"1G"})}});f.24();i 3Y=3X.3W({24:c(C,D){5.e=$(C);f.1h(5.e);i A=(q.2q(D)||q.2f(D)),B=A?2X[2]||[]:D;5.1j=A?D:2p;5.9=q.1z({O:U,R:f.9.R,14:f.9.3U,1e:!(B.p&&B.p=="1D")?0.12:U,1O:0.3,S:U,1t:U,1s:"1J",T:B.T,15:B.T?{x:0,y:0}:{x:16,y:16},1m:B.T?1y:U,p:"21",m:5.e,u:U,1P:B.T?U:1y},B);5.m=$(5.9.m);b(5.9.O){5.9.O.9=q.1z({2o:25.3O},5.9.O.9||{})}5.2W();b(5.9.S){z.28("3N");5.1q={1g:"3M",3L:1,2l:5.h.2V()}}f.2O(5);5.2U()},2W:c(){5.h=v t("1c",{R:"1X"}).j({1v:"22",13:f.9.13});5.h.2V();b(f.1f){5.17=v t("3G",{R:"17",3F:"3D:U;",3C:0}).j({1v:"22",13:f.9.13-1,3A:0})}b(5.9.O){5.1L=5.1L.1V(5.2S)}5.1B=v t("1c",{R:"1j"});5.u=v t("1c",{R:"u"}).n();b(5.9.14||(5.9.1s.e&&5.9.1s.e=="14")){5.14=v t("a",{3x:"#",R:"2P"})}},2h:c(){b(f.1f){$(1I.26).W(5.17)}b(5.9.O){$(1I.26).W(5.k=v t("1c",{R:"3w"}).n())}i A="h";b(5.9.S){A="o";5.h.W(5.o=v t("1c",{R:"o"}))}5[A].W(5.Q=v t("1c",{R:"Q "+5.9.R}).W(5.1o=v t("1c",{R:"1o"}).W(5.u)));5.Q.W(5.1B).W(v t("1c").j("2L:2K"));$(1I.26).W(5.h);b(!5.9.O){5.1K({u:5.9.u,1j:5.1j})}},1K:c(E){i A=5.Q.1u("Y"),B=5.h.j("P:1x;N:1x;").1u("Y");[5.Q,5.h].1A("j","Y:2J;");5.1o.j("N: 1x;");b(5.9.S){5.o.j("P:1x;N:1x;")}b(E.u){5.u.l().1K(E.u);5.1o.l()}1n{b(!5.14){5.u.n();5.1o.n()}}b(q.2q(E.1j)||q.2f(E.1j)){5.1B.1K(E.1j).W(v t("1c").j("2L:2K;"))}i C={N:z.1C(5.h).N+"1G"},D=[5.h];b(5.9.S){D.1p(5.o)}b(f.1f){D.1p(5.17)}b(5.14){5.u.l().W({V:5.14});5.1o.l()}5.1o.j("N: 3t%;");C.P=2p;5.h.j({Y:B});5.Q.j({Y:A});D.1A("j",C)},2U:c(){5.2g=5.1L.1d(5);5.2H=5.n.1d(5);b(5.9.1m&&5.9.p=="21"){5.9.p="1i"}b(5.9.p==5.9.1s){5.1k=5.2G.1d(5);5.e.10(5.9.p,5.1k)}i C={e:5.1k?[]:[5.e],m:5.1k?[]:[5.m],1B:5.1k?[]:[5.h],14:[],22:[]};i A=5.9.1s.e;5.2d=A||(!5.9.1s?"22":"e");5.1l=C[5.2d];b(!5.1l&&A&&q.2q(A)){5.1l=5.1B.2E(A)}i D={1N:"1i",1J:"X"};$w("l n").20(c(H){i G=H.3r(),F=(5.9[H+"2F"].2s||5.9[H+"2F"]);5[H+"2Y"]=F;b(["1N","1J","1i","X"].3p(F)){5[H+"2Y"]=(f.19[F]||F);5["2s"+G]=z.1H(5["2s"+G])}}.18(5));b(!5.1k){5.e.10(5.9.p,5.2g)}b(5.1l){5.1l.1A("10",5.3o,5.2H)}b(!5.9.1m&&5.9.p=="1D"){5.1Q=5.1g.1d(5);5.e.10("21",5.1Q)}5.2D=5.n.1V(c(G,F){i E=F.3n(".2P");b(E){F.3l();E.3B();G(F)}}).1d(5);b(5.14){5.h.10("1D",5.2D)}b(5.9.p!="1D"&&(5.2d!="e")){5.1T=z.1H(c(){5.1b("l")}).1d(5);5.e.10(f.19.X,5.1T)}i B=[5.e,5.h];5.2b=z.1H(c(){f.2c(5);5.2k()}).1d(5);5.2a=z.1H(5.1t).1d(5);B.1A("10",f.19.1i,5.2b).1A("10",f.19.X,5.2a);b(5.9.O&&5.9.p!="1D"){5.1W=z.1H(5.2B).1d(5);5.e.10(f.19.X,5.1W)}},2M:c(){b(5.9.p==5.9.1s){5.e.1a(5.9.p,5.1k)}1n{5.e.1a(5.9.p,5.2g);b(5.1l){5.1l.1A("1a")}}b(5.1Q){5.e.1a("21",5.1Q)}b(5.1T){5.e.1a("X",5.1T)}5.h.1a();5.e.1a(f.19.1i,5.2b).1a(f.19.X,5.2a);b(5.1W){5.e.1a(f.19.X,5.1W)}},2S:c(C,B){b(!5.Q){5.2h()}5.1g(B);b(5.29){C(B);r}1n{b(5.1M){r}}i D={2A:{1S:1R.1S(B),1Y:1R.1Y(B)}};i A=q.2u(5.9.O.9);A.2o=A.2o.1V(c(F,E){5.1K({u:5.9.u,1j:E.3h});5.1g(D);b(5.k&&!5.k.s()){5.29=1y;5.1M=U;r}(c(){F(E);b(5.k&&5.k.s()){5.l()}5.1b("k");5.k.1h();5.29=1y;5.1M=U}.18(5)).1e(0.3)}.18(5));5.3g=t.l.1e(5.9.1e,5.k);5.h.n();5.1M=1y;(c(){5.3f=v 3Q.3d(5.9.O.3c,A)}.18(5)).1e(5.9.1e)},2B:c(){5.1b("k")},1L:c(A){b(!5.Q){5.2h()}b(!5.9.O){5.1g(A)}b(5.h.s()){r}5.1b("l");5.3b=5.l.18(5).1e(5.9.1e)},1b:c(A){b(5[A+"2Z"]){3a(5[A+"2Z"])}},l:c(){b(5.h.s()&&5.9.S!="39"){r}b(f.1f){5.17.l()}f.2Q(5.h);b(5.9.S){5.o.j({P:z.1C(5.o).P+"1G"});5.Q.n();5.o.n();5.h.l();b(5.1F){1E.2y.33(5.1q.2l).1h(5.1F)}5.1F=1E[1E.2x[5.9.S][0]](5.o,{36:t.l.35(5.Q),1O:5.9.1O,1q:5.1q,32:c(){5.o.j({P:"1x"});5.e.2r("1X:2v")}.18(5)})}1n{5.Q.l();5.h.l();5.e.2r("1X:2v")}},1t:c(A){b(5.9.O){b(5.k&&5.9.p!="1D"){5.k.n()}5.1b("O");5.1M=2p}b(!5.9.1t){r}5.2k();5.4b=5.n.18(5).1e(5.9.1t)},2k:c(){b(5.9.1t){5.1b("1t")}},n:c(){5.1b("l");5.1b("k");b(!5.h.s()){r}b(5.9.S){b(5.1F){1E.2y.33(5.1q.2l).1h(5.1F)}5.1F=1E[1E.2x[5.9.S][1]](5.o,{1O:5.9.1O,1q:5.1q,32:5.2t.18(5)})}1n{5.2t()}},2t:c(){b(f.1f){5.17.n()}b(5.k){5.k.n()}5.h.n();f.27(5.h);5.e.2r("1X:2J")},2G:c(A){b(5.h&&5.h.s()){5.n(A)}1n{5.1L(A)}},1g:c(A){f.2c(5);b(5.9.S){i D=5.o.1u("Y"),E=5.o.1u("1v");5.o.j({Y:"s"}).l()}b(5.9.T){i L=q.1z({15:5.9.15},{e:5.9.T.1B,m:5.9.T.m});f.T(5.h,5.m,L);b(5.k){f.T(5.k,5.m,L)}b(f.1f){f.T(5.17,5.m,L)}}1n{i G=5.m.2n(),K=z.1C(5.h),C=A.2A||{},H={11:((5.9.1m)?G[0]:C.1S||1R.1S(A))+5.9.15.x,V:((5.9.1m)?G[1]:C.1Y||1R.1Y(A))+5.9.15.y};b(!5.9.1m&&5.e!==5.m){i B=5.e.2n();H.11+=-1*(B[0]-G[0]);H.V+=-1*(B[1]-G[1])}b(!5.9.1m&&5.9.1P){i M=1I.1P.2w(),I=1I.1P.49(),F={11:"N",V:"P"};1U(i J 34 F){b((H[J]+K[F[J]]-M[J])>I[F[J]]){H[J]=H[J]-K[F[J]]-2*5.9.15[J=="V"?"x":"y"]}}}H={11:H.11+"1G",V:H.V+"1G"};5.h.j(H);b(5.k){5.k.j(H)}b(f.1f){5.17.j(H)}}b(5.9.S){5.o.j({Y:D,1v:E})}}});z.2N();',62,261,'|||||this||||options||if|function||element|Tips||wrapper|var|setStyle|loader|show|target|hide|effectWrapper|showOn|Object|return|visible|Element|title|new||||Prototip||||||||||||||width|ajax|height|tooltip|className|effect|hook|false|top|insert|mouseout|visibility|tips|observe|left||zIndex|closeButton|offset||iframeShim|bind|useEvent|stopObserving|clearTimer|div|bindAsEventListener|delay|fixIE|position|remove|mouseover|content|eventToggle|hideTargets|fixed|else|toolbar|push|queue|case|hideOn|hideAfter|getStyle|display|break|auto|true|extend|invoke|tip|getHiddenDimensions|click|Effect|activeEffect|px|capture|document|mouseleave|update|showDelayed|ajaxContentLoading|mouseenter|duration|viewport|eventPosition|Event|pointerX|eventCheckDelay|for|wrap|ajaxHideEvent|prototip|pointerY|length|each|mousemove|none|zIndexTop|initialize|Prototype|body|removeVisible|require|ajaxContentLoaded|activityLeave|activityEnter|raise|hideElement|highest|isElement|eventShow|build|convertVersionString|unload|cancelHideAfter|scope|window|cumulativeOffset|onComplete|null|isString|fire|event|afterHide|clone|shown|getScrollOffsets|PAIRS|Queues|REQUIRED_|ajaxPointer|ajaxHide|bottomLeft|buttonEvent|select|On|toggle|eventHide|without|hidden|both|clear|deactivate|start|add|close|addVisibile|IE|ajaxShow|Browser|activate|identify|setup|arguments|Action|Timer|removeAll|_|afterFinish|get|in|curry|beforeStart|Lightview|cumulativeScrollOffset|appear|clearTimeout|showTimer|url|Request|throw|ajaxTimer|loaderTimer|responseText|topLeft|ancestors|Version|stop|member|findElement|hideAction|include|relatedTarget|capitalize|undefined|100|typeof|find|prototipLoader|href|userAgent|navigator|opacity|blur|frameBorder|javascript|parseFloat|src|iframe|exec|MSIE|indexOf|RegExp|limit|end|Scriptaculous|emptyFunction|REQUIRED_Scriptaculous|Ajax|REQUIRED_Prototype|times|parseInt|closeButtons|clientHeight|create|Class|Tip|clientWidth|replace|leftMiddle|bottomMiddle|bottomRight|absolute|rightMiddle|topMiddle|block|topRight|getDimensions|switch|hideAfterTimer|requires'.split('|'),0,{}));
js/magestore/bannerslider/slider1/jquery.slider.min.js ADDED
@@ -0,0 +1,828 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * jQuery Slider Evolution - for jQuery 1.3+
3
+ * http://codecanyon.net/user/aeroalquimia/portfolio?ref=aeroalquimia
4
+ *
5
+ * Copyright 2011, Eduardo Daniel Sada
6
+ * http://codecanyon.net/wiki/buying/howto-buying/licensing/
7
+ *
8
+ * Version: 1.1.5 (08 Jun 2011)
9
+ *
10
+ * Includes jQuery Easing v1.3
11
+ * http://gsgd.co.uk/sandbox/jquery/easing/
12
+ * Copyright (c) 2008 George McGinley Smith
13
+ * jQuery Easing released under the BSD License.
14
+ */
15
+ (function ($) {
16
+ var u = (jQuery.browser.msie && parseInt(jQuery.browser.version, 10) < 7 && parseInt(jQuery.browser.version, 10) > 4);
17
+ if (u) {
18
+ try {
19
+ document.execCommand("BackgroundImageCache", false, true)
20
+ } catch (err) {}
21
+ };
22
+ if ($.proxy === undefined) {
23
+ $.extend({
24
+ proxy: function (a, b) {
25
+ if (a) {
26
+ proxy = function () {
27
+ return a.apply(b || this, arguments)
28
+ }
29
+ };
30
+ return proxy
31
+ }
32
+ })
33
+ };
34
+ $.extend($.easing, {
35
+ easeOutCubic: function (x, t, b, c, d) {
36
+ return c * ((t = t / d - 1) * t * t + 1) + b
37
+ }
38
+ });
39
+ SliderObject = function (a, b) {
40
+ this.create(a, b)
41
+ };
42
+ $.extend(SliderObject.prototype, {
43
+ version: "1.1.4",
44
+ create: function (a, b) {
45
+ this.defaults = {
46
+ name: 'jquery-slider',
47
+ navigation: true,
48
+ selector: true,
49
+ timer: true,
50
+ control: true,
51
+ pauseOnClick: true,
52
+ pauseOnHover: true,
53
+ loop: true,
54
+ slideshow: true,
55
+ delay: 4500,
56
+ duration: 400,
57
+ bars: 9,
58
+ columns: 7,
59
+ rows: 3,
60
+ speed: 80,
61
+ padding: 8,
62
+ easing: "easeOutCubic",
63
+ transition: 'random',
64
+ onComplete: function () {},
65
+ onSlideshowEnd: function () {}
66
+ };
67
+ this.options = {};
68
+ this.transitions = ['fade', 'square', 'bar', 'squarerandom', 'fountain', 'rain', ];
69
+ this.dom = {};
70
+ this.img = [];
71
+ this.titles = [];
72
+ this.links = [];
73
+ this.imgInc = 0;
74
+ this.imgInterval = 0;
75
+ this.inc = 0;
76
+ this.order = [];
77
+ this.resto = 0;
78
+ this.selectores = [];
79
+ this.direction = 0;
80
+ this.degrees = 0;
81
+ this.timer = 0;
82
+ this.slides = [];
83
+ this.esqueleto = {
84
+ wrapper: [],
85
+ navigation: [],
86
+ timer: [],
87
+ selector: [],
88
+ control: [],
89
+ clock: []
90
+ };
91
+ this.events = {
92
+ clicked: false,
93
+ hovered: false,
94
+ playing: false,
95
+ paused: false,
96
+ stopped: false
97
+ };
98
+ this.element = $(a);
99
+ var c = this.options;
100
+ var d = this;
101
+ var e = this.element.children("div");
102
+ if (e.length < 2) {
103
+ return false
104
+ }
105
+ if (!b['width']) {
106
+ b['width'] = 0;
107
+ b['height'] = 0;
108
+ var f = {};
109
+ e.children().each(function () {
110
+ if ($(this).is("img")) {
111
+ f['width'] = $(this).outerWidth();
112
+ f['height'] = $(this).outerHeight();
113
+ b['width'] = (f['width'] >= b['width']) ? f['width'] : 0;
114
+ b['height'] = (f['height'] >= b['height']) ? f['height'] : 0
115
+ }
116
+ });
117
+ delete f;
118
+ if (b['width'] == 0 || b['height'] == 0) {
119
+ delete b['width'];
120
+ delete b['height']
121
+ }
122
+ }
123
+ this.options = $.extend(true, this.defaults, b);
124
+ var g = this.options.name + '-option';
125
+ $.each(['navigation', 'selector', 'control', 'timer'], function (i, s) {
126
+ if (d.options[s]) {
127
+ g += '-' + s
128
+ }
129
+ });
130
+ this.esqueleto.wrapper = this.element.wrap('<div class="' + this.options.name + '-wrapper ' + g + '" />').parent();
131
+ this.esqueleto.wrapper.css({
132
+ 'width': this.options.width,
133
+ 'height': this.options.height
134
+ });
135
+ this.element.css({
136
+ 'width': this.options.width,
137
+ 'height': this.options.height,
138
+ 'overflow': 'hidden',
139
+ 'position': 'relative'
140
+ });
141
+ e.each(function (i) {
142
+ if (i == 0) {
143
+ $(this).addClass(d.options.name + '-slide-current')
144
+ }
145
+ $(this).addClass(d.options.name + '-slide');
146
+ $(this).addClass(d.options.name + '-slide-' + (i + 1));
147
+ d.selectores = $(d.selectores).add($('<a href="#" class="' + d.options.name + '-selector" rel="' + (i + 1) + '"><span class="' + d.options.name + '-selector-span ' + d.options.name + '-selector-' + (i + 1) + '"><span>' + (i + 1) + '</span></span></a>'));
148
+ if (i == 0) {
149
+ $(d.selectores).addClass(d.options.name + '-selector-current')
150
+ }
151
+ });
152
+ this.esqueleto.selector = $('<div class="' + this.options.name + '-selectors" />').insertAfter(a);
153
+ this.esqueleto.selector.append(this.selectores);
154
+ if (!this.options.selector) {
155
+ this.esqueleto.selector.hide()
156
+ } else {
157
+ if (this.rgbToHex(this.esqueleto.selector.css("color")) == "#FFFFFF") {
158
+ var h = $('.' + this.options.name + '-selector').outerWidth(true);
159
+ h = -((h * e.length) / 2);
160
+ this.esqueleto.selector.css({
161
+ "margin-left": h
162
+ })
163
+ }
164
+ }
165
+ if (this.options.navigation) {
166
+ this.esqueleto.navigation = $('<div class="' + this.options.name + '-navigation" />').insertAfter(a);
167
+ var j = $('<a href="#" class="' + this.options.name + '-navigation-prev" rel="-1"><span>Prev</span></a>');
168
+ var k = $('<a href="#" class="' + this.options.name + '-navigation-next" rel="+1"><span>Next</span></a>');
169
+ this.esqueleto.navigation.append(j, k)
170
+ }
171
+ if (this.options.control) {
172
+ this.esqueleto.control = $('<a href="#" class="' + this.options.name + '-control ' + this.options.name + '-control-pause"><span>Play/Pause</span></a>').insertAfter(a)
173
+ }
174
+ if (this.options.timer) {
175
+ this.esqueleto.timer = $('<div class="' + this.options.name + '-timer"></div>').insertAfter(a);
176
+ this.esqueleto.clock.mask = $('<div class="' + this.options.name + '-timer-mask"></div>');
177
+ this.esqueleto.clock.rotator = $('<div class="' + this.options.name + '-timer-rotator"></div>');
178
+ this.esqueleto.clock.bar = $('<div class="' + this.options.name + '-timer-bar"></div>');
179
+ this.esqueleto.clock.command = this.rgbToHex(this.esqueleto.timer.css("color"));
180
+ this.esqueleto.timer.append(this.esqueleto.clock.mask.append(this.esqueleto.clock.rotator), this.esqueleto.clock.bar)
181
+ }
182
+ this.addEvents();
183
+ if (this.options.slideshow) {
184
+ this.startTimer()
185
+ } else {
186
+ this.stopTimer()
187
+ }
188
+ },
189
+ addEvents: function () {
190
+ var c = this;
191
+ var d = this.esqueleto.wrapper;
192
+ var e = this.options;
193
+ d.hover(function () {
194
+ d.addClass(e.name + '-hovered');
195
+ if (e.pauseOnHover && !c.events.paused) {
196
+ c.events.hovered = true;
197
+ c.pauseTimer()
198
+ }
199
+ }, function () {
200
+ d.removeClass(e.name + '-hovered');
201
+ if (e.pauseOnHover && c.events.hovered) {
202
+ c.startTimer()
203
+ }
204
+ c.events.hovered = false
205
+ });
206
+ this.esqueleto.selector.children("a").click(function (a) {
207
+ if (c.events.playing == false) {
208
+ if ($(this).hasClass(e.name + '-selector-current') == false) {
209
+ var b = c.events.stopped;
210
+ c.stopTimer();
211
+ c.callSlide($(this).attr('rel'));
212
+ if (!e.pauseOnClick && !b) {
213
+ c.startTimer()
214
+ }
215
+ }
216
+ }
217
+ a.preventDefault()
218
+ });
219
+ if (e.navigation) {
220
+ this.esqueleto.navigation.children("a").click(function (a) {
221
+ if (c.events.playing == false) {
222
+ var b = c.events.stopped;
223
+ c.stopTimer();
224
+ c.callSlide($(this).attr("rel"));
225
+ if (!e.pauseOnClick && !b) {
226
+ c.startTimer()
227
+ }
228
+ }
229
+ a.preventDefault()
230
+ })
231
+ };
232
+ if (e.control) {
233
+ this.esqueleto.control.click($.proxy(function (a) {
234
+ if (this.events.stopped) {
235
+ this.startTimer()
236
+ } else {
237
+ this.stopTimer()
238
+ }
239
+ this.events.hovered = false;
240
+ a.preventDefault()
241
+ }, this))
242
+ }
243
+ },
244
+ startTimer: function () {
245
+ if (this.options.timer) {
246
+ if (this.esqueleto.clock.command == "#000000") {
247
+ this.esqueleto.clock.bar.animate({
248
+ "width": "100%"
249
+ }, (this.resto > 0 ? this.resto : this.options.delay), "linear", $.proxy(function () {
250
+ this.callSlide("+1");
251
+ this.resto = 0;
252
+ this.esqueleto.clock.bar.css({
253
+ "width": 0
254
+ });
255
+ this.startTimer()
256
+ }, this))
257
+ } else if (this.esqueleto.clock.command = "#FFFFFF") {
258
+ this.timer = setInterval($.proxy(function () {
259
+ var a = "rotate(" + this.degrees + "deg)";
260
+ this.degrees += 2;
261
+ this.esqueleto.clock.rotator.css({
262
+ "-webkit-transform": a,
263
+ "-moz-transform": a,
264
+ "-o-transform": a,
265
+ "transform": a
266
+ });
267
+ if (jQuery.browser.msie) {
268
+ this.esqueleto.clock.rotator.get(0).style['msTransform'] = a
269
+ }
270
+ if (this.degrees > 180) {
271
+ this.esqueleto.clock.rotator.addClass(this.options.name + '-timer-rotator-move');
272
+ this.esqueleto.clock.mask.addClass(this.options.name + '-timer-mask-move')
273
+ }
274
+ if (this.degrees > 360) {
275
+ this.esqueleto.clock.rotator.removeClass(this.options.name + '-timer-rotator-move');
276
+ this.esqueleto.clock.mask.removeClass(this.options.name + '-timer-mask-move');
277
+ this.degrees = 0;
278
+ this.callSlide("+1");
279
+ this.resto = 0
280
+ }
281
+ }, this), this.options.delay / 180)
282
+ }
283
+ if (this.options.control) {
284
+ this.esqueleto.control.removeClass(this.options.name + '-control-play');
285
+ this.esqueleto.control.addClass(this.options.name + '-control-pause')
286
+ }
287
+ } else {
288
+ if (!this.timer) {
289
+ this.timer = setInterval($.proxy(function () {
290
+ this.callSlide("+1")
291
+ }, this), this.options.delay)
292
+ }
293
+ }
294
+ this.events.paused = false;
295
+ this.events.stopped = false;
296
+ this.element.trigger("sliderPlay")
297
+ },
298
+ pauseTimer: function () {
299
+ clearInterval(this.timer);
300
+ this.timer = "";
301
+ if (this.options.timer) {
302
+ this.esqueleto.clock.bar.stop(true);
303
+ var a = 100 - (parseInt(this.esqueleto.clock.bar.css("width"), 10) * 100 / this.options.width);
304
+ this.resto = this.options.delay * a / 100
305
+ }
306
+ this.events.paused = true;
307
+ if (this.options.control && !this.events.hovered) {
308
+ this.esqueleto.control.removeClass(this.options.name + '-control-pause');
309
+ this.esqueleto.control.addClass(this.options.name + '-control-play')
310
+ }
311
+ this.element.trigger("sliderPause")
312
+ },
313
+ stopTimer: function () {
314
+ clearInterval(this.timer);
315
+ this.timer = "";
316
+ if (this.options.timer) {
317
+ this.esqueleto.clock.bar.stop();
318
+ this.resto = 0;
319
+ if (this.esqueleto.clock.command == "#000000") {
320
+ this.esqueleto.clock.bar.css({
321
+ "width": 0
322
+ })
323
+ } else if (this.esqueleto.clock.command == "#FFFFFF") {
324
+ this.esqueleto.clock.rotator.removeClass(this.options.name + '-timer-rotator-move');
325
+ this.esqueleto.clock.mask.removeClass(this.options.name + '-timer-mask-move');
326
+ this.degrees = 0;
327
+ var a = "rotate(" + this.degrees + "deg)";
328
+ this.esqueleto.clock.rotator.css({
329
+ "-webkit-transform": a,
330
+ "-moz-transform": a,
331
+ "-o-transform": a,
332
+ "transform": a
333
+ });
334
+ if (jQuery.browser.msie) {
335
+ this.esqueleto.clock.rotator.get(0).style['msTransform'] = a
336
+ }
337
+ }
338
+ }
339
+ this.events.paused = true;
340
+ this.events.stopped = true;
341
+ this.events.hovered = false;
342
+ if (this.options.control) {
343
+ this.esqueleto.control.removeClass(this.options.name + '-control-pause');
344
+ this.esqueleto.control.addClass(this.options.name + '-control-play')
345
+ }
346
+ this.element.trigger("sliderStop")
347
+ },
348
+ shuffle: function (a) {
349
+ for (var j, x, i = a.length; i; j = parseInt(Math.random() * i, 10), x = a[--i], a[i] = a[j], a[j] = x) {}
350
+ return a
351
+ },
352
+ rgbToHex: function (b) {
353
+ if (b.match(/^#[0-9A-Fa-f]{6}$/)) {
354
+ return b.toUpperCase()
355
+ }
356
+ var c = /rgb\((.+),(.+),(.+)\)/i.exec(b);
357
+ if (!c) {
358
+ return b.toUpperCase()
359
+ }
360
+ var d = parseInt(c[1]);
361
+ var e = parseInt(c[2]);
362
+ var f = parseInt(c[3]);
363
+ var g = function (a) {
364
+ return ((a.length < 2 ? '0' : '') + a).toUpperCase()
365
+ };
366
+ return ('#' + g(d.toString(16)) + g(e.toString(16)) + g(f.toString(16))).toUpperCase()
367
+ },
368
+ callSlide: function (a) {
369
+ if (this.events.playing) {
370
+ return false
371
+ }
372
+ var b = this.element.children("." + this.options.name + '-slide-current');
373
+ var c = this.esqueleto.selector.children("." + this.options.name + '-selector-current');
374
+ if (a == "+1") {
375
+ var d = b.next("." + this.options.name + '-slide');
376
+ var e = c.next();
377
+ if (d.length <= 0) {
378
+ if (this.options.loop) {
379
+ d = this.element.children("." + this.options.name + '-slide').first();
380
+ e = this.selectores.first("a")
381
+ } else {
382
+ this.stopTimer();
383
+ return false
384
+ }
385
+ }
386
+ } else if (a == "-1") {
387
+ var d = b.prev("." + this.options.name + '-slide');
388
+ var e = c.prev("a");
389
+ if (d.length <= 0) {
390
+ d = this.element.children("." + this.options.name + '-slide').last();
391
+ e = this.selectores.last("a")
392
+ }
393
+ } else {
394
+ var d = this.element.children("." + this.options.name + '-slide-' + a);
395
+ var e = this.esqueleto.selector.children("." + this.options.name + '-selector[rel=' + a + ']')
396
+ }
397
+ this.transition(b, c, d, e);
398
+ this.element.trigger("sliderChange", d)
399
+ },
400
+ transition: function (a, b, c, d) {
401
+ if ($.isArray(this.options.transition)) {
402
+ this.transitions = this.options.transition;
403
+ this.options.transition = "random"
404
+ }
405
+ var e = c.attr('class').split(" ")[0].split(this.options.name + "-trans-")[1];
406
+ if (e === undefined) {
407
+ e = this.options.transition
408
+ }
409
+ if (e == "random") {
410
+ var f = '';
411
+ while (f == this.lastTransition || f == '') {
412
+ f = this.shuffle(this.transitions)[0].toLowerCase()
413
+ }
414
+ e = f
415
+ }
416
+ e = e.toLowerCase();
417
+ this.lastTransition = e;
418
+ this["trans" + e](a, b, c, d)
419
+ },
420
+ transfade: function (a, b, c, d) {
421
+ this.events.playing = true;
422
+ c.css({
423
+ "opacity": 1
424
+ }).addClass(this.options.name + '-slide-next');
425
+ b.removeClass(this.options.name + '-selector-current');
426
+ d.addClass(this.options.name + '-selector-current');
427
+ a.stop().animate({
428
+ "opacity": 0
429
+ }, this.options.duration, $.proxy(function () {
430
+ a.removeClass(this.options.name + '-slide-current');
431
+ c.addClass(this.options.name + '-slide-current');
432
+ c.removeClass(this.options.name + '-slide-next');
433
+ this.element.trigger("sliderTransitionFinishes", c);
434
+ this.events.playing = false
435
+ }, this))
436
+ },
437
+ transbar: function (b, d, e, f, g) {
438
+ g = $.extend(true, {
439
+ 'direction': 'left'
440
+ }, g);
441
+ this.events.playing = true;
442
+ var h = {
443
+ 'width': Math.round(this.options.width / this.options.bars),
444
+ 'height': this.options.height
445
+ };
446
+ bar_array = new Array(this.options.bars);
447
+ if (g['direction'] == "right") {
448
+ c = 0;
449
+ for (i = this.options.bars; i > 0; i--) {
450
+ bar_array[c] = i;
451
+ c++
452
+ }
453
+ } else if (g['direction'] == "left") {
454
+ for (i = 1; i <= this.options.bars; i++) {
455
+ bar_array[i] = i
456
+ }
457
+ } else if (g['direction'] == "fountain" || g['direction'] == "rain") {
458
+ var j = 1;
459
+ var k = parseInt(this.options.bars / 2);
460
+ for (i = 1; i <= this.options.bars; i++) {
461
+ bar_array[i - 1] = (k - (parseInt((i) / 2) * j)) + 1;
462
+ j *= -1
463
+ }
464
+ }
465
+ $.each(bar_array, $.proxy(function (i, a) {
466
+ position = (a * h.width) - h.width;
467
+ bar = $('<div class="' + this.options.name + '-bar ' + this.options.name + '-bar-' + a + '"/>');
468
+ bar.css({
469
+ 'position': 'absolute',
470
+ 'overflow': 'hidden',
471
+ 'left': position,
472
+ 'z-index': 3,
473
+ 'opacity': 0,
474
+ 'background-position': '-' + position + 'px top'
475
+ }).css(h);
476
+ if (g['direction'] == "fountain") {
477
+ bar.css({
478
+ 'top': this.options.height
479
+ })
480
+ } else if (g['direction'] == "rain") {
481
+ bar.css({
482
+ 'top': -this.options.height
483
+ })
484
+ }
485
+ bar.append('<div style="position: absolute; left: -' + position + 'px; width: ' + this.options.width + 'px; height: ' + this.options.height + 'px;">' + e.html() + '</div>');
486
+ this.element.append(bar);
487
+ delay = this.options.speed * i;
488
+ bar.animate({
489
+ 'opacity': 0
490
+ }, delay).animate({
491
+ 'opacity': 1,
492
+ 'top': 0
493
+ }, {
494
+ duration: this.options.duration
495
+ })
496
+ }, this));
497
+ d.removeClass(this.options.name + '-selector-current');
498
+ f.addClass(this.options.name + '-selector-current');
499
+ setTimeout($.proxy(function () {
500
+ e.css({
501
+ "opacity": 1
502
+ }).addClass(this.options.name + '-slide-current');
503
+ b.css({
504
+ "opacity": 0
505
+ }).removeClass(this.options.name + '-slide-current');
506
+ this.element.children("." + this.options.name + '-bar').remove();
507
+ this.events.playing = false;
508
+ this.element.trigger("sliderTransitionFinishes", e)
509
+ }, this), delay + this.options.duration)
510
+ },
511
+ transbarleft: function (a, b, c, d) {
512
+ return this.transbar(a, b, c, d)
513
+ },
514
+ transbarright: function (a, b, c, d) {
515
+ return this.transbar(a, b, c, d, {
516
+ "direction": "right"
517
+ })
518
+ },
519
+ transsquare: function (b, c, d, e, f) {
520
+ f = $.extend(true, {
521
+ 'mode': 'acumulative',
522
+ 'effect': 'rain'
523
+ }, f);
524
+ this.events.playing = true;
525
+ d.css({
526
+ "opacity": 1
527
+ });
528
+ c.removeClass(this.options.name + '-selector-current');
529
+ e.addClass(this.options.name + '-selector-current');
530
+ var g = Math.round(this.options.width / this.options.columns);
531
+ var h = Math.round(this.options.height / this.options.rows);
532
+ var j = [];
533
+ var k = d.html();
534
+ for (iRow = 1; iRow <= this.options.rows; iRow++) {
535
+ for (iCol = 1; iCol <= this.options.columns; iCol++) {
536
+ j.push(iCol + '' + iRow);
537
+ var l = ((iRow * h) - h);
538
+ var m = ((iCol * g) - g);
539
+ var n = (g * iCol) - g;
540
+ var o = (h * iRow) - h;
541
+ var p = $('<div class="' + this.options.name + '-block ' + this.options.name + '-block-' + iCol + iRow + '" />');
542
+ p.css({
543
+ 'overflow': 'hidden',
544
+ 'position': 'absolute',
545
+ 'width': g,
546
+ 'height': h,
547
+ 'z-index': 3,
548
+ 'top': l,
549
+ 'left': m,
550
+ 'opacity': 0,
551
+ 'background-position': '-' + n + 'px -' + o + 'px'
552
+ });
553
+ p.append('<div style="position: absolute; left: -' + n + 'px; top: -' + o + 'px; width: ' + this.options.width + 'px; height: ' + this.options.height + 'px;">' + k + '</div>');
554
+ this.element.append(p)
555
+ }
556
+ }
557
+ if (f['effect'] == 'random') {
558
+ j = this.shuffle(j)
559
+ } else if (f['effect'] == 'swirl') {
560
+ j = this.arrayswirl(j)
561
+ }
562
+ if (f['mode'] == 'acumulative') {
563
+ var q = 0;
564
+ for (iRow = 1; iRow <= this.options.rows; iRow++) {
565
+ colRow = iRow;
566
+ for (iCol = 1; iCol <= this.options.columns; iCol++) {
567
+ delay = this.options.speed * colRow;
568
+ this.element.children('.' + this.options.name + '-block-' + j[q]).animate({
569
+ 'width': g
570
+ }, delay).animate({
571
+ 'opacity': 1
572
+ }, this.options.duration);
573
+ q++;
574
+ colRow++
575
+ }
576
+ }
577
+ } else if (f['mode'] == 'dual') {
578
+ $.each(j, $.proxy(function (i, a) {
579
+ delay = this.options.speed * i;
580
+ this.element.children('.' + this.options.name + '-block-' + a).animate({
581
+ 'width': g
582
+ }, delay).animate({
583
+ 'opacity': 1
584
+ }, this.options.duration)
585
+ }, this))
586
+ } else if (f['mode'] == 'lineal') {
587
+ $.each(j, $.proxy(function (i, a) {
588
+ delay = this.options.speed * i;
589
+ this.element.children('.' + this.options.name + '-block-' + a).animate({
590
+ 'width': g
591
+ }, delay).animate({
592
+ 'opacity': 1
593
+ }, this.options.duration)
594
+ }, this))
595
+ }
596
+ setTimeout($.proxy(function () {
597
+ d.css({
598
+ "opacity": 1
599
+ }).addClass(this.options.name + '-slide-current');
600
+ b.css({
601
+ "opacity": 0
602
+ }).removeClass(this.options.name + '-slide-current');
603
+ this.element.children("." + this.options.name + '-block').remove();
604
+ this.events.playing = false;
605
+ this.element.trigger("sliderTransitionFinishes", d)
606
+ }, this), delay + this.options.duration)
607
+ },
608
+ transsquarerandom: function (a, b, c, d) {
609
+ return this.transsquare(a, b, c, d, {
610
+ 'effect': 'random'
611
+ })
612
+ },
613
+ transslide: function (a, b, c, d, e) {
614
+ e = $.extend(true, {
615
+ 'direction': 'left'
616
+ }, e);
617
+ this.events.playing = true;
618
+ c.css({
619
+ "opacity": 1
620
+ });
621
+ b.removeClass(this.options.name + '-selector-current');
622
+ d.addClass(this.options.name + '-selector-current');
623
+ a.removeClass(this.options.name + '-slide-current');
624
+ a.addClass(this.options.name + '-slide-next');
625
+ c.addClass(this.options.name + '-slide-current');
626
+ if (e.direction == "left") {
627
+ c.css({
628
+ "left": this.options.width
629
+ })
630
+ } else if (e.direction == "right") {
631
+ c.css({
632
+ "left": -this.options.width
633
+ })
634
+ } else if (e.direction == "top") {
635
+ c.css({
636
+ "top": -this.options.height
637
+ })
638
+ } else if (e.direction == "bottom") {
639
+ c.css({
640
+ "top": this.options.height
641
+ })
642
+ }
643
+ c.stop().animate({
644
+ "left": 0,
645
+ "top": 0
646
+ }, this.options.duration, this.options.easing, $.proxy(function () {
647
+ a.removeClass(this.options.name + '-slide-next');
648
+ a.css({
649
+ "opacity": 0
650
+ });
651
+ this.events.playing = false;
652
+ this.element.trigger("sliderTransitionFinishes", c)
653
+ }, this))
654
+ },
655
+ transslideleft: function (a, b, c, d) {
656
+ return this.transslide(a, b, c, d, {
657
+ 'direction': 'left'
658
+ })
659
+ },
660
+ transslideright: function (a, b, c, d) {
661
+ return this.transslide(a, b, c, d, {
662
+ 'direction': 'right'
663
+ })
664
+ },
665
+ transslidetop: function (a, b, c, d) {
666
+ return this.transslide(a, b, c, d, {
667
+ 'direction': 'top'
668
+ })
669
+ },
670
+ transslidebottom: function (a, b, c, d) {
671
+ return this.transslide(a, b, c, d, {
672
+ 'direction': 'bottom'
673
+ })
674
+ },
675
+ transfountain: function (a, b, c, d) {
676
+ return this.transbar(a, b, c, d, {
677
+ 'direction': 'fountain'
678
+ })
679
+ },
680
+ transrain: function (a, b, c, d) {
681
+ return this.transbar(a, b, c, d, {
682
+ 'direction': 'rain'
683
+ })
684
+ },
685
+ transexplode: function (a, b, c, d, e) {
686
+ e = $.extend(true, {
687
+ 'mode': 'acumulative',
688
+ 'effect': 'rain'
689
+ }, e);
690
+ this.events.playing = true;
691
+ c.css({
692
+ "opacity": 0
693
+ });
694
+ b.removeClass(this.options.name + '-selector-current');
695
+ d.addClass(this.options.name + '-selector-current');
696
+ var f = Math.round(this.options.width / this.options.columns);
697
+ var g = Math.round(this.options.height / this.options.rows);
698
+ var h = [];
699
+ var i = c.html();
700
+ for (iRow = 1; iRow <= this.options.rows; iRow++) {
701
+ for (iCol = 1; iCol <= this.options.columns; iCol++) {
702
+ h.push(iCol + '' + iRow);
703
+ var j = ((iRow * g) - g);
704
+ var k = ((iCol * f) - f);
705
+ var l = (f * iCol) - f;
706
+ var m = (g * iRow) - g;
707
+ var n = (iCol - parseInt((this.options.columns + 1) / 2)) * this.options.padding;
708
+ var o = (iRow - parseInt((this.options.rows + 1) / 2)) * this.options.padding;
709
+ var p = $('<div class="' + this.options.name + '-block-clon ' + this.options.name + '-block-clon-' + iCol + iRow + '" />');
710
+ p.css({
711
+ 'overflow': 'hidden',
712
+ 'position': 'absolute',
713
+ 'width': f,
714
+ 'height': g,
715
+ 'z-index': 2,
716
+ 'top': j + o,
717
+ 'left': k + n,
718
+ 'opacity': 0,
719
+ 'background-position': '-' + l + 'px -' + m + 'px'
720
+ });
721
+ p.append('<div style="position: absolute; left: -' + l + 'px; top: -' + m + 'px; width: ' + this.options.width + 'px; height: ' + this.options.height + 'px;">' + i + '</div>');
722
+ this.element.append(p);
723
+ var p = $('<div class="' + this.options.name + '-block ' + this.options.name + '-block-' + iCol + iRow + '" />');
724
+ p.css({
725
+ 'overflow': 'hidden',
726
+ 'position': 'absolute',
727
+ 'width': f,
728
+ 'height': g,
729
+ 'z-index': 3,
730
+ 'top': j,
731
+ 'left': k,
732
+ 'opacity': 1,
733
+ 'background-position': '-' + l + 'px -' + m + 'px'
734
+ });
735
+ p.append('<div style="position: absolute; left: -' + l + 'px; top: -' + m + 'px; width: ' + this.options.width + 'px; height: ' + this.options.height + 'px;">' + a.html() + '</div>');
736
+ this.element.append(p)
737
+ }
738
+ }
739
+ a.css({
740
+ "opacity": 0
741
+ });
742
+ if (e['effect'] == 'random') {
743
+ h = this.shuffle(h)
744
+ } else if (e['effect'] == 'swirl') {
745
+ h = this.arrayswirl(h)
746
+ }
747
+ for (iRow = 1; iRow <= this.options.rows; iRow++) {
748
+ colRow = iRow;
749
+ for (iCol = 1; iCol <= this.options.columns; iCol++) {
750
+ delay = this.options.speed * colRow;
751
+ var n = (iCol - parseInt((this.options.columns + 1) / 2)) * this.options.padding;
752
+ var o = (iRow - parseInt((this.options.rows + 1) / 2)) * this.options.padding;
753
+ this.element.children('.' + this.options.name + '-block-' + iCol + '' + iRow).animate({
754
+ 'left': '+=' + n,
755
+ 'top': '+=' + o
756
+ }, this.options.duration);
757
+ colRow++
758
+ }
759
+ }
760
+ var q = delay;
761
+ var r = 0;
762
+ for (iRow = 1; iRow <= this.options.rows; iRow++) {
763
+ colRow = iRow;
764
+ for (iCol = 1; iCol <= this.options.columns; iCol++) {
765
+ delay = this.options.speed * colRow;
766
+ this.element.children('.' + this.options.name + '-block-' + h[r]).animate({
767
+ 'opacity': 0
768
+ }, delay);
769
+ this.element.children('.' + this.options.name + '-block-clon-' + h[r]).animate({
770
+ 'width': f
771
+ }, this.options.duration).animate({
772
+ 'opacity': 1
773
+ }, delay).animate({
774
+ 'width': f
775
+ }, q - delay);
776
+ r++;
777
+ colRow++
778
+ }
779
+ }
780
+ for (iRow = 1; iRow <= this.options.rows; iRow++) {
781
+ colRow = iRow;
782
+ for (iCol = 1; iCol <= this.options.columns; iCol++) {
783
+ delay = this.options.speed * colRow;
784
+ var n = (iCol - parseInt((this.options.columns + 1) / 2)) * this.options.padding;
785
+ var o = (iRow - parseInt((this.options.rows + 1) / 2)) * this.options.padding;
786
+ this.element.children('.' + this.options.name + '-block-clon-' + iCol + '' + iRow).animate({
787
+ 'left': '-=' + n,
788
+ 'top': '-=' + o
789
+ }, this.options.duration);
790
+ colRow++
791
+ }
792
+ }
793
+ setTimeout($.proxy(function () {
794
+ c.css({
795
+ "opacity": 1
796
+ }).addClass(this.options.name + '-slide-current');
797
+ a.css({
798
+ "opacity": 0
799
+ }).removeClass(this.options.name + '-slide-current');
800
+ this.element.children("." + this.options.name + '-block').remove();
801
+ this.element.children("." + this.options.name + '-block-clon').remove();
802
+ this.events.playing = false;
803
+ this.element.trigger("sliderTransitionFinishes", c)
804
+ }, this), (q + (this.options.duration * 2)))
805
+ },
806
+ transexploderandom: function (a, b, c, d) {
807
+ return this.transexplode(a, b, c, d, {
808
+ 'effect': 'random'
809
+ })
810
+ }
811
+ });
812
+ $.fn.slideshow = function (a, b) {
813
+ if (parseFloat($.fn.jquery) > 1.2) {
814
+ var d = {};
815
+ this.each(function () {
816
+ var s = $(this);
817
+ d = s.data("slider");
818
+ if (!d) {
819
+ d = new SliderObject(this, a, b);
820
+ s.data("slider", d)
821
+ }
822
+ });
823
+ return d
824
+ } else {
825
+ throw "The jQuery version that was loaded is too old. Slider Evolution requires jQuery 1.3+";
826
+ }
827
+ }
828
+ })(jQuery);
js/magestore/bannerslider/slider1/vssver2.scc ADDED
Binary file
js/magestore/bannerslider/tooltip.js ADDED
@@ -0,0 +1,212 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Copyright (c) 2006 Jonathan Weiss <jw@innerewut.de>
3
+ *
4
+ * Permission to use, copy, modify, and distribute this software for any
5
+ * purpose with or without fee is hereby granted, provided that the above
6
+ * copyright notice and this permission notice appear in all copies.
7
+ *
8
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15
+ */
16
+
17
+
18
+ /* tooltip-0.2.js - Small tooltip library on top of Prototype
19
+ * by Jonathan Weiss <jw@innerewut.de> distributed under the BSD license.
20
+ *
21
+ * This tooltip library works in two modes. If it gets a valid DOM element
22
+ * or DOM id as an argument it uses this element as the tooltip. This
23
+ * element will be placed (and shown) near the mouse pointer when a trigger-
24
+ * element is moused-over.
25
+ * If it gets only a text as an argument instead of a DOM id or DOM element
26
+ * it will create a div with the classname 'tooltip' that holds the given text.
27
+ * This newly created div will be used as the tooltip. This is usefull if you
28
+ * want to use tooltip.js to create popups out of title attributes.
29
+ *
30
+ *
31
+ * Usage:
32
+ * <script src="/javascripts/prototype.js" type="text/javascript"></script>
33
+ * <script src="/javascripts/tooltip.js" type="text/javascript"></script>
34
+ * <script type="text/javascript">
35
+ * // with valid DOM id
36
+ * var my_tooltip = new Tooltip('id_of_trigger_element', 'id_of_tooltip_to_show_element')
37
+ *
38
+ * // with text
39
+ * var my_other_tooltip = new Tooltip('id_of_trigger_element', 'a nice description')
40
+ *
41
+ * // create popups for each element with a title attribute
42
+ * Event.observe(window,"load",function() {
43
+ * $$("*").findAll(function(node){
44
+ * return node.getAttribute('title');
45
+ * }).each(function(node){
46
+ * new Tooltip(node,node.title);
47
+ * node.removeAttribute("title");
48
+ * });
49
+ * });
50
+ *
51
+ * </script>
52
+ *
53
+ * Now whenever you trigger a mouseOver on the `trigger` element, the tooltip element will
54
+ * be shown. On o mouseOut the tooltip disappears.
55
+ *
56
+ * Example:
57
+ *
58
+ * <script src="/javascripts/prototype.js" type="text/javascript"></script>
59
+ * <script src="/javascripts/scriptaculous.js" type="text/javascript"></script>
60
+ * <script src="/javascripts/tooltip.js" type="text/javascript"></script>
61
+ *
62
+ * <div id='tooltip' style="display:none; margin: 5px; background-color: red;">
63
+ * Detail infos on product 1....<br />
64
+ * </div>
65
+ *
66
+ * <div id='product_1'>
67
+ * This is product 1
68
+ * </div>
69
+ *
70
+ * <script type="text/javascript">
71
+ * var my_tooltip = new Tooltip('product_1', 'tooltip')
72
+ * </script>
73
+ *
74
+ * You can use my_tooltip.destroy() to remove the event observers and thereby the tooltip.
75
+ */
76
+
77
+ var Tooltip = Class.create();
78
+ Tooltip.prototype = {
79
+ initialize: function(element, tool_tip) {
80
+ var options = Object.extend({
81
+ default_css: false,
82
+ margin: "0px",
83
+ padding: "5px",
84
+ backgroundColor: "#d6d6fc",
85
+ min_distance_x: 5,
86
+ min_distance_y: 5,
87
+ delta_x: 0,
88
+ delta_y: 0,
89
+ zindex: 1000
90
+ }, arguments[2] || {});
91
+
92
+ this.element = $(element);
93
+
94
+ this.options = options;
95
+
96
+ // use the supplied tooltip element or create our own div
97
+ if($(tool_tip)) {
98
+ this.tool_tip = $(tool_tip);
99
+ } else {
100
+ this.tool_tip = $(document.createElement("div"));
101
+ var tool = $(document.createElement("img"));
102
+ tool.setAttribute('src', tool_tip);
103
+ document.body.appendChild(this.tool_tip);
104
+ this.tool_tip.appendChild(tool);
105
+ this.tool_tip.addClassName("tooltip");
106
+ this.tool_tip.setStyle({backgroundColor: '#ffffff'});
107
+ //this.tool_tip.appendChild(document.createTextNode(tool_tip));
108
+ }
109
+
110
+ // hide the tool-tip by default
111
+ this.tool_tip.hide();
112
+
113
+ this.eventMouseOver = this.showTooltip.bindAsEventListener(this);
114
+ this.eventMouseOut = this.hideTooltip.bindAsEventListener(this);
115
+ this.eventMouseMove = this.moveTooltip.bindAsEventListener(this);
116
+
117
+ this.registerEvents();
118
+ },
119
+
120
+ destroy: function() {
121
+ Event.stopObserving(this.element, "mouseover", this.eventMouseOver);
122
+ Event.stopObserving(this.element, "mouseout", this.eventMouseOut);
123
+ Event.stopObserving(this.element, "mousemove", this.eventMouseMove);
124
+ },
125
+
126
+ registerEvents: function() {
127
+ Event.observe(this.element, "mouseover", this.eventMouseOver);
128
+ Event.observe(this.element, "mouseout", this.eventMouseOut);
129
+ Event.observe(this.element, "mousemove", this.eventMouseMove);
130
+ },
131
+
132
+ moveTooltip: function(event){
133
+ Event.stop(event);
134
+ // get Mouse position
135
+ var mouse_x = Event.pointerX(event);
136
+ var mouse_y = Event.pointerY(event);
137
+
138
+ // decide if wee need to switch sides for the tooltip
139
+ var dimensions = Element.getDimensions( this.tool_tip );
140
+ var element_width = dimensions.width;
141
+ var element_height = dimensions.height;
142
+
143
+ if ( (element_width + mouse_x) >= ( this.getWindowWidth() - this.options.min_distance_x) ){ // too big for X
144
+ mouse_x = mouse_x - element_width;
145
+ // apply min_distance to make sure that the mouse is not on the tool-tip
146
+ mouse_x = mouse_x - this.options.min_distance_x;
147
+ } else {
148
+ mouse_x = mouse_x + this.options.min_distance_x;
149
+ }
150
+
151
+ if ( (element_height + mouse_y) >= ( this.getWindowHeight() - this.options.min_distance_y) ){ // too big for Y
152
+ mouse_y = mouse_y - element_height;
153
+ // apply min_distance to make sure that the mouse is not on the tool-tip
154
+ mouse_y = mouse_y - this.options.min_distance_y;
155
+ } else {
156
+ mouse_y = mouse_y + this.options.min_distance_y;
157
+ }
158
+
159
+ // now set the right styles
160
+ this.setStyles(mouse_x, mouse_y);
161
+ },
162
+
163
+
164
+ showTooltip: function(event) {
165
+ Event.stop(event);
166
+ this.moveTooltip(event);
167
+ new Element.show(this.tool_tip);
168
+ },
169
+
170
+ setStyles: function(x, y){
171
+ // set the right styles to position the tool tip
172
+ Element.setStyle(this.tool_tip, {position:'absolute',
173
+ top:y + this.options.delta_y + "px",
174
+ left:x + this.options.delta_x + "px",
175
+ zindex:this.options.zindex
176
+ });
177
+
178
+ // apply default theme if wanted
179
+ if (this.options.default_css){
180
+ Element.setStyle(this.tool_tip, {margin:this.options.margin,
181
+ padding:this.options.padding,
182
+ backgroundColor:this.options.backgroundColor,
183
+ zindex:this.options.zindex
184
+ });
185
+ }
186
+ },
187
+
188
+ hideTooltip: function(event){
189
+ new Element.hide(this.tool_tip);
190
+ },
191
+
192
+ getWindowHeight: function(){
193
+ var innerHeight;
194
+ if (navigator.appVersion.indexOf('MSIE')>0) {
195
+ innerHeight = document.body.clientHeight;
196
+ } else {
197
+ innerHeight = window.innerHeight;
198
+ }
199
+ return innerHeight;
200
+ },
201
+
202
+ getWindowWidth: function(){
203
+ var innerWidth;
204
+ if (navigator.appVersion.indexOf('MSIE')>0) {
205
+ innerWidth = document.body.clientWidth;
206
+ } else {
207
+ innerWidth = window.innerWidth;
208
+ }
209
+ return innerWidth;
210
+ }
211
+
212
+ }
js/magestore/bannerslider/vssver2.scc ADDED
Binary file
media/bannerslider/bannerslider-ex1.png ADDED
Binary file
media/bannerslider/bannerslider-ex2.png ADDED
Binary file
media/bannerslider/bannerslider-ex3.png ADDED
Binary file
media/bannerslider/bannerslider-ex4.PNG ADDED
Binary file
media/bannerslider/bannerslider-ex5.PNG ADDED
Binary file
media/bannerslider/vssver2.scc ADDED
Binary file
package.xml CHANGED
@@ -1,18 +1,18 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Magestore_BannerSlider</name>
4
- <version>2.0.1</version>
5
  <stability>stable</stability>
6
- <license uri="http://www.opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
7
  <channel>community</channel>
8
  <extends/>
9
- <summary>Magestore_Bannerslider</summary>
10
- <description>Magestore_Bannerslider</description>
11
- <notes>Magestore_Bannerslider</notes>
12
- <authors><author><name>Magestore</name><user>Magestore</user><email>magento.subscription@magestore.com</email></author></authors>
13
- <date>2012-02-24</date>
14
- <time>06:55:55</time>
15
- <contents><target name="magecommunity"><dir name="Magestore"><dir name="Bannerslider"><dir name="Block"><dir name="Adminhtml"><dir name="Bannerslider"><dir name="Edit"><file name="Form.php" hash="0a4ade721b0bedd47e2d194d1f48fc91"/><dir name="Tab"><file name="Categories.php" hash="c2eab18d292642fceff058b2faa7a50e"/><file name="Form.php" hash="13c8639855d3f76253f7cde5b909d80a"/></dir><file name="Tabs.php" hash="856e9b186f096e39ec0ef4047463d240"/></dir><file name="Edit.php" hash="47e5e829239471570043352f18a2e4fd"/><file name="Grid.php" hash="a8fd58bc49018ec0820132617a19401a"/></dir><file name="Bannerslider.php" hash="5aa82cf05ea387a7f49f5b1c0229218a"/></dir><file name="Bannerslider.php" hash="fba3d6d39f45071c53fa7279b9e1921b"/></dir><dir name="Helper"><file name="Data.php" hash="a5013f0d1e5a537563f4d31bae881103"/></dir><dir name="Model"><file name="Bannerslider.php" hash="9461eb273dbdbe597354248d78fa765d"/><dir name="Mysql4"><dir name="Bannerslider"><file name="Collection.php" hash="f9243cff52944c2abc0ed7c00c968ec5"/></dir><file name="Bannerslider.php" hash="693e31d88513e6a9f4bbd6be12c0bbf5"/></dir><dir name="Source"><file name="Position.php" hash="a6df1fea9bb056d9582f53698020b894"/></dir><file name="Status.php" hash="066e3ad6fefa187414ba37e1cc5474b5"/><dir name="System"><dir name="Config"><file name="Styles.php" hash="69a5edefda8037d08ebbfda504cbfaab"/></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="BannersliderController.php" hash="f36a09f72886b96c1eb41375f31fc8da"/></dir><file name="IndexController.php" hash="8c4d5cebd997e01aaed99861733f451a"/></dir><dir name="etc"><file name="adminhtml.xml" hash="a73ebee7ef3ecc30712e051b105a81b7"/><file name="config.xml" hash="f14a7c5f4ce1780304617d8f019b41dc"/><file name="system.xml" hash="ced8a33bb5a1f0b22243e58ce3deb5dc"/></dir><dir name="sql"><dir name="bannerslider_setup"><file name="mysql4-install-1.0.3.php" hash="3dbda42112b3c056d9601c777783acc2"/><file name="mysql4-install-2.0.0.php" hash="98e8d30efcac0c7c35e0fe6c9012bbd7"/><file name="mysql4-upgrade-1.0.3-2.0.0.php" hash="45ed0719d02c3f13e03b051cb53f49ee"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Magestore_Bannerslider.xml" hash="186bb21475183cd432839e00efcef5cb"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="bannerslider.xml" hash="821d565ea6febc6639cf1e45cb35d73c"/></dir><dir name="template"><dir name="bannerslider"><file name="categories.phtml" hash="fefdd035720211fc5ecb3f1a11b863de"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="bannerslider.xml" hash="51e8c0627bcefae4e3a9179ea8d61a65"/></dir><dir name="template"><dir name="bannerslider"><file name="bannerslider.phtml" hash="34c76c06458339e42c4cdc39aa16a0cb"/><file name="view.phtml" hash="268684b03dc7aaf7d3a6853147121d6a"/></dir></dir></dir></dir></dir></target><target name="mageweb"><dir name="js"><dir name="magestore"><dir name="bannerslider"><file name="banner1.js" hash="d8f9c4444580d285972803eed7392b8f"/><file name="banner3.js" hash="6a497944b479a99be36b0844262f2657"/><file name="coda-slider.1.1.1.pack.js" hash="06a12a1e443ee746b5fcdb10e2781ec9"/><file name="jquery-1.4.2.min.js" hash="223e1978ec4920a72140c1b0ea680dc3"/><file name="jquery-easing-1.3.pack.js" hash="ad2ce6c1ca5230c7bfbdf0602825891a"/><file name="jquery-easing-compatibility.1.2.pack.js" hash="ea556b6aee1008f5bdf407abf9356229"/></dir></dir><dir name="tinybox"><file name="tinybox.js" hash="2ca7fcb7fefc5e8d85887f3c6dc6e315"/></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="css"><dir name="tinybox"><dir name="images"><file name="Thumbs.db" hash="11fb2793c09da50437dcdfe0c4bd6333"/><file name="preload.gif" hash="bf3ec68db23e93ba2ec795ef558e96da"/><file name="rhino.jpg" hash="d00bad1ec05584e10a5601ec103aff72"/></dir><file name="style.css" hash="e3016ee232fbf3c6f780255002703237"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="default"><dir name="default"><dir name="banner"><file name="ajaxtabs.js" hash="d8f9c4444580d285972803eed7392b8f"/><file name="banner.css" hash="e4186a5d5d445f618dec0fbbf913ad4b"/></dir><dir name="css"><dir name="magestore"><dir name="bannerslider"><file name="arrows.png" hash="4830f3bcd3b6a84632b1d6bfce2d17b9"/><file name="banner1.css" hash="1bf0f02dc0ef051c3e2684ea1046b551"/><file name="banner2.css" hash="7ea8fbddcb75b8ddf584fac7b2990a74"/><file name="banner3.css" hash="7bf30a0f1de3870b9dcbd601c459201f"/><file name="banner4.css" hash="de6e6b266b630e8b0ac49bae60010ef6"/><file name="banner5.css" hash="2d3a4bc139bfb01f311af602b8314fb0"/><file name="caption.gif" hash="bf2630e4d807cd003f55c37ca60eac34"/><file name="icon-uparrowsmallwhite - Copy.png" hash="e20f9a64db38e2345a876f85e3b87806"/><file name="icon-uparrowsmallwhite.jpg" hash="e20f9a64db38e2345a876f85e3b87806"/><file name="leftright.gif" hash="2d7a6c41df4791cddffd167ba746cb02"/><file name="playpause.gif" hash="e410adb4af80cdda4fe8d27d9b3cdf0d"/></dir></dir></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
- <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
18
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Magestore_BannerSlider</name>
4
+ <version>3.0.0</version>
5
  <stability>stable</stability>
6
+ <license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License (OSL)</license>
7
  <channel>community</channel>
8
  <extends/>
9
+ <summary>Magestore_BannerSlider</summary>
10
+ <description>Magestore_BannerSlider</description>
11
+ <notes>Magestore_BannerSlider</notes>
12
+ <authors><author><name>Magestore</name><user>magestore</user><email>info@magestore.com</email></author></authors>
13
+ <date>2013-08-14</date>
14
+ <time>04:31:03</time>
15
+ <contents><target name="magecommunity"><dir name="Magestore"><dir name="Bannerslider"><dir name="Block"><dir name="Adminhtml"><file name="Addbutton.php" hash="0971ed0edab4739cbcd2863d6f68f1d9"/><dir name="Banner"><dir name="Edit"><file name="Form.php" hash="c19dcbe104dbbacebad467425720a94a"/><dir name="Tab"><file name="Form.php" hash="ad9532fadf465ccaae8086571f7c6fff"/><file name="vssver2.scc" hash="fe61be1f46b9e0635e488e2531082eaf"/></dir><file name="Tabs.php" hash="5451c616a749ad3446e73c0b22140786"/><file name="vssver2.scc" hash="4eb4b408b663fc12fde4f52e7cd55b20"/></dir><file name="Edit.php" hash="e65a3bf912ed205cc9c7b62b360fd967"/><file name="Grid.php" hash="92eaae8d263b545a981ab2cd9e7361e9"/><file name="vssver2.scc" hash="1e658a8b3457fb837cc3ddb5c911e4b8"/></dir><file name="Banner.php" hash="ed29f0eb29ef42e03f39571d6f59ee96"/><dir name="Bannerslider"><dir name="Edit"><file name="Form.php" hash="2c345861330740fba6548eec498f86e3"/><dir name="Tab"><dir name="Content"><file name="Categories.php" hash="86f5c15765a8fe46eee2fd708c1eaf85"/><file name="vssver2.scc" hash="b227faef1a56b8d5f55750f611927872"/></dir><file name="Custom.php" hash="469cf710f5c552a08b5b539395b899ba"/><file name="Form.php" hash="7c65f38a72f617004a2b4d6db38dd186"/><file name="vssver2.scc" hash="4902c14929fab1f42786b0ffe632c097"/></dir><file name="Tabs.php" hash="bdfe3a7185c605ef5c5eab5f211a4165"/><file name="vssver2.scc" hash="bb3c8cc38b6741594d7f88f5e022e7e0"/></dir><file name="Edit.php" hash="906e93dd97f8f563c3df9f053bf281ec"/><file name="Grid.php" hash="da743eaa1031f7f78004215d03b991e3"/><file name="vssver2.scc" hash="86cb601606fae64f83bca55a371fc552"/></dir><file name="Bannerslider.php" hash="7ef59ae67275ece742d91ec56f09e67a"/><file name="Customjs.php" hash="f31ae7353357754ed8e200439ea75508"/><file name="Date.php" hash="1e70ac0a688fc8c7f7d10df30c0bfbac"/><file name="Preview.php" hash="3297dae1e1b3a6defc10741efbc560bf"/><dir name="Renderer"><file name="Edit.php" hash="989f8f19dc235a96d6dde50608d1b72e"/><file name="Imagebanner.php" hash="f4b164324958631212530085e1be5620"/><file name="Imagereport.php" hash="0d5613ede542864c71929be4b54fbdc7"/><file name="vssver2.scc" hash="007945d63fdb7a427b286521f27642d1"/></dir><dir name="Report"><dir name="Banner"><file name="Grid.php" hash="8a83cf1fa2e142a747f5c1615e8c97c1"/><file name="vssver2.scc" hash="6deb121d664699d3d90c79ddcde56dcb"/></dir><file name="Grid.php" hash="60743914f2e908e9933c7cb0dd856166"/><file name="vssver2.scc" hash="1e7ff04bc29a13b6557e6329e6789213"/></dir><file name="Report.php" hash="68371e7ec394f99b37a5e09e097e644c"/><file name="Reportbanner.php" hash="8fb1e5085fe0eef718b9a33a3c510ee2"/><dir name="Standardslider"><file name="Grid.php" hash="c0262311bebbf1fea77b91822424ba20"/><file name="vssver2.scc" hash="bdf98a830ce1513e6bbab27eb42bdc45"/></dir><file name="Standardslider.php" hash="9ba4720a6f4d423933b95ac43b6e1522"/><dir name="System"><dir name="Configuration"><file name="Implementcode.php" hash="b17f1e5971fb73925d002886642deec7"/><file name="vssver2.scc" hash="0f306dd4cd372ed77518ceae34d211b4"/></dir></dir><file name="vssver2.scc" hash="fa117d8c97bb8d8c7f8fef5fea602213"/></dir><file name="Bannerslider.php" hash="9695e173db768740cebb1f5e1b3a4dad"/><file name="Default.php" hash="67cc2148f428d01be2d26c365ecb9db1"/><file name="vssver2.scc" hash="e3ca9f283c154c236e80f4c59bdb8101"/></dir><dir name="Helper"><file name="Data.php" hash="d278501dd1ce13117a444e7d9a8ad343"/><file name="vssver2.scc" hash="06a67c7b17bcb165ef2935b03d2a4c6d"/></dir><dir name="Model"><file name="Banner.php" hash="4b3e613f8cf47ee441f4d3ad5b080303"/><file name="Bannerslider.php" hash="4db539f951673cf3f3c4ed7aaad4f691"/><dir name="Mysql4"><dir name="Banner"><file name="Collection.php" hash="910684e0dfd675457df7b685506acf14"/><file name="vssver2.scc" hash="dd68ee4ad4e13c13759b8aa6e606ad13"/></dir><file name="Banner.php" hash="883bbd3352133e62b692cf6df710bc5a"/><dir name="Bannerslider"><file name="Collection.php" hash="df57e1c5db0cfac84b9e7c4b813a7a64"/><file name="vssver2.scc" hash="bd6a40f5a282f2d57dc77eec0db5ca42"/></dir><file name="Bannerslider.php" hash="e4c35a582e312bb4c68cd85b759c2a83"/><dir name="Report"><file name="Collection.php" hash="7271ab3d4c8a89a28644be673d4e4b69"/><file name="vssver2.scc" hash="34d252096a5522b05614e57bf02b963c"/></dir><file name="Report.php" hash="d7f6df3f5942f8dd8834e84264e2e9dd"/><dir name="Value"><file name="Collection.php" hash="63dc1dbd200f56e635a3f39171b962f7"/><file name="vssver2.scc" hash="8d5443a73775f46198c2aa7132c96f5b"/></dir><file name="Value.php" hash="22d13761be784b7f292c757e664ccbdf"/><file name="vssver2.scc" hash="0b3bcc4f0fd91fe69b423112143c9454"/></dir><file name="Observer.php" hash="b148a10fb2c3c5e77918f7d3b0c4c8ba"/><file name="Report.php" hash="912d542454da0542e451c69b8bc14d29"/><file name="Select.php" hash="56ada2d8493233b88761f66a55377f1f"/><file name="Status.php" hash="dd11fe0f53dbc43683db6d78c68f0866"/><file name="Value.php" hash="89daa2bb4164babd83647a053fdfe872"/><file name="vssver2.scc" hash="325d76862402f86fba5909f2c129fdcc"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="BannerController.php" hash="5cc7188784144a80c98fe6a109275fb0"/><file name="BannersliderController.php" hash="0f86438dccd520524986ed3bfe0e3c2e"/><file name="ReportController.php" hash="68d0789c2e8b32cab51431fcefea0e9f"/><file name="StandardsliderController.php" hash="de3eb9f52e3c2392ff612e600bc2d891"/><file name="vssver2.scc" hash="d4597cdc42394eaa1fe3144fefdec29d"/></dir><file name="IndexController.php" hash="be957eac7bdbaa79a29159904039a698"/><file name="vssver2.scc" hash="53e80eb3df0a2f8e7d21a7abb2666e4e"/></dir><dir name="etc"><file name="adminhtml.xml" hash="14ccdf76fdbf4dbf08b6d8b6e2d7c1d6"/><file name="config.xml" hash="2a9448920d6215a053044142b666feed"/><file name="system.xml" hash="9c5231310bfebc180fb6d7e73b5a73a6"/><file name="vssver2.scc" hash="2200362794e503188615e41aaf936888"/></dir><dir name="sql"><dir name="bannerslider_setup"><file name="mysql4-install-3.0.0.php" hash="74a72deccce57fa9b00653687f0acb5d"/><file name="mysql4-upgrade-1.0.0-3.0.0.php" hash="74a72deccce57fa9b00653687f0acb5d"/><file name="mysql4-upgrade-1.0.1-3.0.0.php" hash="74a72deccce57fa9b00653687f0acb5d"/><file name="mysql4-upgrade-1.0.2-3.0.0.php" hash="74a72deccce57fa9b00653687f0acb5d"/><file name="mysql4-upgrade-1.0.3-3.0.0.php" hash="74a72deccce57fa9b00653687f0acb5d"/><file name="mysql4-upgrade-2.0.0-3.0.0.php" hash="74a72deccce57fa9b00653687f0acb5d"/><file name="mysql4-upgrade-2.0.1-3.0.0.php" hash="74a72deccce57fa9b00653687f0acb5d"/><file name="mysql4-upgrade-2.0.2-3.0.0.php" hash="74a72deccce57fa9b00653687f0acb5d"/><file name="vssver2.scc" hash="7a0b509329ccac8a2183ea4a03a336d4"/></dir></dir></dir></dir></target><target name="magelocal"><dir name="Magestore"><dir name="Magenotification"><dir name="Block"><dir name="Adminhtml"><dir name="Feedback"><dir name="Edit"><file name="Form.php" hash="ff965acdbee7128894e462aacedcc398"/><dir name="Tab"><file name="Form.php" hash="3d2b966840f60187ff33270d55ae9574"/><file name="History.php" hash="3416d6c4ea4739d658730cda7811ec39"/><file name="Message.php" hash="d0919f3db9cbbf3f0aa960712d212631"/></dir><file name="Tabs.php" hash="7693686764e2ea6cb1bdc3b83812f179"/></dir><file name="Edit.php" hash="b502e877ae329f92a9fefbe894f66ed5"/><file name="Grid.php" hash="fbc85ffbf0773757d20c3bcc99a06698"/><dir name="Renderer"><file name="File.php" hash="caec435c83f133bd32132cc3f1d5fa1b"/><file name="Product.php" hash="17680a600b75b93e9d41f3afd8e74c8e"/><file name="Sentstatus.php" hash="1a8323870b96cab255a5cdf28f849503"/><file name="Status.php" hash="78030c6ff5c27edf563e6031f1ea9d33"/></dir></dir><file name="Feedback.php" hash="95eafe4c9b06ea1f3f7c822c5c634a1e"/><dir name="License"><file name="Purchaseform.php" hash="45bf206a6e54a473e256847ca30c273f"/><file name="Updateform.php" hash="f32762d18533e03fd4330fa925a79a57"/></dir></dir><dir name="Config"><file name="Extensionkeys.php" hash="c4673968b7953c160d03a70491e7efcd"/><file name="Field.php" hash="cfaf7f736a61113b93d6b4ea6df555e0"/><file name="Label.php" hash="5e4a80b056bc66ee238e9f19a1fea641"/></dir></dir><dir name="Helper"><file name="Data.php" hash="7d79b396fe5049489b27918af9098166"/><file name="Feedback.php" hash="7400e0e4ed8d515187cc457b87a7b6b8"/><file name="License.php" hash="be136fd2200295ef75524281eef078f4"/></dir><dir name="Model"><file name="Feedback.php" hash="c4a22079db6cbbe76a80a6d98b3732a7"/><file name="Feedbackmessage.php" hash="2bbe10dae7cf63da867ee0f6d0399fff"/><file name="Keygen.php" hash="28b79d6167765909e8b9fb1f8beaa1ae"/><file name="License.php" hash="a0fbb1a6d15851c3e3f21704c210b531"/><file name="Logger.php" hash="6e6b9c8a6626ba2d887f7ea8b5cb4903"/><file name="Magenotification.php" hash="6f36e2499b3b8e382fa472609fee1955"/><dir name="Mysql4"><dir name="Feedback"><file name="Collection.php" hash="2b7d32d861e61cdd8dfc317162afc24b"/></dir><file name="Feedback.php" hash="ceaf546e1ae1109debdca1a2f8bd1045"/><dir name="Feedbackmessage"><file name="Collection.php" hash="f43a98274f307ec7a5bc4de50652abab"/></dir><file name="Feedbackmessage.php" hash="fbc315bcc9ac0cddc29a51fbd9745327"/><dir name="License"><file name="Collection.php" hash="990e244acfd2ead17e535b070bd0e2e6"/></dir><file name="License.php" hash="4dc9f91280032e2ecad97ced01cbdc33"/><dir name="Logger"><file name="Collection.php" hash="027c25b0aa0c449a280bc17342bac248"/></dir><file name="Logger.php" hash="66dcc4eb1f8dd26e59552e28edcbdc77"/><dir name="Magenotification"><file name="Collection.php" hash="7859b80ac9a3b37765a4b1140de343a9"/></dir><file name="Magenotification.php" hash="d0effb08b44e58cd484dd5bd21da5e38"/></dir><file name="Observer.php" hash="283951a2680a876675630281c6ca416d"/><dir name="Source"><file name="Time.php" hash="33236ea396f02464dba81bf384362a27"/></dir><file name="Status.php" hash="ca2c85ad22dbe6e97231081acfbb42b1"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="FeedbackController.php" hash="b2e403007925f6d298ea252c0664f1ce"/><file name="LicenseController.php" hash="dfb749333b38ed0b2093eb84078ae999"/><file name="MagenotificationController.php" hash="c4f9ff5a921a960800b5eae73cb6013a"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="2debbbc91d451786252d75ce13a0961e"/><file name="config.xml" hash="405d0a284babb887148a74373394a5a2"/><file name="system.xml" hash="c5d6b5ce867016e175285998728067dd"/></dir><dir name="sql"><dir name="magenotification_setup"><file name="mysql4-install-0.1.2.php" hash="74df00189812cc48e07807d4e67c532e"/><file name="mysql4-upgrade-0.1.0-0.1.2.php" hash="8833e8e06f11bcd4c421d35f10c5def2"/><file name="mysql4-upgrade-0.1.1-0.1.2.php" hash="741f09f46da1747f027d3fc87d321a2e"/><file name="mysql4-upgrade-0.1.2-0.1.3.php" hash="8943a9567ac7ced808db7a9d52816633"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="bannerslider.xml" hash="65f0161ddc13a329be5ed6749f2225a4"/><file name="magenotification.xml" hash="9d48e23443cdd5007efbe56661482314"/></dir><dir name="template"><dir name="bannerslider"><file name="addbanner.phtml" hash="1ebd7a123077cfdb50d592d49f48b2e4"/><file name="addbutton.phtml" hash="efd14d329b8d752286b454db4cd6c2c4"/><file name="categories.phtml" hash="f5430ea67515da71bcd7ab3c4d166eba"/><file name="customjs.phtml" hash="c80168c8e1297e69c00d6516eca24d01"/><file name="date.phtml" hash="d03da284e254b1e3449d7bb4c5e2627d"/><file name="standardslider.phtml" hash="032153da9adc7811c3839ef5a582f71d"/><file name="vssver2.scc" hash="1580451d206aa6d82313acb46e018881"/></dir><dir name="magenotification"><dir name="feedback"><file name="files.phtml" hash="55a255047fd65a80d4429cc5d6d6aad1"/><file name="history.phtml" hash="ba31f13ff51489483395e28144d1217e"/></dir><dir name="license"><file name="purchaseform.phtml" hash="5a39b6087f4f538a6094ecb66d6f8c0b"/><file name="updateform.phtml" hash="3d3cf9d0035d8f74fef33916e27fa549"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="bannerslider.xml" hash="cf9a10a31b497c3cbe85df6dfa0cbe23"/></dir><dir name="template"><dir name="bannerslider"><file name="bannerslider.phtml" hash="bdd245f2f1ce86ee5abbe9f153b4d5ef"/><file name="note.phtml" hash="cba58992ffa05f9dd92b51b4356bba17"/><file name="popup.phtml" hash="9e5a0930b93bc9936a5cee34efba316b"/><file name="slider1.phtml" hash="82cc2da80806cb2720577b5d454b89e4"/><file name="slider10.phtml" hash="6d25ad6c6b3f970c6e838a374b0efbda"/><file name="slider2.phtml" hash="8aae4e8d044838b4223d37c178722714"/><file name="slider3.phtml" hash="a14c49f5cbd3725315916e112a19b2d3"/><file name="slider4.phtml" hash="54be02eed7fa87e6e8461fa46784a6e5"/><file name="slider5.phtml" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="slider6.phtml" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="slider7.phtml" hash="8410d895c3f01893b367f471fefbeaf0"/><file name="slider8.phtml" hash="ec686718d86f250498c38709ee3e27a3"/><file name="slider9.phtml" hash="ca8a844a21e7035f5b366f140596e4c6"/><file name="vssver2.scc" hash="7277c53f67047125fd3b77ff42151808"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Magestore_Bannerslider.xml" hash="db9a0aa8218ec4551c077a8261cd1225"/><file name="Magestore_Magenotification.xml" hash="940e13b33cbf2e9452ecdc231b5868b9"/></dir></target><target name="magelocale"><dir name="en_US"><file name="Magestore_Bannerslider.csv" hash="d41d8cd98f00b204e9800998ecf8427e"/></dir></target><target name="mageweb"><dir name="js"><dir name="magestore"><dir name="bannerslider"><dir name="images"><file name="arrow.png" hash="f9fe0fc57febcc412cd148b921c005c0"/><file name="close-button.png" hash="74634cec8b1f581d05b4caeff55cde44"/><file name="vssver2.scc" hash="fc30501ce9a2514b03e9c91f37cd0fc9"/></dir><file name="jquery-1.7.min.js" hash="c0180da45a0e0643d9d85048996ad1cf"/><file name="jquery.ads.note.css" hash="f5e183ae7abceb03977492cad9245101"/><file name="jquery.ads.note.js" hash="47fab367bee030373653c7f340c291a3"/><file name="jquery.flexslider.js" hash="daea989df260450f028d887465adfb1f"/><file name="jquery.slider.css" hash="09c96a81b008a1759305795eb0d65e26"/><file name="lightbox.js" hash="0f415775ee66a5292f44049e8f96d8c2"/><file name="prototip.js" hash="a3df1c2770578caf8bc4c33c5248b478"/><dir name="slider1"><file name="jquery.slider.min.js" hash="0b43bcb534325ca89610e4c4f31e5d6b"/><file name="vssver2.scc" hash="fddf8e41471aeda593719b289d2ff0f5"/></dir><file name="tooltip.js" hash="2a4c59e541c17227011d4157f65ad5df"/><file name="vssver2.scc" hash="32efc7562d5d168dcf262a339790a98f"/></dir></dir><dir name="tinybox"><file name="tinybox.js" hash="2ca7fcb7fefc5e8d85887f3c6dc6e315"/></dir></dir></target><target name="magemedia"><dir name="bannerslider"><file name="bannerslider-ex1.png" hash="f925601f7d510c353c34d221f668b3f5"/><file name="bannerslider-ex2.png" hash="d55e175b8d2c4e04b053f9e5a78eec09"/><file name="bannerslider-ex3.png" hash="5d27eb9efb2c87c38cf9c51263378127"/><file name="bannerslider-ex4.PNG" hash="3aa3919637166ede6271f62d84cc473e"/><file name="bannerslider-ex5.PNG" hash="a86c1217b9b94db5fbc79b48e34ece41"/><file name="vssver2.scc" hash="9a7c74e959159f386a674798d8f4c146"/></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="css"><dir name="magestore"><dir name="bannerslider"><file name="default.css" hash="3400d49b477c06bd640bc5a8fffab6fa"/><file name="flexslider.css" hash="1413934da4074535265cb7cd6d9de893"/><dir name="image"><file name="arrow-left.png" hash="0123ebda12226d3abb6981ab39a16408"/><file name="arrow-pause.png" hash="324a64404a26d6ec392720247b51fbc9"/><file name="arrow-play.png" hash="5867994d1fee70cb7657054493be3e13"/><file name="arrow-right.png" hash="3e79ef41ec3a17f1c3abc3dc5446a7dd"/><file name="bg_direction_nav.png" hash="f595730bbfc9b24daa4c834f8c8660b9"/><file name="close-tiny.png" hash="eca7a7b15c08e0292e33d4ac18f58617"/><file name="close.png" hash="7b0f8459a7e2389a20baf18b437ebdbf"/><file name="cs_leftImg.jpg" hash="3d5d181d0e5656d6e5593ab791c0d9a2"/><file name="cs_rightImg.jpg" hash="b1b41041e94af2225da0022cabf317bf"/><dir name="demo"><file name="kitchen_adventurer_caramel.jpg" hash="8cfdcfbfea2703e52cd203b033302248"/><file name="kitchen_adventurer_cheesecake_brownie.jpg" hash="5d2057ce7b682e9a12ecc34cf17b9108"/><file name="kitchen_adventurer_donut.jpg" hash="09b6523d1a240a58ae5ccf874cd86529"/><file name="kitchen_adventurer_lemon.jpg" hash="23134dfb0166baf49cf74a643728fb48"/><file name="logo.png" hash="122ff533e88051eda109bcd298b0702b"/><file name="vssver2.scc" hash="10b12d547b3f0834f076f7206448c20e"/></dir><dir name="slide1"><file name="jquery-slider-rotator-left.png" hash="8110266e25fd39d5c815b52134a7aaa4"/><file name="jquery-slider-rotator-right.png" hash="bc78a72b83fae168301d8b5eaf8d3a53"/><file name="jquery-slider-theme.png" hash="bbe4889b6f090abdf123e7375087133c"/><file name="vssver2.scc" hash="5092622bb994361966d8737ef7bfafab"/></dir><dir name="slide2"><file name="jquery-slider-theme.png" hash="6628642682e50a48fdd9a8d3817fa363"/><file name="vssver2.scc" hash="4132c4aae837a8438fccc16f742a03c2"/></dir><dir name="slide3"><file name="jquery-slider-theme.png" hash="c078b23fcea27602af60b159474955d7"/><file name="vssver2.scc" hash="172344bb2c8e5966a46168e490f776c0"/></dir><dir name="slide4"><file name="jquery-slider-theme.png" hash="0fcf2310ad64a7ec4978cf3dc4c401ce"/><file name="vssver2.scc" hash="239afad2c8d2cf5d7597b75a31bbdc1a"/></dir><file name="vssver2.scc" hash="172d0fd31259f7513cdf5b4862d6304c"/></dir><file name="jquery.ennui.contentslider.css" hash="2e92af4b8f10fd366b6b2415437e4195"/><file name="slider1.css" hash="1186ceff6daede0a9a42b3d14042d0f5"/><file name="slider2.css" hash="473a870eaf23dc75d47fa7f7f0c3ef39"/><file name="slider3.css" hash="929e439d47e6e3fb3d74f81170ebea34"/><file name="slider4.css" hash="538cc7e2a9cb55f4a8e4ad7025628379"/><file name="vssver2.scc" hash="74f6dc5554c47e567d18c78b846c7d6a"/></dir><file name="inventory.css" hash="83bd982016ed84bf99c113ef4666f90c"/><file name="magenotification.css" hash="6fc00a4e8aa9106db4e62420ebc9efe9"/><file name="notice_price.gif" hash="4b38fffa255125c1e6cdfdd740dd2e56"/></dir><dir name="tinybox"><dir name="images"><file name="preload.gif" hash="bf3ec68db23e93ba2ec795ef558e96da"/><file name="rhino.jpg" hash="d00bad1ec05584e10a5601ec103aff72"/></dir><file name="style.css" hash="e3016ee232fbf3c6f780255002703237"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="magestore"><dir name="bannerslider"><file name="flexslider.css" hash="c1d24aebc30df115149ee0d63b8ba2e6"/><dir name="image"><file name="arrow-left.png" hash="0123ebda12226d3abb6981ab39a16408"/><file name="arrow-pause.png" hash="324a64404a26d6ec392720247b51fbc9"/><file name="arrow-play.png" hash="5867994d1fee70cb7657054493be3e13"/><file name="arrow-right.png" hash="3e79ef41ec3a17f1c3abc3dc5446a7dd"/><file name="bg_direction_nav.png" hash="f595730bbfc9b24daa4c834f8c8660b9"/><file name="close-tiny.png" hash="eca7a7b15c08e0292e33d4ac18f58617"/><file name="close.png" hash="7b0f8459a7e2389a20baf18b437ebdbf"/><file name="cs_leftImg.jpg" hash="3d5d181d0e5656d6e5593ab791c0d9a2"/><file name="cs_rightImg.jpg" hash="b1b41041e94af2225da0022cabf317bf"/><file name="note.png" hash="12765eb6c84412ee6fc28335edcb551d"/><file name="note2.png" hash="bdcea0ba5aaecd309fb1d2119e769d2f"/><dir name="slide1"><file name="jquery-slider-rotator-left.png" hash="8110266e25fd39d5c815b52134a7aaa4"/><file name="jquery-slider-rotator-right.png" hash="bc78a72b83fae168301d8b5eaf8d3a53"/><file name="jquery-slider-theme.png" hash="bbe4889b6f090abdf123e7375087133c"/><file name="vssver2.scc" hash="ae39d5e213b66bf2736926f41c476c88"/></dir><dir name="slide2"><file name="jquery-slider-theme.png" hash="6628642682e50a48fdd9a8d3817fa363"/><file name="vssver2.scc" hash="2c5adfdb620ec8b260cb08b41257ab05"/></dir><dir name="slide3"><file name="jquery-slider-theme.png" hash="c078b23fcea27602af60b159474955d7"/><file name="vssver2.scc" hash="17b6be85760801b598f6fa0545735373"/></dir><dir name="slide4"><file name="jquery-slider-theme.png" hash="0fcf2310ad64a7ec4978cf3dc4c401ce"/><file name="vssver2.scc" hash="26a1a2ac3ed077da63c1963f28168847"/></dir><file name="vssver2.scc" hash="849f50c2ca44899f7703eba04ad7d991"/></dir><file name="note.css" hash="45a0c019bcbeac078f4689b45115623f"/><file name="popup.css" hash="04cec6f6d78be967aa80c61615fe20fa"/><file name="slider1.css" hash="75c68487c0c285f0231939766dfa5544"/><file name="slider2.css" hash="51acb6fd8c806735df75865cf7c66ba9"/><file name="slider3.css" hash="0e6126c497a123542f20826a45222325"/><file name="slider4.css" hash="7b42ce57e9cadea3974a0154da44d603"/><file name="vssver2.scc" hash="3424601920e9ddf09d158c0d14e23abc"/></dir></dir></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
+ <dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
18
  </package>
skin/adminhtml/default/default/css/magestore/bannerslider/default.css ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ body {
2
+ font:80%/1.25em arial, sans-serif;
3
+ letter-spacing:.1em;
4
+ }
5
+ h1, h2, p, pre {
6
+ display:block;
7
+ width:600px;
8
+ }
9
+ h1 {
10
+ font:225%/1.25em garamond, georgia, 'times new roman', serif;
11
+ text-align:center;
12
+ color:#333;
13
+ margin:0 auto 15px;
14
+ }
15
+ h2 {
16
+ font:200%/1.25em garamond, georgia, 'times new roman', serif;
17
+ text-align:center;
18
+ color:#AAA;
19
+ margin:30px auto 15px;
20
+ }
21
+ p {
22
+ margin:15px auto;
23
+ padding:15px;
24
+ border-top:1px dotted #DDD;
25
+ border-bottom:1px dotted #DDD;
26
+ }
27
+ p.highlight {
28
+ border:1px solid #FFD;
29
+ padding:15px;
30
+ background:#FFE;
31
+ color:#820;
32
+ }
33
+ p.footer {
34
+ display:block;
35
+ text-align:center;
36
+ border:none;
37
+ }
38
+ pre {
39
+ margin:15px auto;
40
+ }
skin/adminhtml/default/default/css/magestore/bannerslider/flexslider.css ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * jQuery FlexSlider v2.0
3
+ * http://www.woothemes.com/flexslider/
4
+ *
5
+ * Copyright 2012 WooThemes
6
+ * Free to use under the GPLv2 license.
7
+ * http://www.gnu.org/licenses/gpl-2.0.html
8
+ *
9
+ * Contributing author: Tyler Smith (@mbmufffin)
10
+ */
11
+
12
+
13
+ /* Browser Resets */
14
+ .flex-container a:active,
15
+ .flexslider a:active,
16
+ .flex-container a:focus,
17
+ .flexslider a:focus {outline: none;}
18
+ .slides,
19
+ .flex-control-nav,
20
+ .flex-direction-nav {margin: 0; padding: 0; list-style: none;}
21
+
22
+ /* FlexSlider Necessary Styles
23
+ *********************************/
24
+ .flexslider {margin: 0; padding: 0;}
25
+ .flexslider .slides > li {display: none; -webkit-backface-visibility: hidden;} /* Hide the slides before the JS is loaded. Avoids image jumping */
26
+ .flexslider .slides img {width: 100%; display: block;}
27
+ .flex-pauseplay span {text-transform: capitalize;}
28
+
29
+ /* Clearfix for the .slides element */
30
+ .slides:after {content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0;}
31
+ html[xmlns] .slides {display: block;}
32
+ * html .slides {height: 1%;}
33
+
34
+ /* No JavaScript Fallback */
35
+ /* If you are not using another script, such as Modernizr, make sure you
36
+ * include js that eliminates this class on page load */
37
+ .no-js .slides > li:first-child {display: block;}
38
+
39
+
40
+ /* FlexSlider Default Theme
41
+ *********************************/
42
+ .flexslider {margin: 0 0 60px; background: #fff; border: 4px solid #fff; position: relative; -webkit-border-radius: 4px; -moz-border-radius: 4px; -o-border-radius: 4px; border-radius: 4px; box-shadow: 0 1px 4px rgba(0,0,0,.2); -webkit-box-shadow: 0 1px 4px rgba(0,0,0,.2); -moz-box-shadow: 0 1px 4px rgba(0,0,0,.2); -o-box-shadow: 0 1px 4px rgba(0,0,0,.2); zoom: 1;}
43
+ .flex-viewport {max-height: 2000px; -webkit-transition: all 1s ease; -moz-transition: all 1s ease; transition: all 1s ease;}
44
+ .loading .flex-viewport {max-height: 300px;}
45
+ .flexslider .slides {zoom: 1;}
46
+
47
+ .carousel li {margin-right: 5px}
48
+
49
+
50
+ /* Direction Nav */
51
+ .flex-direction-nav {*height: 0;}
52
+ .flex-direction-nav a {width: 30px; height: 30px; margin: -20px 0 0; display: block; background: url(image/bg_direction_nav.png) no-repeat 0 0; position: absolute; top: 50%; z-index: 10; cursor: pointer; text-indent: -9999px; opacity: 0; -webkit-transition: all .3s ease;}
53
+ .flex-direction-nav .flex-next {background-position: 100% 0; right: -36px; }
54
+ .flex-direction-nav .flex-prev {left: -36px;}
55
+ .flexslider:hover .flex-next {opacity: 0.8; right: 5px;}
56
+ .flexslider:hover .flex-prev {opacity: 0.8; left: 5px;}
57
+ .flexslider:hover .flex-next:hover, .flexslider:hover .flex-prev:hover {opacity: 1;}
58
+ .flex-direction-nav .flex-disabled {opacity: .3!important; filter:alpha(opacity=30); cursor: default;}
59
+
60
+ /* Control Nav */
61
+ .flex-control-nav {width: 100%; position: absolute; bottom: -40px; text-align: center;}
62
+ .flex-control-nav li {margin: 0 6px; display: inline-block; zoom: 1; *display: inline;}
63
+ .flex-control-paging li a {width: 11px; height: 11px; display: block; background: #666; background: rgba(0,0,0,0.5); cursor: pointer; text-indent: -9999px; -webkit-border-radius: 20px; -moz-border-radius: 20px; -o-border-radius: 20px; border-radius: 20px; box-shadow: inset 0 0 3px rgba(0,0,0,0.3);}
64
+ .flex-control-paging li a:hover { background: #333; background: rgba(0,0,0,0.7); }
65
+ .flex-control-paging li a.flex-active { background: #000; background: rgba(0,0,0,0.9); cursor: default; }
66
+
67
+ .flex-control-thumbs {margin: 5px 0 0; position: static; overflow: hidden;}
68
+ .flex-control-thumbs li {width: 25%; float: left; margin: 0;}
69
+ .flex-control-thumbs img {width: 100%; display: block; opacity: .7; cursor: pointer;}
70
+ .flex-control-thumbs img:hover {opacity: 1;}
71
+ .flex-control-thumbs .flex-active {opacity: 1; cursor: default;}
72
+
73
+ @media screen and (max-width: 860px) {
74
+ .flex-direction-nav .flex-prev {opacity: 1; left: 0;}
75
+ .flex-direction-nav .flex-next {opacity: 1; right: 0;}
76
+ }
skin/adminhtml/default/default/css/magestore/bannerslider/image/arrow-left.png ADDED
Binary file
skin/adminhtml/default/default/css/magestore/bannerslider/image/arrow-pause.png ADDED
Binary file
skin/adminhtml/default/default/css/magestore/bannerslider/image/arrow-play.png ADDED
Binary file
skin/adminhtml/default/default/css/magestore/bannerslider/image/arrow-right.png ADDED
Binary file
skin/adminhtml/default/default/css/magestore/bannerslider/image/bg_direction_nav.png ADDED
Binary file
skin/adminhtml/default/default/css/magestore/bannerslider/image/close-tiny.png ADDED
Binary file
skin/adminhtml/default/default/css/magestore/bannerslider/image/close.png ADDED
Binary file
skin/adminhtml/default/default/css/magestore/bannerslider/image/cs_leftImg.jpg ADDED
Binary file
skin/adminhtml/default/default/css/magestore/bannerslider/image/cs_rightImg.jpg ADDED
Binary file
skin/adminhtml/default/default/css/magestore/bannerslider/image/demo/kitchen_adventurer_caramel.jpg ADDED
Binary file
skin/adminhtml/default/default/css/magestore/bannerslider/image/demo/kitchen_adventurer_cheesecake_brownie.jpg ADDED
Binary file
skin/adminhtml/default/default/css/magestore/bannerslider/image/demo/kitchen_adventurer_donut.jpg ADDED
Binary file
skin/adminhtml/default/default/css/magestore/bannerslider/image/demo/kitchen_adventurer_lemon.jpg ADDED
Binary file
skin/adminhtml/default/default/css/magestore/bannerslider/image/demo/logo.png ADDED
Binary file
skin/adminhtml/default/default/css/magestore/bannerslider/image/demo/vssver2.scc ADDED
Binary file
skin/adminhtml/default/default/css/magestore/bannerslider/image/slide1/jquery-slider-rotator-left.png ADDED
Binary file
skin/adminhtml/default/default/css/magestore/bannerslider/image/slide1/jquery-slider-rotator-right.png ADDED
Binary file
skin/adminhtml/default/default/css/magestore/bannerslider/image/slide1/jquery-slider-theme.png ADDED
Binary file
skin/adminhtml/default/default/css/magestore/bannerslider/image/slide1/vssver2.scc ADDED
Binary file
skin/adminhtml/default/default/css/magestore/bannerslider/image/slide2/jquery-slider-theme.png ADDED
Binary file
skin/adminhtml/default/default/css/magestore/bannerslider/image/slide2/vssver2.scc ADDED
Binary file
skin/adminhtml/default/default/css/magestore/bannerslider/image/slide3/jquery-slider-theme.png ADDED
Binary file
skin/adminhtml/default/default/css/magestore/bannerslider/image/slide3/vssver2.scc ADDED
Binary file
skin/adminhtml/default/default/css/magestore/bannerslider/image/slide4/jquery-slider-theme.png ADDED
Binary file
skin/adminhtml/default/default/css/magestore/bannerslider/image/slide4/vssver2.scc ADDED
Binary file
skin/adminhtml/default/default/css/magestore/bannerslider/image/vssver2.scc ADDED
Binary file
skin/adminhtml/default/default/css/magestore/bannerslider/jquery.ennui.contentslider.css ADDED
@@ -0,0 +1,128 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Color, Border, and Button Rules
3
+ */
4
+ .contentslider {
5
+ padding:10px; /* This acts as a border for the content slider */
6
+ background:#333; /* This is the color of said border */
7
+ }
8
+ .cs_wrapper, .cs_article {
9
+ background:#FFF; /* Background color for the entries */
10
+ }
11
+ .cs_leftBtn, .cs_rightBtn {
12
+ width:30px; /* Should be as wide as the button graphic being used */
13
+ background:#333; /* This will probably match the contentslider bg color */
14
+ }
15
+
16
+ /*
17
+ * Article styles (font, color, etc.)
18
+ *
19
+ * If textResize is set to TRUE, sizing shouldn't need to be touched. However,
20
+ * depending on the sizes you have defined, additional tweaking may be
21
+ * required in order to get the text to display properly.
22
+ */
23
+ .cs_article h2 {
24
+ font-size:200%;
25
+ line-height:1.125em;
26
+ }
27
+ .cs_article h2 a {
28
+ color:#333;
29
+ text-decoration:none;
30
+ }
31
+ .cs_article p {
32
+ font-size:85%;
33
+ line-height:1.5em;
34
+ color:#777;
35
+ }
36
+ .cs_article .readmore {
37
+ font-size:80%;
38
+ }
39
+
40
+ /*
41
+ ******************************************************************************
42
+ * These styles may be affected by the plugin, so avoid changing them if
43
+ * it's not absolutely necessary.
44
+ ******************************************************************************
45
+ */
46
+ .contentslider {
47
+ position:relative;
48
+ display:block;
49
+ width:900px;
50
+ height:400px;
51
+ margin:0 auto;
52
+ overflow:hidden;
53
+ }
54
+ .cs_wrapper {
55
+ position:relative;
56
+ display:block;
57
+ width:100%;
58
+ height:100%;
59
+ margin:0;
60
+ padding:0;
61
+ overflow:hidden;
62
+ }
63
+ .cs_slider {
64
+ position:absolute;
65
+ width:10000px;
66
+ height:100%;
67
+ margin:0;
68
+ padding:0;
69
+ }
70
+ .cs_article {
71
+ float:left;
72
+ position:relative;
73
+ top:0;
74
+ left:0;
75
+ display:block;
76
+ width:900px;
77
+ height:400px;
78
+ margin:0 auto;
79
+ padding:0;
80
+ }
81
+ .cs_article h2 {
82
+ display:block;
83
+ width:26%;
84
+ margin:10px 26px 5px 67%;
85
+ text-align:left;
86
+ }
87
+ .cs_article img {
88
+ position:absolute;
89
+ top:0;
90
+ left:0;
91
+ width:66%;
92
+ border:0;
93
+ -ms-interpolation-mode:bicubic;
94
+ }
95
+ .cs_article p {
96
+ display:block;
97
+ width:26%;
98
+ margin:0 26px 5px 67%;
99
+ padding:0;
100
+ border:0;
101
+ }
102
+ .cs_article .readmore {
103
+ display:block;
104
+ width:26%;
105
+ margin:0 6% 1% 68%;
106
+ text-align:right;
107
+ }
108
+ .cs_leftBtn, .cs_rightBtn {
109
+ position:absolute;
110
+ top:0;
111
+ height:400px;
112
+ padding:10px 0;
113
+ z-index:10000;
114
+ }
115
+ .cs_leftBtn {
116
+ left:0;
117
+ outline:0;
118
+ }
119
+ .cs_rightBtn {
120
+ right:0;
121
+ outline:0;
122
+ }
123
+ .cs_leftBtn img, .cs_rightBtn img {
124
+ border:0;
125
+ position:relative;
126
+ top:200px;
127
+ margin:0;
128
+ }
skin/adminhtml/default/default/css/magestore/bannerslider/slider1.css ADDED
@@ -0,0 +1,194 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .jquery-slider-wrapper
2
+ {
3
+ position:relative;
4
+ clear:both;
5
+ zoom:1;
6
+ margin:auto;
7
+ }
8
+
9
+ .jquery-slider-slide
10
+ {
11
+ display: none;
12
+ float: left;
13
+ margin: 0;
14
+ padding: 0;
15
+ position: absolute;
16
+ width: 100%;
17
+ }
18
+
19
+ .jquery-slider-slide img
20
+ {
21
+ border:0;
22
+ margin:0;
23
+ padding:0;
24
+ }
25
+
26
+ .jquery-slider-slide-current
27
+ {
28
+ display:block;
29
+ z-index:2;
30
+ }
31
+
32
+ .jquery-slider-slide-next
33
+ {
34
+ display:block;
35
+ z-index:1;
36
+ }
37
+
38
+ .jquery-slider-selectors
39
+ {
40
+ display:inline;
41
+ float:left;
42
+ overflow:hidden;
43
+ position:absolute;
44
+ bottom:5px;
45
+ left:50%;
46
+ z-index:4;
47
+ color:#FFFFFF;
48
+ }
49
+
50
+ .jquery-slider-selector
51
+ {
52
+ background:url(image/slide1/jquery-slider-theme.png) no-repeat 0px -59px;
53
+ display:inline;
54
+ float:left;
55
+ width:10px;
56
+ height:10px;
57
+ margin:0 0 0 3px;
58
+ }
59
+
60
+ .jquery-slider-selector-current
61
+ {
62
+ background:url(image/slide1/jquery-slider-theme.png) no-repeat -10px -59px;
63
+ }
64
+
65
+ .jquery-slider-selector span
66
+ {
67
+ display:none;
68
+ }
69
+
70
+ .jquery-slider-control
71
+ {
72
+ position:absolute;
73
+ right:13px;
74
+ top:11px;
75
+ cursor: pointer;
76
+ width:9px;
77
+ height:14px;
78
+ z-index:4;
79
+ }
80
+
81
+ .jquery-slider-control span
82
+ {
83
+ display:none;
84
+ }
85
+
86
+ .jquery-slider-control-play
87
+ {
88
+ background:url(image/slide1/jquery-slider-theme.png) no-repeat 0px -42px;
89
+ }
90
+
91
+ .jquery-slider-control-pause
92
+ {
93
+ background:url(image/slide1/jquery-slider-theme.png) no-repeat -10px -42px;
94
+ }
95
+
96
+ .jquery-slider-navigation
97
+ {
98
+ display:block;
99
+ }
100
+
101
+ .jquery-slider-navigation-prev
102
+ {
103
+ background:url(image/slide1/jquery-slider-theme.png) no-repeat 0 0;
104
+ left:-21px;
105
+ top:50%;
106
+ position:absolute;
107
+ cursor: pointer;
108
+ width:21px;
109
+ height:40px;
110
+ margin-top:-20px;
111
+ z-index:4;
112
+ }
113
+
114
+ .jquery-slider-navigation-prev span
115
+ {
116
+ display:none;
117
+ }
118
+
119
+ .jquery-slider-navigation-next
120
+ {
121
+ background:url(image/slide1/jquery-slider-theme.png) no-repeat -21px 0;
122
+ right:-21px;
123
+ top:50%;
124
+ position:absolute;
125
+ cursor: pointer;
126
+ width:21px;
127
+ height:40px;
128
+ margin-top:-20px;
129
+ z-index:4;
130
+ }
131
+
132
+ .jquery-slider-navigation-next span
133
+ {
134
+ display:none;
135
+ }
136
+
137
+
138
+ .jquery-slider-wrapper .caption
139
+ {
140
+ padding:6px 10px;
141
+ background:#333333;
142
+ font-size:13px;
143
+ position:absolute;
144
+ bottom:10px;
145
+ left:10px;
146
+ color:#FFFFFF;
147
+ }
148
+
149
+ .jquery-slider-timer
150
+ {
151
+ color:#FFFFFF;
152
+ position:absolute;
153
+ top:5px;
154
+ right:5px;
155
+ z-index:4;
156
+ overflow:hidden;
157
+ width:26px;
158
+ height:26px;
159
+ }
160
+
161
+ .jquery-slider-timer-rotator
162
+ {
163
+ background:url(image/slide1/jquery-slider-rotator-left.png) no-repeat 0 0;
164
+ overflow:hidden;
165
+ width:26px;
166
+ height:26px;
167
+ position:absolute;
168
+ top:0;
169
+ left:-13px;
170
+ z-index:3;
171
+ }
172
+
173
+ .jquery-slider-timer-mask
174
+ {
175
+ overflow:hidden;
176
+ width:13px;
177
+ height:26px;
178
+ position:absolute;
179
+ top:0;
180
+ right:0px;
181
+ z-index:2;
182
+ }
183
+
184
+ .jquery-slider-timer-rotator-move
185
+ {
186
+ left:0;
187
+ }
188
+
189
+ .jquery-slider-timer-mask-move
190
+ {
191
+ width:26px;
192
+ left:0;
193
+ background:url(image/slide1/jquery-slider-rotator-right.png) no-repeat 0 0;
194
+ }
skin/adminhtml/default/default/css/magestore/bannerslider/slider2.css ADDED
@@ -0,0 +1,183 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .jquery-slider-wrapper
2
+ {
3
+ position:relative;
4
+ clear:both;
5
+ zoom:1;
6
+ margin:auto;
7
+ }
8
+
9
+ .jquery-slider-slide
10
+ {
11
+ display: none;
12
+ float: left;
13
+ margin: 0;
14
+ padding: 0;
15
+ position: absolute;
16
+ width: 100%;
17
+ }
18
+
19
+ .jquery-slider-slide img
20
+ {
21
+ border:0;
22
+ margin:0;
23
+ padding:0;
24
+ }
25
+
26
+ .jquery-slider-slide-current
27
+ {
28
+ display:block;
29
+ z-index:2;
30
+ }
31
+
32
+ .jquery-slider-slide-next
33
+ {
34
+ display:block;
35
+ z-index:1;
36
+ }
37
+
38
+ .jquery-slider-selectors
39
+ {
40
+ display:block;
41
+ overflow:hidden;
42
+ position:absolute;
43
+ bottom:10px;
44
+ right:10px;
45
+ z-index:3;
46
+ }
47
+
48
+ .jquery-slider-selector
49
+ {
50
+ background:url(image/slide2//jquery-slider-theme.png) no-repeat 0px -70px;
51
+ display:inline;
52
+ float:left;
53
+ width:16px;
54
+ height:16px;
55
+ margin:0 0 0 5px;
56
+ }
57
+
58
+ .jquery-slider-selector-current
59
+ {
60
+ background:url(image/slide2//jquery-slider-theme.png) no-repeat -16px -70px;
61
+ }
62
+
63
+ .jquery-slider-selector span
64
+ {
65
+ display:none;
66
+ }
67
+
68
+ .jquery-slider-control
69
+ {
70
+ display:none;
71
+ right:50%;
72
+ top:50%;
73
+ position:absolute;
74
+ cursor: pointer;
75
+ width:48px;
76
+ height:69px;
77
+ margin-top:-34px;
78
+ margin-right:-24px;
79
+ z-index:4;
80
+ }
81
+
82
+ .jquery-slider-control span
83
+ {
84
+ display:none;
85
+ }
86
+
87
+ .jquery-slider-control-play
88
+ {
89
+ background:url(image/slide2//jquery-slider-theme.png) no-repeat -144px 0;
90
+ }
91
+
92
+ .jquery-slider-control-pause
93
+ {
94
+ background:url(image/slide2//jquery-slider-theme.png) no-repeat -96px 0;
95
+ }
96
+
97
+ .jquery-slider-hovered .jquery-slider-control
98
+ {
99
+ display:block;
100
+ }
101
+
102
+ .jquery-slider-navigation
103
+ {
104
+ display:block;
105
+ }
106
+
107
+ .jquery-slider-navigation-prev
108
+ {
109
+ background:url(image/slide2//jquery-slider-theme.png) no-repeat 0 0;
110
+ display:none;
111
+ left:0;
112
+ top:50%;
113
+ position:absolute;
114
+ cursor: pointer;
115
+ width:48px;
116
+ height:69px;
117
+ margin-top:-34px;
118
+ z-index:4;
119
+ }
120
+
121
+ .jquery-slider-navigation-prev span
122
+ {
123
+ display:none;
124
+ }
125
+
126
+ .jquery-slider-navigation-next
127
+ {
128
+ background:url(image/slide2//jquery-slider-theme.png) no-repeat -48px 0;
129
+ display:none;
130
+ right:0;
131
+ top:50%;
132
+ position:absolute;
133
+ cursor: pointer;
134
+ width:48px;
135
+ height:69px;
136
+ margin-top:-34px;
137
+ z-index:4;
138
+ }
139
+
140
+ .jquery-slider-navigation-next span
141
+ {
142
+ display:none;
143
+ }
144
+
145
+ .jquery-slider-hovered .jquery-slider-navigation-prev,
146
+ .jquery-slider-hovered .jquery-slider-navigation-next
147
+ {
148
+ display:block;
149
+ }
150
+
151
+
152
+
153
+ .jquery-slider-wrapper .caption
154
+ {
155
+ padding:6px 10px;
156
+ background:#333333;
157
+ font-size:13px;
158
+ position:absolute;
159
+ bottom:10px;
160
+ left:10px;
161
+ color:#FFFFFF;
162
+ }
163
+
164
+ .jquery-slider-timer
165
+ {
166
+ color:#000000;
167
+ height:3px;
168
+ width:100%;
169
+ position:absolute;
170
+ bottom:0;
171
+ left:0;
172
+ z-index:4;
173
+ }
174
+
175
+ .jquery-slider-timer-bar
176
+ {
177
+ background:#000000;
178
+ opacity:0.5;
179
+ height:3px;
180
+ width:0;
181
+ float:left;
182
+ display:inline;
183
+ }
skin/adminhtml/default/default/css/magestore/bannerslider/slider3.css ADDED
@@ -0,0 +1,422 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .jquery-slider-wrapper
2
+ {
3
+ position:relative;
4
+ clear:both;
5
+ zoom:1;
6
+ margin:auto;
7
+ }
8
+
9
+ .jquery-slider-slide
10
+ {
11
+ display: none;
12
+ float: left;
13
+ margin: 0;
14
+ padding: 0;
15
+ position: absolute;
16
+ width: 100%;
17
+ }
18
+
19
+ .jquery-slider-slide img
20
+ {
21
+ border:0;
22
+ margin:0;
23
+ padding:0;
24
+ }
25
+
26
+ .jquery-slider-slide-current
27
+ {
28
+ display:block;
29
+ z-index:2;
30
+ }
31
+
32
+ .jquery-slider-slide-next
33
+ {
34
+ display:block;
35
+ z-index:1;
36
+ }
37
+
38
+ .jquery-slider-selectors
39
+ {
40
+ display:block;
41
+ overflow:hidden;
42
+ position:absolute;
43
+ bottom:10px;
44
+ right:10px;
45
+ z-index:3;
46
+ }
47
+
48
+ .jquery-slider-option-navigation-selector-control-timer .jquery-slider-selectors,
49
+ .jquery-slider-option-navigation-selector-control .jquery-slider-selectors
50
+ {
51
+ right:100px;
52
+ }
53
+
54
+ .jquery-slider-option-navigation-selector-timer .jquery-slider-selectors,
55
+ .jquery-slider-option-navigation-selector .jquery-slider-selectors
56
+ {
57
+ right:70px;
58
+ }
59
+
60
+ .jquery-slider-option-selector-control-timer .jquery-slider-selectors,
61
+ .jquery-slider-option-selector-control .jquery-slider-selectors
62
+ {
63
+ right:40px;
64
+ }
65
+
66
+ .jquery-slider-selector
67
+ {
68
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -100px 0;
69
+ display:inline;
70
+ float:left;
71
+ width:25px;
72
+ height:25px;
73
+ margin:0 0 0 5px;
74
+ }
75
+
76
+ .jquery-slider-selector span
77
+ {
78
+ display:block;
79
+ width:100%;
80
+ height:100%;
81
+ }
82
+
83
+ .jquery-slider-selector-1
84
+ {
85
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat 0px -50px;
86
+ }
87
+
88
+ .jquery-slider-selector-2
89
+ {
90
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -31px -50px;
91
+ }
92
+
93
+ .jquery-slider-selector-3
94
+ {
95
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -60px -50px;
96
+ }
97
+
98
+ .jquery-slider-selector-4
99
+ {
100
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -93px -50px;
101
+ }
102
+
103
+ .jquery-slider-selector-5
104
+ {
105
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -126px -50px;
106
+ }
107
+
108
+ .jquery-slider-selector-6
109
+ {
110
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -155px -50px;
111
+ }
112
+
113
+ .jquery-slider-selector-7
114
+ {
115
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -184px -50px;
116
+ }
117
+
118
+ .jquery-slider-selector-8
119
+ {
120
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -213px -50px;
121
+ }
122
+
123
+ .jquery-slider-selector-9
124
+ {
125
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -246px -50px;
126
+ }
127
+
128
+ .jquery-slider-selector-10
129
+ {
130
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -281px -50px;
131
+ }
132
+
133
+ .jquery-slider-selector-11
134
+ {
135
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -320px -50px;
136
+ }
137
+
138
+ .jquery-slider-selector-12
139
+ {
140
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -351px -50px;
141
+ }
142
+
143
+ .jquery-slider-selector-13
144
+ {
145
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -383px -50px;
146
+ }
147
+
148
+ .jquery-slider-selector-14
149
+ {
150
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -419px -50px;
151
+ }
152
+
153
+ .jquery-slider-selector-15
154
+ {
155
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -451px -50px;
156
+ }
157
+
158
+ .jquery-slider-selector-16
159
+ {
160
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -487px -50px;
161
+ }
162
+
163
+ .jquery-slider-selector-17
164
+ {
165
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -519px -50px;
166
+ }
167
+
168
+ .jquery-slider-selector-18
169
+ {
170
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -555px -50px;
171
+ }
172
+
173
+ .jquery-slider-selector-19
174
+ {
175
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -587px -50px;
176
+ }
177
+
178
+ .jquery-slider-selector-20
179
+ {
180
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -624px -50px;
181
+ }
182
+
183
+ .jquery-slider-selector-current
184
+ {
185
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -100px -25px;
186
+ }
187
+
188
+ .jquery-slider-selector-current .jquery-slider-selector-1
189
+ {
190
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat 0px -81px;
191
+ }
192
+
193
+ .jquery-slider-selector-current .jquery-slider-selector-2
194
+ {
195
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -31px -81px;
196
+ }
197
+
198
+ .jquery-slider-selector-current .jquery-slider-selector-3
199
+ {
200
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -60px -81px;
201
+ }
202
+
203
+ .jquery-slider-selector-current .jquery-slider-selector-4
204
+ {
205
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -93px -81px;
206
+ }
207
+
208
+ .jquery-slider-selector-current .jquery-slider-selector-5
209
+ {
210
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -126px -81px;
211
+ }
212
+
213
+ .jquery-slider-selector-current .jquery-slider-selector-6
214
+ {
215
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -155px -81px;
216
+ }
217
+
218
+ .jquery-slider-selector-current .jquery-slider-selector-7
219
+ {
220
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -184px -81px;
221
+ }
222
+
223
+ .jquery-slider-selector-current .jquery-slider-selector-8
224
+ {
225
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -213px -81px;
226
+ }
227
+
228
+ .jquery-slider-selector-current .jquery-slider-selector-9
229
+ {
230
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -246px -81px;
231
+ }
232
+
233
+ .jquery-slider-selector-current .jquery-slider-selector-10
234
+ {
235
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -281px -81px;
236
+ }
237
+
238
+ .jquery-slider-selector-current .jquery-slider-selector-11
239
+ {
240
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -320px -81px;
241
+ }
242
+
243
+ .jquery-slider-selector-current .jquery-slider-selector-12
244
+ {
245
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -351px -81px;
246
+ }
247
+
248
+ .jquery-slider-selector-current .jquery-slider-selector-13
249
+ {
250
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -383px -81px;
251
+ }
252
+
253
+ .jquery-slider-selector-current .jquery-slider-selector-14
254
+ {
255
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -419px -81px;
256
+ }
257
+
258
+ .jquery-slider-selector-current .jquery-slider-selector-15
259
+ {
260
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -451px -81px;
261
+ }
262
+
263
+ .jquery-slider-selector-current .jquery-slider-selector-16
264
+ {
265
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -487px -81px;
266
+ }
267
+
268
+ .jquery-slider-selector-current .jquery-slider-selector-17
269
+ {
270
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -519px -81px;
271
+ }
272
+
273
+ .jquery-slider-selector-current .jquery-slider-selector-18
274
+ {
275
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -555px -81px;
276
+ }
277
+
278
+ .jquery-slider-selector-current .jquery-slider-selector-19
279
+ {
280
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -587px -81px;
281
+ }
282
+
283
+ .jquery-slider-selector-current .jquery-slider-selector-20
284
+ {
285
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -624px -81px;
286
+ }
287
+
288
+
289
+ .jquery-slider-selector span span
290
+ {
291
+ display:none;
292
+ }
293
+
294
+
295
+ .jquery-slider-control
296
+ {
297
+ display:block;
298
+ position:absolute;
299
+ cursor: pointer;
300
+ width:25px;
301
+ height:25px;
302
+ z-index:4;
303
+ bottom:10px;
304
+ right:10px;
305
+ }
306
+
307
+ .jquery-slider-control span
308
+ {
309
+ display:none;
310
+ }
311
+
312
+ .jquery-slider-control-play
313
+ {
314
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -75px 0;
315
+ }
316
+
317
+ .jquery-slider-control-pause
318
+ {
319
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -50px 0;
320
+ }
321
+
322
+ .jquery-slider-control-play:hover
323
+ {
324
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -75px -25px;
325
+ }
326
+
327
+ .jquery-slider-control-pause:hover
328
+ {
329
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -50px -25px;
330
+ }
331
+
332
+
333
+ .jquery-slider-navigation
334
+ {
335
+ display:block;
336
+ position:absolute;
337
+ z-index:4;
338
+ bottom:10px;
339
+ right:10px;
340
+ }
341
+
342
+ .jquery-slider-option-navigation-selector-control .jquery-slider-navigation,
343
+ .jquery-slider-option-navigation-selector-control-timer .jquery-slider-navigation,
344
+ .jquery-slider-option-navigation-control .jquery-slider-navigation,
345
+ .jquery-slider-option-navigation-control-timer .jquery-slider-navigation
346
+ {
347
+ right:40px;
348
+ }
349
+
350
+
351
+ .jquery-slider-navigation-prev
352
+ {
353
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat 0 0;
354
+ cursor: pointer;
355
+ width:25px;
356
+ height:25px;
357
+ float:left;
358
+ margin:0 0 0 5px;
359
+ }
360
+
361
+ .jquery-slider-navigation-prev span
362
+ {
363
+ display:none;
364
+ }
365
+
366
+ .jquery-slider-navigation-prev:hover
367
+ {
368
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat 0 -25px;
369
+ }
370
+
371
+ .jquery-slider-navigation-next
372
+ {
373
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -25px 0;
374
+ cursor: pointer;
375
+ width:25px;
376
+ height:25px;
377
+ float:left;
378
+ margin:0 0 0 5px;
379
+ }
380
+
381
+ .jquery-slider-navigation-next span
382
+ {
383
+ display:none;
384
+ }
385
+
386
+ .jquery-slider-navigation-next:hover
387
+ {
388
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -25px -25px;
389
+ }
390
+
391
+ .jquery-slider-wrapper .caption
392
+ {
393
+ padding:6px 10px;
394
+ background:#1e1e1e;
395
+ font-size:10px;
396
+ font-family:Arial, Verdana;
397
+ position:absolute;
398
+ top:10px;
399
+ left:10px;
400
+ color:#efefef;
401
+ }
402
+
403
+ .jquery-slider-timer
404
+ {
405
+ color:#000000;
406
+ height:3px;
407
+ width:100%;
408
+ position:absolute;
409
+ bottom:0;
410
+ left:0;
411
+ z-index:4;
412
+ }
413
+
414
+ .jquery-slider-timer-bar
415
+ {
416
+ background:#1e1e1e;
417
+ opacity:0.5;
418
+ height:3px;
419
+ width:0;
420
+ float:left;
421
+ display:inline;
422
+ }
skin/adminhtml/default/default/css/magestore/bannerslider/slider4.css ADDED
@@ -0,0 +1,214 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .jquery-slider-wrapper
2
+ {
3
+ position:relative;
4
+ clear:both;
5
+ zoom:1;
6
+ margin:auto
7
+ }
8
+
9
+ .jquery-slider-slide
10
+ {
11
+ display: none;
12
+ float: left;
13
+ margin: 0;
14
+ padding: 0;
15
+ position: absolute;
16
+ width: 100%;
17
+ }
18
+
19
+ .jquery-slider-slide img
20
+ {
21
+ border:0;
22
+ margin:0;
23
+ padding:0;
24
+ }
25
+
26
+ .jquery-slider-slide-current
27
+ {
28
+ display:block;
29
+ z-index:2;
30
+ }
31
+
32
+ .jquery-slider-slide-next
33
+ {
34
+ display:block;
35
+ z-index:1;
36
+ }
37
+
38
+ .jquery-slider-selectors
39
+ {
40
+ display:block;
41
+ overflow:hidden;
42
+ position:absolute;
43
+ bottom:5px;
44
+ right:5px;
45
+ z-index:3;
46
+ width:24px;
47
+ }
48
+
49
+ .jquery-slider-option-navigation-selector-control-timer .jquery-slider-selectors,
50
+ .jquery-slider-option-navigation-selector-timer .jquery-slider-selectors,
51
+ .jquery-slider-option-selector-control-timer .jquery-slider-selectors,
52
+ .jquery-slider-option-selector-timer .jquery-slider-selectors
53
+ {
54
+ bottom:9px;
55
+ }
56
+
57
+
58
+ .jquery-slider-selector
59
+ {
60
+ background:url(image/slide4/jquery-slider-theme.png) no-repeat -20px 0;
61
+ display:inline;
62
+ float:left;
63
+ width:10px;
64
+ height:10px;
65
+ margin:2px 0 0 2px;
66
+ }
67
+
68
+ .jquery-slider-selector span
69
+ {
70
+ display:none;
71
+ }
72
+
73
+ .jquery-slider-selector-current
74
+ {
75
+ background:url(image/slide4/jquery-slider-theme.png) no-repeat -20px -10px;
76
+ }
77
+
78
+ .jquery-slider-control
79
+ {
80
+ display:block;
81
+ position:absolute;
82
+ cursor: pointer;
83
+ width:19px;
84
+ height:20px;
85
+ z-index:4;
86
+ top:0px;
87
+ right:-19px;
88
+ }
89
+
90
+ .jquery-slider-control span
91
+ {
92
+ display:none;
93
+ }
94
+
95
+ .jquery-slider-option-navigation-selector-control .jquery-slider-control,
96
+ .jquery-slider-option-navigation-selector-control-timer .jquery-slider-control,
97
+ .jquery-slider-option-navigation-control .jquery-slider-control,
98
+ .jquery-slider-option-navigation-control-timer .jquery-slider-control,
99
+ .jquery-slider-option-selector-control .jquery-slider-control,
100
+ .jquery-slider-option-selector-control-timer .jquery-slider-control
101
+ {
102
+ top:24px;
103
+ }
104
+
105
+ .jquery-slider-control-play
106
+ {
107
+ background:url(image/slide4/jquery-slider-theme.png) no-repeat 0 -44px;
108
+ }
109
+
110
+ .jquery-slider-control-pause
111
+ {
112
+ background:url(image/slide4/jquery-slider-theme.png) no-repeat 0 -24px;
113
+ }
114
+
115
+ .jquery-slider-control-play:active
116
+ {
117
+ background:url(image/slide4/jquery-slider-theme.png) no-repeat 0 -132px;
118
+ }
119
+
120
+ .jquery-slider-control-pause:active
121
+ {
122
+ background:url(image/slide4/jquery-slider-theme.png) no-repeat 0 -112px;
123
+ }
124
+
125
+ .jquery-slider-navigation
126
+ {
127
+ display:block;
128
+ position:absolute;
129
+ z-index:4;
130
+ top:0px;
131
+ right:-19px;
132
+ width:19px;
133
+ }
134
+
135
+ .jquery-slider-navigation-prev
136
+ {
137
+ background:url(image/slide4/jquery-slider-theme.png) no-repeat 0 0;
138
+ cursor: pointer;
139
+ width:19px;
140
+ height:24px;
141
+ position:absolute;
142
+ top:0;
143
+ left:0;
144
+ }
145
+
146
+ .jquery-slider-navigation-prev span
147
+ {
148
+ display:none;
149
+ }
150
+
151
+ .jquery-slider-navigation-prev:active
152
+ {
153
+ background:url(image/slide4/jquery-slider-theme.png) no-repeat 0 -88px;
154
+ }
155
+
156
+ .jquery-slider-navigation-next
157
+ {
158
+ background:url(image/slide4/jquery-slider-theme.png) no-repeat 0 -64px;
159
+ cursor: pointer;
160
+ width:19px;
161
+ height:24px;
162
+ position:absolute;
163
+ top:24px;
164
+ left:0;
165
+ }
166
+
167
+ .jquery-slider-navigation-next span
168
+ {
169
+ display:none;
170
+ }
171
+
172
+ .jquery-slider-navigation-next:active
173
+ {
174
+ background:url(image/slide4/jquery-slider-theme.png) no-repeat 0 -152px;
175
+ }
176
+
177
+ .jquery-slider-option-navigation-selector-control .jquery-slider-navigation-next,
178
+ .jquery-slider-option-navigation-selector-control-timer .jquery-slider-navigation-next,
179
+ .jquery-slider-option-navigation-control .jquery-slider-navigation-next,
180
+ .jquery-slider-option-navigation-control-timer .jquery-slider-navigation-next
181
+ {
182
+ top:44px;
183
+ }
184
+
185
+ .jquery-slider-wrapper .caption
186
+ {
187
+ padding:6px 10px;
188
+ background:#333333;
189
+ font-size:13px;
190
+ position:absolute;
191
+ bottom:10px;
192
+ left:10px;
193
+ color:#FFFFFF;
194
+ }
195
+
196
+ .jquery-slider-timer
197
+ {
198
+ color:#000000;
199
+ height:2px;
200
+ width:22px;
201
+ position:absolute;
202
+ bottom:5px;
203
+ right:5px;
204
+ z-index:4;
205
+ }
206
+
207
+ .jquery-slider-timer-bar
208
+ {
209
+ background:url(image/slide4/jquery-slider-theme.png) no-repeat -31px 0;
210
+ float:left;
211
+ display:inline;
212
+ height:2px;
213
+ width:0px;
214
+ }
skin/adminhtml/default/default/css/magestore/bannerslider/vssver2.scc ADDED
Binary file
skin/adminhtml/default/default/css/magestore/inventory.css ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ #tinybox {
2
+ background: #fff !important;
3
+ border: 10px solid #E3E3E3;
4
+ display: none;
5
+ padding: 10px;
6
+ position: absolute;
7
+ z-index: 2000;
8
+ }
9
+ #tinymask {position:absolute; display:none; top:0; left:0; height:100%; width:100%; background:#000; z-index:1500}
10
+ #tinycontent {position: relative;}
skin/adminhtml/default/default/css/magestore/magenotification.css ADDED
@@ -0,0 +1 @@
 
1
+ .licensekey-warning {background: url(notice_price.gif) top left no-repeat;padding:0 0 0 20px;}
skin/adminhtml/default/default/css/magestore/notice_price.gif ADDED
Binary file
skin/adminhtml/default/default/css/tinybox/images/Thumbs.db DELETED
Binary file
skin/frontend/base/default/css/magestore/bannerslider/flexslider.css ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * jQuery FlexSlider v2.0
3
+ * http://www.woothemes.com/flexslider/
4
+ *
5
+ * Copyright 2012 WooThemes
6
+ * Free to use under the GPLv2 license.
7
+ * http://www.gnu.org/licenses/gpl-2.0.html
8
+ *
9
+ * Contributing author: Tyler Smith (@mbmufffin)
10
+ */
11
+
12
+
13
+ /* Browser Resets */
14
+ .flex-container a:active,
15
+ .flexslider a:active,
16
+ .flex-container a:focus,
17
+ .flexslider a:focus {outline: none;}
18
+ .slides,
19
+ .flex-control-nav,
20
+ .flex-direction-nav {margin: 0; padding: 0; list-style: none;}
21
+
22
+ /* FlexSlider Necessary Styles
23
+ *********************************/
24
+ .flexslider {margin: 0; padding: 0;}
25
+ .flexslider .slides > li {display: none; -webkit-backface-visibility: hidden;} /* Hide the slides before the JS is loaded. Avoids image jumping */
26
+ .flexslider .slides img {width: 100%; display: block;}
27
+ .flex-pauseplay span {text-transform: capitalize;}
28
+
29
+ /* Clearfix for the .slides element */
30
+ .slides:after {content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0;}
31
+ html[xmlns] .slides {display: block;}
32
+ * html .slides {height: 1%;}
33
+
34
+ /* No JavaScript Fallback */
35
+ /* If you are not using another script, such as Modernizr, make sure you
36
+ * include js that eliminates this class on page load */
37
+ .no-js .slides > li:first-child {display: block;}
38
+
39
+
40
+ /* FlexSlider Default Theme
41
+ *********************************/
42
+ .flexslider {margin: 0 0 60px; background: #fff; border: 4px solid #fff; position: relative; -webkit-border-radius: 4px; -moz-border-radius: 4px; -o-border-radius: 4px; border-radius: 4px; box-shadow: 0 1px 4px rgba(0,0,0,.2); -webkit-box-shadow: 0 1px 4px rgba(0,0,0,.2); -moz-box-shadow: 0 1px 4px rgba(0,0,0,.2); -o-box-shadow: 0 1px 4px rgba(0,0,0,.2); zoom: 1;}
43
+ .flex-viewport {max-height: 2000px; -webkit-transition: all 1s ease; -moz-transition: all 1s ease; transition: all 1s ease;}
44
+ .loading .flex-viewport {max-height: 300px;}
45
+ .flexslider .slides {zoom: 1;}
46
+
47
+ .carousel li {margin-right: 5px}
48
+
49
+
50
+ /* Direction Nav */
51
+ .flex-direction-nav {*height: 0;}
52
+ .flex-direction-nav a {width: 30px; height: 30px; margin: -20px 0 0; display: block; background: url(image/bg_direction_nav.png) no-repeat 0 0; position: absolute; top: 50%; z-index: 10; cursor: pointer; text-indent: -9999px; opacity: 0; -webkit-transition: all .3s ease;}
53
+ .flex-direction-nav .flex-next {background-position: 100% 0; right: -36px; }
54
+ .flex-direction-nav .flex-prev {left: -36px;}
55
+ .flexslider:hover .flex-next {opacity: 0.8; right: 5px;}
56
+ .flexslider:hover .flex-prev {opacity: 0.8; left: 5px;}
57
+ .flexslider:hover .flex-next:hover, .flexslider:hover .flex-prev:hover {opacity: 1;}
58
+ .flex-direction-nav .flex-disabled {opacity: .3!important; filter:alpha(opacity=30); cursor: default;}
59
+
60
+ /* Control Nav */
61
+ .flex-control-nav {width: 100%; position: absolute; bottom: -40px; text-align: center;}
62
+ .flex-control-nav li {margin: 0 6px; display: inline-block; zoom: 1; *display: inline;}
63
+ .flex-control-paging li a {width: 11px; height: 11px; display: block; background: #666; background: rgba(0,0,0,0.5); cursor: pointer; text-indent: -9999px; -webkit-border-radius: 20px; -moz-border-radius: 20px; -o-border-radius: 20px; border-radius: 20px; box-shadow: inset 0 0 3px rgba(0,0,0,0.3);}
64
+ .flex-control-paging li a:hover { background: #333; background: rgba(0,0,0,0.7); }
65
+ .flex-control-paging li a.flex-active { background: #000; background: rgba(0,0,0,0.9); cursor: default; }
66
+
67
+ .flex-control-thumbs {margin: 5px 0 0; position: static; overflow: hidden;}
68
+ .flex-control-thumbs li {width: 24.6%; float: left; margin: 0 0.2%;}
69
+ .flex-control-thumbs img {width: 100%; display: block; opacity: .7; cursor: pointer;}
70
+ .flex-control-thumbs img:hover {opacity: 1;}
71
+ .flex-control-thumbs .flex-active {opacity: 1; cursor: default;}
72
+
73
+ @media screen and (max-width: 860px) {
74
+ .flex-direction-nav .flex-prev {opacity: 1; left: 0;}
75
+ .flex-direction-nav .flex-next {opacity: 1; right: 0;}
76
+ }
skin/frontend/base/default/css/magestore/bannerslider/image/arrow-left.png ADDED
Binary file
skin/frontend/base/default/css/magestore/bannerslider/image/arrow-pause.png ADDED
Binary file
skin/frontend/base/default/css/magestore/bannerslider/image/arrow-play.png ADDED
Binary file
skin/frontend/base/default/css/magestore/bannerslider/image/arrow-right.png ADDED
Binary file
skin/frontend/base/default/css/magestore/bannerslider/image/bg_direction_nav.png ADDED
Binary file
skin/frontend/base/default/css/magestore/bannerslider/image/close-tiny.png ADDED
Binary file
skin/frontend/base/default/css/magestore/bannerslider/image/close.png ADDED
Binary file
skin/frontend/base/default/css/magestore/bannerslider/image/cs_leftImg.jpg ADDED
Binary file
skin/frontend/base/default/css/magestore/bannerslider/image/cs_rightImg.jpg ADDED
Binary file
skin/frontend/base/default/css/magestore/bannerslider/image/note.png ADDED
Binary file
skin/frontend/base/default/css/magestore/bannerslider/image/note2.png ADDED
Binary file
skin/frontend/base/default/css/magestore/bannerslider/image/slide1/jquery-slider-rotator-left.png ADDED
Binary file
skin/frontend/base/default/css/magestore/bannerslider/image/slide1/jquery-slider-rotator-right.png ADDED
Binary file
skin/frontend/base/default/css/magestore/bannerslider/image/slide1/jquery-slider-theme.png ADDED
Binary file
skin/frontend/base/default/css/magestore/bannerslider/image/slide1/vssver2.scc ADDED
Binary file
skin/frontend/base/default/css/magestore/bannerslider/image/slide2/jquery-slider-theme.png ADDED
Binary file
skin/frontend/base/default/css/magestore/bannerslider/image/slide2/vssver2.scc ADDED
Binary file
skin/frontend/base/default/css/magestore/bannerslider/image/slide3/jquery-slider-theme.png ADDED
Binary file
skin/frontend/base/default/css/magestore/bannerslider/image/slide3/vssver2.scc ADDED
Binary file
skin/frontend/base/default/css/magestore/bannerslider/image/slide4/jquery-slider-theme.png ADDED
Binary file
skin/frontend/base/default/css/magestore/bannerslider/image/slide4/vssver2.scc ADDED
Binary file
skin/frontend/base/default/css/magestore/bannerslider/image/vssver2.scc ADDED
Binary file
skin/frontend/base/default/css/magestore/bannerslider/note.css ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "utf-8";
2
+
3
+ #magestore-bannerslider-note {
4
+ position:fixed;
5
+ top:10px;
6
+ left:5px;
7
+ z-index:8000;
8
+ }
9
+ #magestore-bannerslider-note .small-note{
10
+ background:url(image/note.png) 50% 10% no-repeat ;
11
+ width:100px;
12
+ height:100px;
13
+ padding:30px 20px;
14
+ padding-bottom:5px;
15
+ }
16
+ #magestore-bannerslider-note .larger-note{
17
+ background:url(image/note2.png) no-repeat;
18
+ width:280px;
19
+ height:300px;
20
+ padding:25px 20px 20px 20px;
21
+ display:none;
22
+ }
23
+ #magestore-bannerslider-note #note-close {
24
+ background:url(image/close-tiny.png) no-repeat;
25
+ width:22px;
26
+ height:22px;
27
+ float:left;
28
+ margin-top:-10px;
29
+ }
30
+ #magestore-bannerslider-note .show-note{
31
+ position:fixed;
32
+ z-index:9000;
33
+ top:10px;
34
+ left:0;
35
+ background:#fff;
36
+ opacity:0.005;
37
+ width:35px;
38
+ height:140px;
39
+ display:none;
40
+ }
skin/frontend/base/default/css/magestore/bannerslider/popup.css ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #magestore-bannerslider-popup{
2
+ padding: 2px;
3
+ position: fixed;
4
+ z-index: 19990;
5
+ background: #fff;
6
+ border: 2px;
7
+ }
8
+ #magestore-bannerslider-popup-close{
9
+ cursor: pointer;
10
+ height: 22px;
11
+ width:22px;
12
+ position: absolute;
13
+ right: 0px;
14
+ top: -25px;
15
+ z-index: 19999;
16
+ background:url(image/close-tiny.png) no-repeat center;
17
+ }
18
+ #bg_fade {
19
+ background-color: #000000;
20
+ height: 100%;
21
+ left: 0;
22
+ margin: 0;
23
+ padding: 0;
24
+ position: fixed;
25
+ top: 0;
26
+ visibility: hidden;
27
+ width: 100%;
28
+ z-index: 1000;
29
+ opacity: 0.7;
30
+ }
skin/frontend/base/default/css/magestore/bannerslider/slider1.css ADDED
@@ -0,0 +1,193 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .bannerslide-default-slider .jquery-slider-wrapper
2
+ {
3
+ position:relative;
4
+ clear:both;
5
+ zoom:1;
6
+ }
7
+
8
+ .bannerslide-default-slider .jquery-slider-slide
9
+ {
10
+ display: none;
11
+ float: left;
12
+ margin: 0;
13
+ padding: 0;
14
+ position: absolute;
15
+ width: 100%;
16
+ }
17
+
18
+ .bannerslide-default-slider .jquery-slider-slide img
19
+ {
20
+ border:0;
21
+ margin:0;
22
+ padding:0;
23
+ }
24
+
25
+ .bannerslide-default-slider .jquery-slider-slide-current
26
+ {
27
+ display:block;
28
+ z-index:2;
29
+ }
30
+
31
+ .bannerslide-default-slider .jquery-slider-slide-next
32
+ {
33
+ display:block;
34
+ z-index:1;
35
+ }
36
+
37
+ .bannerslide-default-slider .jquery-slider-selectors
38
+ {
39
+ display:inline;
40
+ float:left;
41
+ overflow:hidden;
42
+ position:absolute;
43
+ bottom:5px;
44
+ left:50%;
45
+ z-index:4;
46
+ color:#FFFFFF;
47
+ }
48
+
49
+ .bannerslide-default-slider .jquery-slider-selector
50
+ {
51
+ background:url(image/slide1/jquery-slider-theme.png) no-repeat 0px -59px;
52
+ display:inline;
53
+ float:left;
54
+ width:10px;
55
+ height:10px;
56
+ margin:0 0 0 3px;
57
+ }
58
+
59
+ .bannerslide-default-slider .jquery-slider-selector-current
60
+ {
61
+ background:url(image/slide1/jquery-slider-theme.png) no-repeat -10px -59px;
62
+ }
63
+
64
+ .bannerslide-default-slider .jquery-slider-selector span
65
+ {
66
+ display:none;
67
+ }
68
+
69
+ .bannerslide-default-slider .jquery-slider-control
70
+ {
71
+ position:absolute;
72
+ right:13px;
73
+ top:11px;
74
+ cursor: pointer;
75
+ width:9px;
76
+ height:14px;
77
+ z-index:4;
78
+ }
79
+
80
+ .bannerslide-default-slider .jquery-slider-control span
81
+ {
82
+ display:none;
83
+ }
84
+
85
+ .bannerslide-default-slider .jquery-slider-control-play
86
+ {
87
+ background:url(image/slide1/jquery-slider-theme.png) no-repeat 0px -42px;
88
+ }
89
+
90
+ .bannerslide-default-slider .jquery-slider-control-pause
91
+ {
92
+ background:url(image/slide1/jquery-slider-theme.png) no-repeat -10px -42px;
93
+ }
94
+
95
+ .bannerslide-default-slider .jquery-slider-navigation
96
+ {
97
+ display:block;
98
+ }
99
+
100
+ .bannerslide-default-slider .jquery-slider-navigation-prev
101
+ {
102
+ background:url(image/slide1/jquery-slider-theme.png) no-repeat 0 0;
103
+ left:-21px;
104
+ top:50%;
105
+ position:absolute;
106
+ cursor: pointer;
107
+ width:21px;
108
+ height:40px;
109
+ margin-top:-20px;
110
+ z-index:4;
111
+ }
112
+
113
+ .bannerslide-default-slider .jquery-slider-navigation-prev span
114
+ {
115
+ display:none;
116
+ }
117
+
118
+ .bannerslide-default-slider .jquery-slider-navigation-next
119
+ {
120
+ background:url(image/slide1/jquery-slider-theme.png) no-repeat -21px 0;
121
+ right:-21px;
122
+ top:50%;
123
+ position:absolute;
124
+ cursor: pointer;
125
+ width:21px;
126
+ height:40px;
127
+ margin-top:-20px;
128
+ z-index:4;
129
+ }
130
+
131
+ .bannerslide-default-slider .jquery-slider-navigation-next span
132
+ {
133
+ display:none;
134
+ }
135
+
136
+
137
+ .bannerslide-default-slider .jquery-slider-wrapper .caption
138
+ {
139
+ padding:6px 10px;
140
+ background:#333333;
141
+ font-size:13px;
142
+ position:absolute;
143
+ bottom:10px;
144
+ left:10px;
145
+ color:#FFFFFF;
146
+ }
147
+
148
+ .bannerslide-default-slider .jquery-slider-timer
149
+ {
150
+ color:#FFFFFF;
151
+ position:absolute;
152
+ top:5px;
153
+ right:5px;
154
+ z-index:4;
155
+ overflow:hidden;
156
+ width:26px;
157
+ height:26px;
158
+ }
159
+
160
+ .bannerslide-default-slider .jquery-slider-timer-rotator
161
+ {
162
+ background:url(image/slide1/jquery-slider-rotator-left.png) no-repeat 0 0;
163
+ overflow:hidden;
164
+ width:26px;
165
+ height:26px;
166
+ position:absolute;
167
+ top:0;
168
+ left:-13px;
169
+ z-index:3;
170
+ }
171
+
172
+ .bannerslide-default-slider .jquery-slider-timer-mask
173
+ {
174
+ overflow:hidden;
175
+ width:13px;
176
+ height:26px;
177
+ position:absolute;
178
+ top:0;
179
+ right:0px;
180
+ z-index:2;
181
+ }
182
+
183
+ .bannerslide-default-slider .jquery-slider-timer-rotator-move
184
+ {
185
+ left:0;
186
+ }
187
+
188
+ .bannerslide-default-slider .jquery-slider-timer-mask-move
189
+ {
190
+ width:26px;
191
+ left:0;
192
+ background:url(image/slide1/jquery-slider-rotator-right.png) no-repeat 0 0;
193
+ }
skin/frontend/base/default/css/magestore/bannerslider/slider2.css ADDED
@@ -0,0 +1,182 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .bannerslide-caborno-slider .jquery-slider-wrapper
2
+ {
3
+ position:relative;
4
+ clear:both;
5
+ zoom:1;
6
+ }
7
+
8
+ .bannerslide-caborno-slider .jquery-slider-slide
9
+ {
10
+ display: none;
11
+ float: left;
12
+ margin: 0;
13
+ padding: 0;
14
+ position: absolute;
15
+ width: 100%;
16
+ }
17
+
18
+ .bannerslide-caborno-slider .jquery-slider-slide img
19
+ {
20
+ border:0;
21
+ margin:0;
22
+ padding:0;
23
+ }
24
+
25
+ .bannerslide-caborno-slider .jquery-slider-slide-current
26
+ {
27
+ display:block;
28
+ z-index:2;
29
+ }
30
+
31
+ .bannerslide-caborno-slider .jquery-slider-slide-next
32
+ {
33
+ display:block;
34
+ z-index:1;
35
+ }
36
+
37
+ .bannerslide-caborno-slider .jquery-slider-selectors
38
+ {
39
+ display:block;
40
+ overflow:hidden;
41
+ position:absolute;
42
+ bottom:10px;
43
+ right:10px;
44
+ z-index:3;
45
+ }
46
+
47
+ .bannerslide-caborno-slider .jquery-slider-selector
48
+ {
49
+ background:url(image/slide2//jquery-slider-theme.png) no-repeat 0px -70px;
50
+ display:inline;
51
+ float:left;
52
+ width:16px;
53
+ height:16px;
54
+ margin:0 0 0 5px;
55
+ }
56
+
57
+ .bannerslide-caborno-slider .jquery-slider-selector-current
58
+ {
59
+ background:url(image/slide2//jquery-slider-theme.png) no-repeat -16px -70px;
60
+ }
61
+
62
+ .bannerslide-caborno-slider .jquery-slider-selector span
63
+ {
64
+ display:none;
65
+ }
66
+
67
+ .bannerslide-caborno-slider .jquery-slider-control
68
+ {
69
+ display:none;
70
+ right:50%;
71
+ top:50%;
72
+ position:absolute;
73
+ cursor: pointer;
74
+ width:48px;
75
+ height:69px;
76
+ margin-top:-34px;
77
+ margin-right:-24px;
78
+ z-index:4;
79
+ }
80
+
81
+ .bannerslide-caborno-slider .jquery-slider-control span
82
+ {
83
+ display:none;
84
+ }
85
+
86
+ .bannerslide-caborno-slider .jquery-slider-control-play
87
+ {
88
+ background:url(image/slide2//jquery-slider-theme.png) no-repeat -144px 0;
89
+ }
90
+
91
+ .bannerslide-caborno-slider .jquery-slider-control-pause
92
+ {
93
+ background:url(image/slide2//jquery-slider-theme.png) no-repeat -96px 0;
94
+ }
95
+
96
+ .bannerslide-caborno-slider .jquery-slider-hovered .jquery-slider-control
97
+ {
98
+ display:block;
99
+ }
100
+
101
+ .bannerslide-caborno-slider .jquery-slider-navigation
102
+ {
103
+ display:block;
104
+ }
105
+
106
+ .bannerslide-caborno-slider .jquery-slider-navigation-prev
107
+ {
108
+ background:url(image/slide2//jquery-slider-theme.png) no-repeat 0 0;
109
+ display:none;
110
+ left:0;
111
+ top:50%;
112
+ position:absolute;
113
+ cursor: pointer;
114
+ width:48px;
115
+ height:69px;
116
+ margin-top:-34px;
117
+ z-index:4;
118
+ }
119
+
120
+ .bannerslide-caborno-slider .jquery-slider-navigation-prev span
121
+ {
122
+ display:none;
123
+ }
124
+
125
+ .bannerslide-caborno-slider .jquery-slider-navigation-next
126
+ {
127
+ background:url(image/slide2//jquery-slider-theme.png) no-repeat -48px 0;
128
+ display:none;
129
+ right:0;
130
+ top:50%;
131
+ position:absolute;
132
+ cursor: pointer;
133
+ width:48px;
134
+ height:69px;
135
+ margin-top:-34px;
136
+ z-index:4;
137
+ }
138
+
139
+ .bannerslide-caborno-slider .jquery-slider-navigation-next span
140
+ {
141
+ display:none;
142
+ }
143
+
144
+ .bannerslide-caborno-slider .jquery-slider-hovered .jquery-slider-navigation-prev,
145
+ .bannerslide-caborno-slider .jquery-slider-hovered .jquery-slider-navigation-next
146
+ {
147
+ display:block;
148
+ }
149
+
150
+
151
+
152
+ .bannerslide-caborno-slider .jquery-slider-wrapper .caption
153
+ {
154
+ padding:6px 10px;
155
+ background:#333333;
156
+ font-size:13px;
157
+ position:absolute;
158
+ bottom:10px;
159
+ left:10px;
160
+ color:#FFFFFF;
161
+ }
162
+
163
+ .bannerslide-caborno-slider .jquery-slider-timer
164
+ {
165
+ color:#000000;
166
+ height:3px;
167
+ width:100%;
168
+ position:absolute;
169
+ bottom:0;
170
+ left:0;
171
+ z-index:4;
172
+ }
173
+
174
+ .bannerslide-caborno-slider .jquery-slider-timer-bar
175
+ {
176
+ background:#000000;
177
+ opacity:0.5;
178
+ height:3px;
179
+ width:0;
180
+ float:left;
181
+ display:inline;
182
+ }
skin/frontend/base/default/css/magestore/bannerslider/slider3.css ADDED
@@ -0,0 +1,421 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .bannerslide-minimal-slider .jquery-slider-wrapper
2
+ {
3
+ position:relative;
4
+ clear:both;
5
+ zoom:1;
6
+ }
7
+
8
+ .bannerslide-minimal-slider .jquery-slider-slide
9
+ {
10
+ display: none;
11
+ float: left;
12
+ margin: 0;
13
+ padding: 0;
14
+ position: absolute;
15
+ width: 100%;
16
+ }
17
+
18
+ .bannerslide-minimal-slider .jquery-slider-slide img
19
+ {
20
+ border:0;
21
+ margin:0;
22
+ padding:0;
23
+ }
24
+
25
+ .bannerslide-minimal-slider .jquery-slider-slide-current
26
+ {
27
+ display:block;
28
+ z-index:2;
29
+ }
30
+
31
+ .bannerslide-minimal-slider .jquery-slider-slide-next
32
+ {
33
+ display:block;
34
+ z-index:1;
35
+ }
36
+
37
+ .bannerslide-minimal-slider .jquery-slider-selectors
38
+ {
39
+ display:block;
40
+ overflow:hidden;
41
+ position:absolute;
42
+ bottom:10px;
43
+ right:10px;
44
+ z-index:3;
45
+ }
46
+
47
+ .bannerslide-minimal-slider .jquery-slider-option-navigation-selector-control-timer .jquery-slider-selectors,
48
+ .bannerslide-minimal-slider .jquery-slider-option-navigation-selector-control .jquery-slider-selectors
49
+ {
50
+ right:100px;
51
+ }
52
+
53
+ .bannerslide-minimal-slider .jquery-slider-option-navigation-selector-timer .jquery-slider-selectors,
54
+ .bannerslide-minimal-slider .jquery-slider-option-navigation-selector .jquery-slider-selectors
55
+ {
56
+ right:70px;
57
+ }
58
+
59
+ .bannerslide-minimal-slider .jquery-slider-option-selector-control-timer .jquery-slider-selectors,
60
+ .bannerslide-minimal-slider .jquery-slider-option-selector-control .jquery-slider-selectors
61
+ {
62
+ right:40px;
63
+ }
64
+
65
+ .bannerslide-minimal-slider .jquery-slider-selector
66
+ {
67
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -100px 0;
68
+ display:inline;
69
+ float:left;
70
+ width:25px;
71
+ height:25px;
72
+ margin:0 0 0 5px;
73
+ }
74
+
75
+ .bannerslide-minimal-slider .jquery-slider-selector span
76
+ {
77
+ display:block;
78
+ width:100%;
79
+ height:100%;
80
+ }
81
+
82
+ .bannerslide-minimal-slider .jquery-slider-selector-1
83
+ {
84
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat 0px -50px;
85
+ }
86
+
87
+ .bannerslide-minimal-slider .jquery-slider-selector-2
88
+ {
89
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -31px -50px;
90
+ }
91
+
92
+ .bannerslide-minimal-slider .jquery-slider-selector-3
93
+ {
94
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -60px -50px;
95
+ }
96
+
97
+ .bannerslide-minimal-slider .jquery-slider-selector-4
98
+ {
99
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -93px -50px;
100
+ }
101
+
102
+ .bannerslide-minimal-slider .jquery-slider-selector-5
103
+ {
104
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -126px -50px;
105
+ }
106
+
107
+ .bannerslide-minimal-slider .jquery-slider-selector-6
108
+ {
109
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -155px -50px;
110
+ }
111
+
112
+ .bannerslide-minimal-slider .jquery-slider-selector-7
113
+ {
114
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -184px -50px;
115
+ }
116
+
117
+ .bannerslide-minimal-slider .jquery-slider-selector-8
118
+ {
119
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -213px -50px;
120
+ }
121
+
122
+ .bannerslide-minimal-slider .jquery-slider-selector-9
123
+ {
124
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -246px -50px;
125
+ }
126
+
127
+ .bannerslide-minimal-slider .jquery-slider-selector-10
128
+ {
129
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -281px -50px;
130
+ }
131
+
132
+ .bannerslide-minimal-slider .jquery-slider-selector-11
133
+ {
134
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -320px -50px;
135
+ }
136
+
137
+ .bannerslide-minimal-slider .jquery-slider-selector-12
138
+ {
139
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -351px -50px;
140
+ }
141
+
142
+ .bannerslide-minimal-slider .jquery-slider-selector-13
143
+ {
144
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -383px -50px;
145
+ }
146
+
147
+ .bannerslide-minimal-slider .jquery-slider-selector-14
148
+ {
149
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -419px -50px;
150
+ }
151
+
152
+ .bannerslide-minimal-slider .jquery-slider-selector-15
153
+ {
154
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -451px -50px;
155
+ }
156
+
157
+ .bannerslide-minimal-slider .jquery-slider-selector-16
158
+ {
159
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -487px -50px;
160
+ }
161
+
162
+ .bannerslide-minimal-slider .jquery-slider-selector-17
163
+ {
164
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -519px -50px;
165
+ }
166
+
167
+ .bannerslide-minimal-slider .jquery-slider-selector-18
168
+ {
169
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -555px -50px;
170
+ }
171
+
172
+ .bannerslide-minimal-slider .jquery-slider-selector-19
173
+ {
174
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -587px -50px;
175
+ }
176
+
177
+ .bannerslide-minimal-slider .jquery-slider-selector-20
178
+ {
179
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -624px -50px;
180
+ }
181
+
182
+ .bannerslide-minimal-slider .jquery-slider-selector-current
183
+ {
184
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -100px -25px;
185
+ }
186
+
187
+ .bannerslide-minimal-slider .jquery-slider-selector-current .jquery-slider-selector-1
188
+ {
189
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat 0px -81px;
190
+ }
191
+
192
+ .bannerslide-minimal-slider .jquery-slider-selector-current .jquery-slider-selector-2
193
+ {
194
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -31px -81px;
195
+ }
196
+
197
+ .bannerslide-minimal-slider .jquery-slider-selector-current .jquery-slider-selector-3
198
+ {
199
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -60px -81px;
200
+ }
201
+
202
+ .bannerslide-minimal-slider .jquery-slider-selector-current .jquery-slider-selector-4
203
+ {
204
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -93px -81px;
205
+ }
206
+
207
+ .bannerslide-minimal-slider .jquery-slider-selector-current .jquery-slider-selector-5
208
+ {
209
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -126px -81px;
210
+ }
211
+
212
+ .bannerslide-minimal-slider .jquery-slider-selector-current .jquery-slider-selector-6
213
+ {
214
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -155px -81px;
215
+ }
216
+
217
+ .bannerslide-minimal-slider .jquery-slider-selector-current .jquery-slider-selector-7
218
+ {
219
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -184px -81px;
220
+ }
221
+
222
+ .bannerslide-minimal-slider .jquery-slider-selector-current .jquery-slider-selector-8
223
+ {
224
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -213px -81px;
225
+ }
226
+
227
+ .bannerslide-minimal-slider .jquery-slider-selector-current .jquery-slider-selector-9
228
+ {
229
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -246px -81px;
230
+ }
231
+
232
+ .bannerslide-minimal-slider .jquery-slider-selector-current .jquery-slider-selector-10
233
+ {
234
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -281px -81px;
235
+ }
236
+
237
+ .bannerslide-minimal-slider .jquery-slider-selector-current .jquery-slider-selector-11
238
+ {
239
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -320px -81px;
240
+ }
241
+
242
+ .bannerslide-minimal-slider .jquery-slider-selector-current .jquery-slider-selector-12
243
+ {
244
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -351px -81px;
245
+ }
246
+
247
+ .bannerslide-minimal-slider .jquery-slider-selector-current .jquery-slider-selector-13
248
+ {
249
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -383px -81px;
250
+ }
251
+
252
+ .bannerslide-minimal-slider .jquery-slider-selector-current .jquery-slider-selector-14
253
+ {
254
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -419px -81px;
255
+ }
256
+
257
+ .bannerslide-minimal-slider .jquery-slider-selector-current .jquery-slider-selector-15
258
+ {
259
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -451px -81px;
260
+ }
261
+
262
+ .bannerslide-minimal-slider .jquery-slider-selector-current .jquery-slider-selector-16
263
+ {
264
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -487px -81px;
265
+ }
266
+
267
+ .bannerslide-minimal-slider .jquery-slider-selector-current .jquery-slider-selector-17
268
+ {
269
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -519px -81px;
270
+ }
271
+
272
+ .bannerslide-minimal-slider .jquery-slider-selector-current .jquery-slider-selector-18
273
+ {
274
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -555px -81px;
275
+ }
276
+
277
+ .bannerslide-minimal-slider .jquery-slider-selector-current .jquery-slider-selector-19
278
+ {
279
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -587px -81px;
280
+ }
281
+
282
+ .bannerslide-minimal-slider .jquery-slider-selector-current .jquery-slider-selector-20
283
+ {
284
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -624px -81px;
285
+ }
286
+
287
+
288
+ .bannerslide-minimal-slider .jquery-slider-selector span span
289
+ {
290
+ display:none;
291
+ }
292
+
293
+
294
+ .bannerslide-minimal-slider .jquery-slider-control
295
+ {
296
+ display:block;
297
+ position:absolute;
298
+ cursor: pointer;
299
+ width:25px;
300
+ height:25px;
301
+ z-index:4;
302
+ bottom:10px;
303
+ right:10px;
304
+ }
305
+
306
+ .bannerslide-minimal-slider .jquery-slider-control span
307
+ {
308
+ display:none;
309
+ }
310
+
311
+ .bannerslide-minimal-slider .jquery-slider-control-play
312
+ {
313
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -75px 0;
314
+ }
315
+
316
+ .bannerslide-minimal-slider .jquery-slider-control-pause
317
+ {
318
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -50px 0;
319
+ }
320
+
321
+ .bannerslide-minimal-slider .jquery-slider-control-play:hover
322
+ {
323
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -75px -25px;
324
+ }
325
+
326
+ .bannerslide-minimal-slider .jquery-slider-control-pause:hover
327
+ {
328
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -50px -25px;
329
+ }
330
+
331
+
332
+ .bannerslide-minimal-slider .jquery-slider-navigation
333
+ {
334
+ display:block;
335
+ position:absolute;
336
+ z-index:4;
337
+ bottom:10px;
338
+ right:10px;
339
+ }
340
+
341
+ .bannerslide-minimal-slider .jquery-slider-option-navigation-selector-control .jquery-slider-navigation,
342
+ .bannerslide-minimal-slider .jquery-slider-option-navigation-selector-control-timer .jquery-slider-navigation,
343
+ .bannerslide-minimal-slider .jquery-slider-option-navigation-control .jquery-slider-navigation,
344
+ .bannerslide-minimal-slider .jquery-slider-option-navigation-control-timer .jquery-slider-navigation
345
+ {
346
+ right:40px;
347
+ }
348
+
349
+
350
+ .bannerslide-minimal-slider .jquery-slider-navigation-prev
351
+ {
352
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat 0 0;
353
+ cursor: pointer;
354
+ width:25px;
355
+ height:25px;
356
+ float:left;
357
+ margin:0 0 0 5px;
358
+ }
359
+
360
+ .bannerslide-minimal-slider .jquery-slider-navigation-prev span
361
+ {
362
+ display:none;
363
+ }
364
+
365
+ .bannerslide-minimal-slider .jquery-slider-navigation-prev:hover
366
+ {
367
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat 0 -25px;
368
+ }
369
+
370
+ .bannerslide-minimal-slider .jquery-slider-navigation-next
371
+ {
372
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -25px 0;
373
+ cursor: pointer;
374
+ width:25px;
375
+ height:25px;
376
+ float:left;
377
+ margin:0 0 0 5px;
378
+ }
379
+
380
+ .bannerslide-minimal-slider .jquery-slider-navigation-next span
381
+ {
382
+ display:none;
383
+ }
384
+
385
+ .bannerslide-minimal-slider .jquery-slider-navigation-next:hover
386
+ {
387
+ background:url(image/slide3/jquery-slider-theme.png) no-repeat -25px -25px;
388
+ }
389
+
390
+ .bannerslide-minimal-slider .jquery-slider-wrapper .caption
391
+ {
392
+ padding:6px 10px;
393
+ background:#1e1e1e;
394
+ font-size:10px;
395
+ font-family:Arial, Verdana;
396
+ position:absolute;
397
+ top:10px;
398
+ left:10px;
399
+ color:#efefef;
400
+ }
401
+
402
+ .bannerslide-minimal-slider .jquery-slider-timer
403
+ {
404
+ color:#000000;
405
+ height:3px;
406
+ width:100%;
407
+ position:absolute;
408
+ bottom:0;
409
+ left:0;
410
+ z-index:4;
411
+ }
412
+
413
+ .bannerslide-minimal-slider .jquery-slider-timer-bar
414
+ {
415
+ background:#1e1e1e;
416
+ opacity:0.5;
417
+ height:3px;
418
+ width:0;
419
+ float:left;
420
+ display:inline;
421
+ }
skin/frontend/base/default/css/magestore/bannerslider/slider4.css ADDED
@@ -0,0 +1,213 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .bannerslide-fresh-slider .jquery-slider-wrapper
2
+ {
3
+ position:relative;
4
+ clear:both;
5
+ zoom:1;
6
+ }
7
+
8
+ .bannerslide-fresh-slider .jquery-slider-slide
9
+ {
10
+ display: none;
11
+ float: left;
12
+ margin: 0;
13
+ padding: 0;
14
+ position: absolute;
15
+ width: 100%;
16
+ }
17
+
18
+ .bannerslide-fresh-slider .jquery-slider-slide img
19
+ {
20
+ border:0;
21
+ margin:0;
22
+ padding:0;
23
+ }
24
+
25
+ .bannerslide-fresh-slider .jquery-slider-slide-current
26
+ {
27
+ display:block;
28
+ z-index:2;
29
+ }
30
+
31
+ .bannerslide-fresh-slider .jquery-slider-slide-next
32
+ {
33
+ display:block;
34
+ z-index:1;
35
+ }
36
+
37
+ .bannerslide-fresh-slider .jquery-slider-selectors
38
+ {
39
+ display:block;
40
+ overflow:hidden;
41
+ position:absolute;
42
+ bottom:5px;
43
+ right:5px;
44
+ z-index:3;
45
+ width:24px;
46
+ }
47
+
48
+ .bannerslide-fresh-slider .jquery-slider-option-navigation-selector-control-timer .jquery-slider-selectors,
49
+ .bannerslide-fresh-slider .jquery-slider-option-navigation-selector-timer .jquery-slider-selectors,
50
+ .bannerslide-fresh-slider .jquery-slider-option-selector-control-timer .jquery-slider-selectors,
51
+ .bannerslide-fresh-slider .jquery-slider-option-selector-timer .jquery-slider-selectors
52
+ {
53
+ bottom:9px;
54
+ }
55
+
56
+
57
+ .bannerslide-fresh-slider .jquery-slider-selector
58
+ {
59
+ background:url(image/slide4/jquery-slider-theme.png) no-repeat -20px 0;
60
+ display:inline;
61
+ float:left;
62
+ width:10px;
63
+ height:10px;
64
+ margin:2px 0 0 2px;
65
+ }
66
+
67
+ .bannerslide-fresh-slider .jquery-slider-selector span
68
+ {
69
+ display:none;
70
+ }
71
+
72
+ .bannerslide-fresh-slider .jquery-slider-selector-current
73
+ {
74
+ background:url(image/slide4/jquery-slider-theme.png) no-repeat -20px -10px;
75
+ }
76
+
77
+ .bannerslide-fresh-slider .jquery-slider-control
78
+ {
79
+ display:block;
80
+ position:absolute;
81
+ cursor: pointer;
82
+ width:19px;
83
+ height:20px;
84
+ z-index:4;
85
+ top:0px;
86
+ right:-19px;
87
+ }
88
+
89
+ .bannerslide-fresh-slider .jquery-slider-control span
90
+ {
91
+ display:none;
92
+ }
93
+
94
+ .bannerslide-fresh-slider .jquery-slider-option-navigation-selector-control .jquery-slider-control,
95
+ .bannerslide-fresh-slider .jquery-slider-option-navigation-selector-control-timer .jquery-slider-control,
96
+ .bannerslide-fresh-slider .jquery-slider-option-navigation-control .jquery-slider-control,
97
+ .bannerslide-fresh-slider .jquery-slider-option-navigation-control-timer .jquery-slider-control,
98
+ .bannerslide-fresh-slider .jquery-slider-option-selector-control .jquery-slider-control,
99
+ .bannerslide-fresh-slider .jquery-slider-option-selector-control-timer .jquery-slider-control
100
+ {
101
+ top:24px;
102
+ }
103
+
104
+ .bannerslide-fresh-slider .jquery-slider-control-play
105
+ {
106
+ background:url(image/slide4/jquery-slider-theme.png) no-repeat 0 -44px;
107
+ }
108
+
109
+ .bannerslide-fresh-slider .jquery-slider-control-pause
110
+ {
111
+ background:url(image/slide4/jquery-slider-theme.png) no-repeat 0 -24px;
112
+ }
113
+
114
+ .bannerslide-fresh-slider .jquery-slider-control-play:active
115
+ {
116
+ background:url(image/slide4/jquery-slider-theme.png) no-repeat 0 -132px;
117
+ }
118
+
119
+ .bannerslide-fresh-slider .jquery-slider-control-pause:active
120
+ {
121
+ background:url(image/slide4/jquery-slider-theme.png) no-repeat 0 -112px;
122
+ }
123
+
124
+ .bannerslide-fresh-slider .jquery-slider-navigation
125
+ {
126
+ display:block;
127
+ position:absolute;
128
+ z-index:4;
129
+ top:0px;
130
+ right:-19px;
131
+ width:19px;
132
+ }
133
+
134
+ .bannerslide-fresh-slider .jquery-slider-navigation-prev
135
+ {
136
+ background:url(image/slide4/jquery-slider-theme.png) no-repeat 0 0;
137
+ cursor: pointer;
138
+ width:19px;
139
+ height:24px;
140
+ position:absolute;
141
+ top:0;
142
+ left:0;
143
+ }
144
+
145
+ .bannerslide-fresh-slider .jquery-slider-navigation-prev span
146
+ {
147
+ display:none;
148
+ }
149
+
150
+ .bannerslide-fresh-slider .jquery-slider-navigation-prev:active
151
+ {
152
+ background:url(image/slide4/jquery-slider-theme.png) no-repeat 0 -88px;
153
+ }
154
+
155
+ .bannerslide-fresh-slider .jquery-slider-navigation-next
156
+ {
157
+ background:url(image/slide4/jquery-slider-theme.png) no-repeat 0 -64px;
158
+ cursor: pointer;
159
+ width:19px;
160
+ height:24px;
161
+ position:absolute;
162
+ top:24px;
163
+ left:0;
164
+ }
165
+
166
+ .bannerslide-fresh-slider .jquery-slider-navigation-next span
167
+ {
168
+ display:none;
169
+ }
170
+
171
+ .bannerslide-fresh-slider .jquery-slider-navigation-next:active
172
+ {
173
+ background:url(image/slide4/jquery-slider-theme.png) no-repeat 0 -152px;
174
+ }
175
+
176
+ .bannerslide-fresh-slider .jquery-slider-option-navigation-selector-control .jquery-slider-navigation-next,
177
+ .bannerslide-fresh-slider .jquery-slider-option-navigation-selector-control-timer .jquery-slider-navigation-next,
178
+ .bannerslide-fresh-slider .jquery-slider-option-navigation-control .jquery-slider-navigation-next,
179
+ .bannerslide-fresh-slider .jquery-slider-option-navigation-control-timer .jquery-slider-navigation-next
180
+ {
181
+ top:44px;
182
+ }
183
+
184
+ .bannerslide-fresh-slider .jquery-slider-wrapper .caption
185
+ {
186
+ padding:6px 10px;
187
+ background:#333333;
188
+ font-size:13px;
189
+ position:absolute;
190
+ bottom:10px;
191
+ left:10px;
192
+ color:#FFFFFF;
193
+ }
194
+
195
+ .bannerslide-fresh-slider .jquery-slider-timer
196
+ {
197
+ color:#000000;
198
+ height:2px;
199
+ width:22px;
200
+ position:absolute;
201
+ bottom:5px;
202
+ right:5px;
203
+ z-index:4;
204
+ }
205
+
206
+ .bannerslide-fresh-slider .jquery-slider-timer-bar
207
+ {
208
+ background:url(image/slide4/jquery-slider-theme.png) no-repeat -31px 0;
209
+ float:left;
210
+ display:inline;
211
+ height:2px;
212
+ width:0px;
213
+ }
skin/frontend/base/default/css/magestore/bannerslider/vssver2.scc ADDED
Binary file
skin/frontend/default/default/banner/ajaxtabs.js DELETED
@@ -1,159 +0,0 @@
1
- //** Tab Content script v2.0- � Dynamic Drive DHTML code library (http://www.dynamicdrive.com)
2
- //** Updated Oct 7th, 07 to version 2.0. Contains numerous improvements:
3
- // -Added Auto Mode: Script auto rotates the tabs based on an interval, until a tab is explicitly selected
4
- // -Ability to expand/contract arbitrary DIVs on the page as the tabbed content is expanded/ contracted
5
- // -Ability to dynamically select a tab either based on its position within its peers, or its ID attribute (give the target tab one 1st)
6
- // -Ability to set where the CSS classname "selected" get assigned- either to the target tab's link ("A"), or its parent container
7
- //** Updated Feb 18th, 08 to version 2.1: Adds a "tabinstance.cycleit(dir)" method to cycle forward or backward between tabs dynamically
8
- //** Updated April 8th, 08 to version 2.2: Adds support for expanding a tab using a URL parameter (ie: http://mysite.com/tabcontent.htm?tabinterfaceid=0)
9
-
10
- ////NO NEED TO EDIT BELOW////////////////////////
11
-
12
- function ddtabcontent(tabinterfaceid){
13
- this.tabinterfaceid=tabinterfaceid //ID of Tab Menu main container
14
- this.tabs=document.getElementById(tabinterfaceid).getElementsByTagName("a") //Get all tab links within container
15
- this.enabletabpersistence=true
16
- this.hottabspositions=[] //Array to store position of tabs that have a "rel" attr defined, relative to all tab links, within container
17
- this.currentTabIndex=0 //Index of currently selected hot tab (tab with sub content) within hottabspositions[] array
18
- this.subcontentids=[] //Array to store ids of the sub contents ("rel" attr values)
19
- this.revcontentids=[] //Array to store ids of arbitrary contents to expand/contact as well ("rev" attr values)
20
- this.selectedClassTarget="link" //keyword to indicate which target element to assign "selected" CSS class ("linkparent" or "link")
21
- }
22
-
23
- ddtabcontent.getCookie=function(Name){
24
- var re=new RegExp(Name+"=[^;]+", "i"); //construct RE to search for target name/value pair
25
- if (document.cookie.match(re)) //if cookie found
26
- return document.cookie.match(re)[0].split("=")[1] //return its value
27
- return ""
28
- }
29
-
30
- ddtabcontent.setCookie=function(name, value){
31
- document.cookie = name+"="+value+";path=/" //cookie value is domain wide (path=/)
32
- }
33
-
34
- ddtabcontent.prototype={
35
-
36
- expandit:function(tabid_or_position){ //PUBLIC function to select a tab either by its ID or position(int) within its peers
37
- this.cancelautorun() //stop auto cycling of tabs (if running)
38
- var tabref=""
39
- try{
40
- if (typeof tabid_or_position=="string" && document.getElementById(tabid_or_position).getAttribute("rel")) //if specified tab contains "rel" attr
41
- tabref=document.getElementById(tabid_or_position)
42
- else if (parseInt(tabid_or_position)!=NaN && this.tabs[tabid_or_position].getAttribute("rel")) //if specified tab contains "rel" attr
43
- tabref=this.tabs[tabid_or_position]
44
- }
45
- catch(err){alert("Invalid Tab ID or position entered!")}
46
- if (tabref!="") //if a valid tab is found based on function parameter
47
- this.expandtab(tabref) //expand this tab
48
- },
49
-
50
- cycleit:function(dir, autorun){ //PUBLIC function to move foward or backwards through each hot tab (tabinstance.cycleit('foward/back') )
51
- if (dir=="next"){
52
- var currentTabIndex=(this.currentTabIndex<this.hottabspositions.length-1)? this.currentTabIndex+1 : 0
53
- }
54
- else if (dir=="prev"){
55
- var currentTabIndex=(this.currentTabIndex>0)? this.currentTabIndex-1 : this.hottabspositions.length-1
56
- }
57
- if (typeof autorun=="undefined") //if cycleit() is being called by user, versus autorun() function
58
- this.cancelautorun() //stop auto cycling of tabs (if running)
59
- this.expandtab(this.tabs[this.hottabspositions[currentTabIndex]])
60
- },
61
-
62
- setpersist:function(bool){ //PUBLIC function to toggle persistence feature
63
- this.enabletabpersistence=bool
64
- },
65
-
66
- setselectedClassTarget:function(objstr){ //PUBLIC function to set which target element to assign "selected" CSS class ("linkparent" or "link")
67
- this.selectedClassTarget=objstr || "link"
68
- },
69
-
70
- getselectedClassTarget:function(tabref){ //Returns target element to assign "selected" CSS class to
71
- return (this.selectedClassTarget==("linkparent".toLowerCase()))? tabref.parentNode : tabref
72
- },
73
-
74
- urlparamselect:function(tabinterfaceid){
75
- var result=window.location.search.match(new RegExp(tabinterfaceid+"=(\\d+)", "i")) //check for "?tabinterfaceid=2" in URL
76
- return (result==null)? null : parseInt(RegExp.$1) //returns null or index, where index (int) is the selected tab's index
77
- },
78
-
79
- expandtab:function(tabref){
80
- var subcontentid=tabref.getAttribute("rel") //Get id of subcontent to expand
81
- //Get "rev" attr as a string of IDs in the format ",john,george,trey,etc," to easily search through
82
- var associatedrevids=(tabref.getAttribute("rev"))? ","+tabref.getAttribute("rev").replace(/\s+/, "")+"," : ""
83
- this.expandsubcontent(subcontentid)
84
- this.expandrevcontent(associatedrevids)
85
- for (var i=0; i<this.tabs.length; i++){ //Loop through all tabs, and assign only the selected tab the CSS class "selected"
86
- this.getselectedClassTarget(this.tabs[i]).className=(this.tabs[i].getAttribute("rel")==subcontentid)? "selected" : ""
87
- }
88
- if (this.enabletabpersistence) //if persistence enabled, save selected tab position(int) relative to its peers
89
- ddtabcontent.setCookie(this.tabinterfaceid, tabref.tabposition)
90
- this.setcurrenttabindex(tabref.tabposition) //remember position of selected tab within hottabspositions[] array
91
- },
92
-
93
- expandsubcontent:function(subcontentid){
94
- for (var i=0; i<this.subcontentids.length; i++){
95
- var subcontent=document.getElementById(this.subcontentids[i]) //cache current subcontent obj (in for loop)
96
- subcontent.style.display=(subcontent.id==subcontentid)? "block" : "non