Homepage_Slideshow_Extension - Version 1.0.0

Version Notes

CMSMART Magento Slideshow Home Page Extension

Download this release

Release Info

Developer Anh Hien
Extension Homepage_Slideshow_Extension
Version 1.0.0
Comparing to
See all releases


Version 1.0.0

Files changed (174) hide show
  1. app/code/local/Cmsmart/Slideshow/Block/Adminhtml/Link/Post.php +29 -0
  2. app/code/local/Cmsmart/Slideshow/Block/Adminhtml/Template/Grid/Renderer/Image.php +33 -0
  3. app/code/local/Cmsmart/Slideshow/Block/Manage/Revolution.php +58 -0
  4. app/code/local/Cmsmart/Slideshow/Block/Manage/Revolution/Edit.php +47 -0
  5. app/code/local/Cmsmart/Slideshow/Block/Manage/Revolution/Edit/Form.php +27 -0
  6. app/code/local/Cmsmart/Slideshow/Block/Manage/Revolution/Edit/Tab/Form.php +23 -0
  7. app/code/local/Cmsmart/Slideshow/Block/Manage/Revolution/Edit/Tab/Options.php +12 -0
  8. app/code/local/Cmsmart/Slideshow/Block/Manage/Revolution/Edit/Tab/Related.php +113 -0
  9. app/code/local/Cmsmart/Slideshow/Block/Manage/Revolution/Edit/Tabs.php +30 -0
  10. app/code/local/Cmsmart/Slideshow/Block/Manage/Revolution/Grid.php +136 -0
  11. app/code/local/Cmsmart/Slideshow/Block/Manage/Slideshow.php +40 -0
  12. app/code/local/Cmsmart/Slideshow/Block/Manage/Slideshow/Edit.php +65 -0
  13. app/code/local/Cmsmart/Slideshow/Block/Manage/Slideshow/Edit/Form.php +27 -0
  14. app/code/local/Cmsmart/Slideshow/Block/Manage/Slideshow/Edit/Tab/Form.php +108 -0
  15. app/code/local/Cmsmart/Slideshow/Block/Manage/Slideshow/Edit/Tab/Formrevolution.php +23 -0
  16. app/code/local/Cmsmart/Slideshow/Block/Manage/Slideshow/Edit/Tab/Options.php +12 -0
  17. app/code/local/Cmsmart/Slideshow/Block/Manage/Slideshow/Edit/Tab/Related.php +113 -0
  18. app/code/local/Cmsmart/Slideshow/Block/Manage/Slideshow/Edit/Tabs.php +30 -0
  19. app/code/local/Cmsmart/Slideshow/Block/Manage/Slideshow/Edit/Tabsrevolution.php +30 -0
  20. app/code/local/Cmsmart/Slideshow/Block/Manage/Slideshow/Edittabsrevolution.php +55 -0
  21. app/code/local/Cmsmart/Slideshow/Block/Manage/Slideshow/Grid.php +143 -0
  22. app/code/local/Cmsmart/Slideshow/Block/Manage/Slideshow/Gridrevolution.php +145 -0
  23. app/code/local/Cmsmart/Slideshow/Block/Slideshow.php +79 -0
  24. app/code/local/Cmsmart/Slideshow/Helper/Data.php +90 -0
  25. app/code/local/Cmsmart/Slideshow/Model/Class.php +28 -0
  26. app/code/local/Cmsmart/Slideshow/Model/Content.php +28 -0
  27. app/code/local/Cmsmart/Slideshow/Model/Direction.php +20 -0
  28. app/code/local/Cmsmart/Slideshow/Model/Easing.php +51 -0
  29. app/code/local/Cmsmart/Slideshow/Model/Imagethumbnails.php +36 -0
  30. app/code/local/Cmsmart/Slideshow/Model/Loader.php +35 -0
  31. app/code/local/Cmsmart/Slideshow/Model/Lofsliderstyle.php +21 -0
  32. app/code/local/Cmsmart/Slideshow/Model/Mysql4/Slideshow.php +19 -0
  33. app/code/local/Cmsmart/Slideshow/Model/Mysql4/Slideshow/Collection.php +19 -0
  34. app/code/local/Cmsmart/Slideshow/Model/Navigationarrows.php +35 -0
  35. app/code/local/Cmsmart/Slideshow/Model/Navigationstyle.php +35 -0
  36. app/code/local/Cmsmart/Slideshow/Model/Navigationtype.php +30 -0
  37. app/code/local/Cmsmart/Slideshow/Model/Navposition.php +31 -0
  38. app/code/local/Cmsmart/Slideshow/Model/Onoff.php +31 -0
  39. app/code/local/Cmsmart/Slideshow/Model/Revolution.php +28 -0
  40. app/code/local/Cmsmart/Slideshow/Model/Shadow.php +40 -0
  41. app/code/local/Cmsmart/Slideshow/Model/Slideshow.php +29 -0
  42. app/code/local/Cmsmart/Slideshow/Model/Status.php +47 -0
  43. app/code/local/Cmsmart/Slideshow/Model/Style.php +193 -0
  44. app/code/local/Cmsmart/Slideshow/Model/Truefalse.php +31 -0
  45. app/code/local/Cmsmart/Slideshow/Model/Type.php +43 -0
  46. app/code/local/Cmsmart/Slideshow/controllers/IndexController.php +29 -0
  47. app/code/local/Cmsmart/Slideshow/controllers/Manage/RevolutionController.php +404 -0
  48. app/code/local/Cmsmart/Slideshow/controllers/Manage/SlideshowController.php +323 -0
  49. app/code/local/Cmsmart/Slideshow/etc/adminhtml.xml +58 -0
  50. app/code/local/Cmsmart/Slideshow/etc/config.xml +270 -0
  51. app/code/local/Cmsmart/Slideshow/etc/system.xml +521 -0
  52. app/code/local/Cmsmart/Slideshow/etc/widget.xml +52 -0
  53. app/code/local/Cmsmart/Slideshow/sql/slideshow_setup/mysql4-install-1.0.0.php +51 -0
  54. app/design/adminhtml/default/default/layout/cmsmart/cmsmart_slideshow.xml +33 -0
  55. app/design/adminhtml/default/default/template/cmsmart/slideshow/slideshow.phtml +474 -0
  56. app/design/frontend/base/default/template/cmsmart/slideshow/slideshow_camera.phtml +130 -0
  57. app/design/frontend/base/default/template/cmsmart/slideshow/slideshow_lofslider.phtml +134 -0
  58. app/design/frontend/base/default/template/cmsmart/slideshow/slideshow_revolutioncontent.phtml +99 -0
  59. app/design/frontend/base/default/template/cmsmart/slideshow/slideshow_sequence_master.phtml +77 -0
  60. app/etc/modules/Cmsmart_Slideshow.xml +21 -0
  61. js/cmsmart/slideshow/camera/Thumbs.db +0 -0
  62. js/cmsmart/slideshow/camera/blank.gif +0 -0
  63. js/cmsmart/slideshow/camera/camera-loader.gif +0 -0
  64. js/cmsmart/slideshow/camera/camera.css +1072 -0
  65. js/cmsmart/slideshow/camera/camera.js +2276 -0
  66. js/cmsmart/slideshow/camera/camera_skins.png +0 -0
  67. js/cmsmart/slideshow/camera/jquery.easing.1.3.js +179 -0
  68. js/cmsmart/slideshow/camera/jquery.min.js +15 -0
  69. js/cmsmart/slideshow/camera/patterns/Thumbs.db +0 -0
  70. js/cmsmart/slideshow/camera/patterns/_notes/dwsync.xml +1 -0
  71. js/cmsmart/slideshow/camera/patterns/overlay1.png +0 -0
  72. js/cmsmart/slideshow/camera/patterns/overlay10.png +0 -0
  73. js/cmsmart/slideshow/camera/patterns/overlay2.png +0 -0
  74. js/cmsmart/slideshow/camera/patterns/overlay3.png +0 -0
  75. js/cmsmart/slideshow/camera/patterns/overlay4.png +0 -0
  76. js/cmsmart/slideshow/camera/patterns/overlay5.png +0 -0
  77. js/cmsmart/slideshow/camera/patterns/overlay6.png +0 -0
  78. js/cmsmart/slideshow/camera/patterns/overlay7.png +0 -0
  79. js/cmsmart/slideshow/camera/patterns/overlay8.png +0 -0
  80. js/cmsmart/slideshow/camera/patterns/overlay9.png +0 -0
  81. js/cmsmart/slideshow/images/aeroplane.png +0 -0
  82. js/cmsmart/slideshow/images/arrow-bg.png +0 -0
  83. js/cmsmart/slideshow/images/arrow-l.png +0 -0
  84. js/cmsmart/slideshow/images/arrow-r.png +0 -0
  85. js/cmsmart/slideshow/images/b_next.png +0 -0
  86. js/cmsmart/slideshow/images/b_prev.png +0 -0
  87. js/cmsmart/slideshow/images/balloon.png +0 -0
  88. js/cmsmart/slideshow/images/bg-clouds.png +0 -0
  89. js/cmsmart/slideshow/images/bg-sky.png +0 -0
  90. js/cmsmart/slideshow/images/bg_trans.png +0 -0
  91. js/cmsmart/slideshow/images/bt-next.png +0 -0
  92. js/cmsmart/slideshow/images/bt-prev.png +0 -0
  93. js/cmsmart/slideshow/images/grad-bg.gif +0 -0
  94. js/cmsmart/slideshow/images/index.html +1 -0
  95. js/cmsmart/slideshow/images/kite.png +0 -0
  96. js/cmsmart/slideshow/images/load-indicator.gif +0 -0
  97. js/cmsmart/slideshow/images/next.png +0 -0
  98. js/cmsmart/slideshow/images/pause.png +0 -0
  99. js/cmsmart/slideshow/images/play.png +0 -0
  100. js/cmsmart/slideshow/images/previous.png +0 -0
  101. js/cmsmart/slideshow/images/sequence-logo.png +0 -0
  102. js/cmsmart/slideshow/images/sequencemaste/bt-next.png +0 -0
  103. js/cmsmart/slideshow/images/sequencemaste/bt-prev.png +0 -0
  104. js/cmsmart/slideshow/images/spinner.gif +0 -0
  105. js/cmsmart/slideshow/images/tiles/README +6 -0
  106. js/cmsmart/slideshow/images/tiles/Thumbs.db +0 -0
  107. js/cmsmart/slideshow/images/tiles/accordionswitch.png +0 -0
  108. js/cmsmart/slideshow/images/tiles/bgtile.jpg +0 -0
  109. js/cmsmart/slideshow/images/tiles/bullets_boxed.png +0 -0
  110. js/cmsmart/slideshow/images/tiles/bullets_round.png +0 -0
  111. js/cmsmart/slideshow/images/tiles/bullets_square.png +0 -0
  112. js/cmsmart/slideshow/images/tiles/buynow.png +0 -0
  113. js/cmsmart/slideshow/images/tiles/check.png +0 -0
  114. js/cmsmart/slideshow/images/tiles/dragnotch.png +0 -0
  115. js/cmsmart/slideshow/images/tiles/dragsliderbg.png +0 -0
  116. js/cmsmart/slideshow/images/tiles/logo.png +0 -0
  117. js/cmsmart/slideshow/images/tiles/minishadow.png +0 -0
  118. js/cmsmart/slideshow/images/tiles/minishadow2.png +0 -0
  119. js/cmsmart/slideshow/images/tiles/minishadow3.png +0 -0
  120. js/cmsmart/slideshow/images/tiles/radio.png +0 -0
  121. js/cmsmart/slideshow/images/tiles/selectpreview.png +0 -0
  122. js/cmsmart/slideshow/images/tiles/sliderconfigheadline.png +0 -0
  123. js/cmsmart/slideshow/images/tiles/transition_boxes.png +0 -0
  124. js/cmsmart/slideshow/images/tiles/transition_curtainone.png +0 -0
  125. js/cmsmart/slideshow/images/tiles/transition_curtainthree.png +0 -0
  126. js/cmsmart/slideshow/images/tiles/transition_curtaintwo.png +0 -0
  127. js/cmsmart/slideshow/images/tiles/transition_fade.png +0 -0
  128. js/cmsmart/slideshow/images/tiles/transition_mixed.png +0 -0
  129. js/cmsmart/slideshow/images/tiles/transition_slidedown.png +0 -0
  130. js/cmsmart/slideshow/images/tiles/transition_slideleft.png +0 -0
  131. js/cmsmart/slideshow/images/tiles/transition_slideright.png +0 -0
  132. js/cmsmart/slideshow/images/tiles/transition_slideup.png +0 -0
  133. js/cmsmart/slideshow/images/tiles/transition_slotfadehorizontal.png +0 -0
  134. js/cmsmart/slideshow/images/tiles/transition_slotfadevertical.png +0 -0
  135. js/cmsmart/slideshow/images/tiles/transition_slotslidehorizontal.png +0 -0
  136. js/cmsmart/slideshow/images/tiles/transition_slotslidevertical.png +0 -0
  137. js/cmsmart/slideshow/images/tiles/transition_slotzoomhorizontal.png +0 -0
  138. js/cmsmart/slideshow/images/tiles/transition_slotzoomvertical.png +0 -0
  139. js/cmsmart/slideshow/images/transparent_bg.png +0 -0
  140. js/cmsmart/slideshow/jQuery.min.1.10.js +13 -0
  141. js/cmsmart/slideshow/jquery/cmsmart.js +78 -0
  142. js/cmsmart/slideshow/jquery/jquery-1.7.2.min.js +14 -0
  143. js/cmsmart/slideshow/jquery/jquery-noconflict.js +11 -0
  144. js/cmsmart/slideshow/lofslider/jquery.easing.js +178 -0
  145. js/cmsmart/slideshow/lofslider/jquery.js +14 -0
  146. js/cmsmart/slideshow/lofslider/jquery.touchSwipe.min.js +12 -0
  147. js/cmsmart/slideshow/lofslider/layout.css +17 -0
  148. js/cmsmart/slideshow/lofslider/script.js +415 -0
  149. js/cmsmart/slideshow/lofslider/style1.css +119 -0
  150. js/cmsmart/slideshow/lofslider/style2.css +144 -0
  151. js/cmsmart/slideshow/revolution/previewjs/preview-fullwidth.js +188 -0
  152. js/cmsmart/slideshow/revolution/previewjs/preview-normal.js +190 -0
  153. js/cmsmart/slideshow/revolution/rs-plugin/assets/arrow_large_left.png +0 -0
  154. js/cmsmart/slideshow/revolution/rs-plugin/assets/arrow_large_right.png +0 -0
  155. js/cmsmart/slideshow/revolution/rs-plugin/assets/arrow_left.png +0 -0
  156. js/cmsmart/slideshow/revolution/rs-plugin/assets/arrow_left2.png +0 -0
  157. js/cmsmart/slideshow/revolution/rs-plugin/assets/arrow_right.png +0 -0
  158. js/cmsmart/slideshow/revolution/rs-plugin/assets/arrow_right2.png +0 -0
  159. js/cmsmart/slideshow/revolution/rs-plugin/assets/arrowleft.png +0 -0
  160. js/cmsmart/slideshow/revolution/rs-plugin/assets/arrowright.png +0 -0
  161. js/cmsmart/slideshow/revolution/rs-plugin/assets/bullets.png +0 -0
  162. js/cmsmart/slideshow/revolution/rs-plugin/assets/bullets2.png +0 -0
  163. js/cmsmart/slideshow/revolution/rs-plugin/assets/loader.gif +0 -0
  164. js/cmsmart/slideshow/revolution/rs-plugin/assets/navigdots.png +0 -0
  165. js/cmsmart/slideshow/revolution/rs-plugin/assets/navigdots_bgtile.png +0 -0
  166. js/cmsmart/slideshow/revolution/rs-plugin/assets/shadow1.png +0 -0
  167. js/cmsmart/slideshow/revolution/rs-plugin/assets/shadow2.png +0 -0
  168. js/cmsmart/slideshow/revolution/rs-plugin/assets/shadow3.png +0 -0
  169. js/cmsmart/slideshow/revolution/rs-plugin/assets/timer.png +0 -0
  170. js/cmsmart/slideshow/revolution/rs-plugin/css/settings.css +484 -0
  171. js/cmsmart/slideshow/revolution/rs-plugin/images/gradient/g30.png +0 -0
  172. js/cmsmart/slideshow/revolution/rs-plugin/images/gradient/g40.png +0 -0
  173. js/cmsmart/slideshow/revolution/rs-plugin/js/jquery-ui-1.8.21.custom.min.js +19 -0
  174. js/cmsmart/slideshow/revolution/rs-plugin/js/jquery.1.7.js +7316 -0
app/code/local/Cmsmart/Slideshow/Block/Adminhtml/Link/Post.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Name Extension: Cmsmart megamenu
4
+ * Author: The Cmsmart Development Team
5
+ * Date Created: 06/09/2013
6
+ * Websites: http://cmsmart.net
7
+ * Technical Support: Forum - http://cmsmart.net/support
8
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
9
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
10
+ */
11
+ class Cmsmart_Slideshow_Block_Adminhtml_Link_Post extends Mage_Adminhtml_Block_System_Config_Form_Field
12
+ {
13
+ /**
14
+ * Add color picker
15
+ *
16
+ * @param Varien_Data_Form_Element_Abstract $element
17
+ * @return String
18
+ */
19
+ protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
20
+ {
21
+ $slideshow = Mage::getStoreConfig('slideshow/settings/type');
22
+ if($slideshow == 'camera' || $slideshow == 'lofslider' || $slideshow == 'sequence-master') {
23
+ $html .= '<a target="_blank" href="'. Mage::helper("adminhtml")->getUrl("slideshow_admin/manage_slideshow/index/").'">Link post</a> ( After Save)';
24
+ } else {
25
+ $html .= '<a target="_blank" href="'. Mage::helper("adminhtml")->getUrl("slideshow_admin/manage_revolution/index/").'">Link post</a> ( After Save)';
26
+ }
27
+ return $html;
28
+ }
29
+ }
app/code/local/Cmsmart/Slideshow/Block/Adminhtml/Template/Grid/Renderer/Image.php ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Block_Adminhtml_Template_Grid_Renderer_Image extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Action {
13
+ public function render(Varien_Object $row)
14
+ {
15
+ return $this->_getValue($row);
16
+ }
17
+ public function _getValue(Varien_Object $row)
18
+ {
19
+ if ($getter = $this->getColumn()->getGetter()) {
20
+ $val = $row->$getter();
21
+ }
22
+ $val = $row->getData($this->getColumn()->getIndex());
23
+ $val = str_replace("no_selection", "", $val);
24
+ $url = Mage::getBaseUrl('media') . $val;
25
+ $out = '<center><a href="'.$_url.'" target="_blank" id="imageurl">';
26
+ $out .= "<img src=". $url ." width='200px' height='60px'";
27
+ $out .=" />";
28
+ $out .= '</a></center>';
29
+
30
+ return $out;
31
+
32
+ }
33
+ }
app/code/local/Cmsmart/Slideshow/Block/Manage/Revolution.php ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Block_Manage_Revolution extends Mage_Adminhtml_Block_Widget_Grid_Container
13
+ {
14
+ public function __construct() {
15
+
16
+ $this->_controller = 'manage_revolution';
17
+ //$this->_blockGroup = 'slideshow';
18
+ $this->_blockGroup = 'revolution';
19
+ $this->_headerText = Mage::helper('slideshow')->__('Post Revolution');
20
+
21
+ parent::__construct();
22
+ }
23
+ protected function _prepareLayout() {
24
+ $this->setChild('add_new_button', $this->getLayout()->createBlock('adminhtml/widget_button')
25
+ ->setData(array(
26
+ 'label' => Mage::helper('slideshow')->__('Add Post'),
27
+ 'onclick' => "setLocation('" . $this->getUrl('*/*/revolution') . "')",
28
+ 'class' => 'add'
29
+ ))
30
+ );
31
+ /**
32
+ * Display store switcher if system has more one store
33
+ */
34
+ if (!Mage::app()->isSingleStoreMode()) {
35
+ $this->setChild('store_switcher', $this->getLayout()->createBlock('adminhtml/store_switcher')
36
+ ->setUseConfirm(false)
37
+ ->setSwitchUrl($this->getUrl('*/*/*', array('store' => null)))
38
+ );
39
+ }
40
+
41
+ return parent::_prepareLayout();
42
+ }
43
+
44
+ public function getAddNewButtonHtml() {
45
+
46
+ return $this->getChildHtml('add_revolution_button');
47
+ }
48
+
49
+ public function getGridHtml() {
50
+
51
+ return $this->getChildHtml('grid');
52
+ }
53
+
54
+ public function getStoreSwitcherHtml() {
55
+ return $this->getChildHtml('store_switcher');
56
+ }
57
+
58
+ }
app/code/local/Cmsmart/Slideshow/Block/Manage/Revolution/Edit.php ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Block_Manage_Revolution_Edit extends Mage_Adminhtml_Block_Widget_Form_Container {
13
+ public function __construct() {
14
+ parent::__construct();
15
+ $this->_objectId = 'id';
16
+ $this->_blockGroup = 'revolution';
17
+ $this->_controller = 'manage_revolution';
18
+
19
+ $this->_updateButton('save', 'label', Mage::helper('slideshow')->__('Save Slideshow revolution'));
20
+ $this->_updateButton('delete', 'label', Mage::helper('slideshow')->__('Delete Slideshow revolution'));
21
+
22
+ $this->_addButton('saveandcontinue', array(
23
+ 'label' => Mage::helper('adminhtml')->__('Save And Continue Edit'),
24
+ 'onclick' => 'saveAndContinueEdit()',
25
+ 'class' => 'save',
26
+ ), -100);
27
+
28
+ $this->_formScripts[] = "
29
+ function toggleEditor() {
30
+ if (tinyMCE.getInstanceById('news_content') == null) {
31
+ tinyMCE.execCommand('mceAddControl', false, 'post_content');
32
+ } else {
33
+ tinyMCE.execCommand('mceRemoveControl', false, 'post_content');
34
+ }
35
+ }
36
+
37
+ function saveAndContinueEdit(){
38
+ editForm.submit($('edit_form').action+'back/edit/');
39
+ }
40
+
41
+ function duplicate() {
42
+ $(editForm.formId).action = '" . $this->getUrl('*/*/duplicate') . "';
43
+ editForm.submit();
44
+ }
45
+ ";
46
+ }
47
+ }
app/code/local/Cmsmart/Slideshow/Block/Manage/Revolution/Edit/Form.php ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Block_Manage_Revolution_Edit_Form extends Mage_Adminhtml_Block_Widget_Form {
13
+
14
+ protected function _prepareForm() {
15
+ $form = new Varien_Data_Form(array(
16
+ 'id' => 'edit_form',
17
+ 'action' => $this->getUrl('*/*/save', array('id' => $this->getRequest()->getParam('id'))),
18
+ 'method' => 'post',
19
+ 'enctype' => 'multipart/form-data'
20
+ )
21
+ );
22
+
23
+ $form->setUseContainer(true);
24
+ $this->setForm($form);
25
+ return parent::_prepareForm();
26
+ }
27
+ }
app/code/local/Cmsmart/Slideshow/Block/Manage/Revolution/Edit/Tab/Form.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Block_Manage_Revolution_Edit_Tab_Form extends Mage_Adminhtml_Block_Widget_Form {
13
+
14
+ protected function _prepareForm() {
15
+
16
+ $form = new Varien_Data_Form();
17
+ $this->setForm($form);
18
+ $fieldset = $form->addFieldset('slideshow_form', array('legend' => Mage::helper('slideshow')->__('Post Revolution')));
19
+ $this->setTemplate('cmsmart/slideshow/slideshow.phtml');
20
+
21
+ return parent::_prepareForm();
22
+ }
23
+ }
app/code/local/Cmsmart/Slideshow/Block/Manage/Revolution/Edit/Tab/Options.php ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * cmsmart Co.
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+
9
+ */
10
+ class Cmsmart_Slideshow_Block_Manage_Slideshow_Edit_Tab_Options extends Mage_Adminhtml_Block_Widget_Form {
11
+
12
+ }
app/code/local/Cmsmart/Slideshow/Block/Manage/Revolution/Edit/Tab/Related.php ADDED
@@ -0,0 +1,113 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * cmsmart Co.
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+
9
+ */
10
+ class Cmsmart_Slideshow_Block_Manage_Slideshow_Edit_Tab_Related extends Mage_Adminhtml_Block_Widget_Grid {
11
+
12
+ public function __construct() {
13
+ parent::__construct();
14
+ $this->setId('news_related');
15
+ $this->setDefaultSort('id');
16
+ //$this->setUseAjax(true);
17
+ }
18
+
19
+ protected function _addColumnFilterToCollection($column) {
20
+ // Set custom filter for in category flag
21
+ if ($column->getId() == 'related_product') {
22
+ $productIds = $this->_getSelectedProducts();
23
+ if (empty($productIds)) {
24
+ $productIds = 0;
25
+ }
26
+ if ($column->getFilter()->getValue()) {
27
+ $this->getCollection()->addFieldToFilter('entity_id', array('in' => $productIds));
28
+ } elseif (!empty($productIds)) {
29
+ $this->getCollection()->addFieldToFilter('entity_id', array('nin' => $productIds));
30
+ }
31
+ } else {
32
+ parent::_addColumnFilterToCollection($column);
33
+ }
34
+ return $this;
35
+ }
36
+
37
+ protected function _prepareCollection() {
38
+ $collection = Mage::getModel('catalog/product')->getCollection()
39
+ ->addAttributeToSelect('name')
40
+ ->addAttributeToSelect('sku')
41
+ ->addAttributeToSelect('price')
42
+ ->addStoreFilter($this->getRequest()->getParam('store'))
43
+ ->joinField('position', 'catalog/category_product', 'position', 'product_id=entity_id', 'category_id=' . (int) $this->getRequest()->getParam('id', 0), 'left');
44
+ $this->setCollection($collection);
45
+
46
+ return parent::_prepareCollection();
47
+ }
48
+
49
+ protected function _prepareColumns() {
50
+ $this->addColumn('related_product', array(
51
+ 'header_css_class' => 'a-center',
52
+ 'type' => 'checkbox',
53
+ 'name' => 'related_product',
54
+ 'values' => $this->_getSelectedProducts(),
55
+ 'align' => 'center',
56
+ 'index' => 'entity_id'
57
+ ));
58
+ $this->addColumn('id', array(
59
+ 'header' => Mage::helper('catalog')->__('ID'),
60
+ 'sortable' => true,
61
+ 'width' => '60px',
62
+ 'index' => 'entity_id'
63
+ ));
64
+ $this->addColumn('name', array(
65
+ 'header' => Mage::helper('catalog')->__('Name'),
66
+ 'index' => 'name'
67
+ ));
68
+ $this->addColumn('sku', array(
69
+ 'header' => Mage::helper('catalog')->__('SKU'),
70
+ 'width' => '120px',
71
+ 'index' => 'sku'
72
+ ));
73
+ $this->addColumn('price', array(
74
+ 'header' => Mage::helper('catalog')->__('Price'),
75
+ 'type' => 'currency',
76
+ 'currency_code' => (string) Mage::getStoreConfig(Mage_Directory_Model_Currency::XML_PATH_CURRENCY_BASE),
77
+ 'index' => 'price'
78
+ ));
79
+ $this->addColumn('position', array(
80
+ 'header' => Mage::helper('catalog')->__('Position'),
81
+ 'name' => 'position',
82
+ 'type' => 'number',
83
+ 'validate_class' => 'validate-number',
84
+ 'index' => 'position',
85
+ 'width' => '60px',
86
+ 'editable' => true,
87
+ ));
88
+
89
+ return parent::_prepareColumns();
90
+ }
91
+
92
+ public function getGridUrl() {
93
+ return $this->getUrl('*/*/grid', array('_current' => true));
94
+ }
95
+
96
+ protected function _getProduct() {
97
+ return Mage::registry('news_data');
98
+ }
99
+
100
+ protected function _getSelectedProducts() {
101
+ $products = $this->getRequest()->getPost('related_product');
102
+ if (is_null($products)) {
103
+ $collection = Mage::getModel('news/related')->getCollection()
104
+ ->addPostFilter(Mage::registry('news_data')->getId());
105
+
106
+ foreach ($collection as $product) {
107
+ $products[] = $product->getProductId();
108
+ }
109
+ }
110
+ return $products;
111
+ }
112
+
113
+ }
app/code/local/Cmsmart/Slideshow/Block/Manage/Revolution/Edit/Tabs.php ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Block_Manage_Revolution_Edit_Tabs extends Mage_Adminhtml_Block_Widget_Tabs {
13
+
14
+ public function __construct() {
15
+ parent::__construct();
16
+ $this->setId('revolution_tabs');
17
+ $this->setDestElementId('edit_form');
18
+ $this->setTitle(Mage::helper('slideshow')->__('Post Information'));
19
+ }
20
+
21
+ protected function _beforeToHtml() {
22
+ $this->addTab('form_section', array(
23
+ 'label' => Mage::helper('slideshow')->__('Post Revolution'),
24
+ 'title' => Mage::helper('slideshow')->__('Post Revolution'),
25
+ 'content' => $this->getLayout()->createBlock('slideshow/manage_revolution_edit_tab_form')->toHtml(),
26
+ ));
27
+ return parent::_beforeToHtml();
28
+ }
29
+
30
+ }
app/code/local/Cmsmart/Slideshow/Block/Manage/Revolution/Grid.php ADDED
@@ -0,0 +1,136 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Block_Manage_Revolution_Grid extends Mage_Adminhtml_Block_Widget_Grid {
13
+
14
+ public function __construct() {
15
+ parent::__construct();
16
+ $this->setId('slideshowGridrevolution');
17
+ $this->setDefaultSort('created_time');
18
+ $this->setDefaultDir('DESC');
19
+ $this->setSaveParametersInSession(true);
20
+ }
21
+
22
+ protected function _getStore() {
23
+ $storeId = (int) $this->getRequest()->getParam('store', 0);
24
+ return Mage::app()->getStore($storeId);
25
+ }
26
+
27
+ protected function _prepareCollection() {
28
+ $collection = Mage::getModel('slideshow/slideshow')->getCollection()->addFilter('revolution','1');
29
+ $store = $this->_getStore();
30
+ if ($store->getId()) {
31
+ $collection->addStoreFilter($store);
32
+ }
33
+ $this->setCollection($collection);
34
+ return parent::_prepareCollection();
35
+ }
36
+
37
+ protected function _prepareColumns() {
38
+ $this->addColumn('post_id', array(
39
+ 'header' => Mage::helper('slideshow')->__('ID'),
40
+ 'align' => 'right',
41
+ 'width' => '50px',
42
+ 'index' => 'slideshow_id',
43
+ ));
44
+
45
+ $this->addColumn('title', array(
46
+ 'header' => Mage::helper('slideshow')->__('Title'),
47
+ 'align' => 'left',
48
+ 'index' => 'title',
49
+ ));
50
+ $this->addColumn('created_time', array(
51
+ 'header' => Mage::helper('slideshow')->__('Created at'),
52
+ 'index' => 'created_time',
53
+ 'type' => 'datetime',
54
+ 'width' => '120px',
55
+ 'gmtoffset' => true,
56
+ 'default' => ' -- '
57
+ ));
58
+
59
+ $this->addColumn('update_time', array(
60
+ 'header' => Mage::helper('slideshow')->__('Updated at'),
61
+ 'index' => 'update_time',
62
+ 'width' => '120px',
63
+ 'type' => 'datetime',
64
+ 'gmtoffset' => true,
65
+ 'default' => ' -- '
66
+ ));
67
+
68
+
69
+
70
+ $this->addColumn('status', array(
71
+ 'header' => Mage::helper('slideshow')->__('Status'),
72
+ 'align' => 'left',
73
+ 'width' => '80px',
74
+ 'index' => 'status',
75
+ 'type' => 'options',
76
+ 'options' => array(
77
+ 1 => Mage::helper('slideshow')->__('Enabled'),
78
+ 2 => Mage::helper('slideshow')->__('Disabled'),
79
+ 3 => Mage::helper('slideshow')->__('Hidden'),
80
+ ),
81
+ ));
82
+
83
+ $this->addColumn('action', array(
84
+ 'header' => Mage::helper('slideshow')->__('Action'),
85
+ 'width' => '100',
86
+ 'type' => 'action',
87
+ 'getter' => 'getId',
88
+ 'actions' => array(
89
+ array(
90
+ 'caption' => Mage::helper('slideshow')->__('Edit'),
91
+ 'url' => array('base' => '*/*/edit'),
92
+ 'field' => 'id'
93
+ )
94
+ ),
95
+ 'filter' => false,
96
+ 'sortable' => false,
97
+ 'index' => 'stores',
98
+ 'is_system' => true,
99
+ ));
100
+
101
+ return parent::_prepareColumns();
102
+ }
103
+
104
+ protected function _prepareMassaction() {
105
+ $this->setMassactionIdField('post_id');
106
+ $this->getMassactionBlock()->setFormFieldName('slideshow');
107
+
108
+ $this->getMassactionBlock()->addItem('delete', array(
109
+ 'label' => Mage::helper('slideshow')->__('Delete'),
110
+ 'url' => $this->getUrl('*/*/massDelete'),
111
+ 'confirm' => Mage::helper('slideshow')->__('Are you sure?')
112
+ ));
113
+ $statuses = Mage::getSingleton('slideshow/status')->getOptionArray();
114
+
115
+ array_unshift($statuses, array('label' => '', 'value' => ''));
116
+ $this->getMassactionBlock()->addItem('status', array(
117
+ 'label' => Mage::helper('slideshow')->__('Change status'),
118
+ 'url' => $this->getUrl('*/*/massStatus', array('_current' => true)),
119
+ 'additional' => array(
120
+ 'visibility' => array(
121
+ 'name' => 'status',
122
+ 'type' => 'select',
123
+ 'class' => 'required-entry',
124
+ 'label' => Mage::helper('slideshow')->__('Status'),
125
+ 'values' => $statuses
126
+ )
127
+ )
128
+ ));
129
+ return $this;
130
+ }
131
+
132
+ public function getRowUrl($row) {
133
+ return $this->getUrl('*/*/edit', array('id' => $row->getId()));
134
+ }
135
+
136
+ }
app/code/local/Cmsmart/Slideshow/Block/Manage/Slideshow.php ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Block_Manage_Slideshow extends Mage_Adminhtml_Block_Widget_Grid_Container {
13
+
14
+ public function __construct() {
15
+ $this->_controller = 'manage_slideshow';
16
+ $this->_blockGroup = 'slideshow';
17
+ $this->_headerText = Mage::helper('slideshow')->__('Slideshow Post ');
18
+ parent::__construct();
19
+ }
20
+
21
+ protected function _prepareLayout() {
22
+ $this->setChild( 'grid',
23
+ $this->getLayout()->createBlock( $this->_blockGroup.'/' . $this->_controller . '_grid',
24
+ $this->_controller . '.grid')->setSaveParametersInSession(true) );
25
+ return parent::_prepareLayout();
26
+ }
27
+
28
+ public function getAddNewButtonHtml() {
29
+ return $this->getChildHtml('add_slideshow_button');
30
+ }
31
+
32
+ public function getGridHtml() {
33
+ return $this->getChildHtml('grid');
34
+ }
35
+
36
+ public function getStoreSwitcherHtml() {
37
+ return $this->getChildHtml('store_switcher');
38
+ }
39
+
40
+ }
app/code/local/Cmsmart/Slideshow/Block/Manage/Slideshow/Edit.php ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Block_Manage_Slideshow_Edit extends Mage_Adminhtml_Block_Widget_Form_Container {
13
+
14
+ public function __construct() {
15
+ parent::__construct();
16
+
17
+ $this->_objectId = 'id';
18
+ $this->_blockGroup = 'slideshow';
19
+ $this->_controller = 'manage_slideshow';
20
+
21
+ $this->_updateButton('save', 'label', Mage::helper('slideshow')->__('Save Slideshow'));
22
+ $this->_updateButton('delete', 'label', Mage::helper('slideshow')->__('Delete Slideshow'));
23
+
24
+ $this->_addButton('saveandcontinue', array(
25
+ 'label' => Mage::helper('adminhtml')->__('Save And Continue Edit'),
26
+ 'onclick' => 'saveAndContinueEdit()',
27
+ 'class' => 'save',
28
+ ), -100);
29
+
30
+
31
+ $this->_formScripts[] = "
32
+ function toggleEditor() {
33
+ if (tinyMCE.getInstanceById('news_content') == null) {
34
+ tinyMCE.execCommand('mceAddControl', false, 'post_content');
35
+ } else {
36
+ tinyMCE.execCommand('mceRemoveControl', false, 'post_content');
37
+ }
38
+ }
39
+
40
+ function saveAndContinueEdit(){
41
+ editForm.submit($('edit_form').action+'back/edit/');
42
+ }
43
+
44
+ function duplicate() {
45
+ $(editForm.formId).action = '" . $this->getUrl('*/*/duplicate') . "';
46
+ editForm.submit();
47
+ }
48
+ ";
49
+ }
50
+ protected function _prepareLayout() {
51
+ parent::_prepareLayout();
52
+ if (Mage::getSingleton('cms/wysiwyg_config')->isEnabled()) {
53
+ $this->getLayout()->getBlock('head')->setCanLoadTinyMce(true);
54
+ $this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
55
+ }
56
+ }
57
+ public function getHeaderText() {
58
+ if (Mage::registry('slideshow_data') && Mage::registry('slideshow_data')->getId()) {
59
+ return Mage::helper('slideshow')->__("Edit Slideshow '%s'", $this->htmlEscape(Mage::registry('slideshow_data')->getTitle()));
60
+ } else {
61
+ return Mage::helper('slideshow')->__('Add Slideshow');
62
+ }
63
+ }
64
+
65
+ }
app/code/local/Cmsmart/Slideshow/Block/Manage/Slideshow/Edit/Form.php ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Block_Manage_Slideshow_Edit_Form extends Mage_Adminhtml_Block_Widget_Form {
13
+
14
+ protected function _prepareForm() {
15
+ $form = new Varien_Data_Form(array(
16
+ 'id' => 'edit_form',
17
+ 'action' => $this->getUrl('*/*/save', array('id' => $this->getRequest()->getParam('id'))),
18
+ 'method' => 'post',
19
+ 'enctype' => 'multipart/form-data'
20
+ )
21
+ );
22
+
23
+ $form->setUseContainer(true);
24
+ $this->setForm($form);
25
+ return parent::_prepareForm();
26
+ }
27
+ }
app/code/local/Cmsmart/Slideshow/Block/Manage/Slideshow/Edit/Tab/Form.php ADDED
@@ -0,0 +1,108 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Block_Manage_Slideshow_Edit_Tab_Form extends Mage_Adminhtml_Block_Widget_Form {
13
+
14
+ protected function _prepareForm() {
15
+
16
+ $form = new Varien_Data_Form();
17
+ $this->setForm($form);
18
+ $fieldset = $form->addFieldset('slideshow_form', array('legend' => Mage::helper('slideshow')->__('Post information')));
19
+ $slideshow = Mage::getStoreConfig('slideshow/settings/type');
20
+ $class_images_sequence = Mage::getStoreConfig('slideshow/settings/class_images_sequence');
21
+ $calss = explode(",", $class_images_sequence);
22
+ $class_images = array();
23
+ foreach ($calss as $cat) {
24
+ $class_images[] = ( array(
25
+ 'label' => $cat,
26
+ 'value' => $cat
27
+ ));
28
+ }
29
+ $fieldset->addField('title', 'text', array(
30
+ 'label' => Mage::helper('slideshow')->__('Title'),
31
+ 'class' => 'required-entry',
32
+ 'required' => true,
33
+ 'name' => 'title',
34
+ ));
35
+ if( $slideshow !='revolution'){
36
+ $fieldset->addField('image', 'image', array(
37
+ 'name' => 'image',
38
+ 'label' => Mage::helper('slideshow')->__('Image'),
39
+ 'title' => Mage::helper('slideshow')->__('Image'),
40
+ 'src' => "media/Cmsmart/slideshow/",
41
+ 'required' => false
42
+ ));
43
+ }
44
+
45
+ if( $slideshow =='sequence-master'){
46
+ $fieldset->addField('imagesky', 'image', array(
47
+ 'name' => 'imagesky',
48
+ 'label' => Mage::helper('slideshow')->__('Image Sky'),
49
+ 'title' => Mage::helper('slideshow')->__('Image Sky'),
50
+ 'src' => "media/Cmsmart/slideshow/",
51
+ 'required' => false
52
+ ));
53
+ $fieldset->addField('class_images_sequence', 'select', array(
54
+ 'label' => Mage::helper('slideshow')->__('Class Images Sequence'),
55
+ 'class' => 'required-entry',
56
+ 'required' => false,
57
+ 'values' => $class_images,
58
+ 'name' => 'class_images_sequence',
59
+ ));
60
+ }
61
+ if( $slideshow !='sequence-master'){
62
+ $fieldset->addField('weblink', 'text', array(
63
+ 'label' => Mage::helper('slideshow')->__('Link'),
64
+ 'name' => 'weblink',
65
+ ));
66
+ }
67
+ $fieldset->addField('status', 'select', array(
68
+ 'label' => Mage::helper('slideshow')->__('Status'),
69
+ 'name' => 'status',
70
+ 'values' => array(
71
+ array(
72
+ 'value' => 0,
73
+ 'label' => Mage::helper('slideshow')->__('Enabled'),
74
+ ),
75
+ array(
76
+ 'value' => 1,
77
+ 'label' => Mage::helper('slideshow')->__('Disabled'),
78
+ ),
79
+ ),
80
+ ));
81
+ try {
82
+ $config = Mage::getSingleton('cms/wysiwyg_config')->getConfig();
83
+ $config->setData(Mage::helper('slideshow')->recursiveReplace(
84
+ '/slideshow_admin/', '/' . (string) Mage::app()->getConfig()->getNode('admin/routers/adminhtml/args/frontName') . '/', $config->getData()
85
+ )
86
+ );
87
+ } catch (Exception $ex) {
88
+ $config = null;
89
+ }
90
+
91
+ $fieldset->addField('post_content', 'editor', array(
92
+ 'name' => 'post_content',
93
+ 'title' => Mage::helper('slideshow')->__('Content'),
94
+ 'style' => 'width:700px; height:500px;',
95
+ 'config' => $config
96
+ ));
97
+
98
+ if (Mage::getSingleton('adminhtml/session')->getslideshowData()) {
99
+ $form->setValues(Mage::getSingleton('adminhtml/session')->getslideshowData());
100
+ Mage::getSingleton('adminhtml/session')->setslideshowData(null);
101
+ } elseif (Mage::registry('slideshow_data')) {
102
+ Mage::registry('slideshow_data')->setTags(Mage::helper('slideshow')->convertSlashes(Mage::registry('slideshow_data')->getTags()));
103
+ $form->setValues(Mage::registry('slideshow_data')->getData());
104
+ }
105
+ return parent::_prepareForm();
106
+ }
107
+
108
+ }
app/code/local/Cmsmart/Slideshow/Block/Manage/Slideshow/Edit/Tab/Formrevolution.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Block_Manage_Slideshow_Edit_Tab_Formrevolution extends Mage_Adminhtml_Block_Widget_Form {
13
+
14
+ protected function _prepareForm() {
15
+
16
+ $form = new Varien_Data_Form();
17
+ $this->setForm($form);
18
+ $fieldset = $form->addFieldset('slideshow_form', array('legend' => Mage::helper('slideshow')->__('Post Revolution')));
19
+ $this->setTemplate('cmsmart/slideshow/slideshow.phtml');
20
+
21
+ return parent::_prepareForm();
22
+ }
23
+ }
app/code/local/Cmsmart/Slideshow/Block/Manage/Slideshow/Edit/Tab/Options.php ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * cmsmart Co.
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+
9
+ */
10
+ class Cmsmart_Slideshow_Block_Manage_Slideshow_Edit_Tab_Options extends Mage_Adminhtml_Block_Widget_Form {
11
+
12
+ }
app/code/local/Cmsmart/Slideshow/Block/Manage/Slideshow/Edit/Tab/Related.php ADDED
@@ -0,0 +1,113 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * cmsmart Co.
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+
9
+ */
10
+ class Cmsmart_Slideshow_Block_Manage_Slideshow_Edit_Tab_Related extends Mage_Adminhtml_Block_Widget_Grid {
11
+
12
+ public function __construct() {
13
+ parent::__construct();
14
+ $this->setId('news_related');
15
+ $this->setDefaultSort('id');
16
+ //$this->setUseAjax(true);
17
+ }
18
+
19
+ protected function _addColumnFilterToCollection($column) {
20
+ // Set custom filter for in category flag
21
+ if ($column->getId() == 'related_product') {
22
+ $productIds = $this->_getSelectedProducts();
23
+ if (empty($productIds)) {
24
+ $productIds = 0;
25
+ }
26
+ if ($column->getFilter()->getValue()) {
27
+ $this->getCollection()->addFieldToFilter('entity_id', array('in' => $productIds));
28
+ } elseif (!empty($productIds)) {
29
+ $this->getCollection()->addFieldToFilter('entity_id', array('nin' => $productIds));
30
+ }
31
+ } else {
32
+ parent::_addColumnFilterToCollection($column);
33
+ }
34
+ return $this;
35
+ }
36
+
37
+ protected function _prepareCollection() {
38
+ $collection = Mage::getModel('catalog/product')->getCollection()
39
+ ->addAttributeToSelect('name')
40
+ ->addAttributeToSelect('sku')
41
+ ->addAttributeToSelect('price')
42
+ ->addStoreFilter($this->getRequest()->getParam('store'))
43
+ ->joinField('position', 'catalog/category_product', 'position', 'product_id=entity_id', 'category_id=' . (int) $this->getRequest()->getParam('id', 0), 'left');
44
+ $this->setCollection($collection);
45
+
46
+ return parent::_prepareCollection();
47
+ }
48
+
49
+ protected function _prepareColumns() {
50
+ $this->addColumn('related_product', array(
51
+ 'header_css_class' => 'a-center',
52
+ 'type' => 'checkbox',
53
+ 'name' => 'related_product',
54
+ 'values' => $this->_getSelectedProducts(),
55
+ 'align' => 'center',
56
+ 'index' => 'entity_id'
57
+ ));
58
+ $this->addColumn('id', array(
59
+ 'header' => Mage::helper('catalog')->__('ID'),
60
+ 'sortable' => true,
61
+ 'width' => '60px',
62
+ 'index' => 'entity_id'
63
+ ));
64
+ $this->addColumn('name', array(
65
+ 'header' => Mage::helper('catalog')->__('Name'),
66
+ 'index' => 'name'
67
+ ));
68
+ $this->addColumn('sku', array(
69
+ 'header' => Mage::helper('catalog')->__('SKU'),
70
+ 'width' => '120px',
71
+ 'index' => 'sku'
72
+ ));
73
+ $this->addColumn('price', array(
74
+ 'header' => Mage::helper('catalog')->__('Price'),
75
+ 'type' => 'currency',
76
+ 'currency_code' => (string) Mage::getStoreConfig(Mage_Directory_Model_Currency::XML_PATH_CURRENCY_BASE),
77
+ 'index' => 'price'
78
+ ));
79
+ $this->addColumn('position', array(
80
+ 'header' => Mage::helper('catalog')->__('Position'),
81
+ 'name' => 'position',
82
+ 'type' => 'number',
83
+ 'validate_class' => 'validate-number',
84
+ 'index' => 'position',
85
+ 'width' => '60px',
86
+ 'editable' => true,
87
+ ));
88
+
89
+ return parent::_prepareColumns();
90
+ }
91
+
92
+ public function getGridUrl() {
93
+ return $this->getUrl('*/*/grid', array('_current' => true));
94
+ }
95
+
96
+ protected function _getProduct() {
97
+ return Mage::registry('news_data');
98
+ }
99
+
100
+ protected function _getSelectedProducts() {
101
+ $products = $this->getRequest()->getPost('related_product');
102
+ if (is_null($products)) {
103
+ $collection = Mage::getModel('news/related')->getCollection()
104
+ ->addPostFilter(Mage::registry('news_data')->getId());
105
+
106
+ foreach ($collection as $product) {
107
+ $products[] = $product->getProductId();
108
+ }
109
+ }
110
+ return $products;
111
+ }
112
+
113
+ }
app/code/local/Cmsmart/Slideshow/Block/Manage/Slideshow/Edit/Tabs.php ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Block_Manage_Slideshow_Edit_Tabs extends Mage_Adminhtml_Block_Widget_Tabs {
13
+
14
+ public function __construct() {
15
+ parent::__construct();
16
+ $this->setId('slideshow_tabs');
17
+ $this->setDestElementId('edit_form');
18
+ $this->setTitle(Mage::helper('slideshow')->__('Post Information'));
19
+ }
20
+
21
+ protected function _beforeToHtml() {
22
+ $this->addTab('form_section', array(
23
+ 'label' => Mage::helper('slideshow')->__('Post Information'),
24
+ 'title' => Mage::helper('slideshow')->__('Post Information'),
25
+ 'content' => $this->getLayout()->createBlock('slideshow/manage_slideshow_edit_tab_form')->toHtml(),
26
+ ));
27
+ return parent::_beforeToHtml();
28
+ }
29
+
30
+ }
app/code/local/Cmsmart/Slideshow/Block/Manage/Slideshow/Edit/Tabsrevolution.php ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Block_Manage_Slideshow_Edit_Tabsrevolution extends Mage_Adminhtml_Block_Widget_Tabs {
13
+
14
+ public function __construct() {
15
+ parent::__construct();
16
+ $this->setId('slideshow_tabs');
17
+ $this->setDestElementId('edit_form');
18
+ $this->setTitle(Mage::helper('slideshow')->__('Post Revolution'));
19
+ }
20
+
21
+ protected function _beforeToHtml() {
22
+ $this->addTab('form_section', array(
23
+ 'label' => Mage::helper('slideshow')->__('Post Revolution'),
24
+ 'title' => Mage::helper('slideshow')->__('Post Revolution'),
25
+ 'content' => $this->getLayout()->createBlock('slideshow/manage_slideshow_edit_tab_formrevolution')->toHtml(),
26
+ ));
27
+ return parent::_beforeToHtml();
28
+ }
29
+
30
+ }
app/code/local/Cmsmart/Slideshow/Block/Manage/Slideshow/Edittabsrevolution.php ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Block_Manage_Slideshow_Edittabsrevolution extends Mage_Adminhtml_Block_Widget_Form_Container {
13
+
14
+ public function __construct() {
15
+ parent::__construct();
16
+
17
+ $this->_objectId = 'id';
18
+ $this->_blockGroup = 'slideshow';
19
+ $this->_controller = 'manage_slideshow';
20
+
21
+ $this->_updateButton('save', 'label', Mage::helper('slideshow')->__('Save Slideshow revolution'));
22
+ $this->_updateButton('delete', 'label', Mage::helper('slideshow')->__('Delete Slideshow revolution'));
23
+ $this->_addButton('saveandcontinue', array(
24
+ 'label' => Mage::helper('adminhtml')->__('Save And Continue Edit'),
25
+ 'onclick' => 'saveAndContinueEdit()',
26
+ 'class' => 'save',
27
+ ), -100);
28
+ if ($this->getRequest()->getParam('id')) {
29
+ $this->_addButton('diplicate', array(
30
+ 'label' => Mage::helper('slideshow')->__('Duplicate Slideshow'),
31
+ 'onclick' => 'duplicate()',
32
+ 'class' => 'save'
33
+ ), 0);
34
+ }
35
+ $this->_formScripts[] = "
36
+ function toggleEditor() {
37
+ if (tinyMCE.getInstanceById('news_content') == null) {
38
+ tinyMCE.execCommand('mceAddControl', false, 'post_content');
39
+ } else {
40
+ tinyMCE.execCommand('mceRemoveControl', false, 'post_content');
41
+ }
42
+ }
43
+
44
+ function saveAndContinueEdit(){
45
+ editForm.submit($('edit_form').action+'back/edit/');
46
+ }
47
+
48
+ function duplicate() {
49
+ $(editForm.formId).action = '" . $this->getUrl('*/*/duplicate') . "';
50
+ editForm.submit();
51
+ }
52
+ ";
53
+
54
+ }
55
+ }
app/code/local/Cmsmart/Slideshow/Block/Manage/Slideshow/Grid.php ADDED
@@ -0,0 +1,143 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Name Extension: Slideshow Homepage
5
+ * Version: 1.0.0
6
+ * Author: The Cmsmart Development Team
7
+ * Date Created: 16/09/2013
8
+ * Websites: http://cmsmart.net
9
+ * Technical Support: Forum - http://cmsmart.net/support
10
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
11
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
12
+ */
13
+ class Cmsmart_Slideshow_Block_Manage_Slideshow_Grid extends Mage_Adminhtml_Block_Widget_Grid {
14
+
15
+ public function __construct() {
16
+ parent::__construct();
17
+ $this->setId('slideshowGrid');
18
+ $this->setDefaultSort('created_time');
19
+ $this->setDefaultDir('DESC');
20
+ $this->setSaveParametersInSession(true);
21
+ }
22
+
23
+ protected function _getStore() {
24
+ $storeId = (int) $this->getRequest()->getParam('store', 0);
25
+ return Mage::app()->getStore($storeId);
26
+ }
27
+
28
+ protected function _prepareCollection() {
29
+ $slideshow = Mage::getStoreConfig('slideshow/settings/type');
30
+ if( $slideshow =='sequence-master'){
31
+ $collection = Mage::getModel('slideshow/slideshow')->getCollection()
32
+ ->addFilter('sequencemaster','1')
33
+ ->addFilter('revolution','0');
34
+ } else {
35
+ $collection = Mage::getModel('slideshow/slideshow')->getCollection()
36
+ ->addFilter('sequencemaster','0')
37
+ ->addFilter('revolution','0');
38
+ }
39
+
40
+ $store = $this->_getStore();
41
+ if ($store->getId()) {
42
+ $collection->addStoreFilter($store);
43
+ }
44
+ $this->setCollection($collection);
45
+ return parent::_prepareCollection();
46
+ }
47
+
48
+ protected function _prepareColumns() {
49
+ $slideshow = Mage::getStoreConfig('slideshow/settings/type');
50
+ $this->addColumn('post_id', array(
51
+ 'header' => Mage::helper('slideshow')->__('ID'),
52
+ 'align' => 'right',
53
+ 'width' => '50px',
54
+ 'index' => 'slideshow_id',
55
+ ));
56
+
57
+ $this->addColumn('title', array(
58
+ 'header' => Mage::helper('slideshow')->__('Title'),
59
+ 'align' => 'left',
60
+ 'index' => 'title',
61
+ ));
62
+ $this->addColumn('images', array(
63
+ 'header' => Mage::helper('slideshow')->__('Images'),
64
+ 'align' => 'center',
65
+ 'index' => 'image',
66
+ 'width' => '200px',
67
+ 'renderer' => 'slideshow/adminhtml_template_grid_renderer_image'
68
+ ));
69
+ $this->addColumn('created_time', array(
70
+ 'header' => Mage::helper('slideshow')->__('Created at'),
71
+ 'index' => 'created_time',
72
+ 'type' => 'datetime',
73
+ 'width' => '120px',
74
+ 'gmtoffset' => true,
75
+ 'default' => ' -- '
76
+ ));
77
+ $this->addColumn('status', array(
78
+ 'header' => Mage::helper('slideshow')->__('Status'),
79
+ 'align' => 'left',
80
+ 'width' => '80px',
81
+ 'index' => 'status',
82
+ 'type' => 'options',
83
+ 'options' => array(
84
+ 0 => Mage::helper('slideshow')->__('Enabled'),
85
+ 1 => Mage::helper('slideshow')->__('Disabled'),
86
+ ),
87
+ ));
88
+
89
+ $this->addColumn('action', array(
90
+ 'header' => Mage::helper('slideshow')->__('Action'),
91
+ 'width' => '100',
92
+ 'type' => 'action',
93
+ 'getter' => 'getId',
94
+ 'actions' => array(
95
+ array(
96
+ 'caption' => Mage::helper('slideshow')->__('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
+
107
+ return parent::_prepareColumns();
108
+ }
109
+
110
+ protected function _prepareMassaction() {
111
+ $this->setMassactionIdField('post_id');
112
+ $this->getMassactionBlock()->setFormFieldName('slideshow');
113
+
114
+ $this->getMassactionBlock()->addItem('delete', array(
115
+ 'label' => Mage::helper('slideshow')->__('Delete'),
116
+ 'url' => $this->getUrl('*/*/massDelete'),
117
+ 'confirm' => Mage::helper('slideshow')->__('Are you sure?')
118
+ ));
119
+ $statuses = Mage::getSingleton('slideshow/status')->getOptionArray();
120
+
121
+ array_unshift($statuses, array('label' => '', 'value' => ''));
122
+ $this->getMassactionBlock()->addItem('status', array(
123
+ 'label' => Mage::helper('slideshow')->__('Change status'),
124
+ 'url' => $this->getUrl('*/*/massStatus', array('_current' => true)),
125
+ 'additional' => array(
126
+ 'visibility' => array(
127
+ 'name' => 'status',
128
+ 'type' => 'select',
129
+ 'class' => 'required-entry',
130
+ 'label' => Mage::helper('slideshow')->__('Status'),
131
+ 'values' => $statuses
132
+ )
133
+ )
134
+ ));
135
+
136
+ return $this;
137
+ }
138
+
139
+ public function getRowUrl($row) {
140
+ return $this->getUrl('*/*/edit', array('id' => $row->getId()));
141
+ }
142
+
143
+ }
app/code/local/Cmsmart/Slideshow/Block/Manage/Slideshow/Gridrevolution.php ADDED
@@ -0,0 +1,145 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Block_Manage_Slideshow_Gridrevolution extends Mage_Adminhtml_Block_Widget_Grid {
13
+
14
+ public function __construct() {
15
+ parent::__construct();
16
+ $this->setId('slideshowGridrevolution');
17
+ $this->setDefaultSort('created_time');
18
+ $this->setDefaultDir('DESC');
19
+ $this->setSaveParametersInSession(true);
20
+ }
21
+
22
+ protected function _getStore() {
23
+ $storeId = (int) $this->getRequest()->getParam('store', 0);
24
+ return Mage::app()->getStore($storeId);
25
+ }
26
+
27
+ protected function _prepareCollection() {
28
+
29
+ $collection = Mage::getModel('slideshow/slideshow')->getCollection()->addFilter('revolution','0');
30
+ $store = $this->_getStore();
31
+ if ($store->getId()) {
32
+ $collection->addStoreFilter($store);
33
+ }
34
+ $this->setCollection($collection);
35
+ return parent::_prepareCollection();
36
+ }
37
+
38
+ protected function _prepareColumns() {
39
+ $this->addColumn('post_id', array(
40
+ 'header' => Mage::helper('slideshow')->__('ID'),
41
+ 'align' => 'right',
42
+ 'width' => '50px',
43
+ 'index' => 'slideshow_id',
44
+ ));
45
+
46
+ $this->addColumn('title', array(
47
+ 'header' => Mage::helper('slideshow')->__('Title'),
48
+ 'align' => 'left',
49
+ 'index' => 'title',
50
+ ));
51
+ $this->addColumn('image', array(
52
+ 'header' => Mage::helper('slideshow')->__('Slide'),
53
+ 'align' => 'center',
54
+ 'index' => 'image',
55
+ 'width' => '200px',
56
+ 'renderer' => 'slideshow/adminhtml_template_grid_renderer_image'
57
+ ));
58
+ $this->addColumn('created_time', array(
59
+ 'header' => Mage::helper('slideshow')->__('Created at'),
60
+ 'index' => 'created_time',
61
+ 'type' => 'datetime',
62
+ 'width' => '120px',
63
+ 'gmtoffset' => true,
64
+ 'default' => ' -- '
65
+ ));
66
+
67
+ $this->addColumn('update_time', array(
68
+ 'header' => Mage::helper('slideshow')->__('Updated at'),
69
+ 'index' => 'update_time',
70
+ 'width' => '120px',
71
+ 'type' => 'datetime',
72
+ 'gmtoffset' => true,
73
+ 'default' => ' -- '
74
+ ));
75
+
76
+
77
+
78
+ $this->addColumn('status', array(
79
+ 'header' => Mage::helper('slideshow')->__('Status'),
80
+ 'align' => 'left',
81
+ 'width' => '80px',
82
+ 'index' => 'status',
83
+ 'type' => 'options',
84
+ 'options' => array(
85
+ 1 => Mage::helper('slideshow')->__('Enabled'),
86
+ 2 => Mage::helper('slideshow')->__('Disabled'),
87
+ 3 => Mage::helper('slideshow')->__('Hidden'),
88
+ ),
89
+ ));
90
+
91
+ $this->addColumn('action', array(
92
+ 'header' => Mage::helper('slideshow')->__('Action'),
93
+ 'width' => '100',
94
+ 'type' => 'action',
95
+ 'getter' => 'getId',
96
+ 'actions' => array(
97
+ array(
98
+ 'caption' => Mage::helper('slideshow')->__('Edit'),
99
+ 'url' => array('base' => '*/*/edit'),
100
+ 'field' => 'id'
101
+ )
102
+ ),
103
+ 'filter' => false,
104
+ 'sortable' => false,
105
+ 'index' => 'stores',
106
+ 'is_system' => true,
107
+ ));
108
+
109
+ return parent::_prepareColumns();
110
+ }
111
+
112
+ protected function _prepareMassaction() {
113
+ $this->setMassactionIdField('post_id');
114
+ $this->getMassactionBlock()->setFormFieldName('slideshow');
115
+
116
+ $this->getMassactionBlock()->addItem('delete', array(
117
+ 'label' => Mage::helper('slideshow')->__('Delete'),
118
+ 'url' => $this->getUrl('*/*/massDelete'),
119
+ 'confirm' => Mage::helper('slideshow')->__('Are you sure?')
120
+ ));
121
+ $statuses = Mage::getSingleton('slideshow/status')->getOptionArray();
122
+
123
+ array_unshift($statuses, array('label' => '', 'value' => ''));
124
+ $this->getMassactionBlock()->addItem('status', array(
125
+ 'label' => Mage::helper('slideshow')->__('Change status'),
126
+ 'url' => $this->getUrl('*/*/massStatus', array('_current' => true)),
127
+ 'additional' => array(
128
+ 'visibility' => array(
129
+ 'name' => 'status',
130
+ 'type' => 'select',
131
+ 'class' => 'required-entry',
132
+ 'label' => Mage::helper('slideshow')->__('Status'),
133
+ 'values' => $statuses
134
+ )
135
+ )
136
+ ));
137
+
138
+ return $this;
139
+ }
140
+
141
+ public function getRowUrl($row) {
142
+ return $this->getUrl('*/*/edit', array('id' => $row->getId()));
143
+ }
144
+
145
+ }
app/code/local/Cmsmart/Slideshow/Block/Slideshow.php ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Block_Slideshow extends Mage_Core_Block_Template implements Mage_Widget_Block_Interface
13
+ {
14
+ //public $test;
15
+
16
+ public function getLayout()
17
+ {
18
+ if (!Mage::getStoreConfig('slideshow/settings/enabled')) return;
19
+ return $this->_layout;
20
+ }
21
+ public function _prepareLayout()
22
+ {
23
+ return parent::_prepareLayout();
24
+ }
25
+ public function getImageCollection() {
26
+
27
+ $collection = Mage::getModel('slideshow/slideshow')->getCollection()
28
+ ->addFieldToFilter('revolution',0)
29
+ ->addFieldToFilter('sequencemaster',0)
30
+ ->addFieldToFilter('status',0);
31
+ $banners = array();
32
+ foreach ($collection as $banner) {
33
+ $banners[] = $banner;
34
+ }
35
+ return $banners;
36
+ }
37
+ public function getSequencemasteCollection() {
38
+
39
+ $collection = Mage::getModel('slideshow/slideshow')->getCollection()
40
+ ->addFieldToFilter('sequencemaster',1)
41
+ ->addFieldToFilter('status',0);
42
+ $banners = array();
43
+ foreach ($collection as $banner) {
44
+ $banners[] = $banner;
45
+ }
46
+ return $banners;
47
+ }
48
+
49
+ public function getRevolution(){
50
+ $content_slideshow = $this->getData('content_slideshow');
51
+ $collection = Mage::getModel('slideshow/slideshow')->getCollection()
52
+ ->addFieldToFilter('slideshow_id',$content_slideshow)
53
+ ->addFieldToFilter('status',0)
54
+ ->addFieldToFilter('revolution',1);
55
+ $banners = array();
56
+ foreach ($collection as $banner) {
57
+ $banners[] = $banner;
58
+ }
59
+ return $banners;
60
+ }
61
+ public function getResizedImage($image,$width, $height = null, $quality = 100) {
62
+ $imageUrl = Mage::getBaseDir('media').'/'.$image;
63
+ $name=$width.'x'.$height.'_'.basename($image);
64
+ $img = 'cmsmart/slideshow/thumbs/';
65
+ $imageResized = Mage::getBaseDir('media').'/'.$img.$name;
66
+ if (!file_exists($imageResized)&&file_exists($imageUrl)) {
67
+ $imageObj = new Varien_Image($imageUrl);
68
+ $imageObj->constrainOnly(TRUE);
69
+ $imageObj->keepAspectRatio(TRUE);
70
+ $imageObj->keepFrame(FALSE);
71
+ $imageObj->quality($quality);
72
+ $imageObj->resize($width,$height);
73
+ $imageObj->save($imageResized);
74
+ return $img.$name;
75
+ }
76
+ if (file_exists($imageResized)) return $img.$name;
77
+ return '';
78
+ }
79
+ }
app/code/local/Cmsmart/Slideshow/Helper/Data.php ADDED
@@ -0,0 +1,90 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Helper_Data extends Mage_Core_Helper_Abstract
13
+ {
14
+ public function magentoLess14()
15
+ {
16
+ return version_compare(Mage::getVersion(), '1.4', '<');
17
+ }
18
+ public function recursiveReplace($search, $replace, $subject)
19
+ {
20
+ if (!is_array($subject))
21
+ return $subject;
22
+
23
+ foreach ($subject as $key => $value)
24
+ if (is_string($value))
25
+ $subject[$key] = str_replace($search, $replace, $value);
26
+ elseif (is_array($value))
27
+ $subject[$key] = self::recursiveReplace($search, $replace, $value);
28
+
29
+ return $subject;
30
+ }
31
+ public function convertSlashes($tag, $direction = 'back')
32
+ {
33
+ if ($direction == 'forward') {
34
+ $tag = preg_replace("#/#is", "&#47;", $tag);
35
+ $tag = preg_replace("#\\\#is", "&#92;", $tag);
36
+ return $tag;
37
+ }
38
+
39
+ $tag = str_replace("&#47;", "/", $tag);
40
+ $tag = str_replace("&#92;", "\\", $tag);
41
+
42
+ return $tag;
43
+ }
44
+ public function getCfg($optionString)
45
+ {
46
+ return Mage::getStoreConfig('slideshow/' . $optionString);
47
+ }
48
+ public function getAllOptions()
49
+ {
50
+ $this->_options = null;
51
+ if (!$this->_options) {
52
+ $this->_options = Mage::getResourceModel('cms/block_collection')
53
+ ->load()
54
+ ->toOptionArray();
55
+ array_unshift($this->_options, array('value'=>'', 'label'=>Mage::helper('catalog')->__('Please select static block ...')));
56
+ }
57
+
58
+ return $this->_options;
59
+ }
60
+ public function getEasing(){
61
+ $Easing = Mage::getModel('slideshow/easing')->toOptionArray();
62
+ return $Easing;
63
+ }
64
+ public function getClass(){
65
+ $Class = Mage::getModel('slideshow/class')->toOptionArray();
66
+ return $Class;
67
+ }
68
+ public function getDatarevolution($datacontent,$numberslide,$datanumberlidiv,$m,$n){
69
+ $datacontentu = array();
70
+ for ($i=0; $i <= $dataupdate['numberslide']; $i++){
71
+ if($i==0){
72
+ for ($j=0; $j < $datanumberlidiv[$i]; $j++){
73
+ $datacontentu[$i] .= $datacontent[$j];
74
+ $datacontentu[$i] .= ',';
75
+ }
76
+ }
77
+ }
78
+ for ($i=1; $i < $numberslide; $i++){
79
+ for ($j=$datanumberlidiv[$i-1]; $j < $datanumberlidiv[$i]; $j++){
80
+ $datacontentu[$i] .= $datacontent[$j];
81
+ $datacontentu[$i] .= ',';
82
+ }
83
+ }
84
+
85
+ for ($i=0; $i <= $numberslide; $i++){
86
+ $datadiv[$i] = explode(",",$datacontentu[$i]);
87
+ }
88
+ return $datadiv[$m-1][$n-1];
89
+ }
90
+ }
app/code/local/Cmsmart/Slideshow/Model/Class.php ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Model_Class{
13
+ public function toOptionArray()
14
+ {
15
+ return array(
16
+ //Ease in-out
17
+ array('value' => 'sft', 'label' => Mage::helper('slideshow')->__('Short from Top')),
18
+ array('value' => 'sfb', 'label' => Mage::helper('slideshow')->__('Short from Bottom')),
19
+ array('value' => 'sfr', 'label' => Mage::helper('slideshow')->__('Short from Right')),
20
+ array('value' => 'sfl', 'label' => Mage::helper('slideshow')->__('Short from Left')),
21
+ array('value' => 'lft', 'label' => Mage::helper('slideshow')->__('Long from Top')),
22
+ array('value' => 'lfb', 'label' => Mage::helper('slideshow')->__('Long from Bottom')),
23
+ array('value' => 'lfr', 'label' => Mage::helper('slideshow')->__('Long from Right')),
24
+ array('value' => 'lfl','label' => Mage::helper('slideshow')->__('Long from Left')),
25
+ array('value' => 'fade', 'label' => Mage::helper('slideshow')->__('Fading')),
26
+ );
27
+ }
28
+ }
app/code/local/Cmsmart/Slideshow/Model/Content.php ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+
13
+ class Cmsmart_Slideshow_Model_Content {
14
+ public function toOptionArray(){
15
+ $collection = Mage::getModel('slideshow/slideshow')->getCollection()
16
+ ->addFieldToFilter('status',0)
17
+ ->addFieldToFilter('revolution',1);
18
+
19
+ $revolution = array();
20
+ foreach ($collection as $banner) {
21
+ $revolution[] = (array(
22
+ 'label' => $banner['title'],
23
+ 'value' => $banner['slideshow_id']
24
+ ));
25
+ }
26
+ return $revolution;
27
+ }
28
+ }
app/code/local/Cmsmart/Slideshow/Model/Direction.php ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Model_Direction{
13
+ public function toOptionArray(){
14
+ return array(
15
+ //Ease in-out
16
+ array('value' => 'opacity', 'label' => Mage::helper('slideshow')->__('Opacity')),
17
+ array('value' => 'opacitys', 'label' => Mage::helper('slideshow')->__('Opacitys'))
18
+ );
19
+ }
20
+ }
app/code/local/Cmsmart/Slideshow/Model/Easing.php ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Model_Easing{
13
+ public function toOptionArray()
14
+ {
15
+ return array(
16
+ //Ease in-out
17
+ array('value' => 'easeInOutSine', 'label' => Mage::helper('slideshow')->__('easeInOutSine')),
18
+ array('value' => 'easeInOutQuad', 'label' => Mage::helper('slideshow')->__('easeInOutQuad')),
19
+ array('value' => 'easeInOutCubic', 'label' => Mage::helper('slideshow')->__('easeInOutCubic')),
20
+ array('value' => 'easeInOutQuart', 'label' => Mage::helper('slideshow')->__('easeInOutQuart')),
21
+ array('value' => 'easeInOutQuint', 'label' => Mage::helper('slideshow')->__('easeInOutQuint')),
22
+ array('value' => 'easeInOutExpo', 'label' => Mage::helper('slideshow')->__('easeInOutExpo')),
23
+ array('value' => 'easeInOutCirc', 'label' => Mage::helper('slideshow')->__('easeInOutCirc')),
24
+ array('value' => 'easeInOutElastic','label' => Mage::helper('slideshow')->__('easeInOutElastic')),
25
+ array('value' => 'easeInOutBack', 'label' => Mage::helper('slideshow')->__('easeInOutBack')),
26
+ array('value' => 'easeInOutBounce', 'label' => Mage::helper('slideshow')->__('easeInOutBounce')),
27
+ //Ease out
28
+ array('value' => 'easeOutSine', 'label' => Mage::helper('slideshow')->__('easeOutSine')),
29
+ array('value' => 'easeOutQuad', 'label' => Mage::helper('slideshow')->__('easeOutQuad')),
30
+ array('value' => 'easeOutCubic', 'label' => Mage::helper('slideshow')->__('easeOutCubic')),
31
+ array('value' => 'easeOutQuart', 'label' => Mage::helper('slideshow')->__('easeOutQuart')),
32
+ array('value' => 'easeOutQuint', 'label' => Mage::helper('slideshow')->__('easeOutQuint')),
33
+ array('value' => 'easeOutExpo', 'label' => Mage::helper('slideshow')->__('easeOutExpo')),
34
+ array('value' => 'easeOutCirc', 'label' => Mage::helper('slideshow')->__('easeOutCirc')),
35
+ array('value' => 'easeOutElastic', 'label' => Mage::helper('slideshow')->__('easeOutElastic')),
36
+ array('value' => 'easeOutBack', 'label' => Mage::helper('slideshow')->__('easeOutBack')),
37
+ array('value' => 'easeOutBounce', 'label' => Mage::helper('slideshow')->__('easeOutBounce')),
38
+ //Ease in
39
+ array('value' => 'easeInSine', 'label' => Mage::helper('slideshow')->__('easeInSine')),
40
+ array('value' => 'easeInQuad', 'label' => Mage::helper('slideshow')->__('easeInQuad')),
41
+ array('value' => 'easeInCubic', 'label' => Mage::helper('slideshow')->__('easeInCubic')),
42
+ array('value' => 'easeInQuart', 'label' => Mage::helper('slideshow')->__('easeInQuart')),
43
+ array('value' => 'easeInQuint', 'label' => Mage::helper('slideshow')->__('easeInQuint')),
44
+ array('value' => 'easeInExpo', 'label' => Mage::helper('slideshow')->__('easeInExpo')),
45
+ array('value' => 'easeInCirc', 'label' => Mage::helper('slideshow')->__('easeInCirc')),
46
+ array('value' => 'easeInElastic', 'label' => Mage::helper('slideshow')->__('easeInElastic')),
47
+ array('value' => 'easeInBack', 'label' => Mage::helper('slideshow')->__('easeInBack')),
48
+ array('value' => 'easeInBounce', 'label' => Mage::helper('slideshow')->__('easeInBounce'))
49
+ );
50
+ }
51
+ }
app/code/local/Cmsmart/Slideshow/Model/Imagethumbnails.php ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Model_Imagethumbnails{
13
+ protected $_options;
14
+ const IMAGETHUMB_THUMBNAIL = 'thumbnail';
15
+ const IMAGETHUMB_PAGINATION = 'pagination';
16
+ const IMAGETHUMB_NONE = 'none';
17
+
18
+ public function toOptionArray(){
19
+ if (!$this->_options) {
20
+ $this->_options[] = array(
21
+ 'value'=>self::IMAGETHUMB_THUMBNAIL,
22
+ 'label'=>Mage::helper('slideshow')->__('Thumbnails')
23
+ );
24
+ $this->_options[] = array(
25
+ 'value'=>self::IMAGETHUMB_PAGINATION,
26
+ 'label'=>Mage::helper('slideshow')->__('Pagination')
27
+ );
28
+ $this->_options[] = array(
29
+ 'value'=>self::IMAGETHUMB_NONE,
30
+ 'label'=>Mage::helper('slideshow')->__('None')
31
+ );
32
+
33
+ }
34
+ return $this->_options;
35
+ }
36
+ }
app/code/local/Cmsmart/Slideshow/Model/Loader.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Model_Loader{
13
+ protected $_options;
14
+ const SLIDESHOWLOADER_PIE = 'pie';
15
+ const SLIDESHOWLOADER_BAR = 'bar';
16
+ const SLIDESHOWLOADER_NONE = 'none';
17
+
18
+ public function toOptionArray(){
19
+ if (!$this->_options) {
20
+ $this->_options[] = array(
21
+ 'value'=>self::SLIDESHOWLOADER_PIE,
22
+ 'label'=>Mage::helper('slideshow')->__('Pie')
23
+ );
24
+ $this->_options[] = array(
25
+ 'value'=>self::SLIDESHOWLOADER_BAR,
26
+ 'label'=>Mage::helper('slideshow')->__('Bar')
27
+ );
28
+ $this->_options[] = array(
29
+ 'value'=>self::SLIDESHOWLOADER_NONE,
30
+ 'label'=>Mage::helper('slideshow')->__('None')
31
+ );
32
+ }
33
+ return $this->_options;
34
+ }
35
+ }
app/code/local/Cmsmart/Slideshow/Model/Lofsliderstyle.php ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Model_Lofsliderstyle{
13
+ public function toOptionArray()
14
+ {
15
+ return array(
16
+ //Ease in-out
17
+ array('value' => '1', 'label' => Mage::helper('slideshow')->__('One')),
18
+ array('value' => '2', 'label' => Mage::helper('slideshow')->__('Two')),
19
+ );
20
+ }
21
+ }
app/code/local/Cmsmart/Slideshow/Model/Mysql4/Slideshow.php ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Model_Mysql4_Slideshow extends Mage_Core_Model_Mysql4_Abstract {
13
+
14
+ public function _construct() {
15
+
16
+ $this->_init('slideshow/slideshow','slideshow_id');
17
+ }
18
+
19
+ }
app/code/local/Cmsmart/Slideshow/Model/Mysql4/Slideshow/Collection.php ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Model_Mysql4_Slideshow_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract {
13
+
14
+ public function _construct() {
15
+
16
+ parent::_construct();
17
+ $this->_init('slideshow/slideshow');
18
+ }
19
+ }
app/code/local/Cmsmart/Slideshow/Model/Navigationarrows.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Model_Navigationarrows {
13
+ protected $_options;
14
+ const SLIDESHOW_NEXTTOBULLETS = 'nexttobullets';
15
+ const SLIDESHOW_VERTICALCENTERED = 'verticalcentered';
16
+ const SLIDESHOW_NONE = 'none';
17
+ public function toOptionArray(){
18
+ if (!$this->_options) {
19
+ $this->_options[] = array(
20
+ 'value'=>self::SLIDESHOW_NEXTTOBULLETS,
21
+ 'label'=>Mage::helper('slideshow')->__('Nexttobullets')
22
+ );
23
+ $this->_options[] = array(
24
+ 'value'=>self::SLIDESHOW_VERTICALCENTERED,
25
+ 'label'=>Mage::helper('slideshow')->__('Verticalcentered')
26
+ );
27
+ $this->_options[] = array(
28
+ 'value'=>self::SLIDESHOW_NONE,
29
+ 'label'=>Mage::helper('slideshow')->__('None')
30
+ );
31
+ }
32
+ return $this->_options;
33
+ }
34
+
35
+ }
app/code/local/Cmsmart/Slideshow/Model/Navigationstyle.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Model_Navigationstyle {
13
+ protected $_options;
14
+ const SLIDESHOW_ROUND = 'round';
15
+ const SLIDESHOW_SQUARE = 'square';
16
+ const SLIDESHOW_NAVBAR = 'navbar';
17
+ public function toOptionArray(){
18
+ if (!$this->_options) {
19
+ $this->_options[] = array(
20
+ 'value'=>self::SLIDESHOW_ROUND,
21
+ 'label'=>Mage::helper('slideshow')->__('Round')
22
+ );
23
+ $this->_options[] = array(
24
+ 'value'=>self::SLIDESHOW_SQUARE,
25
+ 'label'=>Mage::helper('slideshow')->__('Square')
26
+ );
27
+ $this->_options[] = array(
28
+ 'value'=>self::SLIDESHOW_NAVBAR,
29
+ 'label'=>Mage::helper('slideshow')->__('Navbar')
30
+ );
31
+ }
32
+ return $this->_options;
33
+ }
34
+
35
+ }
app/code/local/Cmsmart/Slideshow/Model/Navigationtype.php ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Model_Navigationtype {
13
+ protected $_options;
14
+ const SLIDESHOW_NONE = 'none';
15
+ const SLIDESHOW_BOTH = 'both';
16
+ public function toOptionArray(){
17
+ if (!$this->_options) {
18
+ $this->_options[] = array(
19
+ 'value'=>self::SLIDESHOW_NONE,
20
+ 'label'=>Mage::helper('slideshow')->__('None')
21
+ );
22
+ $this->_options[] = array(
23
+ 'value'=>self::SLIDESHOW_BOTH,
24
+ 'label'=>Mage::helper('slideshow')->__('Both')
25
+ );
26
+ }
27
+ return $this->_options;
28
+ }
29
+
30
+ }
app/code/local/Cmsmart/Slideshow/Model/Navposition.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Model_Navposition{
13
+ protected $_options;
14
+ const SLIDESHOWNAVPOSITON_HORIZONTAL = 'horizontal';
15
+ const SLIDESHOWNAVPOSITON_VERTICAL = 'vertical';
16
+
17
+ public function toOptionArray(){
18
+ if (!$this->_options) {
19
+ $this->_options[] = array(
20
+ 'value'=>self::SLIDESHOWNAVPOSITON_HORIZONTAL,
21
+ 'label'=>Mage::helper('slideshow')->__('Horizontal')
22
+ );
23
+ $this->_options[] = array(
24
+ 'value'=>self::SLIDESHOWNAVPOSITON_VERTICAL,
25
+ 'label'=>Mage::helper('slideshow')->__('Vertical')
26
+ );
27
+ }
28
+ return $this->_options;
29
+ }
30
+
31
+ }
app/code/local/Cmsmart/Slideshow/Model/Onoff.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Model_Onoff {
13
+ protected $_options;
14
+ const SLIDESHOW_ON = 'on';
15
+ const SLIDESHOW_OFF = 'off';
16
+
17
+ public function toOptionArray(){
18
+ if (!$this->_options) {
19
+ $this->_options[] = array(
20
+ 'value'=>self::SLIDESHOW_ON,
21
+ 'label'=>Mage::helper('slideshow')->__('On')
22
+ );
23
+ $this->_options[] = array(
24
+ 'value'=>self::SLIDESHOW_OFF,
25
+ 'label'=>Mage::helper('slideshow')->__('Off')
26
+ );
27
+ }
28
+ return $this->_options;
29
+ }
30
+
31
+ }
app/code/local/Cmsmart/Slideshow/Model/Revolution.php ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Model_Revolution {
13
+
14
+ public function toOptionArray(){
15
+ $collection = Mage::getModel('slideshow/slideshow')->getCollection()
16
+ ->addFieldToFilter('status',0)
17
+ ->addFieldToFilter('revolution',1);
18
+
19
+ $revolution = array();
20
+ foreach ($collection as $banner) {
21
+ $revolution[] = (array(
22
+ 'label' => $banner['title'],
23
+ 'value' => $banner['slideshow_id']
24
+ ));
25
+ }
26
+ return $revolution;
27
+ }
28
+ }
app/code/local/Cmsmart/Slideshow/Model/Shadow.php ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Model_Shadow {
13
+ protected $_options;
14
+ const SLIDESHOW_ZERO = '0';
15
+ const SLIDESHOW_ONE = '1';
16
+ const SLIDESHOW_TWO = '2';
17
+ const SLIDESHOW_THREE = '3';
18
+ public function toOptionArray(){
19
+ if (!$this->_options) {
20
+ $this->_options[] = array(
21
+ 'value'=>self::SLIDESHOW_ZERO,
22
+ 'label'=>Mage::helper('slideshow')->__('0 No Shadow')
23
+ );
24
+ $this->_options[] = array(
25
+ 'value'=>self::SLIDESHOW_ONE,
26
+ 'label'=>Mage::helper('slideshow')->__('1')
27
+ );
28
+ $this->_options[] = array(
29
+ 'value'=>self::SLIDESHOW_TWO,
30
+ 'label'=>Mage::helper('slideshow')->__('2')
31
+ );
32
+ $this->_options[] = array(
33
+ 'value'=>self::SLIDESHOW_THREE,
34
+ 'label'=>Mage::helper('slideshow')->__('3')
35
+ );
36
+ }
37
+ return $this->_options;
38
+ }
39
+
40
+ }
app/code/local/Cmsmart/Slideshow/Model/Slideshow.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Model_Slideshow extends Mage_Core_Model_Abstract {
13
+
14
+ public function _construct() {
15
+
16
+ parent::_construct();
17
+ $this->_init('slideshow/slideshow');
18
+ }
19
+ public function getPostContent() {
20
+ $content = $this->getData('post_content');
21
+ if (Mage::getStoreConfig(Cmsmart_Slideshow_Helper_Config::XML_BLOG_PARSE_CMS)) {
22
+ $processor = Mage::getModel('core/email_template_filter');
23
+ $content = $processor->filter($content);
24
+ }
25
+ return $content;
26
+ }
27
+
28
+
29
+ }
app/code/local/Cmsmart/Slideshow/Model/Status.php ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Model_Status extends Varien_Object {
13
+ const STATUS_ENABLED = 1;
14
+ const STATUS_DISABLED = 2;
15
+ const STATUS_HIDDEN = 3;
16
+
17
+ public function addEnabledFilterToCollection($collection) {
18
+ $collection->addEnableFilter(array('in' => $this->getEnabledStatusIds()));
19
+ return $this;
20
+ }
21
+
22
+ public function addCatFilterToCollection($collection, $cat) {
23
+ $collection->addCatFilter($cat);
24
+ return $this;
25
+ }
26
+
27
+ public function getEnabledStatusIds() {
28
+ return array(self::STATUS_ENABLED);
29
+ }
30
+
31
+ public function getDisabledStatusIds() {
32
+ return array(self::STATUS_DISABLED);
33
+ }
34
+
35
+ public function getHiddenStatusIds() {
36
+ return array(self::STATUS_HIDDEN);
37
+ }
38
+
39
+ static public function getOptionArray() {
40
+ return array(
41
+ self::STATUS_ENABLED => Mage::helper('slideshow')->__('Enabled'),
42
+ self::STATUS_DISABLED => Mage::helper('slideshow')->__('Disabled'),
43
+ self::STATUS_HIDDEN => Mage::helper('slideshow')->__('Hidden')
44
+ );
45
+ }
46
+
47
+ }
app/code/local/Cmsmart/Slideshow/Model/Style.php ADDED
@@ -0,0 +1,193 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Model_Style{
13
+ protected $_options;
14
+ const SLIDESHOW_RANDOM = 'random';
15
+ const SLIDESHOW_SF = 'simpleFade';
16
+ const SLIDESHOW_CTL = 'curtainTopLeft';
17
+ const SLIDESHOW_CTR = 'curtainTopRight';
18
+ const SLIDESHOW_CBL = 'curtainBottomLeft';
19
+ const SLIDESHOW_CBR = 'curtainBottomRight';
20
+ const SLIDESHOW_CSL = 'curtainSliceLeft';
21
+ const SLIDESHOW_CSR = 'curtainSliceRight';
22
+ const SLIDESHOW_BCTL = 'blindCurtainTopLeft';
23
+ const SLIDESHOW_BCTR = 'blindCurtainTopRight';
24
+
25
+ const SLIDESHOW_BCBL = 'blindCurtainBottomLeft';
26
+ const SLIDESHOW_BCBR = 'blindCurtainBottomRight';
27
+ const SLIDESHOW_BCSB = 'blindCurtainSliceBottom';
28
+ const SLIDESHOW_BCST = 'blindCurtainSliceTop';
29
+ const SLIDESHOW_S = 'stampede';
30
+ const SLIDESHOW_M = 'mosaic';
31
+ const SLIDESHOW_MR = 'mosaicReverse';
32
+ const SLIDESHOW_MRD = 'mosaicRandom';
33
+ const SLIDESHOW_MS = 'mosaicSpiral';
34
+
35
+ const SLIDESHOW_MSR = 'mosaicSpiralReverse';
36
+ const SLIDESHOW_TLBR = 'topLeftBottomRight';
37
+ const SLIDESHOW_BRTL = 'bottomRightTopLeft';
38
+ const SLIDESHOW_BLTR = 'bottomLeftTopRight';
39
+ const SLIDESHOW_SL = 'scrollLeft';
40
+
41
+ const SLIDESHOW_SR = 'scrollRight';
42
+ const SLIDESHOW_SZ = 'scrollHorz';
43
+ const SLIDESHOW_SB = 'scrollBottom';
44
+ const SLIDESHOW_ST = 'scrollTop';
45
+
46
+
47
+ public function toOptionArray(){
48
+ if (!$this->_options) {
49
+ $this->_options[] = array(
50
+ 'value'=>self::SLIDESHOW_RANDOM,
51
+ 'label'=>Mage::helper('slideshow')->__('Random')
52
+ );
53
+ $this->_options[] = array(
54
+ 'value'=>self::SLIDESHOW_SF,
55
+ 'label'=>Mage::helper('slideshow')->__('Simple Fade')
56
+ );
57
+ $this->_options[] = array(
58
+ 'value'=>self::SLIDESHOW_CTL,
59
+ 'label'=>Mage::helper('slideshow')->__('Curtain Top Left')
60
+ );
61
+
62
+ $this->_options[] = array(
63
+ 'value'=>self::SLIDESHOW_CTR,
64
+ 'label'=>Mage::helper('slideshow')->__('Curtain Top Right')
65
+ );
66
+
67
+ $this->_options[] = array(
68
+ 'value'=>self::SLIDESHOW_CBL,
69
+ 'label'=>Mage::helper('slideshow')->__('Curtain Bottom Left')
70
+ );
71
+
72
+ $this->_options[] = array(
73
+ 'value'=>self::SLIDESHOW_CBR,
74
+ 'label'=>Mage::helper('slideshow')->__('Curtain Bottom Right')
75
+ );
76
+
77
+ $this->_options[] = array(
78
+ 'value'=>self::SLIDESHOW_CSL,
79
+ 'label'=>Mage::helper('slideshow')->__('Curtain Slice Left')
80
+ );
81
+
82
+ $this->_options[] = array(
83
+ 'value'=>self::SLIDESHOW_CSR,
84
+ 'label'=>Mage::helper('slideshow')->__('Curtain Slice Right')
85
+ );
86
+
87
+ $this->_options[] = array(
88
+ 'value'=>self::SLIDESHOW_BCTL,
89
+ 'label'=>Mage::helper('slideshow')->__('Blind Curtain Top Left')
90
+ );
91
+
92
+ $this->_options[] = array(
93
+ 'value'=>self::SLIDESHOW_BCTR,
94
+ 'label'=>Mage::helper('slideshow')->__('Blind Curtain Top Right')
95
+ );
96
+
97
+ $this->_options[] = array(
98
+ 'value'=>self::SLIDESHOW_BCBL,
99
+ 'label'=>Mage::helper('slideshow')->__('Blind Curtain Bottom Left')
100
+ );
101
+
102
+ $this->_options[] = array(
103
+ 'value'=>self::SLIDESHOW_BCBR,
104
+ 'label'=>Mage::helper('slideshow')->__('Blind Curtain Bottom Right')
105
+ );
106
+
107
+ $this->_options[] = array(
108
+ 'value'=>self::SLIDESHOW_BCSB,
109
+ 'label'=>Mage::helper('slideshow')->__('Blind Curtain Slice Bottom')
110
+ );
111
+
112
+ $this->_options[] = array(
113
+ 'value'=>self::SLIDESHOW_BCST,
114
+ 'label'=>Mage::helper('slideshow')->__('Blind Curtain Slice Top')
115
+ );
116
+
117
+ $this->_options[] = array(
118
+ 'value'=>self::SLIDESHOW_S,
119
+ 'label'=>Mage::helper('slideshow')->__('Stampede')
120
+ );
121
+
122
+ $this->_options[] = array(
123
+ 'value'=>self::SLIDESHOW_M,
124
+ 'label'=>Mage::helper('slideshow')->__('Mosaic')
125
+ );
126
+
127
+ $this->_options[] = array(
128
+ 'value'=>self::SLIDESHOW_MR,
129
+ 'label'=>Mage::helper('slideshow')->__('Mosaic Reverse')
130
+ );
131
+
132
+ $this->_options[] = array(
133
+ 'value'=>self::SLIDESHOW_MRD,
134
+ 'label'=>Mage::helper('slideshow')->__('Mosaic Random')
135
+ );
136
+
137
+ $this->_options[] = array(
138
+ 'value'=>self::SLIDESHOW_MS,
139
+ 'label'=>Mage::helper('slideshow')->__('Mosaic Spiral')
140
+ );
141
+
142
+ $this->_options[] = array(
143
+ 'value'=>self::SLIDESHOW_MSR,
144
+ 'label'=>Mage::helper('slideshow')->__('Mosaic Spiral Reverse')
145
+ );
146
+
147
+ $this->_options[] = array(
148
+ 'value'=>self::SLIDESHOW_TLBR,
149
+ 'label'=>Mage::helper('slideshow')->__('Top Left Bottom Right')
150
+ );
151
+
152
+ $this->_options[] = array(
153
+ 'value'=>self::SLIDESHOW_BRTL,
154
+ 'label'=>Mage::helper('slideshow')->__('Bottom Right Top Left')
155
+ );
156
+
157
+ $this->_options[] = array(
158
+ 'value'=>self::SLIDESHOW_BLTR,
159
+ 'label'=>Mage::helper('slideshow')->__('Bottom Left Top Right')
160
+ );
161
+
162
+ $this->_options[] = array(
163
+ 'value'=>self::SLIDESHOW_SL,
164
+ 'label'=>Mage::helper('slideshow')->__('Scroll Left')
165
+ );
166
+
167
+ $this->_options[] = array(
168
+ 'value'=>self::SLIDESHOW_SR,
169
+ 'label'=>Mage::helper('slideshow')->__('Scroll Right')
170
+ );
171
+
172
+ $this->_options[] = array(
173
+ 'value'=>self::SLIDESHOW_SZ,
174
+ 'label'=>Mage::helper('slideshow')->__('Scroll Horz')
175
+ );
176
+
177
+ $this->_options[] = array(
178
+ 'value'=>self::SLIDESHOW_SB,
179
+ 'label'=>Mage::helper('slideshow')->__('Scroll Bottom')
180
+ );
181
+
182
+ $this->_options[] = array(
183
+ 'value'=>self::SLIDESHOW_ST,
184
+ 'label'=>Mage::helper('slideshow')->__('Scroll Top')
185
+ );
186
+
187
+
188
+
189
+
190
+ }
191
+ return $this->_options;
192
+ }
193
+ }
app/code/local/Cmsmart/Slideshow/Model/Truefalse.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Model_Truefalse {
13
+ protected $_options;
14
+ const SLIDESHOW_TRUE = 'true';
15
+ const SLIDESHOW_FALSE = 'false';
16
+
17
+ public function toOptionArray(){
18
+ if (!$this->_options) {
19
+ $this->_options[] = array(
20
+ 'value'=>self::SLIDESHOW_TRUE,
21
+ 'label'=>Mage::helper('slideshow')->__('True')
22
+ );
23
+ $this->_options[] = array(
24
+ 'value'=>self::SLIDESHOW_FALSE,
25
+ 'label'=>Mage::helper('slideshow')->__('False')
26
+ );
27
+ }
28
+ return $this->_options;
29
+ }
30
+
31
+ }
app/code/local/Cmsmart/Slideshow/Model/Type.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+
13
+ class Cmsmart_Slideshow_Model_Type {
14
+ protected $_options;
15
+ const SLIDESHOW_CAMERA = 'camera';
16
+ const SLIDESHOW_LOFSLIDER = 'lofslider';
17
+ const SLIDESHOW_REVOLUTION = 'revolution';
18
+ const SLIDESHOW_SEQUENCEMASTER = 'sequence-master';
19
+
20
+ public function toOptionArray(){
21
+ if (!$this->_options) {
22
+ $this->_options[] = array(
23
+ 'value'=>self::SLIDESHOW_CAMERA,
24
+ 'label'=>Mage::helper('slideshow')->__('Camera')
25
+ );
26
+ $this->_options[] = array(
27
+ 'value'=>self::SLIDESHOW_REVOLUTION,
28
+ 'label'=>Mage::helper('slideshow')->__('Revolution')
29
+ );
30
+ /*
31
+ $this->_options[] = array(
32
+ 'value'=>self::SLIDESHOW_LOFSLIDER,
33
+ 'label'=>Mage::helper('slideshow')->__('Lofslides')
34
+ );*/
35
+ $this->_options[] = array(
36
+ 'value'=>self::SLIDESHOW_SEQUENCEMASTER,
37
+ 'label'=>Mage::helper('slideshow')->__('Sequence Master')
38
+ );
39
+ }
40
+ return $this->_options;
41
+ }
42
+
43
+ }
app/code/local/Cmsmart/Slideshow/controllers/IndexController.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_IndexController extends Mage_Core_Controller_Front_Action
13
+ {
14
+
15
+ public function indexAction()
16
+ {
17
+ $this->_forward('list');
18
+ }
19
+
20
+ public function listAction()
21
+ {
22
+ $this->loadLayout();
23
+
24
+ $this->getLayout()->getBlock('root')->setTemplate(Mage::helper('slideshow')->getLayout());
25
+
26
+ $this->renderLayout();
27
+ }
28
+
29
+ }
app/code/local/Cmsmart/Slideshow/controllers/Manage/RevolutionController.php ADDED
@@ -0,0 +1,404 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Manage_RevolutionController extends Mage_Adminhtml_Controller_Action {
13
+
14
+ public function preDispatch() {
15
+ parent::preDispatch();
16
+ }
17
+
18
+ protected function _isAllowed() {
19
+ return Mage::getSingleton('admin/session')->isAllowed('admin/slideshow/slideshows');
20
+ }
21
+
22
+ protected function _initAction() {
23
+
24
+ $this->loadLayout()
25
+ ->_setActiveMenu('slideshow/slideshows');
26
+
27
+ return $this;
28
+ }
29
+ public function indexAction(){
30
+ $this->displayTitle('Slideshows');
31
+ $this->_initAction()->renderLayout();
32
+ }
33
+ public function newAction() {
34
+ $this->loadLayout();
35
+ $this->_setActiveMenu('slideshow/slideshows');
36
+ $this->displayTitle('Add slideshow slideshow');
37
+
38
+ $this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
39
+
40
+ $this->_addContent($this->getLayout()->createBlock('slideshow/manage_slideshow_edittabsrevolution'));
41
+ $this->_addLeft($this->getLayout()->createBlock('slideshow/manage_slideshow_edit_tabsrevolution'));
42
+
43
+ $this->getLayout()->getBlock('head')->setCanLoadTinyMce(true);
44
+
45
+ $this->renderLayout();
46
+ }
47
+
48
+ public function editAction() {
49
+ $id = $this->getRequest()->getParam('id');
50
+ $model = Mage::getModel('slideshow/slideshow')->load($id);
51
+ if ($model->getId() || $id == 0) {
52
+ $data = Mage::getSingleton('adminhtml/session')->getFormData(true);
53
+ if (!empty($data)) {
54
+ $model->setData($data);
55
+ }
56
+
57
+ Mage::register('slideshow_data', $model);
58
+ $this->loadLayout();
59
+ $this->_setActiveMenu('slideshow/slideshows');
60
+ $this->displayTitle('Edit slideshow');
61
+ $this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
62
+ $this->_addContent($this->getLayout()->createBlock('slideshow/manage_revolution_edit'));
63
+ $this->_addLeft($this->getLayout()->createBlock('slideshow/manage_revolution_edit_tabs'));
64
+ $this->getLayout()->getBlock('head')->setCanLoadTinyMce(true);
65
+
66
+ $this->renderLayout();
67
+ } else {
68
+ Mage::getSingleton('adminhtml/session')->addError(Mage::helper('slideshow')->__('slideshow does not exist'));
69
+ $this->_redirect('*/*/');
70
+ }
71
+ }
72
+ public function duplicateAction() {
73
+ $oldIdentifier = $this->getRequest()->getParam('identifier');
74
+ $i = 1;
75
+ $newSlideshow = $oldIdentifier . $i;
76
+ while (Mage::getModel('slideshow/slideshow')->loadByIdentifier($newSlideshow)->getData())
77
+ $newSlideshow = $oldIdentifier . ++$i;
78
+ $this->getRequest()->setslideshow('slideshow', $newSlideshow);
79
+ $this->_forward('save');
80
+ }
81
+
82
+ public function saveAction() {
83
+
84
+ $id = $this->getRequest()->getParam('id');
85
+ if($id) {
86
+ $collection = Mage::getModel('slideshow/slideshow')->getCollection()
87
+ ->addFieldToFilter('slideshow_id',$id)
88
+ ->addFieldToFilter('status',0)
89
+ ->addFieldToFilter('revolution',1);
90
+ $data = array();
91
+ foreach ($collection->getData() as $dat){
92
+ $slideshow_id = $dat['idslideshow'];
93
+ }
94
+ } else{
95
+ $collection = Mage::getModel('slideshow/slideshow')->getCollection()
96
+ ->addFieldToFilter('status',0)
97
+ ->addFieldToFilter('revolution',1);
98
+ foreach ($collection->getData() as $dat){
99
+ $slideshow_id = $dat['slideshow_id'];
100
+ }
101
+
102
+ $slideshow_id = $slideshow_id+1;
103
+ }
104
+
105
+ if ($data = $this->getRequest()->getPost()) {
106
+ $i=1;
107
+ for($i = 1; $i <= $data['numberslide']; $i++ ) {
108
+
109
+ if(isset($_FILES[$slideshow_id.'_image-li_'.$i]['name']) and (file_exists($_FILES[$slideshow_id.'_image-li_'.$i]['tmp_name']))) {
110
+ $uploader = new Varien_File_Uploader($slideshow_id.'_image-li_'.$i);
111
+ $uploader->setAllowedExtensions(array('jpg','jpeg','gif','png'));
112
+ $uploader->setAllowRenameFiles(false);
113
+ $uploader->setFilesDispersion(false);
114
+ $path = Mage::getBaseDir('media') . DS . 'cmsmart/slideshow/' ;
115
+ $uploader->save($path, $_FILES[$slideshow_id.'_image-li_'.$i]['name']);
116
+ $data[$slideshow_id.'_image-li_'.$i] = 'cmsmart/slideshow/'.$_FILES[$slideshow_id.'_image-li_'.$i]['name'];
117
+ }else {
118
+ if(isset($data[$slideshow_id.'_image-li'.$i]['delete']) && $data[$slideshow_id.'_image-li'.$i]['delete'] == 1) {
119
+ $data[$slideshow_id.'_image-li_'.$i] = '';
120
+ } else {
121
+ $data[$slideshow_id.'_image-li_'.$i] = $data[$slideshow_id.'_image-li_'.$i.'old'];
122
+ }
123
+ }
124
+
125
+ }
126
+ //print_r($data); exit();
127
+ $htmlslide='';
128
+ $htmlslide.= '<ul>';
129
+
130
+ for($i = 1; $i <= $data['numberslide']; $i++ ) {
131
+ $htmlslide.='<li class="netbase" ' ;
132
+ if($data[$slideshow_id.'_transition-li_'.$i]){
133
+ $htmlslide.= ' data-transition="'.$data[$slideshow_id.'_transition-li_'.$i].'"';
134
+
135
+ if($data[$slideshow_id.'_data-delay-li_'.$i]) {
136
+ $htmlslide.= ' data-delay="'.$data[$slideshow_id.'_data-delay-li_'.$i].'"';
137
+ }
138
+ if($data[$slideshow_id.'_data-slotamouny-li_'.$i]){
139
+ $htmlslide.= ' data-slotamount="'.$data[$slideshow_id.'_data-slotamouny-li_'.$i].'"';
140
+ }
141
+ $htmlslide.='>';
142
+ $htmlslide.='<img src="'. Mage::getBaseUrl('media').$data[$slideshow_id.'_image-li_'.$i].'"/>';
143
+ for($j=1; $j < count($data); $j++) {
144
+ if($data[$slideshow_id.'_content'.$i.'-'.$j]) {
145
+ $htmlslide.='<div class="caption '.$data[$slideshow_id.'_class'.$i.'-'.$j].'" data-x="'.$data[$slideshow_id.'_data-x'.$i.'-'.$j].'" data-y="'.$data[$slideshow_id.'_data-y'.$i.'-'.$j].'" data-speed="'.$data[$slideshow_id.'_data-speed'.$i.'-'.$j].'" data-start="'.$data[$slideshow_id.'_data-start'.$i.'-'.$j].'" data-easing="'.$data[$slideshow_id.'_data-easing'.$i.'-'.$j].'">'.$this->getLayout()->createBlock('cms/block')->setBlockId($data[$slideshow_id.'_content'.$i.'-'.$j])->toHtml().'</div>';
146
+ }
147
+ }
148
+ $htmlslide.='</li>';
149
+ }
150
+ }
151
+ $htmlslide.= '</ul>';
152
+
153
+ if($data['post_content']) {
154
+ $datasave['post_content'] = $data['post_content'] ;
155
+ } else {
156
+ $datasave['post_content'] = $htmlslide;
157
+ }
158
+
159
+ $datasave['revolution'] = '1';
160
+ $datasave['title'] = $data[$slideshow_id.'_title'] ;
161
+ $datasave['imagethumbs'] = $data[$slideshow_id.'_thumbnail_image'];
162
+ $datasave['transition-li'] = '';
163
+ for( $i = 1 ; $i <= $data['numberslide']; $i++){
164
+ $datasave['transition-li'] .= $data[$slideshow_id.'_transition-li_'.$i];
165
+ if($i < $data['numberslide']) {
166
+ $datasave['transition-li'] .= ',';
167
+ }
168
+ }
169
+ $datasave['data-slotamouny-li'] = '';
170
+ for( $i = 1 ; $i <= $data['numberslide']; $i++){
171
+ $datasave['data-slotamouny-li'] .= $data[$slideshow_id.'_data-slotamouny-li_'.$i];
172
+ if($i < $data['numberslide']) {
173
+ $datasave['data-slotamouny-li'] .= ',';
174
+ }
175
+ }
176
+ $datasave['data-delay-li'] = '';
177
+ for( $i = 1 ; $i <= $data['numberslide']; $i++){
178
+ $datasave['data-delay-li'] .= $data[$slideshow_id.'_data-delay-li_'.$i];
179
+
180
+ if($i < $data['numberslide']) {
181
+ $datasave['data-delay-li'] .= ',';
182
+ }
183
+ }
184
+ $datasave['data-content'] = '';
185
+
186
+ for( $i = 1 ; $i <= $data['numberslide']; $i++){
187
+ for($j=1; $j<= $data[$slideshow_id.'_numberslide-li'.$i]; $j++){
188
+ $datasave['data-content'] .= $data[$slideshow_id.'_content'.$i.'-'.$j];
189
+
190
+ if($j <= $data[$slideshow_id.'_numberslide-li'.$i]) {
191
+ $datasave['data-content'] .= ',';
192
+ }
193
+ }
194
+ }
195
+ $datasave['data-x'] = '';
196
+ for( $i = 1 ; $i <= $data['numberslide']; $i++){
197
+ for($j=1; $j<= $data[$slideshow_id.'_numberslide-li'.$i]; $j++){
198
+ $datasave['data-x'] .= $data[$slideshow_id.'_data-x'.$i.'-'.$j];
199
+ if($j <= $data[$slideshow_id.'_numberslide-li'.$i]) {
200
+ $datasave['data-x'] .= ',';
201
+ }
202
+ }
203
+ }
204
+ $datasave['data-y'] = '';
205
+ for( $i = 1 ; $i <= $data['numberslide']; $i++){
206
+ for($j=1; $j<= $data[$slideshow_id.'_numberslide-li'.$i]; $j++){
207
+ $datasave['data-y'] .= $data[$slideshow_id.'_data-y'.$i.'-'.$j];
208
+ if($j <= $data[$slideshow_id.'_numberslide-li'.$i]) {
209
+ $datasave['data-y'] .= ',';
210
+ }
211
+ }
212
+ }
213
+ $datasave['data-speed'] = '';
214
+ for( $i = 1 ; $i <= $data['numberslide']; $i++){
215
+ for($j=1; $j<= $data[$slideshow_id.'_numberslide-li'.$i]; $j++){
216
+ $datasave['data-speed'] .= $data[$slideshow_id.'_data-speed'.$i.'-'.$j];
217
+ if($j <= $data[$slideshow_id.'_numberslide-li'.$i]) {
218
+ $datasave['data-speed'] .= ',';
219
+ }
220
+ }
221
+ }
222
+ $datasave['data-start'] = '';
223
+ for( $i = 1 ; $i <= $data['numberslide']; $i++){
224
+ for($j=1; $j<= $data[$slideshow_id.'_numberslide-li'.$i]; $j++){
225
+ $datasave['data-start'] .= $data[$slideshow_id.'_data-start'.$i.'-'.$j];
226
+ if($j <= $data[$slideshow_id.'_numberslide-li'.$i]) {
227
+ $datasave['data-start'] .= ',';
228
+ }
229
+ }
230
+ }
231
+ $datasave['data-easing'] = '';
232
+ for( $i = 1 ; $i <= $data['numberslide']; $i++){
233
+ for($j=1; $j<= $data[$slideshow_id.'_numberslide-li'.$i]; $j++){
234
+ $datasave['data-easing'] .= $data[$slideshow_id.'_data-easing'.$i.'-'.$j];
235
+ if($j <= $data[$slideshow_id.'_numberslide-li'.$i]) {
236
+ $datasave['data-easing'] .= ',';
237
+ }
238
+ }
239
+ }
240
+ $datasave['class'] = '';
241
+ for( $i = 1 ; $i <= $data['numberslide']; $i++){
242
+ for($j=1; $j<= $data[$slideshow_id.'_numberslide-li'.$i]; $j++){
243
+ $datasave['class'] .= $data[$slideshow_id.'_class'.$i.'-'.$j];
244
+ if($j <= $data[$slideshow_id.'_numberslide-li'.$i]) {
245
+ $datasave['class'] .= ',';
246
+ }
247
+ }
248
+ }
249
+ $datasave['numberslide-li'] = '';
250
+ for( $i = 1 ; $i <= $data['numberslide']; $i++){
251
+ $datasave['numberslide-li'] .= $data[$slideshow_id.'_numberslide-li'.$i];
252
+ if($i <= $data['numberslide']) {
253
+ $datasave['numberslide-li'] .= ',';
254
+ }
255
+ }
256
+ $datasave['image-li'] = '';
257
+ for( $i = 1 ; $i <= $data['numberslide']; $i++){
258
+ $datasave['image-li'] .= $data[$slideshow_id.'_image-li_'.$i];
259
+ if($i <= $data['numberslide']) {
260
+ $datasave['image-li'] .= ',';
261
+ }
262
+ }
263
+ $datasave['numberli-div'] = '';
264
+ $div = 0;
265
+ for( $i = 1 ; $i <= $data['numberslide']; $i++){
266
+ $div = $div + $data[$slideshow_id.'_numberslide-li'.$i];
267
+ $datasave['numberli-div'] .= $div;
268
+ if($i <= $data['numberslide']) {
269
+ $datasave['numberli-div'] .= ',';
270
+ }
271
+ }
272
+ $datasave['numberslide'] = $data['numberslide'];
273
+ $datasave['idslideshow'] = $slideshow_id;
274
+
275
+ $model = Mage::getModel('slideshow/slideshow');
276
+ $model->setData($datasave)->setId($this->getRequest()->getParam('id'));
277
+ try {
278
+ $format = Mage::app()->getLocale()->getDateTimeFormat(Mage_Core_Model_Locale::FORMAT_TYPE_MEDIUM);
279
+ if (isset($data['created_time']) && $data['created_time']) {
280
+ $dateFrom = Mage::app()->getLocale()->date($data['created_time'], $format);
281
+ $model->setCreatedTime(Mage::getModel('core/date')->gmtDate(null, $dateFrom->getTimestamp()));
282
+ $model->setUpdateTime(Mage::getModel('core/date')->gmtDate());
283
+ } else {
284
+ $model->setCreatedTime(Mage::getModel('core/date')->gmtDate());
285
+ }
286
+
287
+ $model->save();
288
+
289
+ Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('slideshow')->__('slideshow was successfully saved'));
290
+ Mage::getSingleton('adminhtml/session')->setFormData(false);
291
+
292
+ if ($this->getRequest()->getParam('back')) {
293
+ $this->_redirect('*/*/edit', array('id' => $model->getId()));
294
+ return;
295
+ }
296
+ $this->_redirect('*/*/');
297
+ return;
298
+ } catch (Exception $e){
299
+ Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
300
+ Mage::getSingleton('adminhtml/session')->setFormData($data);
301
+ $this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
302
+ return;
303
+ }
304
+
305
+ }
306
+ Mage::getSingleton('adminhtml/session')->addError(Mage::helper('slideshow')->__('Unable to find slideshow to save'));
307
+ $this->_redirect('*/*/');
308
+
309
+ }
310
+
311
+ public function deleteAction() {
312
+ $slideshowId = (int) $this->getRequest()->getParam('id');
313
+ if ($slideshowId) {
314
+ try {
315
+ $this->_slideshowDelete($slideshowId);
316
+ Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('adminhtml')->__('slideshow was successfully deleted'));
317
+ $this->_redirect('*/*/');
318
+ } catch (Exception $e) {
319
+ Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
320
+ $this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
321
+ }
322
+ }
323
+ $this->_redirect('*/*/');
324
+ }
325
+
326
+ public function massDeleteAction() {
327
+ $slideshowIds = $this->getRequest()->getParam('slideshow');
328
+ if (!is_array($slideshowIds)) {
329
+ Mage::getSingleton('adminhtml/session')->addError(Mage::helper('adminhtml')->__('Please select slideshow(s)'));
330
+ } else {
331
+ try {
332
+ foreach ($slideshowIds as $slideshowId) {
333
+ $this->_slideshowDelete($slideshowId);
334
+ }
335
+ Mage::getSingleton('adminhtml/session')->addSuccess(
336
+ Mage::helper('adminhtml')->__(
337
+ 'Total of %d record(s) were successfully deleted', count($slideshowIds)
338
+ )
339
+ );
340
+ } catch (Exception $e) {
341
+ Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
342
+ }
343
+ }
344
+ $this->_redirect('*/*/index');
345
+ }
346
+
347
+ protected function _slideshowDelete($slideshowId) {
348
+ $model = Mage::getModel('slideshow/slideshow')->load($slideshowId);
349
+ $_tags = explode(',', $model->getData('tags'));
350
+ $model->delete();
351
+ $_stores = Mage::getSingleton('adminhtml/system_store')->getStoreCollection();
352
+ foreach ($_tags as $tag) {
353
+ foreach ($_stores as $store)
354
+ if (trim($tag)) {
355
+ Mage::getModel('slideshow/tag')->loadByName($tag, $store->getId())->refreshCount();
356
+ }
357
+ }
358
+ }
359
+
360
+ public function massStatusAction() {
361
+ $slideshowIds = $this->getRequest()->getParam('slideshow');
362
+ if (!is_array($slideshowIds)) {
363
+ Mage::getSingleton('adminhtml/session')->addError($this->__('Please select slideshow(s)'));
364
+ } else {
365
+ try {
366
+
367
+ foreach ($slideshowIds as $slideshowId) {
368
+ $slideshow = Mage::getModel('slideshow/slideshow')
369
+ ->load($slideshowId)
370
+ ->setStatus($this->getRequest()->getParam('status'))
371
+ ->setStores('')
372
+ ->setIsMassupdate(true)
373
+ ->save();
374
+ }
375
+ $this->_getSession()->addSuccess(
376
+ $this->__('Total of %d record(s) were successfully updated', count($slideshowIds))
377
+ );
378
+ } catch (Exception $e) {
379
+
380
+ $this->_getSession()->addError($e->getMessage());
381
+ }
382
+ }
383
+ $this->_redirect('*/*/index');
384
+ }
385
+
386
+ protected function displayTitle($data = null, $root = 'slideshow') {
387
+
388
+ if (!Mage::helper('slideshow')->magentoLess14()) {
389
+ if ($data) {
390
+ if (!is_array($data)) {
391
+ $data = array($data);
392
+ }
393
+ foreach ($data as $title) {
394
+ $this->_title($this->__($title));
395
+ }
396
+ $this->_title($this->__($root));
397
+ } else {
398
+ $this->_title($this->__('slideshow'))->_title($root);
399
+ }
400
+ }
401
+ return $this;
402
+ }
403
+
404
+ }
app/code/local/Cmsmart/Slideshow/controllers/Manage/SlideshowController.php ADDED
@@ -0,0 +1,323 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ class Cmsmart_Slideshow_Manage_SlideshowController extends Mage_Adminhtml_Controller_Action {
13
+
14
+ public function preDispatch() {
15
+ parent::preDispatch();
16
+ }
17
+
18
+ protected function _isAllowed() {
19
+ return Mage::getSingleton('admin/session')->isAllowed('admin/slideshow/slideshows');
20
+ }
21
+
22
+ protected function _initAction() {
23
+
24
+ $this->loadLayout()
25
+ ->_setActiveMenu('slideshow/slideshows');
26
+
27
+ return $this;
28
+ }
29
+
30
+ public function indexAction() {
31
+ $this->displayTitle('Slideshows');
32
+ $this->_initAction()->renderLayout();
33
+ }
34
+ public function editAction() {
35
+
36
+ $id = $this->getRequest()->getParam('id');
37
+ $model = Mage::getModel('slideshow/slideshow')->load($id);
38
+
39
+ if ($model->getId() || $id == 0) {
40
+ $data = Mage::getSingleton('adminhtml/session')->getFormData(true);
41
+ if (!empty($data)) {
42
+ $model->setData($data);
43
+ }
44
+
45
+ Mage::register('slideshow_data', $model);
46
+
47
+ $this->loadLayout();
48
+ $this->_setActiveMenu('slideshow/slideshows');
49
+ $this->displayTitle('Edit slideshow');
50
+
51
+ $this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
52
+
53
+ $this->_addContent($this->getLayout()->createBlock('slideshow/manage_slideshow_edit'))
54
+ ->_addLeft($this->getLayout()->createBlock('slideshow/manage_slideshow_edit_tabs'));
55
+
56
+ $this->getLayout()->getBlock('head')->setCanLoadTinyMce(true);
57
+
58
+ $this->renderLayout();
59
+ } else {
60
+ Mage::getSingleton('adminhtml/session')->addError(Mage::helper('slideshow')->__('slideshow does not exist'));
61
+ $this->_redirect('*/*/');
62
+ }
63
+ }
64
+
65
+ public function newAction() {
66
+
67
+ $id = $this->getRequest()->getParam('id');
68
+ $model = Mage::getModel('slideshow/slideshow')->load($id);
69
+
70
+ $data = Mage::getSingleton('adminhtml/session')->getFormData(true);
71
+ if (!empty($data)) {
72
+ $model->setData($data);
73
+ }
74
+
75
+ Mage::register('slideshow_data', $model);
76
+
77
+ $this->loadLayout();
78
+ $this->_setActiveMenu('slideshow/slideshows');
79
+ $this->displayTitle('Add slideshow slideshow');
80
+
81
+ $this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
82
+
83
+ $this->_addContent($this->getLayout()->createBlock('slideshow/manage_slideshow_edit'));
84
+ $this->_addLeft($this->getLayout()->createBlock('slideshow/manage_slideshow_edit_tabs'));
85
+
86
+ $this->getLayout()->getBlock('head')->setCanLoadTinyMce(true);
87
+ // echo $this->getLayout()->getBlock('content')->toHtml();
88
+ // echo $this->getLayout()->getBlock('left')->toHtml();
89
+ $this->renderLayout();
90
+ }
91
+
92
+ public function duplicateAction() {
93
+ $oldIdentifier = $this->getRequest()->getParam('slideshow');
94
+ $i = 1;
95
+ $newSlideshow = $oldIdentifier . $i;
96
+ while (Mage::getModel('slideshow/slideshow')->loadByIdentifier($newSlideshow)->getData())
97
+ $newSlideshow = $oldIdentifier . ++$i;
98
+ $this->getRequest()->setslideshow('slideshow', $newSlideshow);
99
+ $this->_forward('save');
100
+ }
101
+
102
+ public function saveAction() {
103
+ $imagewidththumbnails = Mage::getStoreConfig('slideshow/settings/imagewidththumbnails');
104
+ $imageheightthumbnails = Mage::getStoreConfig('slideshow/settings/imageheightthumbnails');
105
+
106
+
107
+ if ($data = $this->getRequest()->getPost()) {
108
+
109
+ //upload image dangtx
110
+
111
+ if (isset($_FILES['image']['name']) and (file_exists($_FILES['image']['tmp_name']))) {
112
+ $uploader = new Varien_File_Uploader('image');
113
+ $uploader->setAllowedExtensions(array('jpg','jpeg','gif','png'));
114
+ $uploader->setAllowRenameFiles(false);
115
+ $uploader->setFilesDispersion(false);
116
+ $path = Mage::getBaseDir('media') . DS . 'cmsmart/slideshow/' ;
117
+ $uploader->save($path, $_FILES['image']['name']);
118
+ $data['image'] = 'cmsmart/slideshow/'.$_FILES['image']['name'];
119
+ $imageUrl = Mage::getBaseDir('media').DS."cmsmart/slideshow/".$_FILES['image']['name'];
120
+ $imageResized = Mage::getBaseDir('media').DS."cmsmart/slideshow/thumbs/".$_FILES['image']['name'];
121
+ $data['imagethumbs'] = 'cmsmart/slideshow/thumbs/'.$_FILES['image']['name'];
122
+
123
+ if (!file_exists($imageResized)&&file_exists($imageUrl)) :
124
+ $imageObj = new Varien_Image($imageUrl);
125
+ $imageObj->constrainOnly(TRUE);
126
+ $imageObj->keepAspectRatio(FALSE);
127
+ $imageObj->keepFrame(FALSE);
128
+ $imageObj->quality(100);
129
+ $imageObj->resize($imagewidththumbnails, $imageheightthumbnails);
130
+ $imageObj->save($imageResized);
131
+ endif;
132
+ } else {
133
+ if(isset($data['image']['delete']) && $data['image']['delete'] == 1) {
134
+ $data['image'] = '';
135
+ } else {
136
+ unset($data['image']);
137
+ }
138
+ }
139
+ if (isset($_FILES['imagesky']['name']) and (file_exists($_FILES['imagesky']['tmp_name']))) {
140
+ $uploader = new Varien_File_Uploader('imagesky');
141
+ $uploader->setAllowedExtensions(array('jpg','jpeg','gif','png'));
142
+ $uploader->setAllowRenameFiles(false);
143
+ $uploader->setFilesDispersion(false);
144
+ $path = Mage::getBaseDir('media') . DS . 'cmsmart/slideshow/' ;
145
+ $uploader->save($path, $_FILES['imagesky']['name']);
146
+ $data['imagesky'] = 'cmsmart/slideshow/'.$_FILES['imagesky']['name'];
147
+ $imageUrl = Mage::getBaseDir('media').DS."cmsmart/slideshow/".$_FILES['imagesky']['name'];
148
+ } else {
149
+ if(isset($data['imagesky']['delete']) && $data['imagesky']['delete'] == 1) {
150
+ $data['imagesky'] = '';
151
+ } else {
152
+ unset($data['imagesky']);
153
+ }
154
+ }
155
+ $slideshow = Mage::getStoreConfig('slideshow/settings/type');
156
+ if( $slideshow =='sequence-master'){
157
+ $data['sequencemaster'] = '1';
158
+ }
159
+
160
+ //end upload image dangtx
161
+
162
+ $model = Mage::getModel('slideshow/slideshow');
163
+ if (isset($data['stores'])) {
164
+ if ($data['stores'][0] == 0) {
165
+ unset($data['stores']);
166
+ $data['stores'] = array();
167
+ $stores = Mage::getSingleton('adminhtml/system_store')->getStoreCollection();
168
+ foreach ($stores as $store)
169
+ $data['stores'][] = $store->getId();
170
+ }
171
+ }
172
+
173
+ $model->setData($data)
174
+ ->setId($this->getRequest()->getParam('id'));
175
+
176
+ try {
177
+
178
+ $format = Mage::app()->getLocale()->getDateTimeFormat(Mage_Core_Model_Locale::FORMAT_TYPE_MEDIUM);
179
+ if (isset($data['created_time']) && $data['created_time']) {
180
+ $dateFrom = Mage::app()->getLocale()->date($data['created_time'], $format);
181
+ $model->setCreatedTime(Mage::getModel('core/date')->gmtDate(null, $dateFrom->getTimestamp()));
182
+ $model->setUpdateTime(Mage::getModel('core/date')->gmtDate());
183
+ } else {
184
+ $model->setCreatedTime(Mage::getModel('core/date')->gmtDate());
185
+ }
186
+
187
+ $model->save();
188
+
189
+
190
+ /* recount affected tags */
191
+ if (isset($data['stores'])) {
192
+ $stores = $data['stores'];
193
+ } else {
194
+ $stores = array(null);
195
+ }
196
+
197
+ $affectedTags = array_merge($addedTags, $removedTags);
198
+
199
+ foreach ($affectedTags as $tag) {
200
+ foreach ($stores as $store) {
201
+ if (trim($tag)) {
202
+ Mage::getModel('slideshow/tag')->loadByName($tag, $store)->refreshCount();
203
+ }
204
+ }
205
+ }
206
+
207
+
208
+
209
+
210
+ Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('slideshow')->__('slideshow was successfully saved'));
211
+ Mage::getSingleton('adminhtml/session')->setFormData(false);
212
+
213
+ if ($this->getRequest()->getParam('back')) {
214
+ $this->_redirect('*/*/edit', array('id' => $model->getId()));
215
+ return;
216
+ }
217
+ $this->_redirect('*/*/');
218
+ return;
219
+ } catch (Exception $e) {
220
+ Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
221
+ Mage::getSingleton('adminhtml/session')->setFormData($data);
222
+ $this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
223
+ return;
224
+ }
225
+ }
226
+ Mage::getSingleton('adminhtml/session')->addError(Mage::helper('slideshow')->__('Unable to find slideshow to save'));
227
+ $this->_redirect('*/*/');
228
+ }
229
+
230
+ public function deleteAction() {
231
+ $slideshowId = (int) $this->getRequest()->getParam('id');
232
+ if ($slideshowId) {
233
+ try {
234
+ $this->_slideshowDelete($slideshowId);
235
+ Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('adminhtml')->__('slideshow was successfully deleted'));
236
+ $this->_redirect('*/*/');
237
+ } catch (Exception $e) {
238
+ Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
239
+ $this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
240
+ }
241
+ }
242
+ $this->_redirect('*/*/');
243
+ }
244
+
245
+ public function massDeleteAction() {
246
+ $slideshowIds = $this->getRequest()->getParam('slideshow');
247
+ if (!is_array($slideshowIds)) {
248
+ Mage::getSingleton('adminhtml/session')->addError(Mage::helper('adminhtml')->__('Please select slideshow(s)'));
249
+ } else {
250
+ try {
251
+ foreach ($slideshowIds as $slideshowId) {
252
+ $this->_slideshowDelete($slideshowId);
253
+ }
254
+ Mage::getSingleton('adminhtml/session')->addSuccess(
255
+ Mage::helper('adminhtml')->__(
256
+ 'Total of %d record(s) were successfully deleted', count($slideshowIds)
257
+ )
258
+ );
259
+ } catch (Exception $e) {
260
+ Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
261
+ }
262
+ }
263
+ $this->_redirect('*/*/index');
264
+ }
265
+
266
+ protected function _slideshowDelete($slideshowId) {
267
+ $model = Mage::getModel('slideshow/slideshow')->load($slideshowId);
268
+ $_tags = explode(',', $model->getData('tags'));
269
+ $model->delete();
270
+ $_stores = Mage::getSingleton('adminhtml/system_store')->getStoreCollection();
271
+ foreach ($_tags as $tag) {
272
+ foreach ($_stores as $store)
273
+ if (trim($tag)) {
274
+ Mage::getModel('slideshow/tag')->loadByName($tag, $store->getId())->refreshCount();
275
+ }
276
+ }
277
+ }
278
+
279
+ public function massStatusAction() {
280
+ $slideshowIds = $this->getRequest()->getParam('slideshow');
281
+ if (!is_array($slideshowIds)) {
282
+ Mage::getSingleton('adminhtml/session')->addError($this->__('Please select slideshow(s)'));
283
+ } else {
284
+ try {
285
+
286
+ foreach ($slideshowIds as $slideshowId) {
287
+ $slideshow = Mage::getModel('slideshow/slideshow')
288
+ ->load($slideshowId)
289
+ ->setStatus($this->getRequest()->getParam('status'))
290
+ ->setStores('')
291
+ ->setIsMassupdate(true)
292
+ ->save();
293
+ }
294
+ $this->_getSession()->addSuccess(
295
+ $this->__('Total of %d record(s) were successfully updated', count($slideshowIds))
296
+ );
297
+ } catch (Exception $e) {
298
+
299
+ $this->_getSession()->addError($e->getMessage());
300
+ }
301
+ }
302
+ $this->_redirect('*/*/index');
303
+ }
304
+
305
+ protected function displayTitle($data = null, $root = 'slideshow') {
306
+
307
+ if (!Mage::helper('slideshow')->magentoLess14()) {
308
+ if ($data) {
309
+ if (!is_array($data)) {
310
+ $data = array($data);
311
+ }
312
+ foreach ($data as $title) {
313
+ $this->_title($this->__($title));
314
+ }
315
+ $this->_title($this->__($root));
316
+ } else {
317
+ $this->_title($this->__('slideshow'))->_title($root);
318
+ }
319
+ }
320
+ return $this;
321
+ }
322
+
323
+ }
app/code/local/Cmsmart/Slideshow/etc/adminhtml.xml ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ -->
12
+ <config>
13
+ <menu>
14
+ <slideshow module="slideshow">
15
+ <title>Slideshow</title>
16
+ <sort_order>71</sort_order>
17
+ <children>
18
+ <posts module="slideshow" translate="title">
19
+ <title>Posts</title>
20
+ <sort_order>10</sort_order>
21
+ <action>slideshow_admin/manage_slideshow/index</action>
22
+ </posts>
23
+ </children>
24
+ </slideshow>
25
+ </menu>
26
+ <acl>
27
+ <resources>
28
+ <all>
29
+ <title>Allow Everything</title>
30
+ </all>
31
+ <admin>
32
+ <children>
33
+ <slideshow>
34
+ <title>Slideshow</title>
35
+ <sort_order>70</sort_order>
36
+ <children>
37
+ <posts>
38
+ <title>Manage Posts</title>
39
+ <sort_order>0</sort_order>
40
+ </posts>
41
+ </children>
42
+ </slideshow>
43
+ <system>
44
+ <children>
45
+ <config>
46
+ <children>
47
+ <slideshow>
48
+ <title>Cmsmart Slideshow Section</title>
49
+ </slideshow>
50
+ </children>
51
+ </config>
52
+ </children>
53
+ </system>
54
+ </children>
55
+ </admin>
56
+ </resources>
57
+ </acl>
58
+ </config>
app/code/local/Cmsmart/Slideshow/etc/config.xml ADDED
@@ -0,0 +1,270 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ -->
12
+ <config>
13
+ <modules>
14
+ <Cmsmart_Slideshow>
15
+ <version>1.0.0</version>
16
+ </Cmsmart_Slideshow>
17
+ </modules>
18
+ <admin>
19
+ <routers>
20
+ <slideshow_admin>
21
+ <use>admin</use>
22
+ <args>
23
+ <module>Cmsmart_Slideshow</module>
24
+ <frontName>slideshow_admin</frontName>
25
+ </args>
26
+ </slideshow_admin>
27
+ </routers>
28
+ <adminhtml>
29
+ <args>
30
+ <models>
31
+ <slideshow>
32
+ <class>Cmsmart_Slideshow_Model</class>
33
+ <resourceModel>slideshow_mysql4</resourceModel>
34
+ </slideshow>
35
+ </models>
36
+ </args>
37
+ <events>
38
+ <cms_wysiwyg_config_prepare>
39
+ <observers>
40
+ <variable_observer>
41
+ <class>core/variable_observer</class>
42
+ <method>prepareWysiwygPluginConfig</method>
43
+ </variable_observer>
44
+ </observers>
45
+ </cms_wysiwyg_config_prepare>
46
+ </events>
47
+ <slideshow_mysql4>
48
+ <class>Cmsmart_Slideshow_Model_Mysql4</class>
49
+ <entities>
50
+ <slideshow>
51
+ <table>cmsmart_slideshow</table>
52
+ </slideshow>
53
+ </entities>
54
+ </slideshow_mysql4>
55
+ </adminhtml>
56
+ </admin>
57
+ <frontend>
58
+ <routers>
59
+ <slideshow>
60
+ <use>standard</use>
61
+ <args>
62
+ <module>Cmsmart_Slideshow</module>
63
+ <frontName>Slideshow</frontName>
64
+ </args>
65
+ </slideshow>
66
+ </routers>
67
+ <layout>
68
+ <updates>
69
+ <slideshow module="Cmsmart_Slideshow">
70
+ <file>cmsmart/cmsmart_slideshow.xml</file>
71
+ </slideshow>
72
+ </updates>
73
+ </layout>
74
+ <translate>
75
+ <modules>
76
+ <Cmsmart_Slideshow>
77
+ <files>
78
+ <default>Cmsmart_Slideshow.csv</default>
79
+ </files>
80
+ </Cmsmart_Slideshow>
81
+ </modules>
82
+ </translate>
83
+ </frontend>
84
+
85
+ <adminhtml>
86
+ <translate>
87
+ <modules>
88
+ <Cmsmart_Slideshow>
89
+ <files>
90
+ <default>Cmsmart_Slideshow.csv</default>
91
+ </files>
92
+ </Cmsmart_Slideshow>
93
+ </modules>
94
+ </translate>
95
+
96
+ <menu>
97
+ <slideshow module="slideshow">
98
+ <title>Slideshow</title>
99
+ <sort_order>71</sort_order>
100
+ <children>
101
+ <posts module="slideshow">
102
+ <title>Posts</title>
103
+ <sort_order>10</sort_order>
104
+ <action>slideshow_admin/manage_slideshow/index</action>
105
+ </posts>
106
+ <postsrevolution module="slideshow">
107
+ <title>Posts Revolution</title>
108
+ <sort_order>10</sort_order>
109
+ <action>slideshow_admin/manage_revolution/index</action>
110
+ </postsrevolution>
111
+ <settings translate="title" module="slideshow">
112
+ <title>Settings</title>
113
+ <action>adminhtml/system_config/edit/section/slideshow</action>
114
+ <sort_order>40</sort_order>
115
+ </settings>
116
+ </children>
117
+ </slideshow>
118
+ </menu>
119
+ <acl>
120
+ <resources>
121
+ <all>
122
+ <title>Allow Everything</title>
123
+ </all>
124
+ <admin>
125
+ <children>
126
+ <slideshow>
127
+ <title>Slideshow</title>
128
+ <sort_order>70</sort_order>
129
+ <children>
130
+ <posts>
131
+ <title>Manage Posts</title>
132
+ <sort_order>0</sort_order>
133
+ </posts>
134
+ </children>
135
+ </slideshow>
136
+ <system>
137
+ <children>
138
+ <config>
139
+ <children>
140
+ <slideshow>
141
+ <title>cmsmart slideshow Section</title>
142
+ </slideshow>
143
+ </children>
144
+ </config>
145
+ </children>
146
+ </system>
147
+ </children>
148
+ </admin>
149
+ </resources>
150
+ </acl>
151
+ <layout>
152
+ <updates>
153
+ <slideshow module="Cmsmart_Slideshow">
154
+ <file>cmsmart/cmsmart_slideshow.xml</file>
155
+ </slideshow>
156
+ </updates>
157
+ </layout>
158
+ </adminhtml>
159
+ <global>
160
+ <models>
161
+ <slideshow>
162
+ <class>Cmsmart_Slideshow_Model</class>
163
+ <resourceModel>slideshow_mysql4</resourceModel>
164
+ </slideshow>
165
+ <slideshow_mysql4>
166
+ <class>Cmsmart_Slideshow_Model_Mysql4</class>
167
+ <entities>
168
+ <slideshow>
169
+ <table>cmsmart_slideshow</table>
170
+ </slideshow>
171
+ <post>
172
+ <table>cmsmart_slideshow</table>
173
+ </post>
174
+ </entities>
175
+ </slideshow_mysql4>
176
+ </models>
177
+ <blocks>
178
+ <slideshow>
179
+ <class>Cmsmart_Slideshow_Block</class>
180
+ </slideshow>
181
+ <revolution>
182
+ <class>Cmsmart_Slideshow_Block</class>
183
+ </revolution>
184
+ </blocks>
185
+ <resources>
186
+ <slideshow_setup>
187
+ <setup>
188
+ <module>Cmsmart_Slideshow</module>
189
+ </setup>
190
+ <connection>
191
+ <use>core_setup</use>
192
+ </connection>
193
+ </slideshow_setup>
194
+ <slideshow_write>
195
+ <connection>
196
+ <use>core_write</use>
197
+ </connection>
198
+ </slideshow_write>
199
+ <slideshow_read>
200
+ <connection>
201
+ <use>core_read</use>
202
+ </connection>
203
+ </slideshow_read>
204
+ </resources>
205
+ <helpers>
206
+ <slideshow>
207
+ <class>Cmsmart_Slideshow_Helper</class>
208
+ </slideshow>
209
+ </helpers>
210
+ </global>
211
+ <default>
212
+ <slideshow>
213
+ <settings>
214
+ <enabled>1</enabled>
215
+ <type>revolution</type>
216
+ <linkpostimage></linkpostimage>
217
+ <navigation>1</navigation>
218
+ <easing>easeInOutSine</easing>
219
+ <loader>bar</loader>
220
+ <style>random</style>
221
+ <slidingtime>8000</slidingtime>
222
+ <slidingeffecttime>3000</slidingeffecttime>
223
+ <imagewidth>896</imagewidth>
224
+ <imageheight>342</imageheight>
225
+ <description>1</description>
226
+ <thumbnails>pagination</thumbnails>
227
+ <imagewidththumbnails>35</imagewidththumbnails>
228
+ <imageheightthumbnails>35</imageheightthumbnails>
229
+ <lofsliderstyle>1</lofsliderstyle>
230
+ <direction>opacitys</direction>
231
+ <navPosition>horizontal</navPosition>
232
+ <duration>1200</duration>
233
+ <auto>true</auto>
234
+ <mainWidth>900</mainWidth>
235
+ <mainHeight>300</mainHeight>
236
+ <navigatorHeight>50</navigatorHeight>
237
+ <navigatorWidth>50</navigatorWidth>
238
+ <sliderswrapper>900</sliderswrapper>
239
+ <slidersheight>300</slidersheight>
240
+ <maxItemDisplay>4</maxItemDisplay>
241
+ <interval>2000</interval>
242
+ <mobile>true</mobile>
243
+ <slideshowrevolution></slideshowrevolution>
244
+ <delay>9000</delay>
245
+ <startheight>450</startheight>
246
+ <startwidth>890</startwidth>
247
+ <hideThumbs>200</hideThumbs>
248
+ <thumbWidth>100</thumbWidth>
249
+ <thumbHeight>50</thumbHeight>
250
+ <thumbAmount>1</thumbAmount>
251
+ <fullWidth>off</fullWidth>
252
+ <navigationType>none</navigationType>
253
+ <navigationArrows>nexttobullets</navigationArrows>
254
+ <navigationStyle>round</navigationStyle>
255
+ <touchenabled>on</touchenabled>
256
+ <navOffsetHorizontal>0</navOffsetHorizontal>
257
+ <navOffsetVertical>20</navOffsetVertical>
258
+ <shadow>3</shadow>
259
+ <onHoverStop>on</onHoverStop>
260
+ <autosequence>true</autosequence>
261
+ <navigationsequence>true</navigationsequence>
262
+ <preloader>true</preloader>
263
+ <navigationSkip>true</navigationSkip>
264
+ <class_images_sequence>balloon,aeroplane,kite</class_images_sequence>
265
+ <maxwidth_images_sequence>400</maxwidth_images_sequence>
266
+ <maxheight_images_sequence>520</maxheight_images_sequence>
267
+ </settings>
268
+ </slideshow>
269
+ </default>
270
+ </config>
app/code/local/Cmsmart/Slideshow/etc/system.xml ADDED
@@ -0,0 +1,521 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ -->
12
+ <config>
13
+ <tabs>
14
+ <cmsmart_extensions>
15
+ <label>Cmsmart Extensions</label>
16
+ <sort_order>195</sort_order>
17
+ </cmsmart_extensions>
18
+ </tabs>
19
+ <sections>
20
+ <slideshow translate="label" >
21
+ <label>Slideshow</label>
22
+ <frontend_type>text</frontend_type>
23
+ <sort_order>90</sort_order>
24
+ <show_in_default>1</show_in_default>
25
+ <show_in_website>1</show_in_website>
26
+ <show_in_store>1</show_in_store>
27
+ <groups>
28
+ <settings translate="label">
29
+ <label>Slideshow Settings</label>
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
+ <fields>
36
+ <enabled translate="label">
37
+ <label>Enabled</label>
38
+ <frontend_type>select</frontend_type>
39
+ <source_model>adminhtml/system_config_source_enabledisable</source_model>
40
+ <sort_order>1</sort_order>
41
+ <show_in_default>1</show_in_default>
42
+ <show_in_website>1</show_in_website>
43
+ <show_in_store>1</show_in_store>
44
+ </enabled>
45
+ <type translate="label">
46
+ <label>Type slide</label>
47
+ <frontend_type>select</frontend_type>
48
+ <source_model>slideshow/type</source_model>
49
+ <sort_order>2</sort_order>
50
+ <show_in_default>1</show_in_default>
51
+ <show_in_website>1</show_in_website>
52
+ <show_in_store>1</show_in_store>
53
+ </type>
54
+ <linkpostimage translate="label">
55
+ <frontend_model>slideshow/adminhtml_link_post</frontend_model>
56
+ <!--<comment><![CDATA[After Save]]></comment>-->
57
+ <sort_order>3</sort_order>
58
+ <show_in_default>1</show_in_default>
59
+ <show_in_website>1</show_in_website>
60
+ <show_in_store>1</show_in_store>
61
+ </linkpostimage>
62
+ <navigation translate="label">
63
+ <label>Navigation</label>
64
+ <comment><![CDATA[navigation button (prev, next and play/stop buttons)]]></comment>
65
+ <frontend_type>select</frontend_type>
66
+ <source_model>adminhtml/system_config_source_enabledisable</source_model>
67
+ <sort_order>4</sort_order>
68
+ <show_in_default>1</show_in_default>
69
+ <show_in_website>1</show_in_website>
70
+ <show_in_store>1</show_in_store>
71
+ <depends><type>camera</type></depends>
72
+ </navigation>
73
+ <easing translate="label">
74
+ <label>Easing Method</label>
75
+ <comment>The type of easing applied to the transition effect animation.</comment>
76
+ <frontend_type>select</frontend_type>
77
+ <source_model>slideshow/easing</source_model>
78
+ <sort_order>5</sort_order>
79
+ <show_in_default>1</show_in_default>
80
+ <show_in_website>1</show_in_website>
81
+ <show_in_store>1</show_in_store>
82
+ </easing>
83
+ <loader translate="label">
84
+ <label>Loader</label>
85
+ <frontend_type>select</frontend_type>
86
+ <source_model>slideshow/loader</source_model>
87
+ <sort_order>6</sort_order>
88
+ <show_in_default>1</show_in_default>
89
+ <show_in_website>1</show_in_website>
90
+ <show_in_store>1</show_in_store>
91
+ <depends><type>camera</type></depends>
92
+ </loader>
93
+ <style translate="label">
94
+ <label>Image Style</label>
95
+ <frontend_type>select</frontend_type>
96
+ <source_model>slideshow/style</source_model>
97
+ <sort_order>7</sort_order>
98
+ <show_in_default>1</show_in_default>
99
+ <show_in_website>1</show_in_website>
100
+ <show_in_store>1</show_in_store>
101
+ <depends><type>camera</type></depends>
102
+ </style>
103
+ <slidingtime translate="label">
104
+ <label>Sliding Time</label>
105
+ <comment><![CDATA[seconds between the end of the sliding effect and the start of the next one]]></comment>
106
+ <frontend_type>text</frontend_type>
107
+ <sort_order>8</sort_order>
108
+ <show_in_default>1</show_in_default>
109
+ <show_in_website>1</show_in_website>
110
+ <show_in_store>1</show_in_store>
111
+ <depends><type>camera</type></depends>
112
+ </slidingtime>
113
+ <slidingeffecttime translate="label">
114
+ <label>Sliding Effect Time</label>
115
+ <comment><![CDATA[length of the sliding effect in seconds]]></comment>
116
+ <frontend_type>text</frontend_type>
117
+ <sort_order>9</sort_order>
118
+ <show_in_default>1</show_in_default>
119
+ <show_in_website>1</show_in_website>
120
+ <show_in_store>1</show_in_store>
121
+ <depends><type>camera</type></depends>
122
+ </slidingeffecttime>
123
+ <imagewidth translate="label">
124
+ <label>Width Slideshow</label>
125
+ <comment><![CDATA[in pixels, Full Width = 'off']]></comment>
126
+ <frontend_type>text</frontend_type>
127
+ <sort_order>10</sort_order>
128
+ <show_in_default>1</show_in_default>
129
+ <show_in_website>1</show_in_website>
130
+ <show_in_store>1</show_in_store>
131
+ <depends><type>camera</type></depends>
132
+ </imagewidth>
133
+ <imageheight translate="label">
134
+ <label>Height Slideshow</label>
135
+ <comment><![CDATA[in pixels]]></comment>
136
+ <frontend_type>text</frontend_type>
137
+ <sort_order>11</sort_order>
138
+ <show_in_default>1</show_in_default>
139
+ <show_in_website>1</show_in_website>
140
+ <show_in_store>1</show_in_store>
141
+ <depends><type>camera</type></depends>
142
+ </imageheight>
143
+ <description translate="label">
144
+ <label>Description</label>
145
+ <comment><![CDATA[show description in front of image]]></comment>
146
+ <frontend_type>select</frontend_type>
147
+ <source_model>adminhtml/system_config_source_enabledisable</source_model>
148
+ <sort_order>12</sort_order>
149
+ <show_in_default>1</show_in_default>
150
+ <show_in_website>1</show_in_website>
151
+ <show_in_store>1</show_in_store>
152
+ <depends><type>camera</type></depends>
153
+ </description>
154
+ <thumbnails translate="label">
155
+ <label>Image Thumbnails</label>
156
+ <frontend_type>select</frontend_type>
157
+ <source_model>slideshow/imagethumbnails</source_model>
158
+ <sort_order>13</sort_order>
159
+ <show_in_default>1</show_in_default>
160
+ <show_in_website>1</show_in_website>
161
+ <show_in_store>1</show_in_store>
162
+ <depends><type>camera</type></depends>
163
+ </thumbnails>
164
+ <imagewidththumbnails translate="label">
165
+ <label>Image width thumbnails</label>
166
+ <comment><![CDATA[in pixels (Image Thumbnails = 'Thumbnails')]]></comment>
167
+ <frontend_type>text</frontend_type>
168
+ <sort_order>14</sort_order>
169
+ <show_in_default>1</show_in_default>
170
+ <show_in_website>1</show_in_website>
171
+ <show_in_store>1</show_in_store>
172
+ <depends><type>camera</type></depends>
173
+ </imagewidththumbnails>
174
+ <imageheightthumbnails translate="label">
175
+ <label>Image height thumbnails</label>
176
+ <comment><![CDATA[in pixels (Image Thumbnails = 'Thumbnails') ]]></comment>
177
+ <frontend_type>text</frontend_type>
178
+ <sort_order>15</sort_order>
179
+ <show_in_default>1</show_in_default>
180
+ <show_in_website>1</show_in_website>
181
+ <show_in_store>1</show_in_store>
182
+ <depends><type>camera</type></depends>
183
+ </imageheightthumbnails>
184
+
185
+ <lofsliderstyle translate="label">
186
+ <label>Lofslider slideshow style </label>
187
+ <frontend_type>select</frontend_type>
188
+ <source_model>slideshow/Lofsliderstyle</source_model>
189
+ <sort_order>16</sort_order>
190
+ <show_in_default>1</show_in_default>
191
+ <show_in_website>1</show_in_website>
192
+ <show_in_store>1</show_in_store>
193
+ <depends><type>lofslider</type></depends>
194
+ </lofsliderstyle>
195
+ <direction translate="label">
196
+ <label>Direction</label>
197
+ <frontend_type>select</frontend_type>
198
+ <source_model>slideshow/direction</source_model>
199
+ <sort_order>17</sort_order>
200
+ <show_in_default>1</show_in_default>
201
+ <show_in_website>1</show_in_website>
202
+ <show_in_store>1</show_in_store>
203
+ <depends><type>lofslider</type></depends>
204
+ </direction>
205
+ <navPosition translate="label">
206
+ <label>NavPosition</label>
207
+ <frontend_type>select</frontend_type>
208
+ <source_model>slideshow/navposition</source_model>
209
+ <sort_order>18</sort_order>
210
+ <show_in_default>1</show_in_default>
211
+ <show_in_website>1</show_in_website>
212
+ <show_in_store>1</show_in_store>
213
+ <depends><type>lofslider</type></depends>
214
+ </navPosition>
215
+ <duration translate="label">
216
+ <label>Duration</label>
217
+ <comment><![CDATA[length of the sliding effect in seconds]]></comment>
218
+ <frontend_type>text</frontend_type>
219
+ <sort_order>19</sort_order>
220
+ <show_in_default>1</show_in_default>
221
+ <show_in_website>1</show_in_website>
222
+ <show_in_store>1</show_in_store>
223
+ <depends><type>lofslider</type></depends>
224
+ </duration>
225
+ <auto translate="label">
226
+ <label>Auto</label>
227
+ <frontend_type>select</frontend_type>
228
+ <source_model>slideshow/truefalse</source_model>
229
+ <sort_order>20</sort_order>
230
+ <show_in_default>1</show_in_default>
231
+ <show_in_website>1</show_in_website>
232
+ <show_in_store>1</show_in_store>
233
+ <depends><type>lofslider</type></depends>
234
+ </auto>
235
+ <mainWidth translate="label">
236
+ <label>Main Width</label>
237
+ <frontend_type>text</frontend_type>
238
+ <sort_order>21</sort_order>
239
+ <show_in_default>1</show_in_default>
240
+ <show_in_website>1</show_in_website>
241
+ <show_in_store>1</show_in_store>
242
+ <depends><type>lofslider</type></depends>
243
+ </mainWidth>
244
+ <mainHeight translate="label">
245
+ <label>Main Height</label>
246
+ <frontend_type>text</frontend_type>
247
+ <sort_order>22</sort_order>
248
+ <show_in_default>1</show_in_default>
249
+ <show_in_website>1</show_in_website>
250
+ <show_in_store>1</show_in_store>
251
+ <depends><type>lofslider</type></depends>
252
+ </mainHeight>
253
+ <navigatorHeight translate="label">
254
+ <label>Navigator Height</label>
255
+ <frontend_type>text</frontend_type>
256
+ <sort_order>23</sort_order>
257
+ <show_in_default>1</show_in_default>
258
+ <show_in_website>1</show_in_website>
259
+ <show_in_store>1</show_in_store>
260
+ <depends><type>lofslider</type></depends>
261
+ </navigatorHeight>
262
+ <navigatorWidth translate="label">
263
+ <label>Navigator Width</label>
264
+ <frontend_type>text</frontend_type>
265
+ <sort_order>24</sort_order>
266
+ <show_in_default>1</show_in_default>
267
+ <show_in_website>1</show_in_website>
268
+ <show_in_store>1</show_in_store>
269
+ <depends><type>lofslider</type></depends>
270
+ </navigatorWidth>
271
+ <sliderswrapper translate="label">
272
+ <label>Sliders wrapper</label>
273
+ <frontend_type>text</frontend_type>
274
+ <sort_order>25</sort_order>
275
+ <show_in_default>1</show_in_default>
276
+ <show_in_website>1</show_in_website>
277
+ <show_in_store>1</show_in_store>
278
+ <depends><type>lofslider</type></depends>
279
+ </sliderswrapper>
280
+ <slidersheight translate="label">
281
+ <label>Sliders Height</label>
282
+ <frontend_type>text</frontend_type>
283
+ <sort_order>26</sort_order>
284
+ <show_in_default>1</show_in_default>
285
+ <show_in_website>1</show_in_website>
286
+ <show_in_store>1</show_in_store>
287
+ <depends><type>lofslider</type></depends>
288
+ </slidersheight>
289
+ <maxItemDisplay translate="label">
290
+ <label>Max Item Display</label>
291
+ <frontend_type>text</frontend_type>
292
+ <sort_order>27</sort_order>
293
+ <show_in_default>1</show_in_default>
294
+ <show_in_website>1</show_in_website>
295
+ <show_in_store>1</show_in_store>
296
+ <depends><type>lofslider</type></depends>
297
+ </maxItemDisplay>
298
+ <interval translate="label">
299
+ <label>Interval</label>
300
+ <frontend_type>text</frontend_type>
301
+ <sort_order>28</sort_order>
302
+ <show_in_default>1</show_in_default>
303
+ <show_in_website>1</show_in_website>
304
+ <show_in_store>1</show_in_store>
305
+ <depends><type>lofslider</type></depends>
306
+ </interval>
307
+ <mobile translate="label">
308
+ <label>Mobile</label>
309
+ <frontend_type>select</frontend_type>
310
+ <source_model>slideshow/truefalse</source_model>
311
+ <sort_order>29</sort_order>
312
+ <show_in_default>1</show_in_default>
313
+ <show_in_website>1</show_in_website>
314
+ <show_in_store>1</show_in_store>
315
+ <depends><type>lofslider</type></depends>
316
+ </mobile>
317
+ <slideshowrevolution translate="label">
318
+ <label>Slideshow revolution</label>
319
+ <frontend_type>select</frontend_type>
320
+ <source_model>slideshow/revolution</source_model>
321
+ <sort_order>30</sort_order>
322
+ <show_in_default>1</show_in_default>
323
+ <show_in_website>1</show_in_website>
324
+ <show_in_store>1</show_in_store>
325
+ <depends><type>revolution</type></depends>
326
+ </slideshowrevolution>
327
+ <delay translate="label">
328
+ <label>Delay</label>
329
+ <comment>The time one slide stays on the screen in Milliseconds (Default: 9000)</comment>
330
+ <frontend_type>text</frontend_type>
331
+ <sort_order>31</sort_order>
332
+ <show_in_default>1</show_in_default>
333
+ <show_in_website>1</show_in_website>
334
+ <show_in_store>1</show_in_store>
335
+ <depends><type>revolution</type></depends>
336
+ </delay>
337
+ <startheight translate="label">
338
+ <label>Max height</label>
339
+ <comment>Basic Height of the Slider in the desktop resolution in pixel, other screen sizes will be calculated from this (Default: 490) It should be similiar to the settings of the style sheet. If you use a fullwidth banner, ti will deinfe the max. Height of the banner by resizing of the browser. The banner wont ne heigher than this value.</comment>
340
+ <frontend_type>text</frontend_type>
341
+ <sort_order>32</sort_order>
342
+ <show_in_default>1</show_in_default>
343
+ <show_in_website>1</show_in_website>
344
+ <show_in_store>1</show_in_store>
345
+ <depends><type>revolution</type></depends>
346
+ </startheight>
347
+ <startwidth translate="label">
348
+ <label>Max width</label>
349
+ <comment>Basic Width of the Slider in the desktop resolution in pixel, other screen sizes will be calculated from this (Default: 890) It should be similiar to the settings of the style sheet. If you use a fullwidth banner, ti will deinfe the max. Width of the banner by resizing of the browser. (Width='off')</comment>
350
+ <frontend_type>text</frontend_type>
351
+ <sort_order>33</sort_order>
352
+ <show_in_default>1</show_in_default>
353
+ <show_in_website>1</show_in_website>
354
+ <show_in_store>1</show_in_store>
355
+ <depends><type>revolution</type></depends>
356
+ </startwidth>
357
+
358
+ <fullWidth translate="label">
359
+ <label>Full Width</label>
360
+ <comment>on/off it turns on the Horizontal Centering of Images in FullWidth version. In Case the Image is bigger then the container width, it fits the image with its height in the container and centers horizontally.</comment>
361
+ <frontend_type>select</frontend_type>
362
+ <source_model>slideshow/onoff</source_model>
363
+ <sort_order>38</sort_order>
364
+ <show_in_default>1</show_in_default>
365
+ <show_in_website>1</show_in_website>
366
+ <show_in_store>1</show_in_store>
367
+ </fullWidth>
368
+ <navigationType translate="label">
369
+ <label>Navigation Type</label>
370
+ <comment>Display type of the navigation bar (Default:"none")</comment>
371
+ <frontend_type>select</frontend_type>
372
+ <source_model>slideshow/navigationtype</source_model>
373
+ <sort_order>39</sort_order>
374
+ <show_in_default>1</show_in_default>
375
+ <show_in_website>1</show_in_website>
376
+ <show_in_store>1</show_in_store>
377
+ <depends><type>revolution</type></depends>
378
+ </navigationType>
379
+ <navigationArrows translate="label">
380
+ <label>Navigation Arrows</label>
381
+ <comment>Display position of the Navigation Arrows (Default: "next to bullets")</comment>
382
+ <frontend_type>select</frontend_type>
383
+ <source_model>slideshow/navigationarrows</source_model>
384
+ <sort_order>40</sort_order>
385
+ <show_in_default>1</show_in_default>
386
+ <show_in_website>1</show_in_website>
387
+ <show_in_store>1</show_in_store>
388
+ <depends><type>revolution</type></depends>
389
+ </navigationArrows>
390
+ <navigationStyle translate="label">
391
+ <label>Navigation Style</label>
392
+ <comment>Look of the navigation bullets (Default: "round")</comment>
393
+ <frontend_type>select</frontend_type>
394
+ <source_model>slideshow/navigationstyle </source_model>
395
+ <sort_order>41</sort_order>
396
+ <show_in_default>1</show_in_default>
397
+ <show_in_website>1</show_in_website>
398
+ <show_in_store>1</show_in_store>
399
+ <depends><type>revolution</type></depends>
400
+ </navigationStyle>
401
+ <touchenabled translate="label">
402
+ <label>Touch enabled</label>
403
+ <comment>Look of the navigation bullets (Default: "on")</comment>
404
+ <frontend_type>select</frontend_type>
405
+ <source_model>slideshow/onoff</source_model>
406
+ <sort_order>42</sort_order>
407
+ <show_in_default>1</show_in_default>
408
+ <show_in_website>1</show_in_website>
409
+ <show_in_store>1</show_in_store>
410
+ <depends><type>revolution</type></depends>
411
+ </touchenabled>
412
+ <shadow translate="label">
413
+ <label>Shadow</label>
414
+ <comment>The Shadow display underneath the banner</comment>
415
+ <frontend_type>select</frontend_type>
416
+ <source_model>slideshow/shadow</source_model>
417
+ <sort_order>45</sort_order>
418
+ <show_in_default>1</show_in_default>
419
+ <show_in_website>1</show_in_website>
420
+ <show_in_store>1</show_in_store>
421
+ <depends><type>revolution</type></depends>
422
+ </shadow>
423
+ <onHoverStop translate="label">
424
+ <label>onHoverStop</label>
425
+ <comment>Stop the Timer when hovering the slider</comment>
426
+ <frontend_type>select</frontend_type>
427
+ <source_model>slideshow/onoff</source_model>
428
+ <sort_order>46</sort_order>
429
+ <show_in_default>1</show_in_default>
430
+ <show_in_website>1</show_in_website>
431
+ <show_in_store>1</show_in_store>
432
+ <depends><type>revolution</type></depends>
433
+ </onHoverStop>
434
+ <autosequence translate="label">
435
+ <label>Auto</label>
436
+ <frontend_type>select</frontend_type>
437
+ <source_model>slideshow/truefalse</source_model>
438
+ <sort_order>47</sort_order>
439
+ <show_in_default>1</show_in_default>
440
+ <show_in_website>1</show_in_website>
441
+ <show_in_store>1</show_in_store>
442
+ <depends><type>sequence-master</type></depends>
443
+ </autosequence>
444
+
445
+ <navigationSkip translate="label">
446
+ <label>Navigation Skip</label>
447
+ <comment>Whether the user can navigate through frames before each frame has finished animating</comment>
448
+ <frontend_type>select</frontend_type>
449
+ <source_model>slideshow/truefalse</source_model>
450
+ <sort_order>50</sort_order>
451
+ <show_in_default>1</show_in_default>
452
+ <show_in_website>1</show_in_website>
453
+ <show_in_store>1</show_in_store>
454
+ <depends><type>sequence-master</type></depends>
455
+ </navigationSkip>
456
+ <class_images_sequence translate="label">
457
+ <label>Class Images Sequence</label>
458
+ <frontend_type>text</frontend_type>
459
+ <comment><![CDATA[Css class in sequence js-theme.sliding-horizontal-parallax.css. Comma separated list of class]]></comment>
460
+ <sort_order>51</sort_order>
461
+ <show_in_default>1</show_in_default>
462
+ <show_in_website>1</show_in_website>
463
+ <show_in_store>1</show_in_store>
464
+ <depends><type>sequence-master</type></depends>
465
+ </class_images_sequence>
466
+ <maxwidth_images_sequence translate="label">
467
+ <label>Image max width</label>
468
+ <frontend_type>text</frontend_type>
469
+ <comment><![CDATA[Css class in sequence js-theme.sliding-horizontal-parallax.css. Comma separated list of class]]></comment>
470
+ <sort_order>52</sort_order>
471
+ <show_in_default>1</show_in_default>
472
+ <show_in_website>1</show_in_website>
473
+ <show_in_store>1</show_in_store>
474
+ <depends><type>sequence-master</type></depends>
475
+ </maxwidth_images_sequence>
476
+ <maxheight_images_sequence translate="label">
477
+ <label>Image Max Height</label>
478
+ <frontend_type>text</frontend_type>
479
+ <sort_order>53</sort_order>
480
+ <show_in_default>1</show_in_default>
481
+ <show_in_website>1</show_in_website>
482
+ <show_in_store>1</show_in_store>
483
+ <depends><type>sequence-master</type></depends>
484
+ </maxheight_images_sequence>
485
+ <maxheight_images_sequence translate="label">
486
+ <label>Image Max Height</label>
487
+ <frontend_type>text</frontend_type>
488
+ <sort_order>53</sort_order>
489
+ <show_in_default>1</show_in_default>
490
+ <show_in_website>1</show_in_website>
491
+ <show_in_store>1</show_in_store>
492
+ <depends><type>sequence-master</type></depends>
493
+ </maxheight_images_sequence>
494
+ <background translate="label comment">
495
+ <label>Background</label>
496
+ <comment>Allowed file types: jpeg, gif, png.</comment>
497
+ <frontend_type>image</frontend_type>
498
+ <backend_model>adminhtml/system_config_backend_image</backend_model>
499
+ <upload_dir config="system/filesystem/media" scope_info="1">cmsmart/slideshow</upload_dir>
500
+ <base_url type="media" scope_info="1">cmsmart/slideshow</base_url>
501
+ <sort_order>54</sort_order>
502
+ <show_in_default>1</show_in_default>
503
+ <show_in_website>1</show_in_website>
504
+ <show_in_store>1</show_in_store>
505
+ <depends><type>sequence-master</type></depends>
506
+ </background>
507
+ </fields>
508
+ </settings>
509
+ <info translate="label">
510
+ <label>Cmsmart</label>
511
+ <frontend_type>text</frontend_type>
512
+ <sort_order>20</sort_order>
513
+ <show_in_default>1</show_in_default>
514
+ <show_in_website>1</show_in_website>
515
+ <show_in_store>1</show_in_store>
516
+ <comment>Ajaxsearch Autocomplete And Suggest - Extension powered by <![CDATA[<a href="http://www.cmsmart.net" target="_blank" style='text-decoration: none'><font color="#EF1313">CMSMART</font></a>.<br/><br/>]]>Visit our website: <![CDATA[<a href="http://www.cmsmart.net" target="_blank" style='text-decoration: none'><font color="#EF1313">wwww.cmsmart.net</font></a>]]> to view more themes and extension required for your magento store.<![CDATA[<br/><br/>]]> Write ticket and get support from our at: <![CDATA[<a href="http://cmsmart.net/support" target="_blank" style='text-decoration: none'><font color="#EF1313">Technical Support - Forum</font></a>.]]> </comment>
517
+ </info>
518
+ </groups>
519
+ </slideshow>
520
+ </sections>
521
+ </config>
app/code/local/Cmsmart/Slideshow/etc/widget.xml ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ -->
12
+ <widgets>
13
+ <slideshow type="slideshow/slideshow" translate="name description" module="slideshow">
14
+ <name>Slideshow Homepage</name>
15
+ <description>Slideshow Homepage</description>
16
+ <parameters>
17
+ <template translate="label">
18
+ <label>Template</label>
19
+ <visible>1</visible>
20
+ <type>select</type>
21
+ <values>
22
+ <revolution translate="label">
23
+ <value>cmsmart/slideshow/slideshow_revolutioncontent.phtml</value>
24
+ <label>Revolution</label>
25
+ </revolution>
26
+ <camera translate="label">
27
+ <value>cmsmart/slideshow/slideshow_camera.phtml</value>
28
+ <label>Camera</label>
29
+ </camera>
30
+ <sequence_master translate="label">
31
+ <value>cmsmart/slideshow/slideshow_sequence_master.phtml</value>
32
+ <label>Sequence Master</label>
33
+ </sequence_master>
34
+ </values>
35
+ </template>
36
+ <content_slideshow>
37
+ <label>Content Slideshow</label>
38
+ <description>If Template = "Revolution"</description>
39
+ <visible>1</visible>
40
+ <type>select</type>
41
+ <source_model>slideshow/content</source_model>
42
+ </content_slideshow>
43
+
44
+ <fullWidth translate="label">
45
+ <label>Full Width</label>
46
+ <visible>1</visible>
47
+ <type>select</type>
48
+ <source_model>slideshow/onoff</source_model>
49
+ </fullWidth>
50
+ </parameters>
51
+ </slideshow>
52
+ </widgets>
app/code/local/Cmsmart/Slideshow/sql/slideshow_setup/mysql4-install-1.0.0.php ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+
13
+ $installer = $this;
14
+
15
+ $installer->startSetup();
16
+
17
+ $installer->run("
18
+ CREATE TABLE `cmsmart_slideshow` (
19
+ `slideshow_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
20
+ `numberslide` int(11) NOT NULL,
21
+ `idslideshow` int(11) NOT NULL,
22
+ `title` varchar(255) NOT NULL DEFAULT '',
23
+ `filename` varchar(255) NOT NULL DEFAULT '',
24
+ `post_content` text,
25
+ `status` smallint(6) NOT NULL DEFAULT '0',
26
+ `weblink` varchar(255) DEFAULT NULL,
27
+ `created_time` datetime DEFAULT NULL,
28
+ `update_time` datetime DEFAULT NULL,
29
+ `image` varchar(255) NOT NULL,
30
+ `imagesky` varchar(500) NOT NULL,
31
+ `imagethumbs` varchar(500) NOT NULL,
32
+ `class_images_sequence` varchar(255) NOT NULL,
33
+ `revolution` int(11) NOT NULL DEFAULT '0',
34
+ `sequencemaster` int(11) NOT NULL,
35
+ `transition-li` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
36
+ `data-slotamouny-li` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
37
+ `data-delay-li` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
38
+ `data-content` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
39
+ `data-x` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
40
+ `data-y` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
41
+ `data-speed` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
42
+ `data-start` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
43
+ `data-easing` text CHARACTER SET utf32 COLLATE utf32_unicode_ci NOT NULL,
44
+ `class` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
45
+ `numberslide-li` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
46
+ `image-li` varchar(500) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
47
+ `numberli-div` varchar(500) NOT NULL,
48
+ PRIMARY KEY (`slideshow_id`)
49
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;");
50
+
51
+ $installer->endSetup();
app/design/adminhtml/default/default/layout/cmsmart/cmsmart_slideshow.xml ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <layout version="0.1.0">
3
+ <default>
4
+ <reference name="head">
5
+ <action method="setCanLoadExtJs"><flag>1</flag></action>
6
+ <action method="addJs"><script>mage/adminhtml/variables.js</script></action>
7
+ <action method="addJs"><script>mage/adminhtml/wysiwyg/widget.js</script></action>
8
+ <action method="addJs"><script>lib/flex.js</script></action>
9
+ <action method="addJs"><script>lib/FABridge.js</script></action>
10
+ <action method="addJs"><script>mage/adminhtml/flexuploader.js</script></action>
11
+ <action method="addJs"><script>mage/adminhtml/browser.js</script></action>
12
+ <action method="addJs"><script>prototype/window.js</script></action>
13
+ <action method="addItem"><type>js_css</type><name>prototype/windows/themes/default.css</name></action>
14
+ <action method="addCss"><name>lib/prototype/windows/themes/magento.css</name></action>
15
+ <action method="addItem"><type>js</type><name>mage/adminhtml/wysiwyg/tiny_mce/setup.js</name><params/></action>
16
+ </reference>
17
+ </default>
18
+ <slideshow_admin_manage_slideshow_index>
19
+
20
+ <update handle="editor" />
21
+ <reference name="content">
22
+ <block type="slideshow/manage_slideshow" name="slideshow" />
23
+ </reference>
24
+ </slideshow_admin_manage_slideshow_index>
25
+ <slideshow_admin_manage_revolution_index>
26
+
27
+ <update handle="editor" />
28
+ <reference name="content">
29
+ <block type="slideshow/manage_revolution" name="revolution" />
30
+ </reference>
31
+ </slideshow_admin_manage_revolution_index>
32
+
33
+ </layout>
app/design/adminhtml/default/default/template/cmsmart/slideshow/slideshow.phtml ADDED
@@ -0,0 +1,474 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ ?>
13
+ <style type="text/css">
14
+ #slideshow_form .validation-advice {
15
+ float: left;
16
+ }
17
+ .icon-dell{
18
+ width: 15px;
19
+ float: right;
20
+ height: 15px;
21
+ margin-top: 2px;
22
+ font-size: 0px;
23
+ margin-left:10px;
24
+ background-image:url('<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN)?>/adminhtml/default/default/images/cancel_btn_icon.gif');"
25
+ }
26
+ </style>
27
+ <?php
28
+ $theme = $this->helper('slideshow');
29
+ $block = $theme->getAllOptions();
30
+ $dataeasing = $theme->getEasing();
31
+ $datagetclass = $theme->getClass();
32
+ $numberslide = Mage::getStoreConfig('slideshow/settings/numberslide');
33
+ $collection = Mage::getModel('slideshow/slideshow')->getCollection()
34
+ ->addFieldToFilter('status',0)
35
+ ->addFieldToFilter('revolution',1);
36
+ foreach ($collection->getData() as $data){
37
+ $slideshow_id = $data['slideshow_id'];
38
+ }
39
+ $slideshow_id = $slideshow_id+1;
40
+
41
+ $id = $this->getRequest()->getParam('id');
42
+ if($id){
43
+ $collectionupdate = Mage::getModel('slideshow/slideshow')->getCollection()
44
+ ->addFieldToFilter('slideshow_id',$id)
45
+ ->addFieldToFilter('status',0)
46
+ ->addFieldToFilter('revolution',1);
47
+ $dataupdate = array();
48
+ foreach ($collectionupdate->getData() as $dat){
49
+ $dataupdate = $dat;
50
+ }
51
+ if($dataupdate['image-li']){
52
+ $imageli = explode(",",$dataupdate['image-li']);
53
+ }
54
+ if($dataupdate['transition-li']){
55
+ $transitionli = explode(",",$dataupdate['transition-li']);
56
+ }
57
+ if($dataupdate['data-slotamouny-li']){
58
+ $dataslotamounyli = explode(",",$dataupdate['data-slotamouny-li']);
59
+ }
60
+ if($dataupdate['data-delay-li']){
61
+ $datadelayli = explode(",",$dataupdate['data-delay-li']);
62
+ }
63
+ if($dataupdate['numberslide-li']){
64
+ $numberslideli = explode(",",$dataupdate['numberslide-li']);
65
+ }
66
+ if($dataupdate['data-content']){
67
+ $datacontent = explode(",",$dataupdate['data-content']);
68
+ }
69
+
70
+ if($dataupdate['numberli-div']){
71
+ $datanumberlidiv = explode(",",$dataupdate['numberli-div']);
72
+ }
73
+ if($dataupdate['data-x']){
74
+ $datax = explode(",",$dataupdate['data-x']);
75
+ }
76
+ if($dataupdate['data-y']){
77
+ $datay = explode(",",$dataupdate['data-y']);
78
+ }
79
+ if($dataupdate['data-speed']){
80
+ $dataspeed = explode(",",$dataupdate['data-speed']);
81
+ }
82
+ if($dataupdate['data-start']){
83
+ $datastart = explode(",",$dataupdate['data-start']);
84
+ }
85
+ if($dataupdate['data-easing']){
86
+ $dataeasingupdate = explode(",",$dataupdate['data-easing']);
87
+ }
88
+ if($dataupdate['class']){
89
+ $dataclass = explode(",",$dataupdate['class']);
90
+ }
91
+ //print_r($dataupdate); exit();
92
+ }
93
+ ?>
94
+
95
+ <div class="slideshow-revolution" id="slideshow_tabs_form_section_content">
96
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('cmsmart/slideshow/jquery/jquery-1.7.2.min.js'); ?>"></script>
97
+
98
+ <div class="entry-edit">
99
+ <?php if($id){?>
100
+ <div class="entry-edit-head">
101
+ <h4 class="icon-head head-edit-form fieldset-legend">Post revolution</h4>
102
+ <div class="form-buttons">
103
+ <button style="float: right" onclick="addmyslideshow(<?php echo $dataupdate['idslideshow'];?>)" class="scalable" type="button" title="Add Slideshow"><span><span><span>Add Slideshow</span></span></span></button>
104
+ </div>
105
+ </div>
106
+ <div id="slideshow_form" class="fieldset ">
107
+ <input style="display: none;" id="numberorder" class="text" type="text" title="numberorder" name ="numberslide" value="<?php echo $dataupdate['idslideshow'];?>">
108
+ <div style="margin-bottom: 10px;"><label style="float: left; margin-right: 10px;">Title sledeshow</label><input id="title" class="input-text required-entry required-entry validation-failed" style="background: none;" type="text" title="text" value="<?php echo $dataupdate['title'];?>" name="<?php echo $dataupdate['idslideshow'];?>_title"/></div>
109
+ <?php $n=1; for($i=1 ; $i <= $dataupdate['numberslide']; $i++){?>
110
+ <?php if($dataslotamounyli[$i-1]){?>
111
+
112
+ <div class="post_revolution post_revolution<?php echo $i;?> content" style="background: #D3D3D3; margin-bottom: 5px;">
113
+ <div style="width: 15px; float: right;margin-left: 10px; background-image:url('<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN)?>adminhtml/default/default/images/cancel_btn_icon.gif'); font-size: 0px;height: 15px; margin-top: 2px;" onclick="delcontent(<?php echo $i?>,<?php echo $dataupdate['idslideshow'];?>)">dell</div>
114
+ <button onclick="addmycontent(<?php echo $i;?>,<?php echo $dataupdate['idslideshow'];?>)" style="float: right" id="addcontent<?php echo $i;?>" type="button" title="Add Content" ><span><span><span>Add Content</span></span></span></button>
115
+ <input style="display: none;" id="numberslide" class="numberslide" class="text" type="text" title="numberslide" name ="numberslide" value="<?php echo $i;?>">
116
+ <a onclick="imagePreview('imagethumbs_image'); return false;" href="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).$imageli[$i-1]?>"><img id="imagethumbs_image" class="small-image-preview v-middle" width="22" height="22" alt="<?php echo $dataupdate['title'];?>" title="<?php echo $dataupdate['title'];?>" src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).$imageli[$i-1]?>"></a>
117
+ <label>Images</label>
118
+ <input id="image" class="input-file" style="background: none; border: none;" type="file" title="Image" value="<?php echo $imageli[$i-1]?>" name="<?php echo $dataupdate['idslideshow'];?>_image-li_<?php echo $i;?>"/>
119
+ <input id="image" class="input-file" style="display: none;" type="text" title="Image" value="<?php echo $imageli[$i-1]?>" name="<?php echo $dataupdate['idslideshow'];?>_image-li_<?php echo $i;?>old"/>
120
+ <label>Transition</label> <select class=" select" name="<?php echo $dataupdate['idslideshow'];?>_transition-li_<?php echo $i;?>" id="transition">
121
+ <option <?php if($transitionli[$i-1] == 'boxslide') {?> selected="selected" <?php }?> value="boxslide">Boxslide</option>
122
+ <option <?php if($transitionli[$i-1] == 'boxfade') {?> selected="selected" <?php }?> value="boxfade">Boxfade</option>
123
+ <option <?php if($transitionli[$i-1] == 'slotzoom-horizontal') {?> selected="selected" <?php }?> value="slotzoom-horizontal">Slotzoom Horizontal</option>
124
+ <option <?php if($transitionli[$i-1] == 'slotslide-horizontal') {?> selected="selected" <?php }?> value="slotslide-horizontal">Slotslide Horizontal</option>
125
+ <option <?php if($transitionli[$i-1] == 'slotfade-horizontal') {?> selected="selected" <?php }?> value="slotfade-horizontal">Slotfade Horizontal</option>
126
+ <option <?php if($transitionli[$i-1] == 'slotzoom-vertical') {?> selected="selected" <?php }?> value="slotzoom-vertical">Slotzoom Vertical</option>
127
+ <option <?php if($transitionli[$i-1] == 'slotslide-vertical') {?> selected="selected" <?php }?> value="slotslide-vertical">Slotslide Vertical</option>
128
+ <option <?php if($transitionli[$i-1] == 'slotfade-vertical') {?> selected="selected" <?php }?> value="slotfade-vertical">Slotfade Vertical</option>
129
+ <option <?php if($transitionli[$i-1] == 'curtain-1') {?> selected="selected" <?php }?> value="curtain-1">Curtain 1</option>
130
+ <option <?php if($transitionli[$i-1] == 'curtain-2') {?> selected="selected" <?php }?> value="curtain-2">Curtain 2</option>
131
+ <option <?php if($transitionli[$i-1] == 'curtain-3') {?> selected="selected" <?php }?> value="curtain-3">Curtain 3</option>
132
+ <option <?php if($transitionli[$i-1] == 'slideleft') {?> selected="selected" <?php }?> value="slideleft">Slide Left</option>
133
+ <option <?php if($transitionli[$i-1] == 'slideright') {?> selected="selected" <?php }?> value="slideright">Slide Right</option>
134
+ <option <?php if($transitionli[$i-1] == 'slideup') {?> selected="selected" <?php }?> value="slideup">Slide up</option>
135
+ <option <?php if($transitionli[$i-1] == 'slidedown') {?> selected="selected" <?php }?> value="slidedown">Slide Down</option>
136
+ <option <?php if($transitionli[$i-1] == 'fade') {?> selected="selected" <?php }?> value="fade">Fade</option>
137
+ </select>
138
+ <label style="margin-left: 10px; margin-right: 5px">Data slotamount</label><input id="data-slotamouny" class="required-entry required-entry" type="text" title="Data slotamouny " value="<?php echo $dataslotamounyli[$i-1]?>" name="<?php echo $dataupdate['idslideshow'];?>_data-slotamouny-li_<?php echo $i?>" size="3" />
139
+ <label style="margin-left: 10px; margin-right: 5px">Data Delay</label><input id="data-delay" type="text" title="Data delay" value="<?php echo $datadelayli[$i-1]?>" name="<?php echo $dataupdate['idslideshow'];?>_data-delay-li_<?php echo $i?>" size="3" />
140
+ <div class="content_revolution<?php echo $i?>" style="margin-top: 10px;">
141
+ <?php for($j=1; $j<= $numberslideli[$i-1]; $j++) {?>
142
+ <div class="nesbase<?php echo $i?> nesbase<?php echo $i?><?php echo $j?>" style="width: 100%; float: left; margin-bottom: 10px;">
143
+ <label>Choose Block</label>
144
+ <div style="width: 100%;"></div>
145
+ <select class=" select" name="<?php echo $dataupdate['idslideshow'];?>_content<?php echo $i?>-<?php echo $j?>" id="data-easing" style="width: 160px; margin-right: 5px;">
146
+ <?php foreach ($block as $data) { ?>
147
+ <option <?php if($theme->getDatarevolution($datacontent,$dataupdate['numberslide'],$datanumberlidiv,$i,$j) == $data['value']) {?> selected="selected" <?php }?> value="<?php echo $data['value']?>"><?php echo $data['label']?></option>
148
+ <?php } ?>
149
+ </select>
150
+ <label style="margin-right: 5px;">Data x</label><input id="data-x" type="text" title="Data-x" value="<?php echo $theme->getDatarevolution($datax,$dataupdate['numberslide'],$datanumberlidiv,$i,$j);?>" name="<?php echo $dataupdate['idslideshow'];?>_data-x<?php echo $i?>-<?php echo $j?>" size="3" />
151
+ <label style="margin-right: 5px; margin-left: 5px">Data y</label><input id="data-y" type="text" title="Data-y" value="<?php echo $theme->getDatarevolution($datay,$dataupdate['numberslide'],$datanumberlidiv,$i,$j);?>" name="<?php echo $dataupdate['idslideshow'];?>_data-y<?php echo $i?>-<?php echo $j?>" size="3" />
152
+ <label style="margin-right: 5px; margin-left: 5px">Data speed</label><input id="data-speed" type="text" title="Data Speed" value="<?php echo $theme->getDatarevolution($dataspeed,$dataupdate['numberslide'],$datanumberlidiv,$i,$j);?>" name="<?php echo $dataupdate['idslideshow'];?>_data-speed<?php echo $i?>-<?php echo $j?>" size="3" />
153
+ <label style="margin-right: 5px; margin-left: 5px">Data start</label><input id="data-start" type="text" title="Data-start" value="<?php echo $theme->getDatarevolution($datastart,$dataupdate['numberslide'],$datanumberlidiv,$i,$j);?>" name="<?php echo $dataupdate['idslideshow'];?>_data-start<?php echo $i?>-<?php echo $j?>" size="3" />
154
+ <label style="margin-right: 5px; margin-left: 5px">Data easing</label> <select class=" select" name="<?php echo $dataupdate['idslideshow'];?>_data-easing<?php echo $i?>-<?php echo $j?>" id="data-easing" style="width: 110px;">
155
+ <?php foreach ($dataeasing as $data) { ?>
156
+ <option <?php if($theme->getDatarevolution($dataeasingupdate,$dataupdate['numberslide'],$datanumberlidiv,$i,$j) == $data['value']) {?> selected="selected" <?php }?> value="<?php echo $data['value']?>"><?php echo $data['label']?></option>
157
+ <?php } ?>
158
+ </select>
159
+ <label style="margin-right: 5px; margin-left: 5px">Animation class</label>
160
+ <select class=" select" name="<?php echo $dataupdate['idslideshow'];?>_class<?php echo $i?>-<?php echo $j?>" id="data-easing" style="width: 125px;">
161
+ <?php foreach ($datagetclass as $data) { ?>
162
+ <option <?php if($theme->getDatarevolution($dataclass,$dataupdate['numberslide'],$datanumberlidiv,$i,$j) == $data['value']) {?> selected="selected" <?php }?> value="<?php echo $data['value']?>"><?php echo $data['label']?></option>
163
+ <?php } ?>
164
+ </select>
165
+ <div class="icon-dell" onclick="del(<?php echo $dataupdate['idslideshow'];?>,<?php echo $i?>,<?php echo $j?>)">dell</div>
166
+ <input style="display: none;" id="numberslide" class="numberslide" class="text" type="text" title="numberslide" name ="<?php echo $dataupdate['idslideshow'];?>_numberslide-li<?php echo $i?>" value="<?php echo $j?>">
167
+ <input style="display: none;" id="numberslide" class="numberslide" class="text" type="text" title="numberslide" name ="<?php echo $dataupdate['idslideshow'];?>_numberslide-li<?php echo $i?>" value="<?php echo $j?>">
168
+ </div>
169
+ <?php }?>
170
+ </div>
171
+ </div>
172
+ <?php } ?>
173
+ <?php } ?>
174
+ <p></p>
175
+ </div>
176
+ <?php } else {?>
177
+ <div class="entry-edit-head">
178
+ <h4 class="icon-head head-edit-form fieldset-legend">Post revolution</h4>
179
+ <div class="form-buttons"><button style="float: right" id="btn1" class="scalable save" type="button" title="Add Slideshow"><span><span><span>Add Slideshow</span></span></span></button>
180
+ <input style="display: none;" id="numberslide" class="numberslide" class="text" type="text" title="numberslide" name ="numberslide" value="' +i+'">
181
+ </div>
182
+ </div>
183
+ <div id="slideshow_form" class="fieldset ">
184
+ <input style="display: none;" id="numberorder" class="text" type="text" title="numberorder" name ="numberslide" value="<?php echo $slideshow_id;?>">
185
+ <div style="margin-bottom: 10px;"><label style="float: left; margin-right: 10px; " >Title sledeshow</label><input id="title" class="input-text required-entry required-entry validation-failed" style="background: none;" type="text" title="text" value="" name="<?php echo $slideshow_id;?>_title"/></div>
186
+ <p></p>
187
+ </div>
188
+
189
+ <?php } ?>
190
+ </div>
191
+ <div class="entry-edit">
192
+ <div class="entry-edit-head">
193
+ <h4 class="icon-head head-edit-form fieldset-legend">The options are in detail</h4>
194
+ </div>
195
+ <div class="fieldset">
196
+ <div style="width: 100%; margin-bottom: 5px;">
197
+ <?php echo $this->__('Every list item represents a new banner/slider item.</br>Transition effects and a possible slide link are defined here:');?>
198
+ </div>
199
+ <div class="content">
200
+ <div style="width:100%; float: left;">
201
+ <div style="width:100%; float: left;"><?php echo $this->__('<b>data-transition</b> The appearance transition of this slide');?></div>
202
+ <div style="width:100%; float: left;"><?php echo $this->__('<b>data-slotamount</b> The number of slots or boxes the slide is divided into. If you use boxfade, over 7 slots can be juggy.');?></div>
203
+ <div style="width:100%; float: left;"><?php echo $this->__('<b>data-delay</b> A new Dealy value for the Slide. If no delay defined per slide, the dealy defined via Options will be used');?></div>
204
+ <div style="width:100%; float: left;"><?php echo $this->__('<b>data-easing</b> special easing effect of the animation');?></div>
205
+ </div>
206
+ </div>
207
+ <?php echo $this->__('Captions are Containers which can be customized via CSS, classes for the start animation and some data options.
208
+ The CSS for the caption added in the settings.css file because it depends strongly on the responsive Sizing.
209
+ There are 4 Steps of Responsive Contents which are written later below under the Responsive Dependencies Caption.');?>
210
+ <div style="width:100%; float: left;"></div>
211
+ <div style="width:100%; float: left;"><?php echo $this->__('+ Color class example big_white, big_orange, medium_grey (check the style.css of the example for details)'); ?></div>
212
+ <div class="content">
213
+ <div style="width:100%; float: left;">
214
+ <div style="width:100%; float: left;"><?php echo $this->__('<b>data-x</b> The horizontal position in the standard (via startwidth option defined) screen size (other screen sizes will be calculated)');?></div>
215
+ <div style="width:100%; float: left;"><?php echo $this->__('<b>data-y</b> vertical position in the standard (via startheight option defined) screen size (other screen sizes will be calculated)');?></div>
216
+ <div style="width:100%; float: left;"><?php echo $this->__('<b>data-speed</b> duration of the animation in milliseconds');?></div>
217
+ <div style="width:100%; float: left;"><?php echo $this->__('<b>data-start</b> after how many milliseconds should this caption start to show');?></div>
218
+ <div style="width:100%; float: left;"><?php echo $this->__('<b>data-easing</b> special easing effect of the animation');?></div>
219
+ </div>
220
+ </div>
221
+ </div>
222
+ </div>
223
+ </div>
224
+ <script type="text/javascript">
225
+ var chk = NetBase.noConflict();
226
+ chk(".slideshow-revolution").ready(function(){
227
+ var i=0;
228
+ chk("#btn1").click(function(){
229
+
230
+ i++;
231
+ chk(".slideshow-revolution p").append('<div class="post_revolution post_revolution'+ i +' content" style="background: #D3D3D3; margin-bottom: 5px;">'+
232
+ '<div class="icon-dell" onclick="delcontent('+i+',0)">dell</div>'+
233
+ '<button style="float: right" id="addcontent'+ i +'" type="button" title="Add Content" ><span><span><span>Add Content</span></span></span></button>'+
234
+ '<input style="display: none;" id="numberslide" class="numberslide" class="text" type="text" title="numberslide" name ="numberslide" value="' +i+'">'+
235
+ '<label style="margin-right: 5px">Images</label>'+
236
+ '<input id="image" class="input-file required-entry required-entry validation-failed" style="background: none; border: none;" type="file" title="Image" value="" name="<?php echo $slideshow_id;?>_image-li_'+i+'"/>'+
237
+ '<label>Transition</label> <select class=" select" name="<?php echo $slideshow_id;?>_transition-li_'+i+'" id="transition">'+
238
+ '<option selected="selected" value="boxslide">Boxslide</option>'+
239
+ '<option value="boxfade">Boxfade</option>'+
240
+ '<option value="slotzoom-horizontal">Slotzoom Horizontal</option>'+
241
+ '<option value="slotslide-horizontal">Slotslide Horizontal</option>'+
242
+ '<option value="slotfade-horizontal">Slotfade Horizontal</option>'+
243
+ '<option value="slotzoom-vertical">Slotzoom Vertical</option>'+
244
+ '<option value="slotslide-vertical">Slotslide Vertical</option>'+
245
+ '<option value="slotfade-vertical">Slotfade Vertical</option>'+
246
+ '<option value="curtain-1">Curtain 1</option>'+
247
+ '<option value="curtain-2">Curtain 2</option>'+
248
+ '<option value="curtain-3">Curtain 3</option>'+
249
+ '<option value="slideleft">Slide Left</option>'+
250
+ '<option value="slideright">Slide Right</option>'+
251
+ '<option value="slideup">Slide up</option>'+
252
+ '<option value="slidedown">Slide Down</option>'+
253
+ '<option value="fade">Fade</option>'+
254
+ '</select>'+
255
+ '<label style="margin-left: 10px; margin-right: 5px">Data slotamount</label><input id="data-slotamouny" type="text" class="required-entry required-entry" title="Data slotamouny " value="560" name="<?php echo $slideshow_id;?>_data-slotamouny-li_'+i+'" size="3" />'+
256
+ '<label style="margin-left: 10px; margin-right: 5px">Data Delay</label><input id="data-delay" type="text" title="Data delay" value="" name="<?php echo $slideshow_id;?>_data-delay-li_'+i+'" size="3" />'+
257
+ '<div class="content_revolution'+ i +'" style="margin-top: 10px;">'+
258
+ '</div></div>'
259
+ );
260
+ addcontent(i);
261
+
262
+ });
263
+ });
264
+ function addcontent(j){
265
+ var i=0;
266
+ chk('#addcontent'+ j +'').click(function(){
267
+ i++;
268
+ chk('.post_revolution'+j+' .content_revolution'+ j +'').append(
269
+ '<div class="nesbase'+i+' nesbase'+i+j+'" style="width: 100%; float: left; margin-bottom: 10px;">'+
270
+ '<label>Choose Block</label>'+
271
+ '<div style="width: 100%;"></div>'+
272
+ '<select class=" select" name="<?php echo $slideshow_id;?>_content'+j+'-'+i+'" id="data-easing" style="width: 160px; margin-right: 5px;">'+
273
+ <?php foreach ($block as $data) { ?>
274
+ '<option value="<?php echo $data['value']?>"><?php echo $data['label']?></option>'+
275
+ <?php } ?>
276
+ '</select>'+
277
+ '<label style="margin-right: 5px;">Data x</label><input id="data-x" type="text" title="Data-x" value="560" name="<?php echo $slideshow_id;?>_data-x'+j+'-'+i+'" size="3" />'+
278
+ '<label style="margin-right: 5px; margin-left: 5px">Data y</label><input id="data-y" type="text" title="Data-y" value="300" name="<?php echo $slideshow_id;?>_data-y'+j+'-'+i+'" size="3" />'+
279
+ '<label style="margin-right: 5px; margin-left: 5px">Data speed</label><input id="data-speed" type="text" title="Data Speed" value="900" name="<?php echo $slideshow_id;?>_data-speed'+j+'-'+i+'" size="3" />'+
280
+ '<label style="margin-right: 5px; margin-left: 5px">Data start</label><input id="data-start" type="text" title="Data-start" value="1700" name="<?php echo $slideshow_id;?>_data-start'+j+'-'+i+'" size="3" />'+
281
+ '<label style="margin-right: 5px; margin-left: 5px">Data easing</label> <select class=" select" name="<?php echo $slideshow_id;?>_data-easing'+j+'-'+i+'" id="data-easing" style="width: 160px; margin-right: 5px;">'+
282
+ <?php foreach ($dataeasing as $data) { ?>
283
+ '<option value="<?php echo $data['value']?>"><?php echo $data['label']?></option>'+
284
+ <?php } ?>
285
+ '</select>'+
286
+ '<label style="margin-right: 5px; margin-left: 5px">Class</label><input id="class" type="text" title="Class" value="" name="<?php echo $slideshow_id;?>_class'+j+'-'+i+'" size="16" />'+
287
+ '<div class="icon-dell" onclick="del(<?php echo $slideshow_id;?>,'+i+','+j+')">dell</div>'+
288
+ '<input style="display: none;" id="numberslide" class="numberslide" class="text" type="text" title="numberslide" name ="<?php echo $slideshow_id;?>_numberslide-li'+j+'" value="'+i+'">'+
289
+ '</div>'
290
+ );
291
+ });
292
+ }
293
+ var d =0;
294
+ function addmyslideshow(idslideshow){
295
+ var i = chk('.post_revolution').length + 1;
296
+
297
+ d++;
298
+ chk('.slideshow-revolution p').append('<div class="post_revolution post_revolution'+ i +' content" style="background: #D3D3D3; margin-bottom: 5px;">'+
299
+ '<div class="icon-dell" onclick="delcontent('+i+','+idslideshow+')">dell</div>'+
300
+ '<button style="float: right" id="addcontent'+ i +'" onclick=addmycontent('+i+','+idslideshow+') type="button" title="Add Content" ><span><span><span>Add Content</span></span></span></button>'+
301
+ '<input style="display: none;" id="numberslide" class="numberslide" class="text" type="text" title="numberslide" name ="numberslide" value="'+i+'">'+
302
+ '<input id="image" class="input-file required-entry required-entry validation-failed" style="background: none; border: none;" type="file" title="Image" value="" name="'+idslideshow+'_image-li_'+i+'"/>'+
303
+ '<label>Transition</label> <select class=" select" name="'+idslideshow+'_transition-li_'+i+'" id="transition">'+
304
+ '<option selected="selected" value="boxslide">Boxslide</option>'+
305
+ '<option value="boxfade">Boxfade</option>'+
306
+ '<option value="slotzoom-horizontal">Slotzoom Horizontal</option>'+
307
+ '<option value="slotslide-horizontal">Slotslide Horizontal</option>'+
308
+ '<option value="slotfade-horizontal">Slotfade Horizontal</option>'+
309
+ '<option value="slotzoom-vertical">Slotzoom Vertical</option>'+
310
+ '<option value="slotslide-vertical">Slotslide Vertical</option>'+
311
+ '<option value="slotfade-vertical">Slotfade Vertical</option>'+
312
+ '<option value="curtain-1">Curtain 1</option>'+
313
+ '<option value="curtain-2">Curtain 2</option>'+
314
+ '<option value="curtain-3">Curtain 3</option>'+
315
+ '<option value="slideleft">Slide Left</option>'+
316
+ '<option value="slideright">Slide Right</option>'+
317
+ '<option value="slideup">Slide up</option>'+
318
+ '<option value="slidedown">Slide Down</option>'+
319
+ '<option value="fade">Fade</option>'+
320
+ '</select>'+
321
+ '<label style="margin-left: 10px; margin-right: 5px">Data slotamount</label><input id="data-slotamouny" class="required-entry required-entry" type="text" title="Data slotamouny " value="10" name="'+idslideshow+'_data-slotamouny-li_'+i+'" size="3" />'+
322
+ '<label style="margin-left: 10px; margin-right: 5px">Data Delay</label><input id="data-delay" type="text" title="Data delay" value="" name="'+idslideshow+'_data-delay-li_'+i+'" size="3" />'+
323
+ '<div class="content_revolution'+ i +'" style="margin-top: 10px;">'+
324
+ '</div></div>'
325
+ );
326
+ d++;
327
+ }
328
+
329
+ function addmycontent(i,idslideshow){
330
+ var m=i+1;
331
+ var j = chk('.nesbase'+i).length + 1;
332
+ var numberslide = chk('.post_revolution').length;
333
+ chk('.content_revolution'+ i).append(
334
+ '<div class="nesbase'+i+' nesbase'+i+j+'" style="width: 100%; float: left; margin-bottom: 10px;">'+
335
+ '<select class=" select" name="'+idslideshow+'_content'+i+'-'+j+'" id="data-easing" style="width: 160px; margin-right: 8px;">'+
336
+ <?php foreach ($block as $data) { ?>
337
+ '<option value="<?php echo $data['value']?>"><?php echo $data['label']?></option>'+
338
+ <?php } ?>
339
+ '</select>'+
340
+ '<label style="margin-right: 8px;">Data x</label><input id="data-x" type="text" title="Data-x" value="560" name="'+idslideshow+'_data-x'+i+'-'+j+'" size="3" />'+
341
+ '<label style="margin-right: 8px; margin-left: 5px">Data y</label><input id="data-y" type="text" title="Data-y" value="300" name="'+idslideshow+'_data-y'+i+'-'+j+'" size="3" />'+
342
+ '<label style="margin-right: 8px; margin-left: 5px">Data speed</label><input id="data-speed" type="text" title="Data Speed" value="900" name="'+idslideshow+'_data-speed'+i+'-'+j+'" size="3" />'+
343
+ '<label style="margin-right: 8px; margin-left: 5px">Data start</label><input id="data-start" type="text" title="Data-start" value="1700" name="'+idslideshow+'_data-start'+i+'-'+j+'" size="3" />'+
344
+ '<label style="margin-right: 6px; margin-left: 5px">Data easing</label> <select class=" select" name="'+idslideshow+'_data-easing'+i+'-'+j+'" id="data-easing" style="width: 110px;">'+
345
+ <?php foreach ($dataeasing as $data) { ?>
346
+ '<option value="<?php echo $data['value']?>"><?php echo $data['label']?></option>'+
347
+ <?php } ?>
348
+ '</select>'+
349
+ '<label style="margin-right: 6px; margin-left: 5px">Animation class</label> <select class=" select" name="'+idslideshow+'_class'+i+'-'+j+'" id="class" style="width: 125px;">'+
350
+ <?php foreach ($datagetclass as $data) { ?>
351
+ '<option value="<?php echo $data['value']?>"><?php echo $data['label']?></option>'+
352
+ <?php } ?>
353
+ '</select>'+
354
+ '<div class="icon-dell" onclick="del('+idslideshow+','+i+','+j+')">dell</div>'+
355
+ '<input id="numberslide" class="numberslide" type="text" value="'+j+'" name="'+idslideshow+'_numberslide-li'+i+'" title="numberslide" style="display: none;">'+
356
+ '</div>'
357
+ );
358
+ }
359
+ function del(idslideshow,i,j){
360
+ chk('.nesbase'+i+j+'' ).click(function( event ) {
361
+ event.preventDefault();
362
+ $( this ).remove();
363
+ var nesbasedel = chk(".nesbase"+i).length;
364
+ if(nesbasedel > 0){
365
+ for(var l=j; l<= nesbasedel; l++){
366
+ var new_=l+1;
367
+ chk(".nesbase"+i+new_).addClass("nesbase"+i+l);
368
+ chk(".nesbase"+i+new_).removeClass("nesbase"+i+new_);
369
+ chk(".nesbase"+i+l+" .icon-dell").attr('onclick','del('+idslideshow+','+i+','+l+')');
370
+ var namedivli = chk(".nesbase"+i+l).find('input[name='+idslideshow+'_numberslide-li'+i+']');
371
+ namedivli.attr('value',l);
372
+ var namedivli = chk(".nesbase"+i+l).find('input[name='+idslideshow+'_data-x'+i+'-'+new_+']');
373
+ namedivli.attr('name',''+idslideshow+'_data-x'+i+'-'+l);
374
+ var namedivlix = chk(".nesbase"+i+l).find('input[name='+idslideshow+'_data-x'+i+'-'+new_+']');
375
+ namedivlix.attr('name',''+idslideshow+'_data-x'+i+'-'+l);
376
+ var namedivliy = chk(".nesbase"+i+l).find('input[name='+idslideshow+'_data-y'+i+'-'+new_+']');
377
+ namedivliy.attr('name',''+idslideshow+'_data-y'+i+'-'+l);
378
+ var namedivlispeed = chk(".nesbase"+i+l).find('input[name='+idslideshow+'_data-speed'+i+'-'+new_+']');
379
+ namedivlispeed.attr('name',''+idslideshow+'_data-speed'+i+'-'+l);
380
+ var namedivlistart = chk(".nesbase"+i+l).find('input[name='+idslideshow+'_data-start'+i+'-'+new_+']');
381
+ namedivlistart.attr('name',''+idslideshow+'_data-start'+i+'-'+l);
382
+ var namedivlieasing = chk(".nesbase"+i+l).find('select[name='+idslideshow+'_data-easing'+i+'-'+new_+']');
383
+ namedivlieasing.attr('name',''+idslideshow+'_data-easing'+i+'-'+l);
384
+ var namedivlicontent = chk(".nesbase"+i+l).find('select[name='+idslideshow+'_content'+i+'-'+new_+']');
385
+ namedivlicontent.attr('name',''+idslideshow+'_content'+i+'-'+l);
386
+ var namedivliclass = chk(".nesbase"+i+l).find('input[name='+idslideshow+'_class'+i+'-'+new_+']');
387
+ namedivliclass.attr('name',''+idslideshow+'_class'+i+'-'+l);
388
+ }
389
+ }
390
+ });
391
+
392
+ }
393
+
394
+ function delcontent(i,idslideshow){
395
+ chk('.post_revolution'+i+'').click(function( event ) {
396
+ event.preventDefault();
397
+ $( this ).remove();
398
+ var a = chk('.post_revolution').length;
399
+
400
+ if(a > 0)
401
+ {
402
+ var all_li=chk('.post_revolution');
403
+ for(var j=i;j <= all_li.length;j++)
404
+ {
405
+ var del_ = j;
406
+ var new_ = j+1;
407
+ chk(all_li[j-1]).removeClass("post_revolution"+new_);
408
+ chk(all_li[j-1]).addClass("post_revolution"+del_);
409
+ // thay name cac gia tri cua li slide ;
410
+ var input_last=chk(all_li[j-1]).find('input[name=numberslide]');
411
+ input_last.attr('value',j);
412
+ var input_lastname=chk(all_li[j-1]).find('select[name='+idslideshow+'_transition-li_'+new_+']');
413
+ input_lastname.attr('name',''+idslideshow+'_transition-li_'+del_);
414
+ var input_lastname2=chk(all_li[j-1]).find('input[name='+idslideshow+'_data-slotamouny-li_'+new_+']');
415
+ input_lastname2.attr('name',+idslideshow+'_data-slotamouny-li_'+del_);
416
+ var input_lastname3=chk(all_li[j-1]).find('input[name='+idslideshow+'_data-delay-li_'+new_+']');
417
+ input_lastname3.attr('name',+idslideshow+'_data-delay-li_'+del_);
418
+
419
+ var input_lastname3=chk(all_li[j-1]).find('input[name='+idslideshow+'_image-li_'+new_+']');
420
+ input_lastname3.attr('name',+idslideshow+'_image-li_'+del_);
421
+
422
+
423
+ var input_lastname4=chk(all_li[j-1]).find('input[name='+idslideshow+'_numberslide-li_'+new_+']');
424
+ input_lastname4.attr('name',+idslideshow+'_numberslide-li_'+del_);
425
+
426
+ var input_lastname5=chk(all_li[j-1]).find('input[name='+idslideshow+'_image-li_'+new_+'old]');
427
+ input_lastname5.attr('name',''+idslideshow+'_image-li_'+del_+'old');
428
+
429
+ // thay noi dung cua li slide ;
430
+ chk(".content_revolution"+new_).addClass("content_revolution"+del_);
431
+ chk(".content_revolution"+del_).removeClass("content_revolution"+new_);
432
+
433
+ chk(".post_revolution"+del_+" button").attr('onclick','addmycontent('+del_+','+idslideshow+')');
434
+ chk(".post_revolution"+del_+" div").attr('onclick','delcontent('+del_+','+idslideshow+')');
435
+
436
+ var input_lastname4=chk(".post_revolution"+del_).find('input[name='+idslideshow+'_numberslide-li'+new_+']');
437
+ input_lastname4.attr('name',+idslideshow+'_numberslide-li'+del_);
438
+
439
+ chk(".nesbase"+new_).addClass("nesbase"+del_);
440
+ chk(".nesbase"+del_).removeClass("nesbase"+new_);
441
+ var nesbase = chk(".nesbase"+del_).length;
442
+ for(var l=1;l<=nesbase;l++){
443
+ chk(".nesbase"+new_+l).addClass("nesbase"+del_+l);
444
+ chk(".nesbase"+del_+l).removeClass("nesbase"+new_+l);
445
+ var select_lastnamenesbae=chk(".nesbase"+del_+l).find('select[name='+idslideshow+'_content'+new_+'-'+l+']');
446
+ select_lastnamenesbae.attr('name',''+idslideshow+'_content'+del_+'-'+l);
447
+
448
+ var inputx_lastnamenesbae=chk(".nesbase"+del_+l).find('input[name='+idslideshow+'_data-x'+new_+'-'+l+']');
449
+ inputx_lastnamenesbae.attr('name',''+idslideshow+'_data-x'+del_+'-'+l);
450
+
451
+ var inputy_lastnamenesbae=chk(".nesbase"+del_+l).find('input[name='+idslideshow+'_data-y'+new_+'-'+l+']');
452
+ inputy_lastnamenesbae.attr('name',''+idslideshow+'_data-y'+del_+'-'+l);
453
+
454
+ var inputspeed_lastnamenesbae=chk(".nesbase"+del_+l).find('input[name='+idslideshow+'_data-speed'+new_+'-'+l+']');
455
+ inputspeed_lastnamenesbae.attr('name',''+idslideshow+'_data-speed'+del_+'-'+l);
456
+
457
+ var inputstart_lastnamenesbae=chk(".nesbase"+del_+l).find('input[name='+idslideshow+'_data-start'+new_+'-'+l+']');
458
+ inputstart_lastnamenesbae.attr('name',''+idslideshow+'_data-start'+del_+'-'+l);
459
+
460
+ var selecteasing_lastnamenesbae=chk(".nesbase"+del_+l).find('select[name='+idslideshow+'_data-easing'+new_+'-'+l+']');
461
+ selecteasing_lastnamenesbae.attr('name',''+idslideshow+'_data-easing'+del_+'-'+l);
462
+
463
+ var inputclass_lastnamenesbae=chk(".nesbase"+del_+l).find('input[name='+idslideshow+'_class'+new_+'-'+l+']');
464
+ inputclass_lastnamenesbae.attr('name',''+idslideshow+'_class'+del_+'-'+l);
465
+ chk(".nesbase"+del_+l+" .icon-dell").attr('onclick','del('+idslideshow+','+del_+','+l+')');
466
+
467
+ }
468
+
469
+ }
470
+ }
471
+
472
+ });
473
+ }
474
+ </script>
app/design/frontend/base/default/template/cmsmart/slideshow/slideshow_camera.phtml ADDED
@@ -0,0 +1,130 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ $enabled = Mage::getStoreConfig('slideshow/settings/enabled');
13
+ $style = Mage::getStoreConfig('slideshow/settings/style');
14
+ $imagewidth = Mage::getStoreConfig('slideshow/settings/imagewidth');
15
+ $imageheight = Mage::getStoreConfig('slideshow/settings/imageheight');
16
+ $description = Mage::getStoreConfig('slideshow/settings/description');
17
+
18
+ $slidingtime = Mage::getStoreConfig('slideshow/settings/slidingtime');
19
+ $slidingeffecttime = Mage::getStoreConfig('slideshow/settings/slidingeffecttime');
20
+ $loader = Mage::getStoreConfig('slideshow/settings/loader');
21
+ $navigation = Mage::getStoreConfig('slideshow/settings/navigation');
22
+ $easing = Mage::getStoreConfig('slideshow/settings/easing');
23
+
24
+ if($this->getData('fullWidth')){
25
+
26
+ $fullWidth = $this->getData('fullWidth');
27
+ } else {
28
+
29
+ $fullWidth = Mage::getStoreConfig('slideshow/settings/fullWidth');
30
+ }
31
+ $thumbnails = Mage::getStoreConfig('slideshow/settings/thumbnails');
32
+ $imagewidththumbnails = Mage::getStoreConfig('slideshow/settings/imagewidththumbnails');
33
+ $imageheightthumbnails = Mage::getStoreConfig('slideshow/settings/imageheightthumbnails');
34
+
35
+ if($thumbnails =='thumbnail'){ $thumbsts = 'true'; $pagests = 'false'; }
36
+ elseif($thumbnails=='pagination'){ $thumbsts = 'true'; $pagests = 'true';}
37
+ else{ $thumbsts = 'false'; $pagests = 'false';}
38
+ $imageCollection = $this->getImageCollection();
39
+
40
+ ?>
41
+
42
+ <?php if($enabled){?>
43
+
44
+ <?php if(count($imageCollection)){?>
45
+ <!-- If jquery alredy loaded then below jQuery file not required -->
46
+ <?php if($this->getData('fullWidth') == 'on'){?>
47
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('cmsmart/slideshow/camera/jquery.min.js') ?>"></script>
48
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('cmsmart/slideshow/camera/jquery.easing.1.3.js') ?>"></script>
49
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('cmsmart/slideshow/camera/camera.js') ?>"></script>
50
+ <script type="text/javascript">
51
+ var $ds = NetBase.noConflict();
52
+ $ds(function(){
53
+ $ds('#camera_wrap_1<?php echo $fullWidth?>').camera({
54
+ easing:'<?php echo $easing; ?>',
55
+ thumbnails: <?php echo $thumbsts; ?>,
56
+ fx: '<?php echo $style; ?>',
57
+ time: <?php echo $slidingtime; ?>,
58
+ transPeriod: <?php echo $slidingeffecttime; ?>,
59
+ loader: '<?php echo $loader; ?>',
60
+ pagination: <?php echo $pagests; ?>,
61
+ navigation: <?php echo $navigation; ?>,
62
+ height: '<?php echo $imageheight; ?>px',
63
+ opacityOnGrid: true,
64
+ pauseOnClick: false
65
+ });
66
+ });
67
+ </script>
68
+ <?php } else {?>
69
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('cmsmart/slideshow/camera/jquery.min.js') ?>"></script>
70
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('cmsmart/slideshow/camera/jquery.easing.1.3.js') ?>"></script>
71
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('cmsmart/slideshow/camera/camera.js') ?>"></script>
72
+ <script type="text/javascript">
73
+ var $cameracontent = NetBase.noConflict();
74
+ $cameracontent(function(){
75
+ $cameracontent('#camera_wrap_1<?php echo $fullWidth?>').camera({
76
+ easing:'<?php echo $easing; ?>',
77
+ thumbnails: <?php echo $thumbsts; ?>,
78
+ fx: '<?php echo $style; ?>',
79
+ time: <?php echo $slidingtime; ?>,
80
+ transPeriod: <?php echo $slidingeffecttime; ?>,
81
+ loader: 'bar',
82
+ pagination: <?php echo $pagests; ?>,
83
+ navigation: <?php echo $navigation; ?>,
84
+ height: '<?php echo $imageheight; ?>px',
85
+ opacityOnGrid: true,
86
+ pauseOnClick: false
87
+ });
88
+ });
89
+ </script>
90
+ <?php }?>
91
+ <link rel='stylesheet' id='camera-css' href="<?php echo $this->getSkinUrl('css/cmsmart/slideshow/camera/camera.css');?>" type='text/css' media='all'>
92
+
93
+ <style>
94
+
95
+ #back_to_camera {
96
+ clear: both;
97
+ display: block;
98
+ height: 80px;
99
+ line-height: 40px;
100
+ padding: 20px;
101
+ }
102
+ </style>
103
+ <div class="fluid_container" style=" margin: 0 auto; <?php if ($fullWidth == 'on'){?> width: 100%;<?php } else {?> width: <?php echo $imagewidth;?>px; <?php } ?>" >
104
+ <div class="camera_wrap camera_coffee_skin" id="camera_wrap_1<?php echo $fullWidth?>">
105
+
106
+ <?php foreach ($imageCollection as $banner): ?>
107
+ <?php $img = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).$banner['image'];
108
+ $img2 = $this->getResizedImage($banner['image'],$imagewidththumbnails,$imageheightthumbnails,$quality = 100);
109
+ ?>
110
+ <div data-thumb="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).$img2;?>" data-src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).$banner['image']?>">
111
+ <?php if($description){?>
112
+ <?php if($banner['post_content']){?>
113
+ <div class="camera_caption fadeFromBottom">
114
+ <?php echo $banner['post_content'];?>
115
+ </div>
116
+ <?php } ?>
117
+ <?php } ?>
118
+
119
+
120
+ </div>
121
+ <?php endforeach; ?>
122
+
123
+ </div>
124
+ </div>
125
+
126
+ <div style="clear:both; display:block;"></div>
127
+ <?php }else{
128
+ echo "<p><b>Slideshow.</b></p><p>Please upload slideshow.</p>";
129
+ } ?>
130
+ <?php }?>
app/design/frontend/base/default/template/cmsmart/slideshow/slideshow_lofslider.phtml ADDED
@@ -0,0 +1,134 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ $enabled = Mage::getStoreConfig('slideshow/settings/enabled');
13
+ $lofsliderstyle = Mage::getStoreConfig('slideshow/settings/lofsliderstyle');
14
+ $direction = Mage::getStoreConfig('slideshow/settings/direction');
15
+ $easing = Mage::getStoreConfig('slideshow/settings/easing');
16
+ $duration = Mage::getStoreConfig('slideshow/settings/duration');
17
+ $auto = Mage::getStoreConfig('slideshow/settings/auto');
18
+ $maxItemDisplay = Mage::getStoreConfig('slideshow/settings/maxItemDisplay');
19
+ $mobile = Mage::getStoreConfig('slideshow/settings/mobile');
20
+ $navPosition = Mage::getStoreConfig('slideshow/settings/navPosition');
21
+ $navigatorHeight = Mage::getStoreConfig('slideshow/settings/navigatorHeight');
22
+ $navigatorWidth = Mage::getStoreConfig('slideshow/settings/navigatorWidth');
23
+ $mainWidth = Mage::getStoreConfig('slideshow/settings/mainWidth');
24
+ $mainHeight = Mage::getStoreConfig('slideshow/settings/mainHeight');
25
+ $interval = Mage::getStoreConfig('slideshow/settings/interval');
26
+ $sliderswrapper = Mage::getStoreConfig('slideshow/settings/sliderswrapper');
27
+ $slidersheight = Mage::getStoreConfig('slideshow/settings/slidersheight');
28
+ $imageCollection = $this->getImageCollection();
29
+ $top = $mainHeight - 80;
30
+ $hieghtimgnavigator = $navigatorWidth - 6;
31
+ $widthimgnavigator = $navigatorHeight - 6;
32
+ $topbutton = $navigatorHeight - 37;
33
+ ?>
34
+
35
+
36
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('cmsmart/slideshow/jQuery.min.1.10.js') ?>"></script>
37
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('cmsmart/slideshow/lofslider/jquery.touchSwipe.min.js'); ?>"></script>
38
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('cmsmart/slideshow/lofslider/jquery.easing.js'); ?>"></script>
39
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('cmsmart/slideshow/lofslider/script.js') ?>"></script>
40
+ <script type="text/javascript">
41
+ var $ds = NetBase.noConflict();
42
+ $ds(function(){
43
+ var $style = <?php echo $lofsliderstyle; ?>;
44
+ var buttons = { previous:$ds('#jslidernews<?php echo $lofsliderstyle; ?> .button-previous') ,
45
+ next:$ds('#jslidernews<?php echo $lofsliderstyle; ?> .button-next') };
46
+ if(<?php echo $lofsliderstyle ?> == 1) {
47
+ $ds('#jslidernews<?php echo $lofsliderstyle; ?>').lofJSidernews({
48
+ interval : <?php echo $interval;?>,
49
+ direction : '<?php echo $direction;?>',
50
+ easing : '<?php echo $easing;?>',
51
+ duration : <?php echo $duration;?>,
52
+ auto : <?php echo $auto;?>,
53
+ maxItemDisplay : <?php echo $maxItemDisplay;?>,
54
+ mobile : <?php echo $mobile;?>,
55
+ navPosition : '<?php echo $navPosition;?>',
56
+ navigatorHeight : <?php echo $navigatorHeight;?>,
57
+ navigatorWidth : <?php echo $navigatorWidth;?>,
58
+ mainWidth : <?php echo $mainWidth;?>,
59
+ buttons : buttons
60
+
61
+ });
62
+ };
63
+ if(<?php echo $lofsliderstyle ?> == 2) {
64
+ $ds('#jslidernews2').lofJSidernews( {
65
+ interval :<?php echo $interval;?>,
66
+ easing :'<?php echo $easing;?>',
67
+ duration : <?php echo $duration;?>,
68
+ auto :<?php echo $auto;?>,
69
+ mainWidth :<?php echo $mainWidth;?>,
70
+ mainHeight :<?php echo $mainHeight;?>,
71
+ navigatorHeight : <?php echo $navigatorHeight;?>,
72
+ navigatorWidth : <?php echo $navigatorWidth;?> ,
73
+ maxItemDisplay :<?php echo $maxItemDisplay;?>,
74
+ buttons :buttons });
75
+ }
76
+ });
77
+ </script>
78
+ <style>
79
+ .lof-slidecontent ul.navigator-wrap-inner li img{
80
+ width: <?php echo $widthimgnavigator;?>px;
81
+ height: <?php echo $hieghtimgnavigator;?>px;
82
+ margin-right: 3px;
83
+ }
84
+ .lof-slidecontent .navigator-content .button-next, .lof-slidecontent .navigator-content .button-previous{
85
+ margin-top: <?php echo $topbutton;?>px;
86
+ }
87
+ </style>
88
+ <link rel='stylesheet' id='camera-css' href="<?php echo $this->getSkinUrl('css/cmsmart/slideshow/lofslider/style'.$lofsliderstyle.'.css');?>" type='text/css' media='all'>
89
+ <?php if($lofsliderstyle == 1) {?>
90
+ <div id="jslidernews<?php echo $lofsliderstyle; ?>" class="lof-slidecontent" style="width:<?php echo $mainWidth;?>px; height:<?php echo $mainHeight;?>px; margin: 0 auto;">
91
+ <?php } else {?>
92
+ <div id="jslidernews<?php echo $lofsliderstyle; ?>" class="lof-slidecontent" style="width:<?php echo $sliderswrapper;?>px; height:<?php echo $slidersheight;?>px; margin: 0 auto;">
93
+ <?php } ?>
94
+ <div class="preload"><div></div></div>
95
+ <?php if($lofsliderstyle == 2) {?> <div class="button-previous">Previous</div> <?php }?>
96
+ <?php if($lofsliderstyle == 1) {?>
97
+ <div class="main-slider-content" style="width:<?php echo $mainWidth;?>px; height:<?php echo $mainHeight;?>px">
98
+ <?php } else {?>
99
+ <div class="main-slider-content" style="width:<?php echo $sliderswrapper;?>px; height:<?php echo $slidersheight;?>px">
100
+ <?php } ?>
101
+ <ul class="sliders-wrap-inner">
102
+ <?php foreach ($imageCollection as $banner): ?>
103
+ <li>
104
+ <img src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).$banner['image']?>" title="<?php echo $banner['title']; ?>" height="<?php echo $mainHeight;?>" width="<?php echo $mainWidth;?>" >
105
+ <div class="slider-description" style="top:<?php echo $top;?>px;">
106
+ <div class="slider-meta"><a target="_parent" title="<?php echo $banner['title']; ?>" href="<?php echo $banner['weblink']; ?>"><?php echo $banner['title']; ?></a></div>
107
+ <?php $filter = new Mage_Widget_Model_Template_Filter();?>
108
+ <?php echo substr($filter->filter($banner['post_content']),0,65).'....';?>
109
+ <a class="readmore" href="<?php echo $banner['weblink']; ?>">Read more </a>
110
+ </p>
111
+ </div>
112
+ </li>
113
+ <?php endforeach; ?>
114
+ </ul>
115
+ </div>
116
+ <div class="navigator-content">
117
+ <?php if($lofsliderstyle < 2) {?> <div class="button-next">Next</div> <?php }?>
118
+ <div class="navigator-wrapper">
119
+ <ul class="navigator-wrap-inner">
120
+ <?php foreach ($imageCollection as $banner): ?>
121
+ <li>
122
+ <div>
123
+ <img src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).$banner['image']?>" />
124
+ <h3><?php echo $banner['title']; ?></h3>
125
+ <?php echo substr($banner['post_content'],0,65).'....';?>
126
+ </div>
127
+ </li>
128
+ <?php endforeach; ?>
129
+ </ul>
130
+ </div>
131
+ <?php if($lofsliderstyle < 2) {?> <div class="button-previous">Previous</div> <?php }?>
132
+ </div>
133
+ <?php if($lofsliderstyle = 2) {?> <div class="button-next">Next</div> <?php }?>
134
+ </div>
app/design/frontend/base/default/template/cmsmart/slideshow/slideshow_revolutioncontent.phtml ADDED
@@ -0,0 +1,99 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Name Extension: Slideshow Homepage
5
+ * Version: 1.0.0
6
+ * Author: The Cmsmart Development Team
7
+ * Date Created: 16/09/2013
8
+ * Websites: http://cmsmart.net
9
+ * Technical Support: Forum - http://cmsmart.net/support
10
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
11
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
12
+ */
13
+ $enabled = Mage::getStoreConfig('slideshow/settings/enabled');
14
+ $delay = Mage::getStoreConfig('slideshow/settings/delay');
15
+ $startheight = Mage::getStoreConfig('slideshow/settings/startheight');
16
+ $startwidth = Mage::getStoreConfig('slideshow/settings/startwidth');
17
+ $hideThumbs = Mage::getStoreConfig('slideshow/settings/hideThumbs');
18
+ $thumbWidth = Mage::getStoreConfig('slideshow/settings/thumbWidth');
19
+ $thumbHeight = Mage::getStoreConfig('slideshow/settings/thumbHeight');
20
+ $thumbAmount = Mage::getStoreConfig('slideshow/settings/thumbAmount');
21
+ $navigationType = Mage::getStoreConfig('slideshow/settings/navigationType');
22
+ $navigationArrows = Mage::getStoreConfig('slideshow/settings/navigationArrows');
23
+
24
+ $navigationStyle = Mage::getStoreConfig('slideshow/settings/navigationStyle');
25
+ $touchenabled = Mage::getStoreConfig('slideshow/settings/touchenabled');
26
+ $onHoverStop = Mage::getStoreConfig('slideshow/settings/onHoverStop');
27
+ $navOffsetHorizontal = Mage::getStoreConfig('slideshow/settings/navOffsetHorizontal');
28
+ $navOffsetVertical = Mage::getStoreConfig('slideshow/settings/navOffsetVertical');
29
+ $shadow = Mage::getStoreConfig('slideshow/settings/shadow');
30
+ if($this->getData('fullWidth')){
31
+ $fullWidth = $this->getData('fullWidth');
32
+ } else {
33
+ $fullWidth = Mage::getStoreConfig('slideshow/settings/fullWidth');
34
+ }
35
+
36
+ ?>
37
+ <?php
38
+ if($enabled) :
39
+ if(count($this->getRevolution())) :
40
+ ?>
41
+ <link rel='stylesheet' id='netbase-css' href="<?php echo $this->getSkinUrl('css/cmsmart/slideshow/revolution/style.css');?>" type='text/css' media='all'>
42
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('cmsmart/slideshow/revolution/rs-plugin/js/jquery.1.7.js'); ?>"></script>
43
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('cmsmart/slideshow/revolution/rs-plugin/js/jquery.themepunch.plugins.min.js'); ?>"></script>
44
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('cmsmart/slideshow/revolution/rs-plugin/js/jquery.themepunch.revolution.min.js'); ?>"></script>
45
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('cmsmart/slideshow/revolution/rs-plugin/js/jquery-ui-1.8.21.custom.min.js'); ?>"></script>
46
+ <?php if($this->getData('fullWidth') == 'off') {?>
47
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('cmsmart/slideshow/revolution/previewjs/preview-normal.js'); ?>"></script>
48
+ <?php } else { ?>
49
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('cmsmart/slideshow/revolution/previewjs/preview-fullwidth.js'); ?>"></script>
50
+ <?php }?>
51
+ <link rel='stylesheet' id='netbase-css' href="<?php echo $this->getJsUrl('cmsmart/slideshow/revolution/rs-plugin/css/settings.css');?>" type='text/css' media='all'>
52
+ <link href='http://fonts.googleapis.com/css?family=Share' rel='stylesheet' type='text/css' />
53
+ <div class="fullwidthbanner responsive">
54
+ <div class="netbase-revolutioncontent<?php echo $fullWidth?> <?php if($fullWidth == 'on') {?>fullwidthbanner <?php } else {?> banner <?php } ?>">
55
+ <?php foreach ($this->getRevolution() as $bid): ?>
56
+ <?php if (!empty($bid)): ?>
57
+ <?php echo $bid['post_content']; ?>
58
+ <?php endif; ?>
59
+ <?php endforeach; ?>
60
+ <div class="tp-bannertimer"></div>
61
+ </div>
62
+ </div>
63
+ <script type="text/javascript">
64
+
65
+ var revolutioncontent=NetBase.noConflict();
66
+
67
+ revolutioncontent(document).ready(function() {
68
+
69
+ if (revolutioncontent.fn.cssOriginal!=undefined)
70
+ revolutioncontent.fn.css = revolutioncontent.fn.cssOriginal;
71
+
72
+ revolutioncontent('.netbase-revolutioncontent<?php echo $fullWidth?>').revolution(
73
+ {
74
+ delay:<?php echo $delay;?>,
75
+ startheight:<?php echo $startheight; ?>,
76
+ startwidth:<?php echo $startwidth; ?>,
77
+ hideThumbs:200,
78
+ thumbWidth:100,
79
+ thumbHeight:50,
80
+ thumbAmount:3,
81
+ navigationType:'<?php echo $navigationType; ?>', //bullet, thumb, none, both (No Thumbs In FullWidth Version !)
82
+ navigationArrows:'<?php echo $navigationArrows; ?>', //nexttobullets, verticalcentered, none
83
+ navigationStyle:'<?php echo $navigationStyle; ?>', //round,square,navbar
84
+
85
+ touchenabled:'<?php echo $touchenabled; ?>', // Enable Swipe Function : on/off
86
+ onHoverStop:'<?php echo $onHoverStop; ?>', // Stop Banner Timet at Hover on Slide on/off
87
+
88
+ navOffsetHorizontal:0,
89
+ navOffsetVertical:20,
90
+
91
+ shadow:<?php echo $shadow; ?>, //0 = no Shadow, 1,2,3 = 3 Different Art of Shadows (No Shadow in Fullwidth Version !)
92
+ fullWidth:'<?php echo $fullWidth;?>'
93
+ });
94
+
95
+ });
96
+
97
+ </script>
98
+ <?php endif; ?>
99
+ <?php endif; ?>
app/design/frontend/base/default/template/cmsmart/slideshow/slideshow_sequence_master.phtml ADDED
@@ -0,0 +1,77 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Name Extension: Slideshow Homepage
4
+ * Version: 1.0.0
5
+ * Author: The Cmsmart Development Team
6
+ * Date Created: 16/09/2013
7
+ * Websites: http://cmsmart.net
8
+ * Technical Support: Forum - http://cmsmart.net/support
9
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
10
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
11
+ */
12
+ $enabled = Mage::getStoreConfig('slideshow/settings/enabled');
13
+ $autosequence = Mage::getStoreConfig('slideshow/settings/autosequence');
14
+ $navigationsequence = Mage::getStoreConfig('slideshow/settings/navigationsequence');
15
+ $preloader = Mage::getStoreConfig('slideshow/settings/preloader');
16
+ $navigationSkip = Mage::getStoreConfig('slideshow/settings/navigationSkip');
17
+ $maxwidth_images_sequence = Mage::getStoreConfig('slideshow/settings/maxwidth_images_sequence');
18
+ $maxheight_images_sequence = Mage::getStoreConfig('slideshow/settings/maxheight_images_sequence');
19
+ $background = Mage::getStoreConfig('slideshow/settings/background');
20
+
21
+ $slideshow = $this->getSequencemasteCollection();
22
+ ?>
23
+ <style>
24
+ #sequence .sequence-canvas img.images_sequence{
25
+ max-height: <?php echo $maxwidth_images_sequence;?>px;
26
+ max-width: <?php echo $maxheight_images_sequence;?>px;
27
+ }
28
+ </style>
29
+
30
+ <?php
31
+ if($enabled):
32
+ ?>
33
+ <link rel='stylesheet' id='sequence_master' href="<?php echo $this->getSkinUrl('css/cmsmart/slideshow/sequence_master/sequencejs-theme.sliding-horizontal-parallax.css');?>" type='text/css' media='all'>
34
+ <link href="http://fonts.googleapis.com/css?family=Play:400,700" rel="stylesheet" type="text/css">
35
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('cmsmart/slideshow/jQuery.min.1.10.js') ?>"></script>
36
+ <script>
37
+
38
+ if (typeof NetBase == 'undefined'){
39
+ document.write(unescape('%3Cscript src="../../scripts/jquery-min.js" %3E%3C/script%3E'));
40
+ }
41
+ </script>
42
+ <script type="text/javascript" src="<?php echo $this->getJsUrl('cmsmart/slideshow/sequence_master/jquery.sequence.js') ?>"></script>
43
+ <script type="text/javascript">
44
+ var master=NetBase.noConflict();
45
+ master(document).ready(function(){
46
+ var options = {
47
+ autoPlay: <?php echo $autosequence; ?>,
48
+ nextButton: <?php echo $navigationsequence; ?>,
49
+ prevButton: <?php echo $navigationsequence; ?>,
50
+ navigationSkip:<?php echo $navigationSkip; ?>
51
+ };
52
+
53
+ var sequence = master("#sequence").sequence(options).data("sequence");
54
+
55
+ sequence.afterLoaded = function(){
56
+ master(".sequence-prev, .sequence-next").fadeIn(500);
57
+ }
58
+ });
59
+ </script>
60
+ <div id="sequence" style="background: url(<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).'cmsmart/slideshow/'.$background;?>); ">
61
+ <img class="sequence-prev" src="<?php echo $this->getSkinUrl('css/cmsmart/slideshow/images/sequencemaste/bt-prev.png') ?>" alt="Previous" />
62
+ <img class="sequence-next" src="<?php echo $this->getSkinUrl('css/cmsmart/slideshow/images/sequencemaste/bt-next.png') ?>" alt="Next" />
63
+ <ul class="sequence-canvas">
64
+ <?php foreach ($slideshow as $data) {?>
65
+ <li>
66
+ <div class="info">
67
+ <h2><?php echo $data['title']?></h2>
68
+ <?php $filter = new Mage_Widget_Model_Template_Filter();?>
69
+ <p><?php echo $filter->filter($data['post_content'])?></p>
70
+ </div>
71
+ <img class="sky" src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).$data['imagesky']?>" alt="<?php echo $data['title']?>" />
72
+ <img class="images_sequence <?php echo $data['class_images_sequence']?>" src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).$data['image']?>" alt="<?php echo $data['title']?>" />
73
+ </li>
74
+ <?php }?>
75
+ </ul>
76
+ </div>
77
+ <?php endif;?>
app/etc/modules/Cmsmart_Slideshow.xml ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Name Extension: Slideshow Homepage
5
+ * Version: 1.0.0
6
+ * Author: The Cmsmart Development Team
7
+ * Date Created: 16/09/2013
8
+ * Websites: http://cmsmart.net
9
+ * Technical Support: Forum - http://cmsmart.net/support
10
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
11
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
12
+ */
13
+ -->
14
+ <config>
15
+ <modules>
16
+ <Cmsmart_Slideshow>
17
+ <active>true</active>
18
+ <codePool>local</codePool>
19
+ </Cmsmart_Slideshow>
20
+ </modules>
21
+ </config>
js/cmsmart/slideshow/camera/Thumbs.db ADDED
Binary file
js/cmsmart/slideshow/camera/blank.gif ADDED
Binary file
js/cmsmart/slideshow/camera/camera-loader.gif ADDED
Binary file
js/cmsmart/slideshow/camera/camera.css ADDED
@@ -0,0 +1,1072 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Name Extension: Slideshow Homepage
3
+ * Version: 1.0.0
4
+ * Author: The Cmsmart Development Team
5
+ * Date Created: 16/09/2013
6
+ * Websites: http://cmsmart.net
7
+ * Technical Support: Forum - http://cmsmart.net/support
8
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
9
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
10
+ */
11
+ .camera_wrap a, .camera_wrap img,
12
+ .camera_wrap ol, .camera_wrap ul, .camera_wrap li,
13
+ .camera_wrap table, .camera_wrap tbody, .camera_wrap tfoot, .camera_wrap thead, .camera_wrap tr, .camera_wrap th, .camera_wrap td
14
+ .camera_thumbs_wrap a, .camera_thumbs_wrap img,
15
+ .camera_thumbs_wrap ol, .camera_thumbs_wrap ul, .camera_thumbs_wrap li,
16
+ .camera_thumbs_wrap table, .camera_thumbs_wrap tbody, .camera_thumbs_wrap tfoot, .camera_thumbs_wrap thead, .camera_thumbs_wrap tr, .camera_thumbs_wrap th, .camera_thumbs_wrap td {
17
+ background: none;
18
+ border: 0;
19
+ font: inherit;
20
+ font-size: 100%;
21
+ margin: 0;
22
+ padding: 0;
23
+ vertical-align: baseline;
24
+ list-style: none
25
+ }
26
+ .camera_wrap {
27
+ display: none;
28
+ float: left;
29
+ position: relative;
30
+ z-index: 0;
31
+ }
32
+ .camera_wrap img {
33
+ max-width: none!important;
34
+ }
35
+ .camera_fakehover {
36
+ height: 100%;
37
+ min-height: 60px;
38
+ position: relative;
39
+ width: 100%;
40
+ z-index: 1;
41
+ }
42
+ .camera_wrap {
43
+ width: 100%;
44
+ }
45
+ .camera_src {
46
+ display: none;
47
+ }
48
+ .cameraCont, .cameraContents {
49
+ height: 100%;
50
+ position: relative;
51
+ width: 100%;
52
+ z-index: 1;
53
+ }
54
+ .cameraSlide {
55
+ bottom: 0;
56
+ left: 0;
57
+ position: absolute;
58
+ right: 0;
59
+ top: 0;
60
+ width: 100%;
61
+ }
62
+ .cameraContent {
63
+ bottom: 0;
64
+ display: none;
65
+ left: 0;
66
+ position: absolute;
67
+ right: 0;
68
+ top: 0;
69
+ width: 100%;
70
+ }
71
+ .camera_target {
72
+ bottom: 0;
73
+ height: 100%;
74
+ left: 0;
75
+ overflow: hidden;
76
+ position: absolute;
77
+ right: 0;
78
+ text-align: left;
79
+ top: 0;
80
+ width: 100%;
81
+ z-index: 0;
82
+ }
83
+ .camera_overlayer {
84
+ bottom: 0;
85
+ height: 100%;
86
+ left: 0;
87
+ overflow: hidden;
88
+ position: absolute;
89
+ right: 0;
90
+ top: 0;
91
+ width: 100%;
92
+ z-index: 0;
93
+ }
94
+ .camera_target_content {
95
+ bottom: 0;
96
+ left: 0;
97
+ overflow: hidden;
98
+ position: absolute;
99
+ right: 0;
100
+ top: 0;
101
+ z-index: 2;
102
+ }
103
+ .camera_target_content .camera_link {
104
+ background: url(blank.gif);
105
+ display: block;
106
+ height: 100%;
107
+ text-decoration: none;
108
+ }
109
+ .camera_loader {
110
+ background: #fff url(camera-loader.gif) no-repeat center;
111
+ background: rgba(255, 255, 255, 0.9) url(camera-loader.gif) no-repeat center;
112
+ border: 1px solid #ffffff;
113
+ -webkit-border-radius: 18px;
114
+ -moz-border-radius: 18px;
115
+ border-radius: 18px;
116
+ height: 36px;
117
+ left: 50%;
118
+ overflow: hidden;
119
+ position: absolute;
120
+ margin: -18px 0 0 -18px;
121
+ top: 50%;
122
+ width: 36px;
123
+ z-index: 3;
124
+ }
125
+ .camera_bar {
126
+ bottom: 0;
127
+ left: 0;
128
+ overflow: hidden;
129
+ position: absolute;
130
+ right: 0;
131
+ top: 0;
132
+ z-index: 3;
133
+ }
134
+ .camera_thumbs_wrap.camera_left .camera_bar, .camera_thumbs_wrap.camera_right .camera_bar {
135
+ height: 100%;
136
+ position: absolute;
137
+ width: auto;
138
+ }
139
+ .camera_thumbs_wrap.camera_bottom .camera_bar, .camera_thumbs_wrap.camera_top .camera_bar {
140
+ height: auto;
141
+ position: absolute;
142
+ width: 100%;
143
+ }
144
+ .camera_nav_cont {
145
+ height: 65px;
146
+ overflow: hidden;
147
+ position: absolute;
148
+ right: 9px;
149
+ top: 15px;
150
+ width: 120px;
151
+ z-index: 4;
152
+ }
153
+ .camera_caption {
154
+ bottom: 0;
155
+ display: block;
156
+ position: absolute;
157
+ width: 100%;
158
+ }
159
+ .camera_caption > div {
160
+ padding: 10px 20px;
161
+ }
162
+ .camerarelative {
163
+ overflow: hidden;
164
+ position: relative;
165
+ }
166
+ .imgFake {
167
+ cursor: pointer;
168
+ }
169
+ .camera_prevThumbs {
170
+ bottom: 4px;
171
+ cursor: pointer;
172
+ left: 0;
173
+ position: absolute;
174
+ top: 4px;
175
+ visibility: hidden;
176
+ width: 30px;
177
+ z-index: 10;
178
+ }
179
+ .camera_prevThumbs div {
180
+ background: url(camera_skins.png) no-repeat -160px 0;
181
+ display: block;
182
+ height: 40px;
183
+ margin-top: -20px;
184
+ position: absolute;
185
+ top: 50%;
186
+ width: 30px;
187
+ }
188
+ .camera_nextThumbs {
189
+ bottom: 4px;
190
+ cursor: pointer;
191
+ position: absolute;
192
+ right: 0;
193
+ top: 4px;
194
+ visibility: hidden;
195
+ width: 30px;
196
+ z-index: 10;
197
+ }
198
+ .camera_nextThumbs div {
199
+ background: url(camera_skins.png) no-repeat -190px 0;
200
+ display: block;
201
+ height: 40px;
202
+ margin-top: -20px;
203
+ position: absolute;
204
+ top: 50%;
205
+ width: 30px;
206
+ }
207
+ .camera_command_wrap .hideNav {
208
+ display: none;
209
+ }
210
+ .camera_command_wrap {
211
+ left: 0;
212
+ position: relative;
213
+ right:0;
214
+ z-index: 4;
215
+ }
216
+ .camera_wrap .camera_pag .camera_pag_ul {
217
+ list-style: none;
218
+ margin: 0;
219
+ padding: 0;
220
+ text-align: right;
221
+ }
222
+ .camera_wrap .camera_pag .camera_pag_ul li {
223
+ -webkit-border-radius: 8px;
224
+ -moz-border-radius: 8px;
225
+ border-radius: 8px;
226
+ cursor: pointer;
227
+ display: inline-block;
228
+ height: 16px;
229
+ margin: 20px 5px;
230
+ position: relative;
231
+ text-align: left;
232
+ text-indent: -9999px;
233
+ width: 16px;
234
+ }
235
+ .camera_commands_emboss .camera_pag .camera_pag_ul li {
236
+ -moz-box-shadow:
237
+ 0px 1px 0px rgba(255,255,255,1),
238
+ inset 0px 1px 1px rgba(0,0,0,0.2);
239
+ -webkit-box-shadow:
240
+ 0px 1px 0px rgba(255,255,255,1),
241
+ inset 0px 1px 1px rgba(0,0,0,0.2);
242
+ box-shadow:
243
+ 0px 1px 0px rgba(255,255,255,1),
244
+ inset 0px 1px 1px rgba(0,0,0,0.2);
245
+ }
246
+ .camera_wrap .camera_pag .camera_pag_ul li > span {
247
+ -webkit-border-radius: 5px;
248
+ -moz-border-radius: 5px;
249
+ border-radius: 5px;
250
+ height: 8px;
251
+ left: 4px;
252
+ overflow: hidden;
253
+ position: absolute;
254
+ top: 4px;
255
+ width: 8px;
256
+ }
257
+ .camera_commands_emboss .camera_pag .camera_pag_ul li:hover > span {
258
+ -moz-box-shadow:
259
+ 0px 1px 0px rgba(255,255,255,1),
260
+ inset 0px 1px 1px rgba(0,0,0,0.2);
261
+ -webkit-box-shadow:
262
+ 0px 1px 0px rgba(255,255,255,1),
263
+ inset 0px 1px 1px rgba(0,0,0,0.2);
264
+ box-shadow:
265
+ 0px 1px 0px rgba(255,255,255,1),
266
+ inset 0px 1px 1px rgba(0,0,0,0.2);
267
+ }
268
+ .camera_wrap .camera_pag .camera_pag_ul li.cameracurrent > span {
269
+ -moz-box-shadow: 0;
270
+ -webkit-box-shadow: 0;
271
+ box-shadow: 0;
272
+ }
273
+ .camera_pag_ul li img {
274
+ display: none;
275
+ position: absolute;
276
+ }
277
+ .camera_pag_ul .thumb_arrow {
278
+ border-left: 4px solid transparent;
279
+ border-right: 4px solid transparent;
280
+ border-top: 4px solid;
281
+ top: 0;
282
+ left: 50%;
283
+ margin-left: -4px;
284
+ position: absolute;
285
+ }
286
+ .camera_prev, .camera_next, .camera_commands {
287
+ cursor: pointer;
288
+ height: 40px;
289
+ margin-top: -20px;
290
+ position: absolute;
291
+ top: 50%;
292
+ width: 40px;
293
+ z-index: 2;
294
+ }
295
+ .camera_prev {
296
+ left: 0;
297
+ }
298
+ .camera_prev > span {
299
+ background: url(camera_skins.png) no-repeat 0 0;
300
+ display: block;
301
+ height: 40px;
302
+ width: 40px;
303
+ }
304
+ .camera_next {
305
+ right: 0;
306
+ }
307
+ .camera_next > span {
308
+ background: url(camera_skins.png) no-repeat -40px 0;
309
+ display: block;
310
+ height: 40px;
311
+ width: 40px;
312
+ }
313
+ .camera_commands {
314
+ right: 41px;
315
+ }
316
+ .camera_commands > .camera_play {
317
+ background: url(camera_skins.png) no-repeat -80px 0;
318
+ height: 40px;
319
+ width: 40px;
320
+ }
321
+ .camera_commands > .camera_stop {
322
+ background: url(camera_skins.png) no-repeat -120px 0;
323
+ display: block;
324
+ height: 40px;
325
+ width: 40px;
326
+ }
327
+ .camera_wrap .camera_pag .camera_pag_ul li {
328
+ -webkit-border-radius: 8px;
329
+ -moz-border-radius: 8px;
330
+ border-radius: 8px;
331
+ cursor: pointer;
332
+ display: inline-block;
333
+ height: 16px;
334
+ margin: 20px 5px;
335
+ position: relative;
336
+ text-indent: -9999px;
337
+ width: 16px;
338
+ }
339
+ .camera_thumbs_cont {
340
+ -webkit-border-bottom-right-radius: 4px;
341
+ -webkit-border-bottom-left-radius: 4px;
342
+ -moz-border-radius-bottomright: 4px;
343
+ -moz-border-radius-bottomleft: 4px;
344
+ border-bottom-right-radius: 4px;
345
+ border-bottom-left-radius: 4px;
346
+ overflow: hidden;
347
+ position: relative;
348
+ width: 100%;
349
+ }
350
+ .camera_commands_emboss .camera_thumbs_cont {
351
+ -moz-box-shadow:
352
+ 0px 1px 0px rgba(255,255,255,1),
353
+ inset 0px 1px 1px rgba(0,0,0,0.2);
354
+ -webkit-box-shadow:
355
+ 0px 1px 0px rgba(255,255,255,1),
356
+ inset 0px 1px 1px rgba(0,0,0,0.2);
357
+ box-shadow:
358
+ 0px 1px 0px rgba(255,255,255,1),
359
+ inset 0px 1px 1px rgba(0,0,0,0.2);
360
+ }
361
+ .camera_thumbs_cont > div {
362
+ float: left;
363
+ width: 100%;
364
+ }
365
+ .camera_thumbs_cont ul {
366
+ overflow: hidden;
367
+ padding: 3px 4px 8px;
368
+ position: relative;
369
+ text-align: center;
370
+ }
371
+ .camera_thumbs_cont ul li {
372
+ display: inline;
373
+ padding: 0 4px;
374
+ }
375
+ .camera_thumbs_cont ul li > img {
376
+ border: 1px solid;
377
+ cursor: pointer;
378
+ margin-top: 5px;
379
+ vertical-align:bottom;
380
+ }
381
+ .camera_clear {
382
+ display: block;
383
+ clear: both;
384
+ }
385
+ .showIt {
386
+ display: none;
387
+ }
388
+ .camera_clear {
389
+ clear: both;
390
+ display: block;
391
+ height: 1px;
392
+ margin: -1px 0 25px;
393
+ position: relative;
394
+ }
395
+ /**************************
396
+ *
397
+ * COLORS & SKINS
398
+ *
399
+ **************************/
400
+ .pattern_1 .camera_overlayer {
401
+ background: url(patterns/overlay1.png) repeat;
402
+ }
403
+ .pattern_2 .camera_overlayer {
404
+ background: url(patterns/overlay2.png) repeat;
405
+ }
406
+ .pattern_3 .camera_overlayer {
407
+ background: url(patterns/overlay3.png) repeat;
408
+ }
409
+ .pattern_4 .camera_overlayer {
410
+ background: url(patterns/overlay4.png) repeat;
411
+ }
412
+ .pattern_5 .camera_overlayer {
413
+ background: url(patterns/overlay5.png) repeat;
414
+ }
415
+ .pattern_6 .camera_overlayer {
416
+ background: url(patterns/overlay6.png) repeat;
417
+ }
418
+ .pattern_7 .camera_overlayer {
419
+ background: url(patterns/overlay7.png) repeat;
420
+ }
421
+ .pattern_8 .camera_overlayer {
422
+ background: url(patterns/overlay8.png) repeat;
423
+ }
424
+ .pattern_9 .camera_overlayer {
425
+ background: url(patterns/overlay9.png) repeat;
426
+ }
427
+ .pattern_10 .camera_overlayer {
428
+ background: url(patterns/overlay10.png) repeat;
429
+ }
430
+ .camera_caption {
431
+ color: #fff;
432
+ }
433
+ .camera_caption > div {
434
+ background: #000;
435
+ background: rgba(0, 0, 0, 0.8);
436
+ }
437
+ .camera_wrap .camera_pag .camera_pag_ul li {
438
+ background: #b7b7b7;
439
+ }
440
+ .camera_wrap .camera_pag .camera_pag_ul li:hover > span {
441
+ background: #b7b7b7;
442
+ }
443
+ .camera_wrap .camera_pag .camera_pag_ul li.cameracurrent > span {
444
+ background: #434648;
445
+ }
446
+ .camera_pag_ul li img {
447
+ border: 4px solid #e6e6e6;
448
+ -moz-box-shadow: 0px 3px 6px rgba(0,0,0,.5);
449
+ -webkit-box-shadow: 0px 3px 6px rgba(0,0,0,.5);
450
+ box-shadow: 0px 3px 6px rgba(0,0,0,.5);
451
+ }
452
+ .camera_pag_ul .thumb_arrow {
453
+ border-top-color: #e6e6e6;
454
+ }
455
+ .camera_prevThumbs, .camera_nextThumbs, .camera_prev, .camera_next, .camera_commands, .camera_thumbs_cont {
456
+ background: #d8d8d8;
457
+ background: rgba(216, 216, 216, 0.85);
458
+ }
459
+ .camera_wrap .camera_pag .camera_pag_ul li {
460
+ background: #b7b7b7;
461
+ }
462
+ .camera_thumbs_cont ul li > img {
463
+ border-color: 1px solid #000;
464
+ }
465
+ /*AMBER SKIN*/
466
+ .camera_amber_skin .camera_prevThumbs div {
467
+ background-position: -160px -160px;
468
+ }
469
+ .camera_amber_skin .camera_nextThumbs div {
470
+ background-position: -190px -160px;
471
+ }
472
+ .camera_amber_skin .camera_prev > span {
473
+ background-position: 0 -160px;
474
+ }
475
+ .camera_amber_skin .camera_next > span {
476
+ background-position: -40px -160px;
477
+ }
478
+ .camera_amber_skin .camera_commands > .camera_play {
479
+ background-position: -80px -160px;
480
+ }
481
+ .camera_amber_skin .camera_commands > .camera_stop {
482
+ background-position: -120px -160px;
483
+ }
484
+ /*ASH SKIN*/
485
+ .camera_ash_skin .camera_prevThumbs div {
486
+ background-position: -160px -200px;
487
+ }
488
+ .camera_ash_skin .camera_nextThumbs div {
489
+ background-position: -190px -200px;
490
+ }
491
+ .camera_ash_skin .camera_prev > span {
492
+ background-position: 0 -200px;
493
+ }
494
+ .camera_ash_skin .camera_next > span {
495
+ background-position: -40px -200px;
496
+ }
497
+ .camera_ash_skin .camera_commands > .camera_play {
498
+ background-position: -80px -200px;
499
+ }
500
+ .camera_ash_skin .camera_commands > .camera_stop {
501
+ background-position: -120px -200px;
502
+ }
503
+ /*AZURE SKIN*/
504
+ .camera_azure_skin .camera_prevThumbs div {
505
+ background-position: -160px -240px;
506
+ }
507
+ .camera_azure_skin .camera_nextThumbs div {
508
+ background-position: -190px -240px;
509
+ }
510
+ .camera_azure_skin .camera_prev > span {
511
+ background-position: 0 -240px;
512
+ }
513
+ .camera_azure_skin .camera_next > span {
514
+ background-position: -40px -240px;
515
+ }
516
+ .camera_azure_skin .camera_commands > .camera_play {
517
+ background-position: -80px -240px;
518
+ }
519
+ .camera_azure_skin .camera_commands > .camera_stop {
520
+ background-position: -120px -240px;
521
+ }
522
+ /*BEIGE SKIN*/
523
+ .camera_beige_skin .camera_prevThumbs div {
524
+ background-position: -160px -120px;
525
+ }
526
+ .camera_beige_skin .camera_nextThumbs div {
527
+ background-position: -190px -120px;
528
+ }
529
+ .camera_beige_skin .camera_prev > span {
530
+ background-position: 0 -120px;
531
+ }
532
+ .camera_beige_skin .camera_next > span {
533
+ background-position: -40px -120px;
534
+ }
535
+ .camera_beige_skin .camera_commands > .camera_play {
536
+ background-position: -80px -120px;
537
+ }
538
+ .camera_beige_skin .camera_commands > .camera_stop {
539
+ background-position: -120px -120px;
540
+ }
541
+ /*BLACK SKIN*/
542
+ .camera_black_skin .camera_prevThumbs div {
543
+ background-position: -160px -40px;
544
+ }
545
+ .camera_black_skin .camera_nextThumbs div {
546
+ background-position: -190px -40px;
547
+ }
548
+ .camera_black_skin .camera_prev > span {
549
+ background-position: 0 -40px;
550
+ }
551
+ .camera_black_skin .camera_next > span {
552
+ background-position: -40px -40px;
553
+ }
554
+ .camera_black_skin .camera_commands > .camera_play {
555
+ background-position: -80px -40px;
556
+ }
557
+ .camera_black_skin .camera_commands > .camera_stop {
558
+ background-position: -120px -40px;
559
+ }
560
+ /*BLUE SKIN*/
561
+ .camera_blue_skin .camera_prevThumbs div {
562
+ background-position: -160px -280px;
563
+ }
564
+ .camera_blue_skin .camera_nextThumbs div {
565
+ background-position: -190px -280px;
566
+ }
567
+ .camera_blue_skin .camera_prev > span {
568
+ background-position: 0 -280px;
569
+ }
570
+ .camera_blue_skin .camera_next > span {
571
+ background-position: -40px -280px;
572
+ }
573
+ .camera_blue_skin .camera_commands > .camera_play {
574
+ background-position: -80px -280px;
575
+ }
576
+ .camera_blue_skin .camera_commands > .camera_stop {
577
+ background-position: -120px -280px;
578
+ }
579
+ /*BROWN SKIN*/
580
+ .camera_brown_skin .camera_prevThumbs div {
581
+ background-position: -160px -320px;
582
+ }
583
+ .camera_brown_skin .camera_nextThumbs div {
584
+ background-position: -190px -320px;
585
+ }
586
+ .camera_brown_skin .camera_prev > span {
587
+ background-position: 0 -320px;
588
+ }
589
+ .camera_brown_skin .camera_next > span {
590
+ background-position: -40px -320px;
591
+ }
592
+ .camera_brown_skin .camera_commands > .camera_play {
593
+ background-position: -80px -320px;
594
+ }
595
+ .camera_brown_skin .camera_commands > .camera_stop {
596
+ background-position: -120px -320px;
597
+ }
598
+ /*BURGUNDY SKIN*/
599
+ .camera_burgundy_skin .camera_prevThumbs div {
600
+ background-position: -160px -360px;
601
+ }
602
+ .camera_burgundy_skin .camera_nextThumbs div {
603
+ background-position: -190px -360px;
604
+ }
605
+ .camera_burgundy_skin .camera_prev > span {
606
+ background-position: 0 -360px;
607
+ }
608
+ .camera_burgundy_skin .camera_next > span {
609
+ background-position: -40px -360px;
610
+ }
611
+ .camera_burgundy_skin .camera_commands > .camera_play {
612
+ background-position: -80px -360px;
613
+ }
614
+ .camera_burgundy_skin .camera_commands > .camera_stop {
615
+ background-position: -120px -360px;
616
+ }
617
+ /*CHARCOAL SKIN*/
618
+ .camera_charcoal_skin .camera_prevThumbs div {
619
+ background-position: -160px -400px;
620
+ }
621
+ .camera_charcoal_skin .camera_nextThumbs div {
622
+ background-position: -190px -400px;
623
+ }
624
+ .camera_charcoal_skin .camera_prev > span {
625
+ background-position: 0 -400px;
626
+ }
627
+ .camera_charcoal_skin .camera_next > span {
628
+ background-position: -40px -400px;
629
+ }
630
+ .camera_charcoal_skin .camera_commands > .camera_play {
631
+ background-position: -80px -400px;
632
+ }
633
+ .camera_charcoal_skin .camera_commands > .camera_stop {
634
+ background-position: -120px -400px;
635
+ }
636
+ /*CHOCOLATE SKIN*/
637
+ .camera_chocolate_skin .camera_prevThumbs div {
638
+ background-position: -160px -440px;
639
+ }
640
+ .camera_chocolate_skin .camera_nextThumbs div {
641
+ background-position: -190px -440px;
642
+ }
643
+ .camera_chocolate_skin .camera_prev > span {
644
+ background-position: 0 -440px;
645
+ }
646
+ .camera_chocolate_skin .camera_next > span {
647
+ background-position: -40px -440px;
648
+ }
649
+ .camera_chocolate_skin .camera_commands > .camera_play {
650
+ background-position: -80px -440px;
651
+ }
652
+ .camera_chocolate_skin .camera_commands > .camera_stop {
653
+ background-position: -120px -440px ;
654
+ }
655
+ /*COFFEE SKIN*/
656
+ .camera_coffee_skin .camera_prevThumbs div {
657
+ background-position: -160px -480px;
658
+ }
659
+ .camera_coffee_skin .camera_nextThumbs div {
660
+ background-position: -190px -480px;
661
+ }
662
+ .camera_coffee_skin .camera_prev > span {
663
+ background-position: 0 -480px;
664
+ }
665
+ .camera_coffee_skin .camera_next > span {
666
+ background-position: -40px -480px;
667
+ }
668
+ .camera_coffee_skin .camera_commands > .camera_play {
669
+ background-position: -80px -480px;
670
+ }
671
+ .camera_coffee_skin .camera_commands > .camera_stop {
672
+ background-position: -120px -480px ;
673
+ }
674
+ /*CYAN SKIN*/
675
+ .camera_cyan_skin .camera_prevThumbs div {
676
+ background-position: -160px -520px;
677
+ }
678
+ .camera_cyan_skin .camera_nextThumbs div {
679
+ background-position: -190px -520px;
680
+ }
681
+ .camera_cyan_skin .camera_prev > span {
682
+ background-position: 0 -520px;
683
+ }
684
+ .camera_cyan_skin .camera_next > span {
685
+ background-position: -40px -520px;
686
+ }
687
+ .camera_cyan_skin .camera_commands > .camera_play {
688
+ background-position: -80px -520px;
689
+ }
690
+ .camera_cyan_skin .camera_commands > .camera_stop {
691
+ background-position: -120px -520px ;
692
+ }
693
+ /*FUCHSIA SKIN*/
694
+ .camera_fuchsia_skin .camera_prevThumbs div {
695
+ background-position: -160px -560px;
696
+ }
697
+ .camera_fuchsia_skin .camera_nextThumbs div {
698
+ background-position: -190px -560px;
699
+ }
700
+ .camera_fuchsia_skin .camera_prev > span {
701
+ background-position: 0 -560px;
702
+ }
703
+ .camera_fuchsia_skin .camera_next > span {
704
+ background-position: -40px -560px;
705
+ }
706
+ .camera_fuchsia_skin .camera_commands > .camera_play {
707
+ background-position: -80px -560px;
708
+ }
709
+ .camera_fuchsia_skin .camera_commands > .camera_stop {
710
+ background-position: -120px -560px ;
711
+ }
712
+ /*GOLD SKIN*/
713
+ .camera_gold_skin .camera_prevThumbs div {
714
+ background-position: -160px -600px;
715
+ }
716
+ .camera_gold_skin .camera_nextThumbs div {
717
+ background-position: -190px -600px;
718
+ }
719
+ .camera_gold_skin .camera_prev > span {
720
+ background-position: 0 -600px;
721
+ }
722
+ .camera_gold_skin .camera_next > span {
723
+ background-position: -40px -600px;
724
+ }
725
+ .camera_gold_skin .camera_commands > .camera_play {
726
+ background-position: -80px -600px;
727
+ }
728
+ .camera_gold_skin .camera_commands > .camera_stop {
729
+ background-position: -120px -600px ;
730
+ }
731
+ /*GREEN SKIN*/
732
+ .camera_green_skin .camera_prevThumbs div {
733
+ background-position: -160px -640px;
734
+ }
735
+ .camera_green_skin .camera_nextThumbs div {
736
+ background-position: -190px -640px;
737
+ }
738
+ .camera_green_skin .camera_prev > span {
739
+ background-position: 0 -640px;
740
+ }
741
+ .camera_green_skin .camera_next > span {
742
+ background-position: -40px -640px;
743
+ }
744
+ .camera_green_skin .camera_commands > .camera_play {
745
+ background-position: -80px -640px;
746
+ }
747
+ .camera_green_skin .camera_commands > .camera_stop {
748
+ background-position: -120px -640px ;
749
+ }
750
+ /*GREY SKIN*/
751
+ .camera_grey_skin .camera_prevThumbs div {
752
+ background-position: -160px -680px;
753
+ }
754
+ .camera_grey_skin .camera_nextThumbs div {
755
+ background-position: -190px -680px;
756
+ }
757
+ .camera_grey_skin .camera_prev > span {
758
+ background-position: 0 -680px;
759
+ }
760
+ .camera_grey_skin .camera_next > span {
761
+ background-position: -40px -680px;
762
+ }
763
+ .camera_grey_skin .camera_commands > .camera_play {
764
+ background-position: -80px -680px;
765
+ }
766
+ .camera_grey_skin .camera_commands > .camera_stop {
767
+ background-position: -120px -680px ;
768
+ }
769
+ /*INDIGO SKIN*/
770
+ .camera_indigo_skin .camera_prevThumbs div {
771
+ background-position: -160px -720px;
772
+ }
773
+ .camera_indigo_skin .camera_nextThumbs div {
774
+ background-position: -190px -720px;
775
+ }
776
+ .camera_indigo_skin .camera_prev > span {
777
+ background-position: 0 -720px;
778
+ }
779
+ .camera_indigo_skin .camera_next > span {
780
+ background-position: -40px -720px;
781
+ }
782
+ .camera_indigo_skin .camera_commands > .camera_play {
783
+ background-position: -80px -720px;
784
+ }
785
+ .camera_indigo_skin .camera_commands > .camera_stop {
786
+ background-position: -120px -720px ;
787
+ }
788
+ /*KHAKI SKIN*/
789
+ .camera_khaki_skin .camera_prevThumbs div {
790
+ background-position: -160px -760px;
791
+ }
792
+ .camera_khaki_skin .camera_nextThumbs div {
793
+ background-position: -190px -760px;
794
+ }
795
+ .camera_khaki_skin .camera_prev > span {
796
+ background-position: 0 -760px;
797
+ }
798
+ .camera_khaki_skin .camera_next > span {
799
+ background-position: -40px -760px;
800
+ }
801
+ .camera_khaki_skin .camera_commands > .camera_play {
802
+ background-position: -80px -760px;
803
+ }
804
+ .camera_khaki_skin .camera_commands > .camera_stop {
805
+ background-position: -120px -760px ;
806
+ }
807
+ /*LIME SKIN*/
808
+ .camera_lime_skin .camera_prevThumbs div {
809
+ background-position: -160px -800px;
810
+ }
811
+ .camera_lime_skin .camera_nextThumbs div {
812
+ background-position: -190px -800px;
813
+ }
814
+ .camera_lime_skin .camera_prev > span {
815
+ background-position: 0 -800px;
816
+ }
817
+ .camera_lime_skin .camera_next > span {
818
+ background-position: -40px -800px;
819
+ }
820
+ .camera_lime_skin .camera_commands > .camera_play {
821
+ background-position: -80px -800px;
822
+ }
823
+ .camera_lime_skin .camera_commands > .camera_stop {
824
+ background-position: -120px -800px ;
825
+ }
826
+ /*MAGENTA SKIN*/
827
+ .camera_magenta_skin .camera_prevThumbs div {
828
+ background-position: -160px -840px;
829
+ }
830
+ .camera_magenta_skin .camera_nextThumbs div {
831
+ background-position: -190px -840px;
832
+ }
833
+ .camera_magenta_skin .camera_prev > span {
834
+ background-position: 0 -840px;
835
+ }
836
+ .camera_magenta_skin .camera_next > span {
837
+ background-position: -40px -840px;
838
+ }
839
+ .camera_magenta_skin .camera_commands > .camera_play {
840
+ background-position: -80px -840px;
841
+ }
842
+ .camera_magenta_skin .camera_commands > .camera_stop {
843
+ background-position: -120px -840px ;
844
+ }
845
+ /*MAROON SKIN*/
846
+ .camera_maroon_skin .camera_prevThumbs div {
847
+ background-position: -160px -880px;
848
+ }
849
+ .camera_maroon_skin .camera_nextThumbs div {
850
+ background-position: -190px -880px;
851
+ }
852
+ .camera_maroon_skin .camera_prev > span {
853
+ background-position: 0 -880px;
854
+ }
855
+ .camera_maroon_skin .camera_next > span {
856
+ background-position: -40px -880px;
857
+ }
858
+ .camera_maroon_skin .camera_commands > .camera_play {
859
+ background-position: -80px -880px;
860
+ }
861
+ .camera_maroon_skin .camera_commands > .camera_stop {
862
+ background-position: -120px -880px ;
863
+ }
864
+ /*ORANGE SKIN*/
865
+ .camera_orange_skin .camera_prevThumbs div {
866
+ background-position: -160px -920px;
867
+ }
868
+ .camera_orange_skin .camera_nextThumbs div {
869
+ background-position: -190px -920px;
870
+ }
871
+ .camera_orange_skin .camera_prev > span {
872
+ background-position: 0 -920px;
873
+ }
874
+ .camera_orange_skin .camera_next > span {
875
+ background-position: -40px -920px;
876
+ }
877
+ .camera_orange_skin .camera_commands > .camera_play {
878
+ background-position: -80px -920px;
879
+ }
880
+ .camera_orange_skin .camera_commands > .camera_stop {
881
+ background-position: -120px -920px ;
882
+ }
883
+ /*OLIVE SKIN*/
884
+ .camera_olive_skin .camera_prevThumbs div {
885
+ background-position: -160px -1080px;
886
+ }
887
+ .camera_olive_skin .camera_nextThumbs div {
888
+ background-position: -190px -1080px;
889
+ }
890
+ .camera_olive_skin .camera_prev > span {
891
+ background-position: 0 -1080px;
892
+ }
893
+ .camera_olive_skin .camera_next > span {
894
+ background-position: -40px -1080px;
895
+ }
896
+ .camera_olive_skin .camera_commands > .camera_play {
897
+ background-position: -80px -1080px;
898
+ }
899
+ .camera_olive_skin .camera_commands > .camera_stop {
900
+ background-position: -120px -1080px ;
901
+ }
902
+ /*PINK SKIN*/
903
+ .camera_pink_skin .camera_prevThumbs div {
904
+ background-position: -160px -960px;
905
+ }
906
+ .camera_pink_skin .camera_nextThumbs div {
907
+ background-position: -190px -960px;
908
+ }
909
+ .camera_pink_skin .camera_prev > span {
910
+ background-position: 0 -960px;
911
+ }
912
+ .camera_pink_skin .camera_next > span {
913
+ background-position: -40px -960px;
914
+ }
915
+ .camera_pink_skin .camera_commands > .camera_play {
916
+ background-position: -80px -960px;
917
+ }
918
+ .camera_pink_skin .camera_commands > .camera_stop {
919
+ background-position: -120px -960px ;
920
+ }
921
+ /*PISTACHIO SKIN*/
922
+ .camera_pistachio_skin .camera_prevThumbs div {
923
+ background-position: -160px -1040px;
924
+ }
925
+ .camera_pistachio_skin .camera_nextThumbs div {
926
+ background-position: -190px -1040px;
927
+ }
928
+ .camera_pistachio_skin .camera_prev > span {
929
+ background-position: 0 -1040px;
930
+ }
931
+ .camera_pistachio_skin .camera_next > span {
932
+ background-position: -40px -1040px;
933
+ }
934
+ .camera_pistachio_skin .camera_commands > .camera_play {
935
+ background-position: -80px -1040px;
936
+ }
937
+ .camera_pistachio_skin .camera_commands > .camera_stop {
938
+ background-position: -120px -1040px ;
939
+ }
940
+ /*PINK SKIN*/
941
+ .camera_pink_skin .camera_prevThumbs div {
942
+ background-position: -160px -80px;
943
+ }
944
+ .camera_pink_skin .camera_nextThumbs div {
945
+ background-position: -190px -80px;
946
+ }
947
+ .camera_pink_skin .camera_prev > span {
948
+ background-position: 0 -80px;
949
+ }
950
+ .camera_pink_skin .camera_next > span {
951
+ background-position: -40px -80px;
952
+ }
953
+ .camera_pink_skin .camera_commands > .camera_play {
954
+ background-position: -80px -80px;
955
+ }
956
+ .camera_pink_skin .camera_commands > .camera_stop {
957
+ background-position: -120px -80px;
958
+ }
959
+ /*RED SKIN*/
960
+ .camera_red_skin .camera_prevThumbs div {
961
+ background-position: -160px -1000px;
962
+ }
963
+ .camera_red_skin .camera_nextThumbs div {
964
+ background-position: -190px -1000px;
965
+ }
966
+ .camera_red_skin .camera_prev > span {
967
+ background-position: 0 -1000px;
968
+ }
969
+ .camera_red_skin .camera_next > span {
970
+ background-position: -40px -1000px;
971
+ }
972
+ .camera_red_skin .camera_commands > .camera_play {
973
+ background-position: -80px -1000px;
974
+ }
975
+ .camera_red_skin .camera_commands > .camera_stop {
976
+ background-position: -120px -1000px ;
977
+ }
978
+ /*TANGERINE SKIN*/
979
+ .camera_tangerine_skin .camera_prevThumbs div {
980
+ background-position: -160px -1120px;
981
+ }
982
+ .camera_tangerine_skin .camera_nextThumbs div {
983
+ background-position: -190px -1120px;
984
+ }
985
+ .camera_tangerine_skin .camera_prev > span {
986
+ background-position: 0 -1120px;
987
+ }
988
+ .camera_tangerine_skin .camera_next > span {
989
+ background-position: -40px -1120px;
990
+ }
991
+ .camera_tangerine_skin .camera_commands > .camera_play {
992
+ background-position: -80px -1120px;
993
+ }
994
+ .camera_tangerine_skin .camera_commands > .camera_stop {
995
+ background-position: -120px -1120px ;
996
+ }
997
+ /*TURQUOISE SKIN*/
998
+ .camera_turquoise_skin .camera_prevThumbs div {
999
+ background-position: -160px -1160px;
1000
+ }
1001
+ .camera_turquoise_skin .camera_nextThumbs div {
1002
+ background-position: -190px -1160px;
1003
+ }
1004
+ .camera_turquoise_skin .camera_prev > span {
1005
+ background-position: 0 -1160px;
1006
+ }
1007
+ .camera_turquoise_skin .camera_next > span {
1008
+ background-position: -40px -1160px;
1009
+ }
1010
+ .camera_turquoise_skin .camera_commands > .camera_play {
1011
+ background-position: -80px -1160px;
1012
+ }
1013
+ .camera_turquoise_skin .camera_commands > .camera_stop {
1014
+ background-position: -120px -1160px ;
1015
+ }
1016
+ /*VIOLET SKIN*/
1017
+ .camera_violet_skin .camera_prevThumbs div {
1018
+ background-position: -160px -1200px;
1019
+ }
1020
+ .camera_violet_skin .camera_nextThumbs div {
1021
+ background-position: -190px -1200px;
1022
+ }
1023
+ .camera_violet_skin .camera_prev > span {
1024
+ background-position: 0 -1200px;
1025
+ }
1026
+ .camera_violet_skin .camera_next > span {
1027
+ background-position: -40px -1200px;
1028
+ }
1029
+ .camera_violet_skin .camera_commands > .camera_play {
1030
+ background-position: -80px -1200px;
1031
+ }
1032
+ .camera_violet_skin .camera_commands > .camera_stop {
1033
+ background-position: -120px -1200px ;
1034
+ }
1035
+ /*WHITE SKIN*/
1036
+ .camera_white_skin .camera_prevThumbs div {
1037
+ background-position: -160px -80px;
1038
+ }
1039
+ .camera_white_skin .camera_nextThumbs div {
1040
+ background-position: -190px -80px;
1041
+ }
1042
+ .camera_white_skin .camera_prev > span {
1043
+ background-position: 0 -80px;
1044
+ }
1045
+ .camera_white_skin .camera_next > span {
1046
+ background-position: -40px -80px;
1047
+ }
1048
+ .camera_white_skin .camera_commands > .camera_play {
1049
+ background-position: -80px -80px;
1050
+ }
1051
+ .camera_white_skin .camera_commands > .camera_stop {
1052
+ background-position: -120px -80px;
1053
+ }
1054
+ /*YELLOW SKIN*/
1055
+ .camera_yellow_skin .camera_prevThumbs div {
1056
+ background-position: -160px -1240px;
1057
+ }
1058
+ .camera_yellow_skin .camera_nextThumbs div {
1059
+ background-position: -190px -1240px;
1060
+ }
1061
+ .camera_yellow_skin .camera_prev > span {
1062
+ background-position: 0 -1240px;
1063
+ }
1064
+ .camera_yellow_skin .camera_next > span {
1065
+ background-position: -40px -1240px;
1066
+ }
1067
+ .camera_yellow_skin .camera_commands > .camera_play {
1068
+ background-position: -80px -1240px;
1069
+ }
1070
+ .camera_yellow_skin .camera_commands > .camera_stop {
1071
+ background-position: -120px -1240px ;
1072
+ }
js/cmsmart/slideshow/camera/camera.js ADDED
@@ -0,0 +1,2276 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Name Extension: Slideshow Homepage
3
+ * Version: 1.0.0
4
+ * Author: The Cmsmart Development Team
5
+ * Date Created: 16/09/2013
6
+ * Websites: http://cmsmart.net
7
+ * Technical Support: Forum - http://cmsmart.net/support
8
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
9
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
10
+ */
11
+
12
+ ;(function($){$.fn.camera = function(opts, callback) {
13
+ var $ = NetBase;
14
+ var defaults = {
15
+ alignment : 'center', //topLeft, topCenter, topRight, centerLeft, center, centerRight, bottomLeft, bottomCenter, bottomRight
16
+
17
+ autoAdvance : true, //true, false
18
+
19
+ mobileAutoAdvance : true, //true, false. Auto-advancing for mobile devices
20
+
21
+ barDirection : 'leftToRight', //'leftToRight', 'rightToLeft', 'topToBottom', 'bottomToTop'
22
+
23
+ barPosition : 'bottom', //'bottom', 'left', 'top', 'right'
24
+
25
+ cols : 6,
26
+
27
+ easing : 'easeInOutExpo', //for the complete list http://jqueryui.com/demos/effect/easing.html
28
+
29
+ mobileEasing : '', //leave empty if you want to display the same easing on mobile devices and on desktop etc.
30
+
31
+ fx : 'random', //'random','simpleFade', 'curtainTopLeft', 'curtainTopRight', 'curtainBottomLeft', 'curtainBottomRight', 'curtainSliceLeft', 'curtainSliceRight', 'blindCurtainTopLeft', 'blindCurtainTopRight', 'blindCurtainBottomLeft', 'blindCurtainBottomRight', 'blindCurtainSliceBottom', 'blindCurtainSliceTop', 'stampede', 'mosaic', 'mosaicReverse', 'mosaicRandom', 'mosaicSpiral', 'mosaicSpiralReverse', 'topLeftBottomRight', 'bottomRightTopLeft', 'bottomLeftTopRight', 'bottomLeftTopRight'
32
+ //you can also use more than one effect, just separate them with commas: 'simpleFade, scrollRight, scrollBottom'
33
+
34
+ mobileFx : '', //leave empty if you want to display the same effect on mobile devices and on desktop etc.
35
+
36
+ gridDifference : 250, //to make the grid blocks slower than the slices, this value must be smaller than transPeriod
37
+
38
+ height : '50%', //here you can type pixels (for instance '300px'), a percentage (relative to the width of the slideshow, for instance '50%') or 'auto'
39
+
40
+ imagePath : 'images/', //he path to the image folder (it serves for the blank.gif, when you want to display videos)
41
+
42
+ hover : true, //true, false. Puase on state hover. Not available for mobile devices
43
+
44
+ loader : 'pie', //pie, bar, none (even if you choose "pie", old browsers like IE8- can't display it... they will display always a loading bar)
45
+
46
+ loaderColor : '#eeeeee',
47
+
48
+ loaderBgColor : '#222222',
49
+
50
+ loaderOpacity : .8, //0, .1, .2, .3, .4, .5, .6, .7, .8, .9, 1
51
+
52
+ loaderPadding : 2, //how many empty pixels you want to display between the loader and its background
53
+
54
+ loaderStroke : 7, //the thickness both of the pie loader and of the bar loader. Remember: for the pie, the loader thickness must be less than a half of the pie diameter
55
+
56
+ minHeight : '200px', //you can also leave it blank
57
+
58
+ navigation : true, //true or false, to display or not the navigation buttons
59
+
60
+ navigationHover : true, //if true the navigation button (prev, next and play/stop buttons) will be visible on hover state only, if false they will be visible always
61
+
62
+ mobileNavHover : true, //same as above, but only for mobile devices
63
+
64
+ opacityOnGrid : false, //true, false. Decide to apply a fade effect to blocks and slices: if your slideshow is fullscreen or simply big, I recommend to set it false to have a smoother effect
65
+
66
+ overlayer : true, //a layer on the images to prevent the users grab them simply by clicking the right button of their mouse (.camera_overlayer)
67
+
68
+ pagination : true,
69
+
70
+ playPause : true, //true or false, to display or not the play/pause buttons
71
+
72
+ pauseOnClick : true, //true, false. It stops the slideshow when you click the sliders.
73
+
74
+ pieDiameter : 38,
75
+
76
+ piePosition : 'rightTop', //'rightTop', 'leftTop', 'leftBottom', 'rightBottom'
77
+
78
+ portrait : false, //true, false. Select true if you don't want that your images are cropped
79
+
80
+ rows : 4,
81
+
82
+ slicedCols : 12, //if 0 the same value of cols
83
+
84
+ slicedRows : 8, //if 0 the same value of rows
85
+
86
+ slideOn : 'random', //next, prev, random: decide if the transition effect will be applied to the current (prev) or the next slide
87
+
88
+ thumbnails : false,
89
+
90
+ time : 7000, //milliseconds between the end of the sliding effect and the start of the nex one
91
+
92
+ transPeriod : 1500, //lenght of the sliding effect in milliseconds
93
+
94
+ ////////callbacks
95
+
96
+ onEndTransition : function() { }, //this callback is invoked when the transition effect ends
97
+
98
+ onLoaded : function() { }, //this callback is invoked when the image on a slide has completely loaded
99
+
100
+ onStartLoading : function() { }, //this callback is invoked when the image on a slide start loading
101
+
102
+ onStartTransition : function() { } //this callback is invoked when the transition effect starts
103
+
104
+ };
105
+
106
+
107
+ function isMobile() {
108
+ if( navigator.userAgent.match(/Android/i) ||
109
+ navigator.userAgent.match(/webOS/i) ||
110
+ navigator.userAgent.match(/iPad/i) ||
111
+ navigator.userAgent.match(/iPhone/i) ||
112
+ navigator.userAgent.match(/iPod/i)
113
+ ){
114
+ return true;
115
+ }
116
+ }
117
+
118
+ var opts = $.extend({}, defaults, opts);
119
+
120
+ var wrap = $(this).addClass('camera_wrap');
121
+
122
+ wrap.wrapInner(
123
+ '<div class="camera_src" />'
124
+ ).wrapInner(
125
+ '<div class="camera_fakehover" />'
126
+ );
127
+
128
+ var fakeHover = $('.camera_fakehover',wrap);
129
+
130
+ fakeHover.append(
131
+ '<div class="camera_target"></div>'
132
+ );
133
+ if(opts.overlayer == true){
134
+ fakeHover.append(
135
+ '<div class="camera_overlayer"></div>'
136
+ )
137
+ }
138
+ fakeHover.append(
139
+ '<div class="camera_target_content"></div>'
140
+ );
141
+
142
+ var loader;
143
+
144
+ if(opts.loader=='pie' && $.browser.msie && $.browser.version < 9){
145
+ loader = 'bar';
146
+ } else {
147
+ loader = opts.loader;
148
+ }
149
+
150
+ if(loader == 'pie'){
151
+ fakeHover.append(
152
+ '<div class="camera_pie"></div>'
153
+ )
154
+ } else if (loader == 'bar') {
155
+ fakeHover.append(
156
+ '<div class="camera_bar"></div>'
157
+ )
158
+ } else {
159
+ fakeHover.append(
160
+ '<div class="camera_bar" style="display:none"></div>'
161
+ )
162
+ }
163
+
164
+ if(opts.playPause==true){
165
+ fakeHover.append(
166
+ '<div class="camera_commands"></div>'
167
+ )
168
+ }
169
+
170
+ if(opts.navigation==true){
171
+ fakeHover.append(
172
+ '<div class="camera_prev"><span></span></div>'
173
+ ).append(
174
+ '<div class="camera_next"><span></span></div>'
175
+ );
176
+ }
177
+
178
+ if(opts.thumbnails==true){
179
+ wrap.append(
180
+ '<div class="camera_thumbs_cont" />'
181
+ );
182
+ }
183
+
184
+ if(opts.thumbnails==true && opts.pagination!=true){
185
+ $('.camera_thumbs_cont',wrap).wrap(
186
+ '<div />'
187
+ ).wrap(
188
+ '<div class="camera_thumbs" />'
189
+ ).wrap(
190
+ '<div />'
191
+ ).wrap(
192
+ '<div class="camera_command_wrap" />'
193
+ );
194
+ }
195
+
196
+ if(opts.pagination==true){
197
+ wrap.append(
198
+ '<div class="camera_pag"></div>'
199
+ );
200
+ }
201
+
202
+ wrap.append(
203
+ '<div class="camera_loader"></div>'
204
+ );
205
+
206
+ $('.camera_caption',wrap).each(function(){
207
+ $(this).wrapInner('<div />');
208
+ });
209
+
210
+
211
+ var pieID = 'pie_'+wrap.index(),
212
+ elem = $('.camera_src',wrap),
213
+ target = $('.camera_target',wrap),
214
+ content = $('.camera_target_content',wrap),
215
+ pieContainer = $('.camera_pie',wrap),
216
+ barContainer = $('.camera_bar',wrap),
217
+ prevNav = $('.camera_prev',wrap),
218
+ nextNav = $('.camera_next',wrap),
219
+ commands = $('.camera_commands',wrap),
220
+ pagination = $('.camera_pag',wrap),
221
+ thumbs = $('.camera_thumbs_cont',wrap);
222
+
223
+
224
+ var w,
225
+ h;
226
+
227
+
228
+ var allImg = new Array();
229
+ $('> div', elem).each( function() {
230
+ allImg.push($(this).attr('data-src'));
231
+ });
232
+
233
+ var allLinks = new Array();
234
+ $('> div', elem).each( function() {
235
+ if($(this).attr('data-link')){
236
+ allLinks.push($(this).attr('data-link'));
237
+ } else {
238
+ allLinks.push('');
239
+ }
240
+ });
241
+
242
+ var allTargets = new Array();
243
+ $('> div', elem).each( function() {
244
+ if($(this).attr('data-target')){
245
+ allTargets.push($(this).attr('data-target'));
246
+ } else {
247
+ allTargets.push('');
248
+ }
249
+ });
250
+
251
+ var allPor = new Array();
252
+ $('> div', elem).each( function() {
253
+ if($(this).attr('data-portrait')){
254
+ allPor.push($(this).attr('data-portrait'));
255
+ } else {
256
+ allPor.push('');
257
+ }
258
+ });
259
+
260
+ var allAlign= new Array();
261
+ $('> div', elem).each( function() {
262
+ if($(this).attr('data-alignment')){
263
+ allAlign.push($(this).attr('data-alignment'));
264
+ } else {
265
+ allAlign.push('');
266
+ }
267
+ });
268
+
269
+
270
+ var allThumbs = new Array();
271
+ $('> div', elem).each( function() {
272
+ if($(this).attr('data-thumb')){
273
+ allThumbs.push($(this).attr('data-thumb'));
274
+ } else {
275
+ allThumbs.push('');
276
+ }
277
+ });
278
+
279
+ var amountSlide = allImg.length;
280
+
281
+ $(content).append('<div class="cameraContents" />');
282
+ var loopMove;
283
+ for (loopMove=0;loopMove<amountSlide;loopMove++)
284
+ {
285
+ $('.cameraContents',content).append('<div class="cameraContent" />');
286
+ if(allLinks[loopMove]!=''){
287
+ //only for Wordpress plugin
288
+ var dataBox = $('> div ',elem).eq(loopMove).attr('data-box');
289
+ if(typeof dataBox !== 'undefined' && dataBox !== false && dataBox != '') {
290
+ dataBox = 'data-box="'+$('> div ',elem).eq(loopMove).attr('data-box')+'"';
291
+ } else {
292
+ dataBox = '';
293
+ }
294
+ //
295
+ $('.camera_target_content .cameraContent:eq('+loopMove+')',wrap).append('<a class="camera_link" href="'+allLinks[loopMove]+'" '+dataBox+' target="'+allTargets[loopMove]+'"></a>');
296
+ }
297
+
298
+ }
299
+ $('.camera_caption',wrap).each(function(){
300
+ var ind = $(this).parent().index(),
301
+ cont = wrap.find('.cameraContent').eq(ind);
302
+ $(this).appendTo(cont);
303
+ });
304
+
305
+ target.append('<div class="cameraCont" />');
306
+ var cameraCont = $('.cameraCont',wrap);
307
+
308
+
309
+
310
+ var loop;
311
+ for (loop=0;loop<amountSlide;loop++)
312
+ {
313
+ cameraCont.append('<div class="cameraSlide cameraSlide_'+loop+'" />');
314
+ var div = $('> div:eq('+loop+')',elem);
315
+ target.find('.cameraSlide_'+loop).clone(div);
316
+ }
317
+
318
+
319
+ function thumbnailVisible() {
320
+ var wTh = $(thumbs).width();
321
+ $('li', thumbs).removeClass('camera_visThumb');
322
+ $('li', thumbs).each(function(){
323
+ var pos = $(this).position(),
324
+ ulW = $('ul', thumbs).outerWidth(),
325
+ offUl = $('ul', thumbs).offset().left,
326
+ offDiv = $('> div',thumbs).offset().left,
327
+ ulLeft = offDiv-offUl;
328
+ if(ulLeft>0){
329
+ $('.camera_prevThumbs',camera_thumbs_wrap).removeClass('hideNav');
330
+ } else {
331
+ $('.camera_prevThumbs',camera_thumbs_wrap).addClass('hideNav');
332
+ }
333
+ if((ulW-ulLeft)>wTh){
334
+ $('.camera_nextThumbs',camera_thumbs_wrap).removeClass('hideNav');
335
+ } else {
336
+ $('.camera_nextThumbs',camera_thumbs_wrap).addClass('hideNav');
337
+ }
338
+ var left = pos.left,
339
+ right = pos.left+($(this).width());
340
+ if(right-ulLeft<=wTh && left-ulLeft>=0){
341
+ $(this).addClass('camera_visThumb');
342
+ }
343
+ });
344
+ }
345
+
346
+ $(window).bind('load resize pageshow',function(){
347
+ thumbnailPos();
348
+ thumbnailVisible();
349
+ });
350
+
351
+
352
+ cameraCont.append('<div class="cameraSlide cameraSlide_'+loop+'" />');
353
+
354
+
355
+ var started;
356
+
357
+ wrap.show();
358
+ var w = target.width();
359
+ var h = target.height();
360
+
361
+ var setPause;
362
+
363
+ $(window).bind('resize pageshow',function(){
364
+ if(started == true) {
365
+ resizeImage();
366
+ }
367
+ $('ul', thumbs).animate({'margin-top':0},0,thumbnailPos);
368
+ if(!elem.hasClass('paused')){
369
+ elem.addClass('paused');
370
+ if($('.camera_stop',camera_thumbs_wrap).length){
371
+ $('.camera_stop',camera_thumbs_wrap).hide()
372
+ $('.camera_play',camera_thumbs_wrap).show();
373
+ if(loader!='none'){
374
+ $('#'+pieID).hide();
375
+ }
376
+ } else {
377
+ if(loader!='none'){
378
+ $('#'+pieID).hide();
379
+ }
380
+ }
381
+ clearTimeout(setPause);
382
+ setPause = setTimeout(function(){
383
+ elem.removeClass('paused');
384
+ if($('.camera_play',camera_thumbs_wrap).length){
385
+ $('.camera_play',camera_thumbs_wrap).hide();
386
+ $('.camera_stop',camera_thumbs_wrap).show();
387
+ if(loader!='none'){
388
+ $('#'+pieID).fadeIn();
389
+ }
390
+ } else {
391
+ if(loader!='none'){
392
+ $('#'+pieID).fadeIn();
393
+ }
394
+ }
395
+ },1500);
396
+ }
397
+ });
398
+
399
+ function resizeImage(){
400
+ var res;
401
+ function resizeImageWork(){
402
+ w = wrap.width();
403
+ if(opts.height.indexOf('%')!=-1) {
404
+ var startH = Math.round(w / (100/parseFloat(opts.height)));
405
+ if(opts.minHeight != '' && startH < parseFloat(opts.minHeight)){
406
+ h = parseFloat(opts.minHeight);
407
+ } else {
408
+ h = startH;
409
+ }
410
+ wrap.css({height:h});
411
+ } else if (opts.height=='auto') {
412
+ h = wrap.height();
413
+ } else {
414
+ h = parseFloat(opts.height);
415
+ wrap.css({height:h});
416
+ }
417
+ $('.camerarelative',target).css({'width':w,'height':h});
418
+ $('.imgLoaded',target).each(function(){
419
+ var t = $(this),
420
+ wT = t.attr('width'),
421
+ hT = t.attr('height'),
422
+ imgLoadIn = t.index(),
423
+ mTop,
424
+ mLeft,
425
+ alignment = t.attr('data-alignment'),
426
+ portrait = t.attr('data-portrait');
427
+
428
+ if(typeof alignment === 'undefined' || alignment === false || alignment === ''){
429
+ alignment = opts.alignment;
430
+ }
431
+
432
+ if(typeof portrait === 'undefined' || portrait === false || portrait === ''){
433
+ portrait = opts.portrait;
434
+ }
435
+
436
+ if(portrait==false||portrait=='false'){
437
+ if((wT/hT)<(w/h)) {
438
+ var r = w / wT;
439
+ var d = (Math.abs(h - (hT*r)))*0.5;
440
+ switch(alignment){
441
+ case 'topLeft':
442
+ mTop = 0;
443
+ break;
444
+ case 'topCenter':
445
+ mTop = 0;
446
+ break;
447
+ case 'topRight':
448
+ mTop = 0;
449
+ break;
450
+ case 'centerLeft':
451
+ mTop = '-'+d+'px';
452
+ break;
453
+ case 'center':
454
+ mTop = '-'+d+'px';
455
+ break;
456
+ case 'centerRight':
457
+ mTop = '-'+d+'px';
458
+ break;
459
+ case 'bottomLeft':
460
+ mTop = '-'+d*2+'px';
461
+ break;
462
+ case 'bottomCenter':
463
+ mTop = '-'+d*2+'px';
464
+ break;
465
+ case 'bottomRight':
466
+ mTop = '-'+d*2+'px';
467
+ break;
468
+ }
469
+ t.css({
470
+ 'height' : hT*r,
471
+ 'margin-left' : 0,
472
+ 'margin-top' : mTop,
473
+ 'position' : 'absolute',
474
+ 'visibility' : 'visible',
475
+ 'width' : w
476
+ });
477
+ }
478
+ else {
479
+ var r = h / hT;
480
+ var d = (Math.abs(w - (wT*r)))*0.5;
481
+ switch(alignment){
482
+ case 'topLeft':
483
+ mLeft = 0;
484
+ break;
485
+ case 'topCenter':
486
+ mLeft = '-'+d+'px';
487
+ break;
488
+ case 'topRight':
489
+ mLeft = '-'+d*2+'px';
490
+ break;
491
+ case 'centerLeft':
492
+ mLeft = 0;
493
+ break;
494
+ case 'center':
495
+ mLeft = '-'+d+'px';
496
+ break;
497
+ case 'centerRight':
498
+ mLeft = '-'+d*2+'px';
499
+ break;
500
+ case 'bottomLeft':
501
+ mLeft = 0;
502
+ break;
503
+ case 'bottomCenter':
504
+ mLeft = '-'+d+'px';
505
+ break;
506
+ case 'bottomRight':
507
+ mLeft = '-'+d*2+'px';
508
+ break;
509
+ }
510
+ t.css({
511
+ 'height' : h,
512
+ 'margin-left' : mLeft,
513
+ 'margin-top' : 0,
514
+ 'position' : 'absolute',
515
+ 'visibility' : 'visible',
516
+ 'width' : wT*r
517
+ });
518
+ }
519
+ } else {
520
+ if((wT/hT)<(w/h)) {
521
+ var r = h / hT;
522
+ var d = (Math.abs(w - (wT*r)))*0.5;
523
+ switch(alignment){
524
+ case 'topLeft':
525
+ mLeft = 0;
526
+ break;
527
+ case 'topCenter':
528
+ mLeft = d+'px';
529
+ break;
530
+ case 'topRight':
531
+ mLeft = d*2+'px';
532
+ break;
533
+ case 'centerLeft':
534
+ mLeft = 0;
535
+ break;
536
+ case 'center':
537
+ mLeft = d+'px';
538
+ break;
539
+ case 'centerRight':
540
+ mLeft = d*2+'px';
541
+ break;
542
+ case 'bottomLeft':
543
+ mLeft = 0;
544
+ break;
545
+ case 'bottomCenter':
546
+ mLeft = d+'px';
547
+ break;
548
+ case 'bottomRight':
549
+ mLeft = d*2+'px';
550
+ break;
551
+ }
552
+ t.css({
553
+ 'height' : h,
554
+ 'margin-left' : mLeft,
555
+ 'margin-top' : 0,
556
+ 'position' : 'absolute',
557
+ 'visibility' : 'visible',
558
+ 'width' : wT*r
559
+ });
560
+ }
561
+ else {
562
+ var r = w / wT;
563
+ var d = (Math.abs(h - (hT*r)))*0.5;
564
+ switch(alignment){
565
+ case 'topLeft':
566
+ mTop = 0;
567
+ break;
568
+ case 'topCenter':
569
+ mTop = 0;
570
+ break;
571
+ case 'topRight':
572
+ mTop = 0;
573
+ break;
574
+ case 'centerLeft':
575
+ mTop = d+'px';
576
+ break;
577
+ case 'center':
578
+ mTop = d+'px';
579
+ break;
580
+ case 'centerRight':
581
+ mTop = d+'px';
582
+ break;
583
+ case 'bottomLeft':
584
+ mTop = d*2+'px';
585
+ break;
586
+ case 'bottomCenter':
587
+ mTop = d*2+'px';
588
+ break;
589
+ case 'bottomRight':
590
+ mTop = d*2+'px';
591
+ break;
592
+ }
593
+ t.css({
594
+ 'height' : hT*r,
595
+ 'margin-left' : 0,
596
+ 'margin-top' : mTop,
597
+ 'position' : 'absolute',
598
+ 'visibility' : 'visible',
599
+ 'width' : w
600
+ });
601
+ }
602
+ }
603
+ });
604
+ }
605
+ if (started == true) {
606
+ clearTimeout(res);
607
+ res = setTimeout(resizeImageWork,200);
608
+ } else {
609
+ resizeImageWork();
610
+ }
611
+
612
+ started = true;
613
+ }
614
+
615
+
616
+ var u,
617
+ setT;
618
+
619
+ var clickEv,
620
+ autoAdv,
621
+ navHover,
622
+ commands,
623
+ pagination;
624
+
625
+ var videoHover,
626
+ videoPresent;
627
+
628
+ if(isMobile() && opts.mobileAutoAdvance!=''){
629
+ autoAdv = opts.mobileAutoAdvance;
630
+ } else {
631
+ autoAdv = opts.autoAdvance;
632
+ }
633
+
634
+ if(autoAdv==false){
635
+ elem.addClass('paused');
636
+ }
637
+
638
+ if(isMobile() && opts.mobileNavHover!=''){
639
+ navHover = opts.mobileNavHover;
640
+ } else {
641
+ navHover = opts.navigationHover;
642
+ }
643
+
644
+ if(elem.length!=0){
645
+
646
+ var selector = $('.cameraSlide',target);
647
+ selector.wrapInner('<div class="camerarelative" />');
648
+
649
+ var navSlide;
650
+
651
+ var barDirection = opts.barDirection;
652
+
653
+ var camera_thumbs_wrap = wrap;
654
+
655
+
656
+ $('iframe',fakeHover).each(function(){
657
+ var t = $(this);
658
+ var src = t.attr('src');
659
+ t.attr('data-src',src);
660
+ var divInd = t.parent().index('.camera_src > div');
661
+ $('.camera_target_content .cameraContent:eq('+divInd+')',wrap).append(t);
662
+ });
663
+ function imgFake() {
664
+ $('iframe',fakeHover).each(function(){
665
+ $('.camera_caption',fakeHover).show();
666
+ var t = $(this);
667
+ var cloneSrc = t.attr('data-src');
668
+ t.attr('src',cloneSrc);
669
+ var imgFakeUrl = opts.imagePath+'blank.gif';
670
+ var imgFake = new Image();
671
+ imgFake.src = imgFakeUrl;
672
+ if(opts.height.indexOf('%')!=-1) {
673
+ var startH = Math.round(w / (100/parseFloat(opts.height)));
674
+ if(opts.minHeight != '' && startH < parseFloat(opts.minHeight)){
675
+ h = parseFloat(opts.minHeight);
676
+ } else {
677
+ h = startH;
678
+ }
679
+ } else if (opts.height=='auto') {
680
+ h = wrap.height();
681
+ } else {
682
+ h = parseFloat(opts.height);
683
+ }
684
+ t.after($(imgFake).attr({'class':'imgFake','width':w,'height':h}));
685
+ var clone = t.clone();
686
+ t.remove();
687
+ $(imgFake).bind('click',function(){
688
+ if($(this).css('position')=='absolute') {
689
+ $(this).remove();
690
+ if(cloneSrc.indexOf('vimeo') != -1 || cloneSrc.indexOf('youtube') != -1) {
691
+ if(cloneSrc.indexOf('?') != -1){
692
+ autoplay = '&autoplay=1';
693
+ } else {
694
+ autoplay = '?autoplay=1';
695
+ }
696
+ } else if(cloneSrc.indexOf('dailymotion') != -1) {
697
+ if(cloneSrc.indexOf('?') != -1){
698
+ autoplay = '&autoPlay=1';
699
+ } else {
700
+ autoplay = '?autoPlay=1';
701
+ }
702
+ }
703
+ clone.attr('src',cloneSrc+autoplay);
704
+ videoPresent = true;
705
+ } else {
706
+ $(this).css({position:'absolute',top:0,left:0,zIndex:10}).after(clone);
707
+ clone.css({position:'absolute',top:0,left:0,zIndex:9});
708
+ }
709
+ });
710
+ });
711
+ }
712
+
713
+ imgFake();
714
+
715
+
716
+ if(opts.hover==true){
717
+ if(!isMobile()){
718
+ fakeHover.hover(function(){
719
+ elem.addClass('hovered');
720
+ },function(){
721
+ elem.removeClass('hovered');
722
+ });
723
+ }
724
+ }
725
+
726
+ if(navHover==true){
727
+ $(prevNav,wrap).animate({opacity:0},0);
728
+ $(nextNav,wrap).animate({opacity:0},0);
729
+ $(commands,wrap).animate({opacity:0},0);
730
+ if(isMobile()){
731
+ fakeHover.live('vmouseover',function(){
732
+ $(prevNav,wrap).animate({opacity:1},200);
733
+ $(nextNav,wrap).animate({opacity:1},200);
734
+ $(commands,wrap).animate({opacity:1},200);
735
+ });
736
+ fakeHover.live('vmouseout',function(){
737
+ $(prevNav,wrap).delay(500).animate({opacity:0},200);
738
+ $(nextNav,wrap).delay(500).animate({opacity:0},200);
739
+ $(commands,wrap).delay(500).animate({opacity:0},200);
740
+ });
741
+ } else {
742
+ fakeHover.hover(function(){
743
+ $(prevNav,wrap).animate({opacity:1},200);
744
+ $(nextNav,wrap).animate({opacity:1},200);
745
+ $(commands,wrap).animate({opacity:1},200);
746
+ },function(){
747
+ $(prevNav,wrap).animate({opacity:0},200);
748
+ $(nextNav,wrap).animate({opacity:0},200);
749
+ $(commands,wrap).animate({opacity:0},200);
750
+ });
751
+ }
752
+ }
753
+
754
+
755
+ $('.camera_stop',camera_thumbs_wrap).live('click',function(){
756
+ autoAdv = false;
757
+ elem.addClass('paused');
758
+ if($('.camera_stop',camera_thumbs_wrap).length){
759
+ $('.camera_stop',camera_thumbs_wrap).hide()
760
+ $('.camera_play',camera_thumbs_wrap).show();
761
+ if(loader!='none'){
762
+ $('#'+pieID).hide();
763
+ }
764
+ } else {
765
+ if(loader!='none'){
766
+ $('#'+pieID).hide();
767
+ }
768
+ }
769
+ });
770
+
771
+ $('.camera_play',camera_thumbs_wrap).live('click',function(){
772
+ autoAdv = true;
773
+ elem.removeClass('paused');
774
+ if($('.camera_play',camera_thumbs_wrap).length){
775
+ $('.camera_play',camera_thumbs_wrap).hide();
776
+ $('.camera_stop',camera_thumbs_wrap).show();
777
+ if(loader!='none'){
778
+ $('#'+pieID).show();
779
+ }
780
+ } else {
781
+ if(loader!='none'){
782
+ $('#'+pieID).show();
783
+ }
784
+ }
785
+ });
786
+
787
+ if(opts.pauseOnClick==true){
788
+ $('.camera_target_content',fakeHover).mouseup(function(){
789
+ autoAdv = false;
790
+ elem.addClass('paused');
791
+ $('.camera_stop',camera_thumbs_wrap).hide()
792
+ $('.camera_play',camera_thumbs_wrap).show();
793
+ $('#'+pieID).hide();
794
+ });
795
+ }
796
+ $('.cameraContent, .imgFake',fakeHover).hover(function(){
797
+ videoHover = true;
798
+ },function(){
799
+ videoHover = false;
800
+ });
801
+
802
+ $('.cameraContent, .imgFake',fakeHover).bind('click',function(){
803
+ if(videoPresent == true && videoHover == true) {
804
+ autoAdv = false;
805
+ $('.camera_caption',fakeHover).hide();
806
+ elem.addClass('paused');
807
+ $('.camera_stop',camera_thumbs_wrap).hide()
808
+ $('.camera_play',camera_thumbs_wrap).show();
809
+ $('#'+pieID).hide();
810
+ }
811
+ });
812
+
813
+
814
+ }
815
+
816
+
817
+ function shuffle(arr) {
818
+ for(
819
+ var j, x, i = arr.length; i;
820
+ j = parseInt(Math.random() * i),
821
+ x = arr[--i], arr[i] = arr[j], arr[j] = x
822
+ );
823
+ return arr;
824
+ }
825
+
826
+ function isInteger(s) {
827
+ return Math.ceil(s) == Math.floor(s);
828
+ }
829
+
830
+ if (loader != 'pie') {
831
+ barContainer.append('<span class="camera_bar_cont" />');
832
+ $('.camera_bar_cont',barContainer)
833
+ .animate({opacity:opts.loaderOpacity},0)
834
+ .css({'position':'absolute', 'left':0, 'right':0, 'top':0, 'bottom':0, 'background-color':opts.loaderBgColor})
835
+ .append('<span id="'+pieID+'" />');
836
+ $('#'+pieID).animate({opacity:0},0);
837
+ var canvas = $('#'+pieID);
838
+ canvas.css({'position':'absolute', 'background-color':opts.loaderColor});
839
+ switch(opts.barPosition){
840
+ case 'left':
841
+ barContainer.css({right:'auto',width:opts.loaderStroke});
842
+ break;
843
+ case 'right':
844
+ barContainer.css({left:'auto',width:opts.loaderStroke});
845
+ break;
846
+ case 'top':
847
+ barContainer.css({bottom:'auto',height:opts.loaderStroke});
848
+ break;
849
+ case 'bottom':
850
+ barContainer.css({top:'auto',height:opts.loaderStroke});
851
+ break;
852
+ }
853
+ switch(barDirection){
854
+ case 'leftToRight':
855
+ canvas.css({'left':0, 'right':0, 'top':opts.loaderPadding, 'bottom':opts.loaderPadding});
856
+ break;
857
+ case 'rightToLeft':
858
+ canvas.css({'left':0, 'right':0, 'top':opts.loaderPadding, 'bottom':opts.loaderPadding});
859
+ break;
860
+ case 'topToBottom':
861
+ canvas.css({'left':opts.loaderPadding, 'right':opts.loaderPadding, 'top':0, 'bottom':0});
862
+ break;
863
+ case 'bottomToTop':
864
+ canvas.css({'left':opts.loaderPadding, 'right':opts.loaderPadding, 'top':0, 'bottom':0});
865
+ break;
866
+ }
867
+ } else {
868
+ pieContainer.append('<canvas id="'+pieID+'"></canvas>');
869
+ var G_vmlCanvasManager;
870
+ var canvas = document.getElementById(pieID);
871
+ canvas.setAttribute("width", opts.pieDiameter);
872
+ canvas.setAttribute("height", opts.pieDiameter);
873
+ var piePosition;
874
+ switch(opts.piePosition){
875
+ case 'leftTop' :
876
+ piePosition = 'left:0; top:0;';
877
+ break;
878
+ case 'rightTop' :
879
+ piePosition = 'right:0; top:0;';
880
+ break;
881
+ case 'leftBottom' :
882
+ piePosition = 'left:0; bottom:0;';
883
+ break;
884
+ case 'rightBottom' :
885
+ piePosition = 'right:0; bottom:0;';
886
+ break;
887
+ }
888
+ canvas.setAttribute("style", "position:absolute; z-index:1002; "+piePosition);
889
+ var rad;
890
+ var radNew;
891
+
892
+ if (canvas && canvas.getContext) {
893
+ var ctx = canvas.getContext("2d");
894
+ ctx.rotate(Math.PI*(3/2));
895
+ ctx.translate(-opts.pieDiameter,0);
896
+ }
897
+
898
+ }
899
+ if(loader=='none' || autoAdv==false) {
900
+ $('#'+pieID).hide();
901
+ $('.camera_canvas_wrap',camera_thumbs_wrap).hide();
902
+ }
903
+
904
+ if($(pagination).length) {
905
+ $(pagination).append('<ul class="camera_pag_ul" />');
906
+ var li;
907
+ for (li = 0; li < amountSlide; li++){
908
+ $('.camera_pag_ul',wrap).append('<li class="pag_nav_'+li+'" style="position:relative; z-index:1002"><span><span>'+li+'</span></span></li>');
909
+ }
910
+ $('.camera_pag_ul li',wrap).hover(function(){
911
+ $(this).addClass('camera_hover');
912
+ if($('.camera_thumb',this).length){
913
+ var wTh = $('.camera_thumb',this).outerWidth(),
914
+ hTh = $('.camera_thumb',this).outerHeight(),
915
+ wTt = $(this).outerWidth();
916
+ $('.camera_thumb',this).show().css({'top':'-'+hTh+'px','left':'-'+(wTh-wTt)/2+'px'}).animate({'opacity':1,'margin-top':'-3px'},200);
917
+ $('.thumb_arrow',this).show().animate({'opacity':1,'margin-top':'-3px'},200);
918
+ }
919
+ },function(){
920
+ $(this).removeClass('camera_hover');
921
+ $('.camera_thumb',this).animate({'margin-top':'-20px','opacity':0},200,function(){
922
+ $(this).css({marginTop:'5px'}).hide();
923
+ });
924
+ $('.thumb_arrow',this).animate({'margin-top':'-20px','opacity':0},200,function(){
925
+ $(this).css({marginTop:'5px'}).hide();
926
+ });
927
+ });
928
+ }
929
+
930
+
931
+
932
+ if($(thumbs).length) {
933
+ var thumbUrl;
934
+ if(!$(pagination).length) {
935
+ $(thumbs).append('<div />');
936
+ $(thumbs).before('<div class="camera_prevThumbs hideNav"><div></div></div>').before('<div class="camera_nextThumbs hideNav"><div></div></div>');
937
+ $('> div',thumbs).append('<ul />');
938
+ $.each(allThumbs, function(i, val) {
939
+ if($('> div', elem).eq(i).attr('data-thumb')!='') {
940
+ var thumbUrl = $('> div', elem).eq(i).attr('data-thumb'),
941
+ newImg = new Image();
942
+ newImg.src = thumbUrl;
943
+ $('ul',thumbs).append('<li class="pix_thumb pix_thumb_'+i+'" />');
944
+ $('li.pix_thumb_'+i,thumbs).append($(newImg).attr('class','camera_thumb'));
945
+ }
946
+ });
947
+ } else {
948
+ $.each(allThumbs, function(i, val) {
949
+ if($('> div', elem).eq(i).attr('data-thumb')!='') {
950
+ var thumbUrl = $('> div', elem).eq(i).attr('data-thumb'),
951
+ newImg = new Image();
952
+ newImg.src = thumbUrl;
953
+ $('li.pag_nav_'+i,pagination).append($(newImg).attr('class','camera_thumb').css({'position':'absolute'}).animate({opacity:0},0));
954
+ $('li.pag_nav_'+i+' > img',pagination).after('<div class="thumb_arrow" />');
955
+ $('li.pag_nav_'+i+' > .thumb_arrow',pagination).animate({opacity:0},0);
956
+ }
957
+ });
958
+ wrap.css({marginBottom:$(pagination).outerHeight()});
959
+ }
960
+ } else if(!$(thumbs).length && $(pagination).length) {
961
+ wrap.css({marginBottom:$(pagination).outerHeight()});
962
+ }
963
+
964
+
965
+ var firstPos = true;
966
+
967
+ function thumbnailPos() {
968
+ if($(thumbs).length && !$(pagination).length) {
969
+ var wTh = $(thumbs).outerWidth(),
970
+ owTh = $('ul > li',thumbs).outerWidth(),
971
+ pos = $('li.cameracurrent', thumbs).length ? $('li.cameracurrent', thumbs).position() : '',
972
+ ulW = ($('ul > li', thumbs).length * $('ul > li', thumbs).outerWidth()),
973
+ offUl = $('ul', thumbs).offset().left,
974
+ offDiv = $('> div', thumbs).offset().left,
975
+ ulLeft;
976
+
977
+ if(offUl<0){
978
+ ulLeft = '-'+ (offDiv-offUl);
979
+ } else {
980
+ ulLeft = offDiv-offUl;
981
+ }
982
+
983
+
984
+
985
+ if(firstPos == true) {
986
+ $('ul', thumbs).width($('ul > li', thumbs).length * $('ul > li', thumbs).outerWidth());
987
+ if($(thumbs).length && !$(pagination).lenght) {
988
+ wrap.css({marginBottom:$(thumbs).outerHeight()});
989
+ }
990
+ thumbnailVisible();
991
+ /*I repeat this two lines because of a problem with iPhones*/
992
+ $('ul', thumbs).width($('ul > li', thumbs).length * $('ul > li', thumbs).outerWidth());
993
+ if($(thumbs).length && !$(pagination).lenght) {
994
+ wrap.css({marginBottom:$(thumbs).outerHeight()});
995
+ }
996
+ /*...*/
997
+ }
998
+ firstPos = false;
999
+
1000
+ var left = $('li.cameracurrent', thumbs).length ? pos.left : '',
1001
+ right = $('li.cameracurrent', thumbs).length ? pos.left+($('li.cameracurrent', thumbs).outerWidth()) : '';
1002
+ if(left<$('li.cameracurrent', thumbs).outerWidth()) {
1003
+ left = 0;
1004
+ }
1005
+ if(right-ulLeft>wTh){
1006
+ if((left+wTh)<ulW){
1007
+ $('ul', thumbs).animate({'margin-left':'-'+(left)+'px'},500,thumbnailVisible);
1008
+ } else {
1009
+ $('ul', thumbs).animate({'margin-left':'-'+($('ul', thumbs).outerWidth()-wTh)+'px'},500,thumbnailVisible);
1010
+ }
1011
+ } else if(left-ulLeft<0) {
1012
+ $('ul', thumbs).animate({'margin-left':'-'+(left)+'px'},500,thumbnailVisible);
1013
+ } else {
1014
+ $('ul', thumbs).css({'margin-left':'auto', 'margin-right':'auto'});
1015
+ setTimeout(thumbnailVisible,100);
1016
+ }
1017
+
1018
+ }
1019
+ }
1020
+
1021
+ if($(commands).length) {
1022
+ $(commands).append('<div class="camera_play"></div>').append('<div class="camera_stop"></div>');
1023
+ if(autoAdv==true){
1024
+ $('.camera_play',camera_thumbs_wrap).hide();
1025
+ $('.camera_stop',camera_thumbs_wrap).show();
1026
+ } else {
1027
+ $('.camera_stop',camera_thumbs_wrap).hide();
1028
+ $('.camera_play',camera_thumbs_wrap).show();
1029
+ }
1030
+
1031
+ }
1032
+
1033
+
1034
+ function canvasLoader() {
1035
+ rad = 0;
1036
+ var barWidth = $('.camera_bar_cont',camera_thumbs_wrap).width(),
1037
+ barHeight = $('.camera_bar_cont',camera_thumbs_wrap).height();
1038
+
1039
+ if (loader != 'pie') {
1040
+ switch(barDirection){
1041
+ case 'leftToRight':
1042
+ $('#'+pieID).css({'right':barWidth});
1043
+ break;
1044
+ case 'rightToLeft':
1045
+ $('#'+pieID).css({'left':barWidth});
1046
+ break;
1047
+ case 'topToBottom':
1048
+ $('#'+pieID).css({'bottom':barHeight});
1049
+ break;
1050
+ case 'bottomToTop':
1051
+ $('#'+pieID).css({'top':barHeight});
1052
+ break;
1053
+ }
1054
+ } else {
1055
+ ctx.clearRect(0,0,opts.pieDiameter,opts.pieDiameter);
1056
+ }
1057
+ }
1058
+
1059
+
1060
+ canvasLoader();
1061
+
1062
+
1063
+ $('.moveFromLeft, .moveFromRight, .moveFromTop, .moveFromBottom, .fadeIn, .fadeFromLeft, .fadeFromRight, .fadeFromTop, .fadeFromBottom',fakeHover).each(function(){
1064
+ $(this).css('visibility','hidden');
1065
+ });
1066
+
1067
+ opts.onStartLoading.call(this);
1068
+
1069
+ nextSlide();
1070
+
1071
+
1072
+ /*************************** FUNCTION nextSlide() ***************************/
1073
+
1074
+ function nextSlide(navSlide){
1075
+ elem.addClass('camerasliding');
1076
+
1077
+ videoPresent = false;
1078
+ var vis = parseFloat($('div.cameraSlide.cameracurrent',target).index());
1079
+
1080
+ if(navSlide>0){
1081
+ var slideI = navSlide-1;
1082
+ } else if (vis == amountSlide-1) {
1083
+ var slideI = 0;
1084
+ } else {
1085
+ var slideI = vis+1;
1086
+ }
1087
+
1088
+
1089
+ var slide = $('.cameraSlide:eq('+slideI+')',target);
1090
+ var slideNext = $('.cameraSlide:eq('+(slideI+1)+')',target).addClass('cameranext');
1091
+ if( vis != slideI+1 ) {
1092
+ slideNext.hide();
1093
+ }
1094
+ $('.cameraContent',fakeHover).fadeOut(600);
1095
+ $('.camera_caption',fakeHover).show();
1096
+
1097
+ $('.camerarelative',slide).append($('> div ',elem).eq(slideI).find('> div.camera_effected'));
1098
+
1099
+ $('.camera_target_content .cameraContent:eq('+slideI+')',wrap).append($('> div ',elem).eq(slideI).find('> div'));
1100
+
1101
+ if(!$('.imgLoaded',slide).length){
1102
+ var imgUrl = allImg[slideI];
1103
+ var imgLoaded = new Image();
1104
+ imgLoaded.src = imgUrl +"?"+ new Date().getTime();
1105
+ slide.css('visibility','hidden');
1106
+ slide.prepend($(imgLoaded).attr('class','imgLoaded').css('visibility','hidden'));
1107
+ var wT, hT;
1108
+ if (!$(imgLoaded).get(0).complete || wT == '0' || hT == '0' || typeof wT === 'undefined' || wT === false || typeof hT === 'undefined' || hT === false) {
1109
+ $('.camera_loader',wrap).delay(500).fadeIn(400);
1110
+ imgLoaded.onload = function() {
1111
+ wT = imgLoaded.naturalWidth;
1112
+ hT = imgLoaded.naturalHeight;
1113
+ $(imgLoaded).attr('data-alignment',allAlign[slideI]).attr('data-portrait',allPor[slideI]);
1114
+ $(imgLoaded).attr('width',wT);
1115
+ $(imgLoaded).attr('height',hT);
1116
+ target.find('.cameraSlide_'+slideI).hide().css('visibility','visible');
1117
+ resizeImage();
1118
+ nextSlide(slideI+1);
1119
+ };
1120
+ }
1121
+ } else {
1122
+ if( allImg.length > (slideI+1) && !$('.imgLoaded',slideNext).length ){
1123
+ var imgUrl2 = allImg[(slideI+1)];
1124
+ var imgLoaded2 = new Image();
1125
+ imgLoaded2.src = imgUrl2 +"?"+ new Date().getTime();
1126
+ slideNext.prepend($(imgLoaded2).attr('class','imgLoaded').css('visibility','hidden'));
1127
+ imgLoaded2.onload = function() {
1128
+ wT = imgLoaded2.naturalWidth;
1129
+ hT = imgLoaded2.naturalHeight;
1130
+ $(imgLoaded2).attr('data-alignment',allAlign[slideI+1]).attr('data-portrait',allPor[slideI+1]);
1131
+ $(imgLoaded2).attr('width',wT);
1132
+ $(imgLoaded2).attr('height',hT);
1133
+ resizeImage();
1134
+ };
1135
+ }
1136
+ opts.onLoaded.call(this);
1137
+ if($('.camera_loader',wrap).is(':visible')){
1138
+ $('.camera_loader',wrap).fadeOut(400);
1139
+ } else {
1140
+ $('.camera_loader',wrap).css({'visibility':'hidden'});
1141
+ $('.camera_loader',wrap).fadeOut(400,function(){
1142
+ $('.camera_loader',wrap).css({'visibility':'visible'});
1143
+ });
1144
+ }
1145
+ var rows = opts.rows,
1146
+ cols = opts.cols,
1147
+ couples = 1,
1148
+ difference = 0,
1149
+ dataSlideOn,
1150
+ time,
1151
+ transPeriod,
1152
+ fx,
1153
+ easing,
1154
+ randomFx = new Array('simpleFade','curtainTopLeft','curtainTopRight','curtainBottomLeft','curtainBottomRight','curtainSliceLeft','curtainSliceRight','blindCurtainTopLeft','blindCurtainTopRight','blindCurtainBottomLeft','blindCurtainBottomRight','blindCurtainSliceBottom','blindCurtainSliceTop','stampede','mosaic','mosaicReverse','mosaicRandom','mosaicSpiral','mosaicSpiralReverse','topLeftBottomRight','bottomRightTopLeft','bottomLeftTopRight','topRightBottomLeft','scrollLeft','scrollRight','scrollTop','scrollBottom','scrollHorz');
1155
+ marginLeft = 0,
1156
+ marginTop = 0,
1157
+ opacityOnGrid = 0;
1158
+
1159
+ if(opts.opacityOnGrid==true){
1160
+ opacityOnGrid = 0;
1161
+ } else {
1162
+ opacityOnGrid = 1;
1163
+ }
1164
+
1165
+
1166
+
1167
+ var dataFx = $(' > div',elem).eq(slideI).attr('data-fx');
1168
+
1169
+ if(isMobile()&&opts.mobileFx!=''&&opts.mobileFx!='default'){
1170
+ fx = opts.mobileFx;
1171
+ } else {
1172
+ if(typeof dataFx !== 'undefined' && dataFx!== false && dataFx!== 'default'){
1173
+ fx = dataFx;
1174
+ } else {
1175
+ fx = opts.fx;
1176
+ }
1177
+ }
1178
+
1179
+ if(fx=='random') {
1180
+ fx = shuffle(randomFx);
1181
+ fx = fx[0];
1182
+ } else {
1183
+ fx = fx;
1184
+ if(fx.indexOf(',')>0){
1185
+ fx = fx.replace(/ /g,'');
1186
+ fx = fx.split(',');
1187
+ fx = shuffle(fx);
1188
+ fx = fx[0];
1189
+ }
1190
+ }
1191
+
1192
+ dataEasing = $(' > div',elem).eq(slideI).attr('data-easing');
1193
+ mobileEasing = $(' > div',elem).eq(slideI).attr('data-mobileEasing');
1194
+
1195
+ if(isMobile()&&opts.mobileEasing!=''&&opts.mobileEasing!='default'){
1196
+ if(typeof mobileEasing !== 'undefined' && mobileEasing!== false && mobileEasing!== 'default') {
1197
+ easing = mobileEasing;
1198
+ } else {
1199
+ easing = opts.mobileEasing;
1200
+ }
1201
+ } else {
1202
+ if(typeof dataEasing !== 'undefined' && dataEasing!== false && dataEasing!== 'default') {
1203
+ easing = dataEasing;
1204
+ } else {
1205
+ easing = opts.easing;
1206
+ }
1207
+ }
1208
+
1209
+ dataSlideOn = $(' > div',elem).eq(slideI).attr('data-slideOn');
1210
+ if(typeof dataSlideOn !== 'undefined' && dataSlideOn!== false){
1211
+ slideOn = dataSlideOn;
1212
+ } else {
1213
+ if(opts.slideOn=='random'){
1214
+ var slideOn = new Array('next','prev');
1215
+ slideOn = shuffle(slideOn);
1216
+ slideOn = slideOn[0];
1217
+ } else {
1218
+ slideOn = opts.slideOn;
1219
+ }
1220
+ }
1221
+
1222
+ var dataTime = $(' > div',elem).eq(slideI).attr('data-time');
1223
+ if(typeof dataTime !== 'undefined' && dataTime!== false && dataTime!== ''){
1224
+ time = parseFloat(dataTime);
1225
+ } else {
1226
+ time = opts.time;
1227
+ }
1228
+
1229
+ var dataTransPeriod = $(' > div',elem).eq(slideI).attr('data-transPeriod');
1230
+ if(typeof dataTransPeriod !== 'undefined' && dataTransPeriod!== false && dataTransPeriod!== ''){
1231
+ transPeriod = parseFloat(dataTransPeriod);
1232
+ } else {
1233
+ transPeriod = opts.transPeriod;
1234
+ }
1235
+
1236
+ if(!$(elem).hasClass('camerastarted')){
1237
+ fx = 'simpleFade';
1238
+ slideOn = 'next';
1239
+ easing = '';
1240
+ transPeriod = 400;
1241
+ $(elem).addClass('camerastarted')
1242
+ }
1243
+
1244
+ switch(fx){
1245
+ case 'simpleFade':
1246
+ cols = 1;
1247
+ rows = 1;
1248
+ break;
1249
+ case 'curtainTopLeft':
1250
+ if(opts.slicedCols == 0) {
1251
+ cols = opts.cols;
1252
+ } else {
1253
+ cols = opts.slicedCols;
1254
+ }
1255
+ rows = 1;
1256
+ break;
1257
+ case 'curtainTopRight':
1258
+ if(opts.slicedCols == 0) {
1259
+ cols = opts.cols;
1260
+ } else {
1261
+ cols = opts.slicedCols;
1262
+ }
1263
+ rows = 1;
1264
+ break;
1265
+ case 'curtainBottomLeft':
1266
+ if(opts.slicedCols == 0) {
1267
+ cols = opts.cols;
1268
+ } else {
1269
+ cols = opts.slicedCols;
1270
+ }
1271
+ rows = 1;
1272
+ break;
1273
+ case 'curtainBottomRight':
1274
+ if(opts.slicedCols == 0) {
1275
+ cols = opts.cols;
1276
+ } else {
1277
+ cols = opts.slicedCols;
1278
+ }
1279
+ rows = 1;
1280
+ break;
1281
+ case 'curtainSliceLeft':
1282
+ if(opts.slicedCols == 0) {
1283
+ cols = opts.cols;
1284
+ } else {
1285
+ cols = opts.slicedCols;
1286
+ }
1287
+ rows = 1;
1288
+ break;
1289
+ case 'curtainSliceRight':
1290
+ if(opts.slicedCols == 0) {
1291
+ cols = opts.cols;
1292
+ } else {
1293
+ cols = opts.slicedCols;
1294
+ }
1295
+ rows = 1;
1296
+ break;
1297
+ case 'blindCurtainTopLeft':
1298
+ if(opts.slicedRows == 0) {
1299
+ rows = opts.rows;
1300
+ } else {
1301
+ rows = opts.slicedRows;
1302
+ }
1303
+ cols = 1;
1304
+ break;
1305
+ case 'blindCurtainTopRight':
1306
+ if(opts.slicedRows == 0) {
1307
+ rows = opts.rows;
1308
+ } else {
1309
+ rows = opts.slicedRows;
1310
+ }
1311
+ cols = 1;
1312
+ break;
1313
+ case 'blindCurtainBottomLeft':
1314
+ if(opts.slicedRows == 0) {
1315
+ rows = opts.rows;
1316
+ } else {
1317
+ rows = opts.slicedRows;
1318
+ }
1319
+ cols = 1;
1320
+ break;
1321
+ case 'blindCurtainBottomRight':
1322
+ if(opts.slicedRows == 0) {
1323
+ rows = opts.rows;
1324
+ } else {
1325
+ rows = opts.slicedRows;
1326
+ }
1327
+ cols = 1;
1328
+ break;
1329
+ case 'blindCurtainSliceTop':
1330
+ if(opts.slicedRows == 0) {
1331
+ rows = opts.rows;
1332
+ } else {
1333
+ rows = opts.slicedRows;
1334
+ }
1335
+ cols = 1;
1336
+ break;
1337
+ case 'blindCurtainSliceBottom':
1338
+ if(opts.slicedRows == 0) {
1339
+ rows = opts.rows;
1340
+ } else {
1341
+ rows = opts.slicedRows;
1342
+ }
1343
+ cols = 1;
1344
+ break;
1345
+ case 'stampede':
1346
+ difference = '-'+transPeriod;
1347
+ break;
1348
+ case 'mosaic':
1349
+ difference = opts.gridDifference;
1350
+ break;
1351
+ case 'mosaicReverse':
1352
+ difference = opts.gridDifference;
1353
+ break;
1354
+ case 'mosaicRandom':
1355
+ break;
1356
+ case 'mosaicSpiral':
1357
+ difference = opts.gridDifference;
1358
+ couples = 1.7;
1359
+ break;
1360
+ case 'mosaicSpiralReverse':
1361
+ difference = opts.gridDifference;
1362
+ couples = 1.7;
1363
+ break;
1364
+ case 'topLeftBottomRight':
1365
+ difference = opts.gridDifference;
1366
+ couples = 6;
1367
+ break;
1368
+ case 'bottomRightTopLeft':
1369
+ difference = opts.gridDifference;
1370
+ couples = 6;
1371
+ break;
1372
+ case 'bottomLeftTopRight':
1373
+ difference = opts.gridDifference;
1374
+ couples = 6;
1375
+ break;
1376
+ case 'topRightBottomLeft':
1377
+ difference = opts.gridDifference;
1378
+ couples = 6;
1379
+ break;
1380
+ case 'scrollLeft':
1381
+ cols = 1;
1382
+ rows = 1;
1383
+ break;
1384
+ case 'scrollRight':
1385
+ cols = 1;
1386
+ rows = 1;
1387
+ break;
1388
+ case 'scrollTop':
1389
+ cols = 1;
1390
+ rows = 1;
1391
+ break;
1392
+ case 'scrollBottom':
1393
+ cols = 1;
1394
+ rows = 1;
1395
+ break;
1396
+ case 'scrollHorz':
1397
+ cols = 1;
1398
+ rows = 1;
1399
+ break;
1400
+ }
1401
+
1402
+ var cycle = 0;
1403
+ var blocks = rows*cols;
1404
+ var leftScrap = w-(Math.floor(w/cols)*cols);
1405
+ var topScrap = h-(Math.floor(h/rows)*rows);
1406
+ var addLeft;
1407
+ var addTop;
1408
+ var tAppW = 0;
1409
+ var tAppH = 0;
1410
+ var arr = new Array();
1411
+ var delay = new Array();
1412
+ var order = new Array();
1413
+ while(cycle < blocks){
1414
+ arr.push(cycle);
1415
+ delay.push(cycle);
1416
+ cameraCont.append('<div class="cameraappended" style="display:none; overflow:hidden; position:absolute; z-index:1000" />');
1417
+ var tApp = $('.cameraappended:eq('+cycle+')',target);
1418
+ if(fx=='scrollLeft' || fx=='scrollRight' || fx=='scrollTop' || fx=='scrollBottom' || fx=='scrollHorz'){
1419
+ selector.eq(slideI).clone().show().appendTo(tApp);
1420
+ } else {
1421
+ if(slideOn=='next'){
1422
+ selector.eq(slideI).clone().show().appendTo(tApp);
1423
+ } else {
1424
+ selector.eq(vis).clone().show().appendTo(tApp);
1425
+ }
1426
+ }
1427
+
1428
+ if(cycle%cols<leftScrap){
1429
+ addLeft = 1;
1430
+ } else {
1431
+ addLeft = 0;
1432
+ }
1433
+ if(cycle%cols==0){
1434
+ tAppW = 0;
1435
+ }
1436
+ if(Math.floor(cycle/cols)<topScrap){
1437
+ addTop = 1;
1438
+ } else {
1439
+ addTop = 0;
1440
+ }
1441
+ tApp.css({
1442
+ 'height': Math.floor((h/rows)+addTop+1),
1443
+ 'left': tAppW,
1444
+ 'top': tAppH,
1445
+ 'width': Math.floor((w/cols)+addLeft+1)
1446
+ });
1447
+ $('> .cameraSlide', tApp).css({
1448
+ 'height': h,
1449
+ 'margin-left': '-'+tAppW+'px',
1450
+ 'margin-top': '-'+tAppH+'px',
1451
+ 'width': w
1452
+ });
1453
+ tAppW = tAppW+tApp.width()-1;
1454
+ if(cycle%cols==cols-1){
1455
+ tAppH = tAppH + tApp.height() - 1;
1456
+ }
1457
+ cycle++;
1458
+ }
1459
+
1460
+
1461
+
1462
+ switch(fx){
1463
+ case 'curtainTopLeft':
1464
+ break;
1465
+ case 'curtainBottomLeft':
1466
+ break;
1467
+ case 'curtainSliceLeft':
1468
+ break;
1469
+ case 'curtainTopRight':
1470
+ arr = arr.reverse();
1471
+ break;
1472
+ case 'curtainBottomRight':
1473
+ arr = arr.reverse();
1474
+ break;
1475
+ case 'curtainSliceRight':
1476
+ arr = arr.reverse();
1477
+ break;
1478
+ case 'blindCurtainTopLeft':
1479
+ break;
1480
+ case 'blindCurtainBottomLeft':
1481
+ arr = arr.reverse();
1482
+ break;
1483
+ case 'blindCurtainSliceTop':
1484
+ break;
1485
+ case 'blindCurtainTopRight':
1486
+ break;
1487
+ case 'blindCurtainBottomRight':
1488
+ arr = arr.reverse();
1489
+ break;
1490
+ case 'blindCurtainSliceBottom':
1491
+ arr = arr.reverse();
1492
+ break;
1493
+ case 'stampede':
1494
+ arr = shuffle(arr);
1495
+ break;
1496
+ case 'mosaic':
1497
+ break;
1498
+ case 'mosaicReverse':
1499
+ arr = arr.reverse();
1500
+ break;
1501
+ case 'mosaicRandom':
1502
+ arr = shuffle(arr);
1503
+ break;
1504
+ case 'mosaicSpiral':
1505
+ var rows2 = rows/2, x, y, z, n=0;
1506
+ for (z = 0; z < rows2; z++){
1507
+ y = z;
1508
+ for (x = z; x < cols - z - 1; x++) {
1509
+ order[n++] = y * cols + x;
1510
+ }
1511
+ x = cols - z - 1;
1512
+ for (y = z; y < rows - z - 1; y++) {
1513
+ order[n++] = y * cols + x;
1514
+ }
1515
+ y = rows - z - 1;
1516
+ for (x = cols - z - 1; x > z; x--) {
1517
+ order[n++] = y * cols + x;
1518
+ }
1519
+ x = z;
1520
+ for (y = rows - z - 1; y > z; y--) {
1521
+ order[n++] = y * cols + x;
1522
+ }
1523
+ }
1524
+
1525
+ arr = order;
1526
+
1527
+ break;
1528
+ case 'mosaicSpiralReverse':
1529
+ var rows2 = rows/2, x, y, z, n=blocks-1;
1530
+ for (z = 0; z < rows2; z++){
1531
+ y = z;
1532
+ for (x = z; x < cols - z - 1; x++) {
1533
+ order[n--] = y * cols + x;
1534
+ }
1535
+ x = cols - z - 1;
1536
+ for (y = z; y < rows - z - 1; y++) {
1537
+ order[n--] = y * cols + x;
1538
+ }
1539
+ y = rows - z - 1;
1540
+ for (x = cols - z - 1; x > z; x--) {
1541
+ order[n--] = y * cols + x;
1542
+ }
1543
+ x = z;
1544
+ for (y = rows - z - 1; y > z; y--) {
1545
+ order[n--] = y * cols + x;
1546
+ }
1547
+ }
1548
+
1549
+ arr = order;
1550
+
1551
+ break;
1552
+ case 'topLeftBottomRight':
1553
+ for (var y = 0; y < rows; y++)
1554
+ for (var x = 0; x < cols; x++) {
1555
+ order.push(x + y);
1556
+ }
1557
+ delay = order;
1558
+ break;
1559
+ case 'bottomRightTopLeft':
1560
+ for (var y = 0; y < rows; y++)
1561
+ for (var x = 0; x < cols; x++) {
1562
+ order.push(x + y);
1563
+ }
1564
+ delay = order.reverse();
1565
+ break;
1566
+ case 'bottomLeftTopRight':
1567
+ for (var y = rows; y > 0; y--)
1568
+ for (var x = 0; x < cols; x++) {
1569
+ order.push(x + y);
1570
+ }
1571
+ delay = order;
1572
+ break;
1573
+ case 'topRightBottomLeft':
1574
+ for (var y = 0; y < rows; y++)
1575
+ for (var x = cols; x > 0; x--) {
1576
+ order.push(x + y);
1577
+ }
1578
+ delay = order;
1579
+ break;
1580
+ }
1581
+
1582
+
1583
+
1584
+ $.each(arr, function(index, value) {
1585
+
1586
+ if(value%cols<leftScrap){
1587
+ addLeft = 1;
1588
+ } else {
1589
+ addLeft = 0;
1590
+ }
1591
+ if(value%cols==0){
1592
+ tAppW = 0;
1593
+ }
1594
+ if(Math.floor(value/cols)<topScrap){
1595
+ addTop = 1;
1596
+ } else {
1597
+ addTop = 0;
1598
+ }
1599
+
1600
+ switch(fx){
1601
+ case 'simpleFade':
1602
+ height = h;
1603
+ width = w;
1604
+ opacityOnGrid = 0;
1605
+ break;
1606
+ case 'curtainTopLeft':
1607
+ height = 0,
1608
+ width = Math.floor((w/cols)+addLeft+1),
1609
+ marginTop = '-'+Math.floor((h/rows)+addTop+1)+'px';
1610
+ break;
1611
+ case 'curtainTopRight':
1612
+ height = 0,
1613
+ width = Math.floor((w/cols)+addLeft+1),
1614
+ marginTop = '-'+Math.floor((h/rows)+addTop+1)+'px';
1615
+ break;
1616
+ case 'curtainBottomLeft':
1617
+ height = 0,
1618
+ width = Math.floor((w/cols)+addLeft+1),
1619
+ marginTop = Math.floor((h/rows)+addTop+1)+'px';
1620
+ break;
1621
+ case 'curtainBottomRight':
1622
+ height = 0,
1623
+ width = Math.floor((w/cols)+addLeft+1),
1624
+ marginTop = Math.floor((h/rows)+addTop+1)+'px';
1625
+ break;
1626
+ case 'curtainSliceLeft':
1627
+ height = 0,
1628
+ width = Math.floor((w/cols)+addLeft+1);
1629
+ if(value%2==0){
1630
+ marginTop = Math.floor((h/rows)+addTop+1)+'px';
1631
+ } else {
1632
+ marginTop = '-'+Math.floor((h/rows)+addTop+1)+'px';
1633
+ }
1634
+ break;
1635
+ case 'curtainSliceRight':
1636
+ height = 0,
1637
+ width = Math.floor((w/cols)+addLeft+1);
1638
+ if(value%2==0){
1639
+ marginTop = Math.floor((h/rows)+addTop+1)+'px';
1640
+ } else {
1641
+ marginTop = '-'+Math.floor((h/rows)+addTop+1)+'px';
1642
+ }
1643
+ break;
1644
+ case 'blindCurtainTopLeft':
1645
+ height = Math.floor((h/rows)+addTop+1),
1646
+ width = 0,
1647
+ marginLeft = '-'+Math.floor((w/cols)+addLeft+1)+'px';
1648
+ break;
1649
+ case 'blindCurtainTopRight':
1650
+ height = Math.floor((h/rows)+addTop+1),
1651
+ width = 0,
1652
+ marginLeft = Math.floor((w/cols)+addLeft+1)+'px';
1653
+ break;
1654
+ case 'blindCurtainBottomLeft':
1655
+ height = Math.floor((h/rows)+addTop+1),
1656
+ width = 0,
1657
+ marginLeft = '-'+Math.floor((w/cols)+addLeft+1)+'px';
1658
+ break;
1659
+ case 'blindCurtainBottomRight':
1660
+ height = Math.floor((h/rows)+addTop+1),
1661
+ width = 0,
1662
+ marginLeft = Math.floor((w/cols)+addLeft+1)+'px';
1663
+ break;
1664
+ case 'blindCurtainSliceBottom':
1665
+ height = Math.floor((h/rows)+addTop+1),
1666
+ width = 0;
1667
+ if(value%2==0){
1668
+ marginLeft = '-'+Math.floor((w/cols)+addLeft+1)+'px';
1669
+ } else {
1670
+ marginLeft = Math.floor((w/cols)+addLeft+1)+'px';
1671
+ }
1672
+ break;
1673
+ case 'blindCurtainSliceTop':
1674
+ height = Math.floor((h/rows)+addTop+1),
1675
+ width = 0;
1676
+ if(value%2==0){
1677
+ marginLeft = '-'+Math.floor((w/cols)+addLeft+1)+'px';
1678
+ } else {
1679
+ marginLeft = Math.floor((w/cols)+addLeft+1)+'px';
1680
+ }
1681
+ break;
1682
+ case 'stampede':
1683
+ height = 0;
1684
+ width = 0;
1685
+ marginLeft = (w*0.2)*(((index)%cols)-(cols-(Math.floor(cols/2))))+'px';
1686
+ marginTop = (h*0.2)*((Math.floor(index/cols)+1)-(rows-(Math.floor(rows/2))))+'px';
1687
+ break;
1688
+ case 'mosaic':
1689
+ height = 0;
1690
+ width = 0;
1691
+ break;
1692
+ case 'mosaicReverse':
1693
+ height = 0;
1694
+ width = 0;
1695
+ marginLeft = Math.floor((w/cols)+addLeft+1)+'px';
1696
+ marginTop = Math.floor((h/rows)+addTop+1)+'px';
1697
+ break;
1698
+ case 'mosaicRandom':
1699
+ height = 0;
1700
+ width = 0;
1701
+ marginLeft = Math.floor((w/cols)+addLeft+1)*0.5+'px';
1702
+ marginTop = Math.floor((h/rows)+addTop+1)*0.5+'px';
1703
+ break;
1704
+ case 'mosaicSpiral':
1705
+ height = 0;
1706
+ width = 0;
1707
+ marginLeft = Math.floor((w/cols)+addLeft+1)*0.5+'px';
1708
+ marginTop = Math.floor((h/rows)+addTop+1)*0.5+'px';
1709
+ break;
1710
+ case 'mosaicSpiralReverse':
1711
+ height = 0;
1712
+ width = 0;
1713
+ marginLeft = Math.floor((w/cols)+addLeft+1)*0.5+'px';
1714
+ marginTop = Math.floor((h/rows)+addTop+1)*0.5+'px';
1715
+ break;
1716
+ case 'topLeftBottomRight':
1717
+ height = 0;
1718
+ width = 0;
1719
+ break;
1720
+ case 'bottomRightTopLeft':
1721
+ height = 0;
1722
+ width = 0;
1723
+ marginLeft = Math.floor((w/cols)+addLeft+1)+'px';
1724
+ marginTop = Math.floor((h/rows)+addTop+1)+'px';
1725
+ break;
1726
+ case 'bottomLeftTopRight':
1727
+ height = 0;
1728
+ width = 0;
1729
+ marginLeft = 0;
1730
+ marginTop = Math.floor((h/rows)+addTop+1)+'px';
1731
+ break;
1732
+ case 'topRightBottomLeft':
1733
+ height = 0;
1734
+ width = 0;
1735
+ marginLeft = Math.floor((w/cols)+addLeft+1)+'px';
1736
+ marginTop = 0;
1737
+ break;
1738
+ case 'scrollRight':
1739
+ height = h;
1740
+ width = w;
1741
+ marginLeft = -w;
1742
+ break;
1743
+ case 'scrollLeft':
1744
+ height = h;
1745
+ width = w;
1746
+ marginLeft = w;
1747
+ break;
1748
+ case 'scrollTop':
1749
+ height = h;
1750
+ width = w;
1751
+ marginTop = h;
1752
+ break;
1753
+ case 'scrollBottom':
1754
+ height = h;
1755
+ width = w;
1756
+ marginTop = -h;
1757
+ break;
1758
+ case 'scrollHorz':
1759
+ height = h;
1760
+ width = w;
1761
+ if(vis==0 && slideI==amountSlide-1) {
1762
+ marginLeft = -w;
1763
+ } else if(vis<slideI || (vis==amountSlide-1 && slideI==0)) {
1764
+ marginLeft = w;
1765
+ } else {
1766
+ marginLeft = -w;
1767
+ }
1768
+ break;
1769
+ }
1770
+
1771
+
1772
+ var tApp = $('.cameraappended:eq('+value+')',target);
1773
+
1774
+ if(typeof u !== 'undefined'){
1775
+ clearInterval(u);
1776
+ clearTimeout(setT);
1777
+ setT = setTimeout(canvasLoader,transPeriod+difference);
1778
+ }
1779
+
1780
+
1781
+ if($(pagination).length){
1782
+ $('.camera_pag li',wrap).removeClass('cameracurrent');
1783
+ $('.camera_pag li',wrap).eq(slideI).addClass('cameracurrent');
1784
+ }
1785
+
1786
+ if($(thumbs).length){
1787
+ $('li', thumbs).removeClass('cameracurrent');
1788
+ $('li', thumbs).eq(slideI).addClass('cameracurrent');
1789
+ $('li', thumbs).not('.cameracurrent').find('img').animate({opacity:.5},0);
1790
+ $('li.cameracurrent img', thumbs).animate({opacity:1},0);
1791
+ $('li', thumbs).hover(function(){
1792
+ $('img',this).stop(true,false).animate({opacity:1},150);
1793
+ },function(){
1794
+ if(!$(this).hasClass('cameracurrent')){
1795
+ $('img',this).stop(true,false).animate({opacity:.5},150);
1796
+ }
1797
+ });
1798
+ }
1799
+
1800
+
1801
+ var easedTime = parseFloat(transPeriod)+parseFloat(difference);
1802
+
1803
+ function cameraeased() {
1804
+
1805
+ $(this).addClass('cameraeased');
1806
+ if($('.cameraeased',target).length>=0){
1807
+ $(thumbs).css({visibility:'visible'});
1808
+ }
1809
+ if($('.cameraeased',target).length==blocks){
1810
+
1811
+ thumbnailPos();
1812
+
1813
+ $('.moveFromLeft, .moveFromRight, .moveFromTop, .moveFromBottom, .fadeIn, .fadeFromLeft, .fadeFromRight, .fadeFromTop, .fadeFromBottom',fakeHover).each(function(){
1814
+ $(this).css('visibility','hidden');
1815
+ });
1816
+
1817
+ selector.eq(slideI).show().css('z-index','999').removeClass('cameranext').addClass('cameracurrent');
1818
+ selector.eq(vis).css('z-index','1').removeClass('cameracurrent');
1819
+ $('.cameraContent',fakeHover).eq(slideI).addClass('cameracurrent');
1820
+ if (vis >= 0) {
1821
+ $('.cameraContent',fakeHover).eq(vis).removeClass('cameracurrent');
1822
+ }
1823
+
1824
+ opts.onEndTransition.call(this);
1825
+
1826
+ if($('> div', elem).eq(slideI).attr('data-video')!='hide' && $('.cameraContent.cameracurrent .imgFake',fakeHover).length ){
1827
+ $('.cameraContent.cameracurrent .imgFake',fakeHover).click();
1828
+ }
1829
+
1830
+
1831
+ var lMoveIn = selector.eq(slideI).find('.fadeIn').length;
1832
+ var lMoveInContent = $('.cameraContent',fakeHover).eq(slideI).find('.moveFromLeft, .moveFromRight, .moveFromTop, .moveFromBottom, .fadeIn, .fadeFromLeft, .fadeFromRight, .fadeFromTop, .fadeFromBottom').length;
1833
+
1834
+ if (lMoveIn!=0){
1835
+ $('.cameraSlide.cameracurrent .fadeIn',fakeHover).each(function(){
1836
+ if($(this).attr('data-easing')!=''){
1837
+ var easeMove = $(this).attr('data-easing');
1838
+ } else {
1839
+ var easeMove = easing;
1840
+ }
1841
+ var t = $(this);
1842
+ if(typeof t.attr('data-outerWidth') === 'undefined' || t.attr('data-outerWidth') === false || t.attr('data-outerWidth') === '') {
1843
+ var wMoveIn = t.outerWidth();
1844
+ t.attr('data-outerWidth',wMoveIn);
1845
+ } else {
1846
+ var wMoveIn = t.attr('data-outerWidth');
1847
+ }
1848
+ if(typeof t.attr('data-outerHeight') === 'undefined' || t.attr('data-outerHeight') === false || t.attr('data-outerHeight') === '') {
1849
+ var hMoveIn = t.outerHeight();
1850
+ t.attr('data-outerHeight',hMoveIn);
1851
+ } else {
1852
+ var hMoveIn = t.attr('data-outerHeight');
1853
+ }
1854
+ //t.css('width',wMoveIn);
1855
+ var pos = t.position();
1856
+ var left = pos.left;
1857
+ var top = pos.top;
1858
+ var tClass = t.attr('class');
1859
+ var ind = t.index();
1860
+ var hRel = t.parents('.camerarelative').outerHeight();
1861
+ var wRel = t.parents('.camerarelative').outerWidth();
1862
+ if(tClass.indexOf("fadeIn") != -1) {
1863
+ t.animate({opacity:0},0).css('visibility','visible').delay((time/lMoveIn)*(0.1*(ind-1))).animate({opacity:1},(time/lMoveIn)*0.15,easeMove);
1864
+ } else {
1865
+ t.css('visibility','visible');
1866
+ }
1867
+ });
1868
+ }
1869
+
1870
+ $('.cameraContent.cameracurrent',fakeHover).show();
1871
+ if (lMoveInContent!=0){
1872
+
1873
+ $('.cameraContent.cameracurrent .moveFromLeft, .cameraContent.cameracurrent .moveFromRight, .cameraContent.cameracurrent .moveFromTop, .cameraContent.cameracurrent .moveFromBottom, .cameraContent.cameracurrent .fadeIn, .cameraContent.cameracurrent .fadeFromLeft, .cameraContent.cameracurrent .fadeFromRight, .cameraContent.cameracurrent .fadeFromTop, .cameraContent.cameracurrent .fadeFromBottom',fakeHover).each(function(){
1874
+ if($(this).attr('data-easing')!=''){
1875
+ var easeMove = $(this).attr('data-easing');
1876
+ } else {
1877
+ var easeMove = easing;
1878
+ }
1879
+ var t = $(this);
1880
+ var pos = t.position();
1881
+ var left = pos.left;
1882
+ var top = pos.top;
1883
+ var tClass = t.attr('class');
1884
+ var ind = t.index();
1885
+ var thisH = t.outerHeight();
1886
+ if(tClass.indexOf("moveFromLeft") != -1) {
1887
+ t.css({'left':'-'+(w)+'px','right':'auto'});
1888
+ t.css('visibility','visible').delay((time/lMoveInContent)*(0.1*(ind-1))).animate({'left':pos.left},(time/lMoveInContent)*0.15,easeMove);
1889
+ } else if(tClass.indexOf("moveFromRight") != -1) {
1890
+ t.css({'left':w+'px','right':'auto'});
1891
+ t.css('visibility','visible').delay((time/lMoveInContent)*(0.1*(ind-1))).animate({'left':pos.left},(time/lMoveInContent)*0.15,easeMove);
1892
+ } else if(tClass.indexOf("moveFromTop") != -1) {
1893
+ t.css({'top':'-'+h+'px','bottom':'auto'});
1894
+ t.css('visibility','visible').delay((time/lMoveInContent)*(0.1*(ind-1))).animate({'top':pos.top},(time/lMoveInContent)*0.15,easeMove,function(){
1895
+ t.css({top:'auto',bottom:0});
1896
+ });
1897
+ } else if(tClass.indexOf("moveFromBottom") != -1) {
1898
+ t.css({'top':h+'px','bottom':'auto'});
1899
+ t.css('visibility','visible').delay((time/lMoveInContent)*(0.1*(ind-1))).animate({'top':pos.top},(time/lMoveInContent)*0.15,easeMove);
1900
+ } else if(tClass.indexOf("fadeFromLeft") != -1) {
1901
+ t.animate({opacity:0},0).css({'left':'-'+(w)+'px','right':'auto'});
1902
+ t.css('visibility','visible').delay((time/lMoveInContent)*(0.1*(ind-1))).animate({'left':pos.left,opacity:1},(time/lMoveInContent)*0.15,easeMove);
1903
+ } else if(tClass.indexOf("fadeFromRight") != -1) {
1904
+ t.animate({opacity:0},0).css({'left':(w)+'px','right':'auto'});
1905
+ t.css('visibility','visible').delay((time/lMoveInContent)*(0.1*(ind-1))).animate({'left':pos.left,opacity:1},(time/lMoveInContent)*0.15,easeMove);
1906
+ } else if(tClass.indexOf("fadeFromTop") != -1) {
1907
+ t.animate({opacity:0},0).css({'top':'-'+(h)+'px','bottom':'auto'});
1908
+ t.css('visibility','visible').delay((time/lMoveInContent)*(0.1*(ind-1))).animate({'top':pos.top,opacity:1},(time/lMoveInContent)*0.15,easeMove,function(){
1909
+ t.css({top:'auto',bottom:0});
1910
+ });
1911
+ } else if(tClass.indexOf("fadeFromBottom") != -1) {
1912
+ t.animate({opacity:0},0).css({'bottom':'-'+thisH+'px'});
1913
+ t.css('visibility','visible').delay((time/lMoveInContent)*(0.1*(ind-1))).animate({'bottom':'0',opacity:1},(time/lMoveInContent)*0.15,easeMove);
1914
+ } else if(tClass.indexOf("fadeIn") != -1) {
1915
+ t.animate({opacity:0},0).css('visibility','visible').delay((time/lMoveInContent)*(0.1*(ind-1))).animate({opacity:1},(time/lMoveInContent)*0.15,easeMove);
1916
+ } else {
1917
+ t.css('visibility','visible');
1918
+ }
1919
+ });
1920
+ }
1921
+
1922
+
1923
+ $('.cameraappended',target).remove();
1924
+ elem.removeClass('camerasliding');
1925
+ selector.eq(vis).hide();
1926
+ var barWidth = $('.camera_bar_cont',camera_thumbs_wrap).width(),
1927
+ barHeight = $('.camera_bar_cont',camera_thumbs_wrap).height(),
1928
+ radSum;
1929
+ if (loader != 'pie') {
1930
+ radSum = 0.05;
1931
+ } else {
1932
+ radSum = 0.005;
1933
+ }
1934
+ $('#'+pieID).animate({opacity:opts.loaderOpacity},200);
1935
+ u = setInterval(
1936
+ function(){
1937
+ if(elem.hasClass('stopped')){
1938
+ clearInterval(u);
1939
+ }
1940
+ if (loader != 'pie') {
1941
+ if(rad<=1.002 && !elem.hasClass('stopped') && !elem.hasClass('paused') && !elem.hasClass('hovered')){
1942
+ rad = (rad+radSum);
1943
+ } else if (rad<=1 && (elem.hasClass('stopped') || elem.hasClass('paused') || elem.hasClass('stopped') || elem.hasClass('hovered'))){
1944
+ rad = rad;
1945
+ } else {
1946
+ if(!elem.hasClass('stopped') && !elem.hasClass('paused') && !elem.hasClass('hovered')) {
1947
+ clearInterval(u);
1948
+ imgFake();
1949
+ $('#'+pieID).animate({opacity:0},200,function(){
1950
+ clearTimeout(setT);
1951
+ setT = setTimeout(canvasLoader,easedTime);
1952
+ nextSlide();
1953
+ opts.onStartLoading.call(this);
1954
+ });
1955
+ }
1956
+ }
1957
+ switch(barDirection){
1958
+ case 'leftToRight':
1959
+ $('#'+pieID).animate({'right':barWidth-(barWidth*rad)},(time*radSum),'linear');
1960
+ break;
1961
+ case 'rightToLeft':
1962
+ $('#'+pieID).animate({'left':barWidth-(barWidth*rad)},(time*radSum),'linear');
1963
+ break;
1964
+ case 'topToBottom':
1965
+ $('#'+pieID).animate({'bottom':barHeight-(barHeight*rad)},(time*radSum),'linear');
1966
+ break;
1967
+ case 'bottomToTop':
1968
+ $('#'+pieID).animate({'bottom':barHeight-(barHeight*rad)},(time*radSum),'linear');
1969
+ break;
1970
+ }
1971
+
1972
+ } else {
1973
+ radNew = rad;
1974
+ ctx.clearRect(0,0,opts.pieDiameter,opts.pieDiameter);
1975
+ ctx.globalCompositeOperation = 'destination-over';
1976
+ ctx.beginPath();
1977
+ ctx.arc((opts.pieDiameter)/2, (opts.pieDiameter)/2, (opts.pieDiameter)/2-opts.loaderStroke,0,Math.PI*2,false);
1978
+ ctx.lineWidth = opts.loaderStroke;
1979
+ ctx.strokeStyle = opts.loaderBgColor;
1980
+ ctx.stroke();
1981
+ ctx.closePath();
1982
+ ctx.globalCompositeOperation = 'source-over';
1983
+ ctx.beginPath();
1984
+ ctx.arc((opts.pieDiameter)/2, (opts.pieDiameter)/2, (opts.pieDiameter)/2-opts.loaderStroke,0,Math.PI*2*radNew,false);
1985
+ ctx.lineWidth = opts.loaderStroke-(opts.loaderPadding*2);
1986
+ ctx.strokeStyle = opts.loaderColor;
1987
+ ctx.stroke();
1988
+ ctx.closePath();
1989
+
1990
+ if(rad<=1.002 && !elem.hasClass('stopped') && !elem.hasClass('paused') && !elem.hasClass('hovered')){
1991
+ rad = (rad+radSum);
1992
+ } else if (rad<=1 && (elem.hasClass('stopped') || elem.hasClass('paused') || elem.hasClass('hovered'))){
1993
+ rad = rad;
1994
+ } else {
1995
+ if(!elem.hasClass('stopped') && !elem.hasClass('paused') && !elem.hasClass('hovered')) {
1996
+ clearInterval(u);
1997
+ imgFake();
1998
+ $('#'+pieID+', .camera_canvas_wrap',camera_thumbs_wrap).animate({opacity:0},200,function(){
1999
+ clearTimeout(setT);
2000
+ setT = setTimeout(canvasLoader,easedTime);
2001
+ nextSlide();
2002
+ opts.onStartLoading.call(this);
2003
+ });
2004
+ }
2005
+ }
2006
+ }
2007
+ },time*radSum
2008
+ );
2009
+ }
2010
+
2011
+ }
2012
+
2013
+
2014
+
2015
+ if(fx=='scrollLeft' || fx=='scrollRight' || fx=='scrollTop' || fx=='scrollBottom' || fx=='scrollHorz'){
2016
+ opts.onStartTransition.call(this);
2017
+ easedTime = 0;
2018
+ tApp.delay((((transPeriod+difference)/blocks)*delay[index]*couples)*0.5).css({
2019
+ 'display' : 'block',
2020
+ 'height': height,
2021
+ 'margin-left': marginLeft,
2022
+ 'margin-top': marginTop,
2023
+ 'width': width
2024
+ }).animate({
2025
+ 'height': Math.floor((h/rows)+addTop+1),
2026
+ 'margin-top' : 0,
2027
+ 'margin-left' : 0,
2028
+ 'width' : Math.floor((w/cols)+addLeft+1)
2029
+ },(transPeriod-difference),easing,cameraeased);
2030
+ selector.eq(vis).delay((((transPeriod+difference)/blocks)*delay[index]*couples)*0.5).animate({
2031
+ 'margin-left': marginLeft*(-1),
2032
+ 'margin-top': marginTop*(-1)
2033
+ },(transPeriod-difference),easing,function(){
2034
+ $(this).css({'margin-top' : 0,'margin-left' : 0});
2035
+ });
2036
+ } else {
2037
+ opts.onStartTransition.call(this);
2038
+ easedTime = parseFloat(transPeriod)+parseFloat(difference);
2039
+ if(slideOn=='next'){
2040
+ tApp.delay((((transPeriod+difference)/blocks)*delay[index]*couples)*0.5).css({
2041
+ 'display' : 'block',
2042
+ 'height': height,
2043
+ 'margin-left': marginLeft,
2044
+ 'margin-top': marginTop,
2045
+ 'width': width,
2046
+ 'opacity' : opacityOnGrid
2047
+ }).animate({
2048
+ 'height': Math.floor((h/rows)+addTop+1),
2049
+ 'margin-top' : 0,
2050
+ 'margin-left' : 0,
2051
+ 'opacity' : 1,
2052
+ 'width' : Math.floor((w/cols)+addLeft+1)
2053
+ },(transPeriod-difference),easing,cameraeased);
2054
+ } else {
2055
+ selector.eq(slideI).show().css('z-index','999').addClass('cameracurrent');
2056
+ selector.eq(vis).css('z-index','1').removeClass('cameracurrent');
2057
+ $('.cameraContent',fakeHover).eq(slideI).addClass('cameracurrent');
2058
+ $('.cameraContent',fakeHover).eq(vis).removeClass('cameracurrent');
2059
+ tApp.delay((((transPeriod+difference)/blocks)*delay[index]*couples)*0.5).css({
2060
+ 'display' : 'block',
2061
+ 'height': Math.floor((h/rows)+addTop+1),
2062
+ 'margin-top' : 0,
2063
+ 'margin-left' : 0,
2064
+ 'opacity' : 1,
2065
+ 'width' : Math.floor((w/cols)+addLeft+1)
2066
+ }).animate({
2067
+ 'height': height,
2068
+ 'margin-left': marginLeft,
2069
+ 'margin-top': marginTop,
2070
+ 'width': width,
2071
+ 'opacity' : opacityOnGrid
2072
+ },(transPeriod-difference),easing,cameraeased);
2073
+ }
2074
+ }
2075
+
2076
+
2077
+
2078
+
2079
+
2080
+ });
2081
+
2082
+
2083
+
2084
+
2085
+ }
2086
+ }
2087
+
2088
+
2089
+ if($(prevNav).length){
2090
+ $(prevNav).click(function(){
2091
+ if(!elem.hasClass('camerasliding')){
2092
+ var idNum = parseFloat($('.cameraSlide.cameracurrent',target).index());
2093
+ clearInterval(u);
2094
+ imgFake();
2095
+ $('#'+pieID+', .camera_canvas_wrap',wrap).animate({opacity:0},0);
2096
+ canvasLoader();
2097
+ if(idNum!=0){
2098
+ nextSlide(idNum);
2099
+ } else {
2100
+ nextSlide(amountSlide);
2101
+ }
2102
+ opts.onStartLoading.call(this);
2103
+ }
2104
+ });
2105
+ }
2106
+
2107
+ if($(nextNav).length){
2108
+ $(nextNav).click(function(){
2109
+ if(!elem.hasClass('camerasliding')){
2110
+ var idNum = parseFloat($('.cameraSlide.cameracurrent',target).index());
2111
+ clearInterval(u);
2112
+ imgFake();
2113
+ $('#'+pieID+', .camera_canvas_wrap',camera_thumbs_wrap).animate({opacity:0},0);
2114
+ canvasLoader();
2115
+ if(idNum==amountSlide-1){
2116
+ nextSlide(1);
2117
+ } else {
2118
+ nextSlide(idNum+2);
2119
+ }
2120
+ opts.onStartLoading.call(this);
2121
+ }
2122
+ });
2123
+ }
2124
+
2125
+
2126
+ if(isMobile()){
2127
+ fakeHover.bind('swipeleft',function(event){
2128
+ if(!elem.hasClass('camerasliding')){
2129
+ var idNum = parseFloat($('.cameraSlide.cameracurrent',target).index());
2130
+ clearInterval(u);
2131
+ imgFake();
2132
+ $('#'+pieID+', .camera_canvas_wrap',camera_thumbs_wrap).animate({opacity:0},0);
2133
+ canvasLoader();
2134
+ if(idNum==amountSlide-1){
2135
+ nextSlide(1);
2136
+ } else {
2137
+ nextSlide(idNum+2);
2138
+ }
2139
+ opts.onStartLoading.call(this);
2140
+ }
2141
+ });
2142
+ fakeHover.bind('swiperight',function(event){
2143
+ if(!elem.hasClass('camerasliding')){
2144
+ var idNum = parseFloat($('.cameraSlide.cameracurrent',target).index());
2145
+ clearInterval(u);
2146
+ imgFake();
2147
+ $('#'+pieID+', .camera_canvas_wrap',camera_thumbs_wrap).animate({opacity:0},0);
2148
+ canvasLoader();
2149
+ if(idNum!=0){
2150
+ nextSlide(idNum);
2151
+ } else {
2152
+ nextSlide(amountSlide);
2153
+ }
2154
+ opts.onStartLoading.call(this);
2155
+ }
2156
+ });
2157
+ }
2158
+
2159
+ if($(pagination).length){
2160
+ $('.camera_pag li',wrap).click(function(){
2161
+ if(!elem.hasClass('camerasliding')){
2162
+ var idNum = parseFloat($(this).index());
2163
+ var curNum = parseFloat($('.cameraSlide.cameracurrent',target).index());
2164
+ if(idNum!=curNum) {
2165
+ clearInterval(u);
2166
+ imgFake();
2167
+ $('#'+pieID+', .camera_canvas_wrap',camera_thumbs_wrap).animate({opacity:0},0);
2168
+ canvasLoader();
2169
+ nextSlide(idNum+1);
2170
+ opts.onStartLoading.call(this);
2171
+ }
2172
+ }
2173
+ });
2174
+ }
2175
+
2176
+ if($(thumbs).length) {
2177
+
2178
+ $('.pix_thumb img',thumbs).click(function(){
2179
+ if(!elem.hasClass('camerasliding')){
2180
+ var idNum = parseFloat($(this).parents('li').index());
2181
+ var curNum = parseFloat($('.cameracurrent',target).index());
2182
+ if(idNum!=curNum) {
2183
+ clearInterval(u);
2184
+ imgFake();
2185
+ $('#'+pieID+', .camera_canvas_wrap',camera_thumbs_wrap).animate({opacity:0},0);
2186
+ $('.pix_thumb',thumbs).removeClass('cameracurrent');
2187
+ $(this).parents('li').addClass('cameracurrent');
2188
+ canvasLoader();
2189
+ nextSlide(idNum+1);
2190
+ thumbnailPos();
2191
+ opts.onStartLoading.call(this);
2192
+ }
2193
+ }
2194
+ });
2195
+
2196
+ $('.camera_thumbs_cont .camera_prevThumbs',camera_thumbs_wrap).hover(function(){
2197
+ $(this).stop(true,false).animate({opacity:1},250);
2198
+ },function(){
2199
+ $(this).stop(true,false).animate({opacity:.7},250);
2200
+ });
2201
+ $('.camera_prevThumbs',camera_thumbs_wrap).click(function(){
2202
+ var sum = 0,
2203
+ wTh = $(thumbs).outerWidth(),
2204
+ offUl = $('ul', thumbs).offset().left,
2205
+ offDiv = $('> div', thumbs).offset().left,
2206
+ ulLeft = offDiv-offUl;
2207
+ $('.camera_visThumb',thumbs).each(function(){
2208
+ var tW = $(this).outerWidth();
2209
+ sum = sum+tW;
2210
+ });
2211
+ if(ulLeft-sum>0){
2212
+ $('ul', thumbs).animate({'margin-left':'-'+(ulLeft-sum)+'px'},500,thumbnailVisible);
2213
+ } else {
2214
+ $('ul', thumbs).animate({'margin-left':0},500,thumbnailVisible);
2215
+ }
2216
+ });
2217
+
2218
+ $('.camera_thumbs_cont .camera_nextThumbs',camera_thumbs_wrap).hover(function(){
2219
+ $(this).stop(true,false).animate({opacity:1},250);
2220
+ },function(){
2221
+ $(this).stop(true,false).animate({opacity:.7},250);
2222
+ });
2223
+ $('.camera_nextThumbs',camera_thumbs_wrap).click(function(){
2224
+ var sum = 0,
2225
+ wTh = $(thumbs).outerWidth(),
2226
+ ulW = $('ul', thumbs).outerWidth(),
2227
+ offUl = $('ul', thumbs).offset().left,
2228
+ offDiv = $('> div', thumbs).offset().left,
2229
+ ulLeft = offDiv-offUl;
2230
+ $('.camera_visThumb',thumbs).each(function(){
2231
+ var tW = $(this).outerWidth();
2232
+ sum = sum+tW;
2233
+ });
2234
+ if(ulLeft+sum+sum<ulW){
2235
+ $('ul', thumbs).animate({'margin-left':'-'+(ulLeft+sum)+'px'},500,thumbnailVisible);
2236
+ } else {
2237
+ $('ul', thumbs).animate({'margin-left':'-'+(ulW-wTh)+'px'},500,thumbnailVisible);
2238
+ }
2239
+ });
2240
+
2241
+ }
2242
+
2243
+
2244
+
2245
+ }
2246
+
2247
+ })(NetBase);
2248
+
2249
+ ;(function($){$.fn.cameraStop = function() {
2250
+ var wrap = $(this),
2251
+ elem = $('.camera_src',wrap),
2252
+ pieID = 'pie_'+wrap.index();
2253
+ elem.addClass('stopped');
2254
+ if($('.camera_showcommands').length) {
2255
+ var camera_thumbs_wrap = $('.camera_thumbs_wrap',wrap);
2256
+ } else {
2257
+ var camera_thumbs_wrap = wrap;
2258
+ }
2259
+ }
2260
+ })(NetBase);
2261
+
2262
+ ;(function($){$.fn.cameraPause = function() {
2263
+ var wrap = $(this);
2264
+ var elem = $('.camera_src',wrap);
2265
+ elem.addClass('paused');
2266
+ }
2267
+ })(NetBase);
2268
+
2269
+ ;(function($){$.fn.cameraResume = function() {
2270
+ var wrap = $(this);
2271
+ var elem = $('.camera_src',wrap);
2272
+ if(typeof autoAdv === 'undefined' || autoAdv!==true){
2273
+ elem.removeClass('paused');
2274
+ }
2275
+ }
2276
+ })(NetBase);
js/cmsmart/slideshow/camera/camera_skins.png ADDED
Binary file
js/cmsmart/slideshow/camera/jquery.easing.1.3.js ADDED
@@ -0,0 +1,179 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Name Extension: Slideshow Homepage
3
+ * Version: 1.0.0
4
+ * Author: The Cmsmart Development Team
5
+ * Date Created: 16/09/2013
6
+ * Websites: http://cmsmart.net
7
+ * Technical Support: Forum - http://cmsmart.net/support
8
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
9
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
10
+ */
11
+
12
+ // t: current time, b: begInnIng value, c: change In value, d: duration
13
+ NetBase.easing['jswing'] = NetBase.easing['swing'];
14
+
15
+ NetBase.extend( NetBase.easing,
16
+ {
17
+ def: 'easeOutQuad',
18
+ swing: function (x, t, b, c, d) {
19
+ //alert(NetBase.easing.default);
20
+ return NetBase.easing[NetBase.easing.def](x, t, b, c, d);
21
+ },
22
+ easeInQuad: function (x, t, b, c, d) {
23
+ return c*(t/=d)*t + b;
24
+ },
25
+ easeOutQuad: function (x, t, b, c, d) {
26
+ return -c *(t/=d)*(t-2) + b;
27
+ },
28
+ easeInOutQuad: function (x, t, b, c, d) {
29
+ if ((t/=d/2) < 1) return c/2*t*t + b;
30
+ return -c/2 * ((--t)*(t-2) - 1) + b;
31
+ },
32
+ easeInCubic: function (x, t, b, c, d) {
33
+ return c*(t/=d)*t*t + b;
34
+ },
35
+ easeOutCubic: function (x, t, b, c, d) {
36
+ return c*((t=t/d-1)*t*t + 1) + b;
37
+ },
38
+ easeInOutCubic: function (x, t, b, c, d) {
39
+ if ((t/=d/2) < 1) return c/2*t*t*t + b;
40
+ return c/2*((t-=2)*t*t + 2) + b;
41
+ },
42
+ easeInQuart: function (x, t, b, c, d) {
43
+ return c*(t/=d)*t*t*t + b;
44
+ },
45
+ easeOutQuart: function (x, t, b, c, d) {
46
+ return -c * ((t=t/d-1)*t*t*t - 1) + b;
47
+ },
48
+ easeInOutQuart: function (x, t, b, c, d) {
49
+ if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
50
+ return -c/2 * ((t-=2)*t*t*t - 2) + b;
51
+ },
52
+ easeInQuint: function (x, t, b, c, d) {
53
+ return c*(t/=d)*t*t*t*t + b;
54
+ },
55
+ easeOutQuint: function (x, t, b, c, d) {
56
+ return c*((t=t/d-1)*t*t*t*t + 1) + b;
57
+ },
58
+ easeInOutQuint: function (x, t, b, c, d) {
59
+ if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
60
+ return c/2*((t-=2)*t*t*t*t + 2) + b;
61
+ },
62
+ easeInSine: function (x, t, b, c, d) {
63
+ return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
64
+ },
65
+ easeOutSine: function (x, t, b, c, d) {
66
+ return c * Math.sin(t/d * (Math.PI/2)) + b;
67
+ },
68
+ easeInOutSine: function (x, t, b, c, d) {
69
+ return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
70
+ },
71
+ easeInExpo: function (x, t, b, c, d) {
72
+ return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
73
+ },
74
+ easeOutExpo: function (x, t, b, c, d) {
75
+ return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
76
+ },
77
+ easeInOutExpo: function (x, t, b, c, d) {
78
+ if (t==0) return b;
79
+ if (t==d) return b+c;
80
+ if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
81
+ return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
82
+ },
83
+ easeInCirc: function (x, t, b, c, d) {
84
+ return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
85
+ },
86
+ easeOutCirc: function (x, t, b, c, d) {
87
+ return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
88
+ },
89
+ easeInOutCirc: function (x, t, b, c, d) {
90
+ if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
91
+ return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
92
+ },
93
+ easeInElastic: function (x, t, b, c, d) {
94
+ var s=1.70158;var p=0;var a=c;
95
+ if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
96
+ if (a < Math.abs(c)) { a=c; var s=p/4; }
97
+ else var s = p/(2*Math.PI) * Math.asin (c/a);
98
+ return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
99
+ },
100
+ easeOutElastic: function (x, t, b, c, d) {
101
+ var s=1.70158;var p=0;var a=c;
102
+ if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
103
+ if (a < Math.abs(c)) { a=c; var s=p/4; }
104
+ else var s = p/(2*Math.PI) * Math.asin (c/a);
105
+ return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
106
+ },
107
+ easeInOutElastic: function (x, t, b, c, d) {
108
+ var s=1.70158;var p=0;var a=c;
109
+ if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5);
110
+ if (a < Math.abs(c)) { a=c; var s=p/4; }
111
+ else var s = p/(2*Math.PI) * Math.asin (c/a);
112
+ if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
113
+ return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
114
+ },
115
+ easeInBack: function (x, t, b, c, d, s) {
116
+ if (s == undefined) s = 1.70158;
117
+ return c*(t/=d)*t*((s+1)*t - s) + b;
118
+ },
119
+ easeOutBack: function (x, t, b, c, d, s) {
120
+ if (s == undefined) s = 1.70158;
121
+ return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
122
+ },
123
+ easeInOutBack: function (x, t, b, c, d, s) {
124
+ if (s == undefined) s = 1.70158;
125
+ if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
126
+ return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
127
+ },
128
+ easeInBounce: function (x, t, b, c, d) {
129
+ return c - NetBase.easing.easeOutBounce (x, d-t, 0, c, d) + b;
130
+ },
131
+ easeOutBounce: function (x, t, b, c, d) {
132
+ if ((t/=d) < (1/2.75)) {
133
+ return c*(7.5625*t*t) + b;
134
+ } else if (t < (2/2.75)) {
135
+ return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
136
+ } else if (t < (2.5/2.75)) {
137
+ return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
138
+ } else {
139
+ return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
140
+ }
141
+ },
142
+ easeInOutBounce: function (x, t, b, c, d) {
143
+ if (t < d/2) return NetBase.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
144
+ return NetBase.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
145
+ }
146
+ });
147
+
148
+ /*
149
+ *
150
+ * TERMS OF USE - EASING EQUATIONS
151
+ *
152
+ * Open source under the BSD License.
153
+ *
154
+ * Copyright © 2001 Robert Penner
155
+ * All rights reserved.
156
+ *
157
+ * Redistribution and use in source and binary forms, with or without modification,
158
+ * are permitted provided that the following conditions are met:
159
+ *
160
+ * Redistributions of source code must retain the above copyright notice, this list of
161
+ * conditions and the following disclaimer.
162
+ * Redistributions in binary form must reproduce the above copyright notice, this list
163
+ * of conditions and the following disclaimer in the documentation and/or other materials
164
+ * provided with the distribution.
165
+ *
166
+ * Neither the name of the author nor the names of contributors may be used to endorse
167
+ * or promote products derived from this software without specific prior written permission.
168
+ *
169
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
170
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
171
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
172
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
173
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
174
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
175
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
176
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
177
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
178
+ *
179
+ */
js/cmsmart/slideshow/camera/jquery.min.js ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Name Extension: Slideshow Homepage
3
+ * Version: 1.0.0
4
+ * Author: The Cmsmart Development Team
5
+ * Date Created: 16/09/2013
6
+ * Websites: http://cmsmart.net
7
+ * Technical Support: Forum - http://cmsmart.net/support
8
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
9
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
10
+ */
11
+
12
+ (function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(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 cb(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 ca(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bE.test(a)?d(a,e):ca(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)ca(a+"["+e+"]",b[e],c,d);else d(a,b)}function b_(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function b$(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===bT,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=b$(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=b$(a,c,d,e,"*",g));return l}function bZ(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bP),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 bC(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bx:by,g=0,h=e.length;if(d>0){if(c!=="border")for(;g<h;g++)c||(d-=parseFloat(f.css(a,"padding"+e[g]))||0),c==="margin"?d+=parseFloat(f.css(a,c+e[g]))||0:d-=parseFloat(f.css(a,"border"+e[g]+"Width"))||0;return d+"px"}d=bz(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0;if(c)for(;g<h;g++)d+=parseFloat(f.css(a,"padding"+e[g]))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+e[g]+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+e[g]))||0);return d+"px"}function bp(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bf,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bo(a){var b=c.createElement("div");bh.appendChild(b),b.innerHTML=a.outerHTML;return b.firstChild}function bn(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bm(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bm)}function bm(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bl(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bk(a,b){var c;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 bj(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d<e;d++)f.event.add(b,c+(i[c][d].namespace?".":"")+i[c][d].namespace,i[c][d],i[c][d].data)}h.data&&(h.data=f.extend({},h.data))}}function bi(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function U(a){var b=V.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function T(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(O.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?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 J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.NetBase,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.netbase?(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:"",netbase:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.NetBase===e&&(a.NetBase=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:G?function(a){return a==null?"":G.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b,c){var d;if(b){if(H)return H.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){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=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g={};f.Callbacks=function(a){a=a?g[a]||h(a):{};var c=[],d=[],e,i,j,k,l,m=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(){i.done.apply(i,arguments).fail.apply(i,arguments);return this},pipe:function(a,b,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c=b[0],e=b[1],g;f.isFunction(c)?i[a](function(){g=c.apply(this,arguments),g&&f.isFunction(g.promise)?g.promise().then(d.resolve,d.reject,d.notify):d[e+"With"](this===i?d:this,[g])}):i[a](d[e])})}).promise()},promise:function(a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}},i=h.promise({}),j;for(j in g)i[j]=g[j].fire,i[j+"With"]=g[j].fireWith;i.done(function(){e="resolved"},c.disable,d.lock).fail(function(){e="rejected"},b.disable,d.lock),a&&a.call(i,i);return i},when:function(a){function m(a){return function(b){e[a]=arguments.length>1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c<d;c++)b[c]&&b[c].promise&&f.isFunction(b[c].promise)?b[c].promise().then(l(c),j.reject,m(c)):--g;g||j.resolveWith(j,b)}else j!==a&&j.resolveWith(j,d?[a]:[]);return k}}),f.support=function(){var b,d,e,g,h,i,j,k,l,m,n,o,p,q=c.createElement("div"),r=c.documentElement;q.setAttribute("className","t"),q.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="<div "+n+"><div></div></div>"+"<table "+n+" cellpadding='0' cellspacing='0'>"+"<tr><td></td></tr></table>",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="<div style='width:4px;'></div>",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"NetBase"+(f.fn.netbase+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e<g;e++)delete d[b[e]];if(!(c?m:f.isEmptyObject)(d))return}}if(!c){delete j[k].data;if(!m(j[k]))return}f.support.deleteExpando||!j.setInterval?delete j[k]:j[k]=null,i&&(f.support.deleteExpando?delete a[h]:a.removeAttribute?a.removeAttribute(h):a[h]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d,e,g,h=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){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}})}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}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c<d;c++){e=i[c];if(e.selected&&(f.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!f.nodeName(e.parentNode,"optgroup"))){b=f(e).val();if(j)return b;h.push(b)}}if(j&&!h.length&&i.length)return f(i[g]).val();return h},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h<g;h++)e=d[h],e&&(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){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=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};
13
+ 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=f.trim(I(c)).split(" ");for(k=0;k<c.length;k++){l=A.exec(c[k])||[],m=l[1],n=(l[2]||"").split(".").sort(),s=f.event.special[m]||{},m=(g?s.delegateType:s.bindType)||m,s=f.event.special[m]||{},o=f.extend({type:m,origType:l[1],data:e,handler:d,guid:d.guid,selector:g,quick:G(g),namespace:n.join(".")},p),r=j[m];if(!r){r=j[m]=[],r.delegateCount=0;if(!s.setup||s.setup.call(a,e,n,i)===!1)a.addEventListener?a.addEventListener(m,i,!1):a.attachEvent&&a.attachEvent("on"+m,i)}s.add&&(s.add.call(a,o),o.handler.guid||(o.handler.guid=d.guid)),g?r.splice(r.delegateCount++,0,o):r.push(o),f.event.global[m]=!0}a=null}},global:{},remove:function(a,b,c,d,e){var g=f.hasData(a)&&f._data(a),h,i,j,k,l,m,n,o,p,q,r,s;if(!!g&&!!(o=g.events)){b=f.trim(I(b||"")).split(" ");for(h=0;h<b.length;h++){i=A.exec(b[h])||[],j=k=i[1],l=i[2];if(!j){for(j in o)f.event.remove(a,j+b[h],c,d,!0);continue}p=f.event.special[j]||{},j=(d?p.delegateType:p.bindType)||j,r=o[j]||[],m=r.length,l=l?new RegExp("(^|\\.)"+l.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(n=0;n<r.length;n++)s=r[n],(e||k===s.origType)&&(!c||c.guid===s.guid)&&(!l||l.test(s.namespace))&&(!d||d===s.selector||d==="**"&&s.selector)&&(r.splice(n--,1),s.selector&&r.delegateCount--,p.remove&&p.remove.call(a,s));r.length===0&&m!==r.length&&((!p.teardown||p.teardown.call(a,l)===!1)&&f.removeEvent(a,j,g.handle),delete o[j])}f.isEmptyObject(o)&&(q=g.handle,q&&(q.elem=null),f.removeData(a,["events","handle"],!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){if(!e||e.nodeType!==3&&e.nodeType!==8){var h=c.type||c,i=[],j,k,l,m,n,o,p,q,r,s;if(E.test(h+f.event.triggered))return;h.indexOf("!")>=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;l<r.length&&!c.isPropagationStopped();l++)m=r[l][0],c.type=r[l][1],q=(f._data(m,"events")||{})[c.type]&&f._data(m,"handle"),q&&q.apply(m,d),q=o&&m[o],q&&f.acceptData(m)&&q.apply(m,d)===!1&&c.preventDefault();c.type=h,!g&&!c.isDefaultPrevented()&&(!p._default||p._default.apply(e.ownerDocument,d)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)&&o&&e[h]&&(h!=="focus"&&h!=="blur"||c.target.offsetWidth!==0)&&!f.isWindow(e)&&(n=e[o],n&&(e[o]=null),f.event.triggered=h,e[h](),f.event.triggered=b,n&&(e[o]=n));return c.result}},dispatch:function(c){c=f.event.fix(c||a.event);var d=(f._data(this,"events")||{})[c.type]||[],e=d.delegateCount,g=[].slice.call(arguments,0),h=!c.exclusive&&!c.namespace,i=[],j,k,l,m,n,o,p,q,r,s,t;g[0]=c,c.delegateTarget=this;if(e&&!c.target.disabled&&(!c.button||c.type!=="click")){m=f(this),m.context=this.ownerDocument||this;for(l=c.target;l!=this;l=l.parentNode||this){o={},q=[],m[0]=l;for(j=0;j<e;j++)r=d[j],s=r.selector,o[s]===b&&(o[s]=r.quick?H(l,r.quick):m.is(s)),o[s]&&q.push(r);q.length&&i.push({elem:l,matches:q})}}d.length>e&&i.push({elem:this,matches:d.slice(e)});for(j=0;j<i.length&&!c.isPropagationStopped();j++){p=i[j],c.currentTarget=p.elem;for(k=0;k<p.matches.length&&!c.isImmediatePropagationStopped();k++){r=p.matches[k];if(h||!c.namespace&&!r.namespace||c.namespace_re&&c.namespace_re.test(r.namespace))c.data=r.data,c.handleObj=r,n=((f.event.special[r.origType]||{}).handle||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".split(" "),filter:function(a,d){var e,f,g,h=d.button,i=d.fromElement;a.pageX==null&&d.clientX!=null&&(e=a.target.ownerDocument||c,f=e.documentElement,g=e.body,a.pageX=d.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=d.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?d.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0);return a}},fix:function(a){if(a[f.expando])return a;var d,e,g=a,h=f.event.fixHooks[a.type]||{},i=h.props?this.props.concat(h.props):this.props;a=f.Event(g);for(d=i.length;d;)e=i[--d],a[e]=g[e];a.target||(a.target=g.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey===b&&(a.metaKey=a.ctrlKey);return h.filter?h.filter(a,g):a},special:{ready:{setup:f.bindReady},load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=f.extend(new f.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?f.event.trigger(e,null,b):f.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},f.event.handle=f.event.dispatch,f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!(this instanceof f.Event))return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?K:J):this.type=a,b&&f.extend(this,b),this.timeStamp=a&&a.timeStamp||f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=K;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=K;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=K,this.stopPropagation()},isDefaultPrevented:J,isPropagationStopped:J,isImmediatePropagationStopped:J},f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c=this,d=a.relatedTarget,e=a.handleObj,g=e.selector,h;if(!d||d!==c&&!f.contains(c,d))a.type=e.origType,h=e.handler.apply(this,arguments),a.type=b;return h}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(){if(f.nodeName(this,"form"))return!1;f.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=f.nodeName(c,"input")||f.nodeName(c,"button")?c.form:b;d&&!d._submit_attached&&(f.event.add(d,"submit._submit",function(a){this.parentNode&&!a.isTrigger&&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(z.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")f.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),f.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1,f.event.simulate("change",this,a,!0))});return!1}f.event.add(this,"beforeactivate._change",function(a){var b=a.target;z.test(b.nodeName)&&!b._change_attached&&(f.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&f.event.simulate("change",this.parentNode,a,!0)}),b._change_attached=!0)})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){f.event.remove(this,"._change");return z.test(this.nodeName)}}),f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){var d=0,e=function(a){f.event.simulate(b,a.target,f.event.fix(a),!0)};f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.fn.extend({on:function(a,c,d,e,g){var h,i;if(typeof a=="object"){typeof c!="string"&&(d=c,c=b);for(i in a)this.on(i,c,d,a[i],g);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=J;else if(!e)return this;g===1&&(h=e,e=function(a){f().off(a);return h.apply(this,arguments)},e.guid=h.guid||(h.guid=f.guid++));return this.each(function(){f.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on.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=J);return this.each(function(){f.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){f(this.context).on(a,this.selector,b,c);return this},die:function(a,b){f(this.context).off(a,this.selector||"**",b);return this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length==1?this.off(a,"**"):this.off(b,a,c)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f._data(this,"lastToggle"+a.guid)||0)%d;f._data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}if(j.nodeType===1){g||(j[d]=c,j.sizset=h);if(typeof b!="string"){if(j===b){k=!0;break}}else if(m.filter(b,[j]).length>0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}j.nodeType===1&&!g&&(j[d]=c,j.sizset=h);if(j.nodeName.toLowerCase()===b){k=j;break}j=j[a]}e[h]=k}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},m.matches=function(a,b){return m(a,null,null,b)},m.matchesSelector=function(a,b){return m(b,null,null,[a]).length>0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e<f;e++){h=o.order[e];if(g=o.leftMatch[h].exec(a)){i=g[1],g.splice(1,1);if(i.substr(i.length-1)!=="\\"){g[1]=(g[1]||"").replace(j,""),d=o.find[h](g,b,c);if(d!=null){a=a.replace(o.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},m.filter=function(a,c,d,e){var f,g,h,i,j,k,l,n,p,q=a,r=[],s=c,t=c&&c[0]&&m.isXML(c[0]);while(a&&c.length){for(h in o.filter)if((f=o.leftMatch[h].exec(a))!=null&&f[2]){k=o.filter[h],l=f[1],g=!1,f.splice(1,1);if(l.substr(l.length-1)==="\\")continue;s===r&&(r=[]);if(o.preFilter[h]){f=o.preFilter[h](f,s,d,r,e,t);if(!f)g=i=!0;else if(f===!0)continue}if(f)for(n=0;(j=s[n])!=null;n++)j&&(i=k(j,f,n,s),p=e^i,d&&i!=null?p?g=!0:s[n]=!1:p&&(r.push(j),g=!0));if(i!==b){d||(s=r),a=a.replace(o.match[h],"");if(!g)return[];break}}if(a===q)if(g==null)m.error(a);else break;q=a}return s},m.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)};var n=m.getText=function(a){var b,c,d=a.nodeType,e="";if(d){if(d===1||d===9){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 L=/Until$/,M=/^(?:parents|prevUntil|prevAll)/,N=/,/,O=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,Q=f.expr.match.POS,R={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(T(this,a,!1),"not",a)},filter:function(a){return this.pushStack(T(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?Q.test(a)?f(a,this.context).index(this[0])>=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d<a.length;d++)f(g).is(a[d])&&c.push({selector:a[d],elem:g,level:h});g=g.parentNode,h++}return c}var i=Q.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(i?i.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.netbase?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ NetBase\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/<tbody/i,_=/<|&#?\w+;/,ba=/<(?:script|style)/i,bb=/<(?:script|object|embed|option|style)/i,bc=new RegExp("<(?:"+V+")","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*<!(?:\[CDATA\[|\-\-)/,bg={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){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){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function()
14
+ {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(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1></$2>");try{for(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"&&bd.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bi(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bp)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i,j=a[0];b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof j=="string"&&j.length<512&&i===c&&j.charAt(0)==="<"&&!bb.test(j)&&(f.support.checkClone||!bd.test(j))&&(f.support.html5Clone||!bc.test(j))&&(g=!0,h=f.fragments[j],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[j]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g;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(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1></$2>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.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&&X.test(k)&&o.insertBefore(b.createTextNode(X.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++)bn(k[i]);else bn(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||be.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 bq=/alpha\([^)]*\)/i,br=/opacity=([^)]*)/,bs=/([A-Z]|^ms)/g,bt=/^-?\d+(?:px)?$/i,bu=/^-?\d/,bv=/^([\-+])=([\-+.\de]+)/,bw={position:"absolute",visibility:"hidden",display:"block"},bx=["Left","Right"],by=["Top","Bottom"],bz,bA,bB;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=bz(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=bv.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(bz)return bz(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 bC(a,b,d);f.swap(a,bw,function(){e=bC(a,b,d)});return e}},set:function(a,b){if(!bt.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.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(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,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=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b)));return c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.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}),bz=bA||bB,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 bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS)return bS.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(bN,"")).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||bO.test(this.nodeName)||bI.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(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b_(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b_(a,b);return a},ajaxSettings:{url:bV,isLocal:bJ.test(bW[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","*":bX},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:bZ(bT),ajaxTransport:bZ(bU),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?cb(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=cc(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=bH.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(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.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]!=="*"?", "+bX+"; 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=b$(bU,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.netbase&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),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&&(ce.test(b.url)||e&&ce.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(ce,l),b.url===j&&(e&&(k=k.replace(ce,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 cf=a.ActiveXObject?function(){for(var a in ch)ch[a](0,1)}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ci()||cj()}:ci,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,cf&&delete ch[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=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("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",cv(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(cu("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(cu("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||cv(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],cn.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=co.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]&&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:cu("show",1),slideUp:cu("hide",1),slideToggle:cu("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=cr||cs(),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)&&!cp&&(cp=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=cr||cs(),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(cp),cp=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)+a.unit)}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cw=/^t(?:able|d|h)$/i,cx=/^(?: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=cy(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||!cw.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=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["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=cy(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=cy(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.NetBase=a.$=f,typeof define=="function"&&define.amd&&define.amd.NetBase&&define("netbase",[],function(){return f})})(window);
15
+ NetBase.noConflict();
js/cmsmart/slideshow/camera/patterns/Thumbs.db ADDED
Binary file
js/cmsmart/slideshow/camera/patterns/_notes/dwsync.xml ADDED
@@ -0,0 +1 @@
 
1
+ <?xml version="1.0" encoding="utf-8" ?><dwsync><file name="overlay1.png" server="199.230.52.92/public_html/" local="3412408797" remote="12002356052" /><file name="overlay10.png" server="199.230.52.92/public_html/" local="3412408797" remote="12002356052" /><file name="overlay2.png" server="199.230.52.92/public_html/" local="3412408797" remote="12002356052" /><file name="overlay3.png" server="199.230.52.92/public_html/" local="3412408797" remote="12002356052" /><file name="overlay4.png" server="199.230.52.92/public_html/" local="3412408797" remote="12002356052" /><file name="overlay5.png" server="199.230.52.92/public_html/" local="3412408797" remote="12002356052" /><file name="overlay6.png" server="199.230.52.92/public_html/" local="3412408797" remote="12002356052" /><file name="overlay7.png" server="199.230.52.92/public_html/" local="3412408797" remote="12002356052" /><file name="overlay8.png" server="199.230.52.92/public_html/" local="3412408798" remote="12002356052" /><file name="overlay9.png" server="199.230.52.92/public_html/" local="3412408798" remote="12002356052" /></dwsync>
js/cmsmart/slideshow/camera/patterns/overlay1.png ADDED
Binary file
js/cmsmart/slideshow/camera/patterns/overlay10.png ADDED
Binary file
js/cmsmart/slideshow/camera/patterns/overlay2.png ADDED
Binary file
js/cmsmart/slideshow/camera/patterns/overlay3.png ADDED
Binary file
js/cmsmart/slideshow/camera/patterns/overlay4.png ADDED
Binary file
js/cmsmart/slideshow/camera/patterns/overlay5.png ADDED
Binary file
js/cmsmart/slideshow/camera/patterns/overlay6.png ADDED
Binary file
js/cmsmart/slideshow/camera/patterns/overlay7.png ADDED
Binary file
js/cmsmart/slideshow/camera/patterns/overlay8.png ADDED
Binary file
js/cmsmart/slideshow/camera/patterns/overlay9.png ADDED
Binary file
js/cmsmart/slideshow/images/aeroplane.png ADDED
Binary file
js/cmsmart/slideshow/images/arrow-bg.png ADDED
Binary file
js/cmsmart/slideshow/images/arrow-l.png ADDED
Binary file
js/cmsmart/slideshow/images/arrow-r.png ADDED
Binary file
js/cmsmart/slideshow/images/b_next.png ADDED
Binary file
js/cmsmart/slideshow/images/b_prev.png ADDED
Binary file
js/cmsmart/slideshow/images/balloon.png ADDED
Binary file
js/cmsmart/slideshow/images/bg-clouds.png ADDED
Binary file
js/cmsmart/slideshow/images/bg-sky.png ADDED
Binary file
js/cmsmart/slideshow/images/bg_trans.png ADDED
Binary file
js/cmsmart/slideshow/images/bt-next.png ADDED
Binary file
js/cmsmart/slideshow/images/bt-prev.png ADDED
Binary file
js/cmsmart/slideshow/images/grad-bg.gif ADDED
Binary file
js/cmsmart/slideshow/images/index.html ADDED
@@ -0,0 +1 @@
 
1
+ <html><body bgcolor="#FFFFFF"></body></html>
js/cmsmart/slideshow/images/kite.png ADDED
Binary file
js/cmsmart/slideshow/images/load-indicator.gif ADDED
Binary file
js/cmsmart/slideshow/images/next.png ADDED
Binary file
js/cmsmart/slideshow/images/pause.png ADDED
Binary file
js/cmsmart/slideshow/images/play.png ADDED
Binary file
js/cmsmart/slideshow/images/previous.png ADDED
Binary file
js/cmsmart/slideshow/images/sequence-logo.png ADDED
Binary file
js/cmsmart/slideshow/images/sequencemaste/bt-next.png ADDED
Binary file
js/cmsmart/slideshow/images/sequencemaste/bt-prev.png ADDED
Binary file
js/cmsmart/slideshow/images/spinner.gif ADDED
Binary file
js/cmsmart/slideshow/images/tiles/README ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+
2
+
3
+ More downloads please visit http://www.newone.org
4
+
5
+ Thank You for Your Support!
6
+
js/cmsmart/slideshow/images/tiles/Thumbs.db ADDED
Binary file
js/cmsmart/slideshow/images/tiles/accordionswitch.png ADDED
Binary file
js/cmsmart/slideshow/images/tiles/bgtile.jpg ADDED
Binary file
js/cmsmart/slideshow/images/tiles/bullets_boxed.png ADDED
Binary file
js/cmsmart/slideshow/images/tiles/bullets_round.png ADDED
Binary file
js/cmsmart/slideshow/images/tiles/bullets_square.png ADDED
Binary file
js/cmsmart/slideshow/images/tiles/buynow.png ADDED
Binary file
js/cmsmart/slideshow/images/tiles/check.png ADDED
Binary file
js/cmsmart/slideshow/images/tiles/dragnotch.png ADDED
Binary file
js/cmsmart/slideshow/images/tiles/dragsliderbg.png ADDED
Binary file
js/cmsmart/slideshow/images/tiles/logo.png ADDED
Binary file
js/cmsmart/slideshow/images/tiles/minishadow.png ADDED
Binary file
js/cmsmart/slideshow/images/tiles/minishadow2.png ADDED
Binary file
js/cmsmart/slideshow/images/tiles/minishadow3.png ADDED
Binary file
js/cmsmart/slideshow/images/tiles/radio.png ADDED
Binary file
js/cmsmart/slideshow/images/tiles/selectpreview.png ADDED
Binary file
js/cmsmart/slideshow/images/tiles/sliderconfigheadline.png ADDED
Binary file
js/cmsmart/slideshow/images/tiles/transition_boxes.png ADDED
Binary file
js/cmsmart/slideshow/images/tiles/transition_curtainone.png ADDED
Binary file
js/cmsmart/slideshow/images/tiles/transition_curtainthree.png ADDED
Binary file
js/cmsmart/slideshow/images/tiles/transition_curtaintwo.png ADDED
Binary file
js/cmsmart/slideshow/images/tiles/transition_fade.png ADDED
Binary file
js/cmsmart/slideshow/images/tiles/transition_mixed.png ADDED
Binary file
js/cmsmart/slideshow/images/tiles/transition_slidedown.png ADDED
Binary file
js/cmsmart/slideshow/images/tiles/transition_slideleft.png ADDED
Binary file
js/cmsmart/slideshow/images/tiles/transition_slideright.png ADDED
Binary file
js/cmsmart/slideshow/images/tiles/transition_slideup.png ADDED
Binary file
js/cmsmart/slideshow/images/tiles/transition_slotfadehorizontal.png ADDED
Binary file
js/cmsmart/slideshow/images/tiles/transition_slotfadevertical.png ADDED
Binary file
js/cmsmart/slideshow/images/tiles/transition_slotslidehorizontal.png ADDED
Binary file
js/cmsmart/slideshow/images/tiles/transition_slotslidevertical.png ADDED
Binary file
js/cmsmart/slideshow/images/tiles/transition_slotzoomhorizontal.png ADDED
Binary file
js/cmsmart/slideshow/images/tiles/transition_slotzoomvertical.png ADDED
Binary file
js/cmsmart/slideshow/images/transparent_bg.png ADDED
Binary file
js/cmsmart/slideshow/jQuery.min.1.10.js ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Name Extension: Slideshow Homepage
3
+ * Version: 1.0.0
4
+ * Author: The Cmsmart Development Team
5
+ * Date Created: 16/09/2013
6
+ * Websites: http://cmsmart.net
7
+ * Technical Support: Forum - http://cmsmart.net/support
8
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
9
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
10
+ */
11
+ (function(e,t){var n,r,i=typeof t,o=e.location,a=e.document,s=a.documentElement,l=e.NetBase,u=e.$,c={},p=[],f="1.10.2",d=p.concat,h=p.push,g=p.slice,m=p.indexOf,y=c.toString,v=c.hasOwnProperty,b=f.trim,x=function(e,t){return new x.fn.init(e,t,r)},w=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=/\S+/g,C=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,k=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,E=/^[\],:{}\s]*$/,S=/(?:^|:|,)(?:\s*\[)+/g,A=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,j=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,D=/^-ms-/,L=/-([\da-z])/gi,H=function(e,t){return t.toUpperCase()},q=function(e){(a.addEventListener||"load"===e.type||"complete"===a.readyState)&&(_(),x.ready())},_=function(){a.addEventListener?(a.removeEventListener("DOMContentLoaded",q,!1),e.removeEventListener("load",q,!1)):(a.detachEvent("onreadystatechange",q),e.detachEvent("onload",q))};x.fn=x.prototype={netbase:f,constructor:x,init:function(e,n,r){var i,o;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.netbase?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof x?n[0]:n,x.merge(this,x.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:a,!0)),k.test(i[1])&&x.isPlainObject(n))for(i in n)x.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(o=a.getElementById(i[2]),o&&o.parentNode){if(o.id!==i[2])return r.find(e);this.length=1,this[0]=o}return this.context=a,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return g.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(g.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},l=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},l=2),"object"==typeof s||x.isFunction(s)||(s={}),u===l&&(s=this,--l);u>l;l++)if(null!=(o=arguments[l]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(x.isPlainObject(r)||(n=x.isArray(r)))?(n?(n=!1,a=e&&x.isArray(e)?e:[]):a=e&&x.isPlainObject(e)?e:{},s[i]=x.extend(c,a,r)):r!==t&&(s[i]=r));return s},x.extend({expando:"NetBase"+(f+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.NetBase===x&&(e.NetBase=l),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){if(e===!0?!--x.readyWait:!x.isReady){if(!a.body)return setTimeout(x.ready);x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(a,[x]),x.fn.trigger&&x(a).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray||function(e){return"array"===x.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?c[y.call(e)]||"object":typeof e},isPlainObject:function(e){var n;if(!e||"object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!v.call(e,"constructor")&&!v.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(r){return!1}if(x.support.ownLast)for(n in e)return v.call(e,n);for(n in e);return n===t||v.call(e,n)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||a;var r=k.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=x.trim(n),n&&E.test(n.replace(A,"@").replace(j,"]").replace(S,"")))?Function("return "+n)():(x.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||x.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&x.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(D,"ms-").replace(L,H)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:b&&!b.call("\ufeff\u00a0")?function(e){return null==e?"":b.call(e)}:function(e){return null==e?"":(e+"").replace(C,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(m)return m.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return d.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),x.isFunction(e)?(r=g.call(arguments,2),i=function(){return e.apply(n||this,r.concat(g.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):t},access:function(e,n,r,i,o,a,s){var l=0,u=e.length,c=null==r;if("object"===x.type(r)){o=!0;for(l in r)x.access(e,n,l,r[l],!0,a,s)}else if(i!==t&&(o=!0,x.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(x(e),n)})),n))for(;u>l;l++)n(e[l],r,s?i:i.call(e[l],l,n(e[l],r)));return o?e:c?n.call(e):u?n(e[0],r):a},now:function(){return(new Date).getTime()},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),x.ready.promise=function(t){if(!n)if(n=x.Deferred(),"complete"===a.readyState)setTimeout(x.ready);else if(a.addEventListener)a.addEventListener("DOMContentLoaded",q,!1),e.addEventListener("load",q,!1);else{a.attachEvent("onreadystatechange",q),e.attachEvent("onload",q);var r=!1;try{r=null==e.frameElement&&a.documentElement}catch(i){}r&&r.doScroll&&function o(){if(!x.isReady){try{r.doScroll("left")}catch(e){return setTimeout(o,50)}_(),x.ready()}}()}return n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){c["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=x(a),function(e,t){var n,r,i,o,a,s,l,u,c,p,f,d,h,g,m,y,v,b="sizzle"+-new Date,w=e.document,T=0,C=0,N=st(),k=st(),E=st(),S=!1,A=function(e,t){return e===t?(S=!0,0):0},j=typeof t,D=1<<31,L={}.hasOwnProperty,H=[],q=H.pop,_=H.push,M=H.push,O=H.slice,F=H.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},B="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",P="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",W=R.replace("w","w#"),$="\\["+P+"*("+R+")"+P+"*(?:([*^$|!~]?=)"+P+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+W+")|)|)"+P+"*\\]",I=":("+R+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+$.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+P+"+|((?:^|[^\\\\])(?:\\\\.)*)"+P+"+$","g"),X=RegExp("^"+P+"*,"+P+"*"),U=RegExp("^"+P+"*([>+~]|"+P+")"+P+"*"),V=RegExp(P+"*[+~]"),Y=RegExp("="+P+"*([^\\]'\"]*)"+P+"*\\]","g"),J=RegExp(I),G=RegExp("^"+W+"$"),Q={ID:RegExp("^#("+R+")"),CLASS:RegExp("^\\.("+R+")"),TAG:RegExp("^("+R.replace("w","w*")+")"),ATTR:RegExp("^"+$),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+P+"*(even|odd|(([+-]|)(\\d*)n|)"+P+"*(?:([+-]|)"+P+"*(\\d+)|))"+P+"*\\)|)","i"),bool:RegExp("^(?:"+B+")$","i"),needsContext:RegExp("^"+P+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+P+"*((?:-\\d)?\\d*)"+P+"*\\)|)(?=[^-]|$)","i")},K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,et=/^(?:input|select|textarea|button)$/i,tt=/^h\d$/i,nt=/'|\\/g,rt=RegExp("\\\\([\\da-f]{1,6}"+P+"?|("+P+")|.)","ig"),it=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{M.apply(H=O.call(w.childNodes),w.childNodes),H[w.childNodes.length].nodeType}catch(ot){M={apply:H.length?function(e,t){_.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function at(e,t,n,i){var o,a,s,l,u,c,d,m,y,x;if((t?t.ownerDocument||t:w)!==f&&p(t),t=t||f,n=n||[],!e||"string"!=typeof e)return n;if(1!==(l=t.nodeType)&&9!==l)return[];if(h&&!i){if(o=Z.exec(e))if(s=o[1]){if(9===l){if(a=t.getElementById(s),!a||!a.parentNode)return n;if(a.id===s)return n.push(a),n}else if(t.ownerDocument&&(a=t.ownerDocument.getElementById(s))&&v(t,a)&&a.id===s)return n.push(a),n}else{if(o[2])return M.apply(n,t.getElementsByTagName(e)),n;if((s=o[3])&&r.getElementsByClassName&&t.getElementsByClassName)return M.apply(n,t.getElementsByClassName(s)),n}if(r.qsa&&(!g||!g.test(e))){if(m=d=b,y=t,x=9===l&&e,1===l&&"object"!==t.nodeName.toLowerCase()){c=mt(e),(d=t.getAttribute("id"))?m=d.replace(nt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",u=c.length;while(u--)c[u]=m+yt(c[u]);y=V.test(e)&&t.parentNode||t,x=c.join(",")}if(x)try{return M.apply(n,y.querySelectorAll(x)),n}catch(T){}finally{d||t.removeAttribute("id")}}}return kt(e.replace(z,"$1"),t,n,i)}function st(){var e=[];function t(n,r){return e.push(n+=" ")>o.cacheLength&&delete t[e.shift()],t[n]=r}return t}function lt(e){return e[b]=!0,e}function ut(e){var t=f.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ct(e,t){var n=e.split("|"),r=e.length;while(r--)o.attrHandle[n[r]]=t}function pt(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function ft(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function dt(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ht(e){return lt(function(t){return t=+t,lt(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}s=at.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},r=at.support={},p=at.setDocument=function(e){var n=e?e.ownerDocument||e:w,i=n.defaultView;return n!==f&&9===n.nodeType&&n.documentElement?(f=n,d=n.documentElement,h=!s(n),i&&i.attachEvent&&i!==i.top&&i.attachEvent("onbeforeunload",function(){p()}),r.attributes=ut(function(e){return e.className="i",!e.getAttribute("className")}),r.getElementsByTagName=ut(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),r.getElementsByClassName=ut(function(e){return e.innerHTML="<div class='a'></div><div class='a i'></div>",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),r.getById=ut(function(e){return d.appendChild(e).id=b,!n.getElementsByName||!n.getElementsByName(b).length}),r.getById?(o.find.ID=function(e,t){if(typeof t.getElementById!==j&&h){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){return e.getAttribute("id")===t}}):(delete o.find.ID,o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),o.find.TAG=r.getElementsByTagName?function(e,n){return typeof n.getElementsByTagName!==j?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},o.find.CLASS=r.getElementsByClassName&&function(e,n){return typeof n.getElementsByClassName!==j&&h?n.getElementsByClassName(e):t},m=[],g=[],(r.qsa=K.test(n.querySelectorAll))&&(ut(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||g.push("\\["+P+"*(?:value|"+B+")"),e.querySelectorAll(":checked").length||g.push(":checked")}),ut(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&g.push("[*^$]="+P+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(r.matchesSelector=K.test(y=d.webkitMatchesSelector||d.mozMatchesSelector||d.oMatchesSelector||d.msMatchesSelector))&&ut(function(e){r.disconnectedMatch=y.call(e,"div"),y.call(e,"[s!='']:x"),m.push("!=",I)}),g=g.length&&RegExp(g.join("|")),m=m.length&&RegExp(m.join("|")),v=K.test(d.contains)||d.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},A=d.compareDocumentPosition?function(e,t){if(e===t)return S=!0,0;var i=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t);return i?1&i||!r.sortDetached&&t.compareDocumentPosition(e)===i?e===n||v(w,e)?-1:t===n||v(w,t)?1:c?F.call(c,e)-F.call(c,t):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return S=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:c?F.call(c,e)-F.call(c,t):0;if(o===a)return pt(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?pt(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},n):f},at.matches=function(e,t){return at(e,null,null,t)},at.matchesSelector=function(e,t){if((e.ownerDocument||e)!==f&&p(e),t=t.replace(Y,"='$1']"),!(!r.matchesSelector||!h||m&&m.test(t)||g&&g.test(t)))try{var n=y.call(e,t);if(n||r.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(i){}return at(t,f,null,[e]).length>0},at.contains=function(e,t){return(e.ownerDocument||e)!==f&&p(e),v(e,t)},at.attr=function(e,n){(e.ownerDocument||e)!==f&&p(e);var i=o.attrHandle[n.toLowerCase()],a=i&&L.call(o.attrHandle,n.toLowerCase())?i(e,n,!h):t;return a===t?r.attributes||!h?e.getAttribute(n):(a=e.getAttributeNode(n))&&a.specified?a.value:null:a},at.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},at.uniqueSort=function(e){var t,n=[],i=0,o=0;if(S=!r.detectDuplicates,c=!r.sortStable&&e.slice(0),e.sort(A),S){while(t=e[o++])t===e[o]&&(i=n.push(o));while(i--)e.splice(n[i],1)}return e},a=at.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=a(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=a(t);return n},o=at.selectors={cacheLength:50,createPseudo:lt,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(rt,it),e[3]=(e[4]||e[5]||"").replace(rt,it),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||at.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&at.error(e[0]),e},PSEUDO:function(e){var n,r=!e[5]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]&&e[4]!==t?e[2]=e[4]:r&&J.test(r)&&(n=mt(r,!0))&&(n=r.indexOf(")",r.length-n)-r.length)&&(e[0]=e[0].slice(0,n),e[2]=r.slice(0,n)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(rt,it).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=N[e+" "];return t||(t=RegExp("(^|"+P+")"+e+"("+P+"|$)"))&&N(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=at.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var u,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!l&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[b]||(m[b]={}),u=c[e]||[],d=u[0]===T&&u[1],f=u[0]===T&&u[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[T,d,f];break}}else if(v&&(u=(t[b]||(t[b]={}))[e])&&u[0]===T)f=u[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[b]||(p[b]={}))[e]=[T,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=o.pseudos[e]||o.setFilters[e.toLowerCase()]||at.error("unsupported pseudo: "+e);return r[b]?r(t):r.length>1?(n=[e,e,"",t],o.setFilters.hasOwnProperty(e.toLowerCase())?lt(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=F.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:lt(function(e){var t=[],n=[],r=l(e.replace(z,"$1"));return r[b]?lt(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:lt(function(e){return function(t){return at(e,t).length>0}}),contains:lt(function(e){return function(t){return(t.textContent||t.innerText||a(t)).indexOf(e)>-1}}),lang:lt(function(e){return G.test(e||"")||at.error("unsupported lang: "+e),e=e.replace(rt,it).toLowerCase(),function(t){var n;do if(n=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===d},focus:function(e){return e===f.activeElement&&(!f.hasFocus||f.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!o.pseudos.empty(e)},header:function(e){return tt.test(e.nodeName)},input:function(e){return et.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:ht(function(){return[0]}),last:ht(function(e,t){return[t-1]}),eq:ht(function(e,t,n){return[0>n?n+t:n]}),even:ht(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:ht(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:ht(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:ht(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}},o.pseudos.nth=o.pseudos.eq;for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})o.pseudos[n]=ft(n);for(n in{submit:!0,reset:!0})o.pseudos[n]=dt(n);function gt(){}gt.prototype=o.filters=o.pseudos,o.setFilters=new gt;function mt(e,t){var n,r,i,a,s,l,u,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,l=[],u=o.preFilter;while(s){(!n||(r=X.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),l.push(i=[])),n=!1,(r=U.exec(s))&&(n=r.shift(),i.push({value:n,type:r[0].replace(z," ")}),s=s.slice(n.length));for(a in o.filter)!(r=Q[a].exec(s))||u[a]&&!(r=u[a](r))||(n=r.shift(),i.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?at.error(e):k(e,l).slice(0)}function yt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function vt(e,t,n){var r=t.dir,o=n&&"parentNode"===r,a=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||o)return e(t,n,i)}:function(t,n,s){var l,u,c,p=T+" "+a;if(s){while(t=t[r])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[r])if(1===t.nodeType||o)if(c=t[b]||(t[b]={}),(u=c[r])&&u[0]===p){if((l=u[1])===!0||l===i)return l===!0}else if(u=c[r]=[p],u[1]=e(t,n,s)||i,u[1]===!0)return!0}}function bt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function xt(e,t,n,r,i){var o,a=[],s=0,l=e.length,u=null!=t;for(;l>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),u&&t.push(s));return a}function wt(e,t,n,r,i,o){return r&&!r[b]&&(r=wt(r)),i&&!i[b]&&(i=wt(i,o)),lt(function(o,a,s,l){var u,c,p,f=[],d=[],h=a.length,g=o||Nt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:xt(g,f,e,s,l),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,l),r){u=xt(y,d),r(u,[],s,l),c=u.length;while(c--)(p=u[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){u=[],c=y.length;while(c--)(p=y[c])&&u.push(m[c]=p);i(null,y=[],u,l)}c=y.length;while(c--)(p=y[c])&&(u=i?F.call(o,p):f[c])>-1&&(o[u]=!(a[u]=p))}}else y=xt(y===a?y.splice(h,y.length):y),i?i(null,a,y,l):M.apply(a,y)})}function Tt(e){var t,n,r,i=e.length,a=o.relative[e[0].type],s=a||o.relative[" "],l=a?1:0,c=vt(function(e){return e===t},s,!0),p=vt(function(e){return F.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;i>l;l++)if(n=o.relative[e[l].type])f=[vt(bt(f),n)];else{if(n=o.filter[e[l].type].apply(null,e[l].matches),n[b]){for(r=++l;i>r;r++)if(o.relative[e[r].type])break;return wt(l>1&&bt(f),l>1&&yt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&Tt(e.slice(l,r)),i>r&&Tt(e=e.slice(r)),i>r&&yt(e))}f.push(n)}return bt(f)}function Ct(e,t){var n=0,r=t.length>0,a=e.length>0,s=function(s,l,c,p,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,C=u,N=s||a&&o.find.TAG("*",d&&l.parentNode||l),k=T+=null==C?1:Math.random()||.1;for(w&&(u=l!==f&&l,i=n);null!=(h=N[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,l,c)){p.push(h);break}w&&(T=k,i=++n)}r&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,r&&b!==v){g=0;while(m=t[g++])m(x,y,l,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=q.call(p));y=xt(y)}M.apply(p,y),w&&!s&&y.length>0&&v+t.length>1&&at.uniqueSort(p)}return w&&(T=k,u=C),x};return r?lt(s):s}l=at.compile=function(e,t){var n,r=[],i=[],o=E[e+" "];if(!o){t||(t=mt(e)),n=t.length;while(n--)o=Tt(t[n]),o[b]?r.push(o):i.push(o);o=E(e,Ct(i,r))}return o};function Nt(e,t,n){var r=0,i=t.length;for(;i>r;r++)at(e,t[r],n);return n}function kt(e,t,n,i){var a,s,u,c,p,f=mt(e);if(!i&&1===f.length){if(s=f[0]=f[0].slice(0),s.length>2&&"ID"===(u=s[0]).type&&r.getById&&9===t.nodeType&&h&&o.relative[s[1].type]){if(t=(o.find.ID(u.matches[0].replace(rt,it),t)||[])[0],!t)return n;e=e.slice(s.shift().value.length)}a=Q.needsContext.test(e)?0:s.length;while(a--){if(u=s[a],o.relative[c=u.type])break;if((p=o.find[c])&&(i=p(u.matches[0].replace(rt,it),V.test(s[0].type)&&t.parentNode||t))){if(s.splice(a,1),e=i.length&&yt(s),!e)return M.apply(n,i),n;break}}}return l(e,f)(i,t,!h,n,V.test(e)),n}r.sortStable=b.split("").sort(A).join("")===b,r.detectDuplicates=S,p(),r.sortDetached=ut(function(e){return 1&e.compareDocumentPosition(f.createElement("div"))}),ut(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||ct("type|href|height|width",function(e,n,r){return r?t:e.getAttribute(n,"type"===n.toLowerCase()?1:2)}),r.attributes&&ut(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||ct("value",function(e,n,r){return r||"input"!==e.nodeName.toLowerCase()?t:e.defaultValue}),ut(function(e){return null==e.getAttribute("disabled")})||ct(B,function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&i.specified?i.value:e[n]===!0?n.toLowerCase():null}),x.find=at,x.expr=at.selectors,x.expr[":"]=x.expr.pseudos,x.unique=at.uniqueSort,x.text=at.getText,x.isXMLDoc=at.isXML,x.contains=at.contains}(e);var O={};function F(e){var t=O[e]={};return x.each(e.match(T)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?O[e]||F(e):x.extend({},e);var n,r,i,o,a,s,l=[],u=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=l.length,n=!0;l&&o>a;a++)if(l[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,l&&(u?u.length&&c(u.shift()):r?l=[]:p.disable())},p={add:function(){if(l){var t=l.length;(function i(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&p.has(n)||l.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=l.length:r&&(s=t,c(r))}return this},remove:function(){return l&&x.each(arguments,function(e,t){var r;while((r=x.inArray(t,l,r))>-1)l.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?x.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],o=0,this},disable:function(){return l=u=r=t,this},disabled:function(){return!l},lock:function(){return u=t,r||p.disable(),this},locked:function(){return!u},fireWith:function(e,t){return!l||i&&!u||(t=t||[],t=[e,t.slice?t.slice():t],n?u.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var a=o[0],s=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=g.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?g.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,l,u;if(r>1)for(s=Array(r),l=Array(r),u=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(a(t,u,n)).fail(o.reject).progress(a(t,l,s)):--i;return i||o.resolveWith(u,n),o.promise()}}),x.support=function(t){var n,r,o,s,l,u,c,p,f,d=a.createElement("div");if(d.setAttribute("className","t"),d.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*")||[],r=d.getElementsByTagName("a")[0],!r||!r.style||!n.length)return t;s=a.createElement("select"),u=s.appendChild(a.createElement("option")),o=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t.getSetAttribute="t"!==d.className,t.leadingWhitespace=3===d.firstChild.nodeType,t.tbody=!d.getElementsByTagName("tbody").length,t.htmlSerialize=!!d.getElementsByTagName("link").length,t.style=/top/.test(r.getAttribute("style")),t.hrefNormalized="/a"===r.getAttribute("href"),t.opacity=/^0.5/.test(r.style.opacity),t.cssFloat=!!r.style.cssFloat,t.checkOn=!!o.value,t.optSelected=u.selected,t.enctype=!!a.createElement("form").enctype,t.html5Clone="<:nav></:nav>"!==a.createElement("nav").cloneNode(!0).outerHTML,t.inlineBlockNeedsLayout=!1,t.shrinkWrapBlocks=!1,t.pixelPosition=!1,t.deleteExpando=!0,t.noCloneEvent=!0,t.reliableMarginRight=!0,t.boxSizingReliable=!0,o.checked=!0,t.noCloneChecked=o.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!u.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}o=a.createElement("input"),o.setAttribute("value",""),t.input=""===o.getAttribute("value"),o.value="t",o.setAttribute("type","radio"),t.radioValue="t"===o.value,o.setAttribute("checked","t"),o.setAttribute("name","t"),l=a.createDocumentFragment(),l.appendChild(o),t.appendChecked=o.checked,t.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip;for(f in x(t))break;return t.ownLast="0"!==f,x(function(){var n,r,o,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",l=a.getElementsByTagName("body")[0];l&&(n=a.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",l.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",o=d.getElementsByTagName("td"),o[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===o[0].offsetHeight,o[0].style.display="",o[1].style.display="none",t.reliableHiddenOffsets=p&&0===o[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",x.swap(l,null!=l.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===d.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(a.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="<div></div>",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(l.style.zoom=1)),l.removeChild(n),n=d=o=r=null)}),n=s=l=u=r=o=null,t
12
+ }({});var B=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;function R(e,n,r,i){if(x.acceptData(e)){var o,a,s=x.expando,l=e.nodeType,u=l?x.cache:e,c=l?e[s]:e[s]&&s;if(c&&u[c]&&(i||u[c].data)||r!==t||"string"!=typeof n)return c||(c=l?e[s]=p.pop()||x.guid++:s),u[c]||(u[c]=l?{}:{toJSON:x.noop}),("object"==typeof n||"function"==typeof n)&&(i?u[c]=x.extend(u[c],n):u[c].data=x.extend(u[c].data,n)),a=u[c],i||(a.data||(a.data={}),a=a.data),r!==t&&(a[x.camelCase(n)]=r),"string"==typeof n?(o=a[n],null==o&&(o=a[x.camelCase(n)])):o=a,o}}function W(e,t,n){if(x.acceptData(e)){var r,i,o=e.nodeType,a=o?x.cache:e,s=o?e[x.expando]:x.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){x.isArray(t)?t=t.concat(x.map(t,x.camelCase)):t in r?t=[t]:(t=x.camelCase(t),t=t in r?[t]:t.split(" ")),i=t.length;while(i--)delete r[t[i]];if(n?!I(r):!x.isEmptyObject(r))return}(n||(delete a[s].data,I(a[s])))&&(o?x.cleanData([e],!0):x.support.deleteExpando||a!=a.window?delete a[s]:a[s]=null)}}}x.extend({cache:{},noData:{applet:!0,embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?x.cache[e[x.expando]]:e[x.expando],!!e&&!I(e)},data:function(e,t,n){return R(e,t,n)},removeData:function(e,t){return W(e,t)},_data:function(e,t,n){return R(e,t,n,!0)},_removeData:function(e,t){return W(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&x.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),x.fn.extend({data:function(e,n){var r,i,o=null,a=0,s=this[0];if(e===t){if(this.length&&(o=x.data(s),1===s.nodeType&&!x._data(s,"parsedAttrs"))){for(r=s.attributes;r.length>a;a++)i=r[a].name,0===i.indexOf("data-")&&(i=x.camelCase(i.slice(5)),$(s,i,o[i]));x._data(s,"parsedAttrs",!0)}return o}return"object"==typeof e?this.each(function(){x.data(this,e)}):arguments.length>1?this.each(function(){x.data(this,e,n)}):s?$(s,e,x.data(s,e)):null},removeData:function(e){return this.each(function(){x.removeData(this,e)})}});function $(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(P,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:B.test(r)?x.parseJSON(r):r}catch(o){}x.data(e,n,r)}else r=t}return r}function I(e){var t;for(t in e)if(("data"!==t||!x.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}x.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=x._data(e,n),r&&(!i||x.isArray(r)?i=x._data(e,n,x.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),a=function(){x.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return x._data(e,n)||x._data(e,n,{empty:x.Callbacks("once memory").add(function(){x._removeData(e,t+"queue"),x._removeData(e,n)})})}}),x.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?x.queue(this[0],e):n===t?this:this.each(function(){var t=x.queue(this,e,n);x._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=x.Deferred(),a=this,s=this.length,l=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=x._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(l));return l(),o.promise(n)}});var z,X,U=/[\t\r\n\f]/g,V=/\r/g,Y=/^(?:input|select|textarea|button|object)$/i,J=/^(?:a|area)$/i,G=/^(?:checked|selected)$/i,Q=x.support.getSetAttribute,K=x.support.input;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return e=x.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,l="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,l=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var t,r=0,o=x(this),a=e.match(T)||[];while(t=a[r++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else(n===i||"boolean"===n)&&(this.className&&x._data(this,"__className__",this.className),this.className=this.className||e===!1?"":x._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(U," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=x.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=i?e.call(this,n,x(this).val()):e,null==o?o="":"number"==typeof o?o+="":x.isArray(o)&&(o=x.map(o,function(e){return null==e?"":e+""})),r=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=x.valHooks[o.type]||x.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(V,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=x.find.attr(e,"value");return null!=t?t:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,l=0>i?s:o?i:0;for(;s>l;l++)if(n=r[l],!(!n.selected&&l!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),a=i.length;while(a--)r=i[a],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,n,r){var o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===i?x.prop(e,n,r):(1===s&&x.isXMLDoc(e)||(n=n.toLowerCase(),o=x.attrHooks[n]||(x.expr.match.bool.test(n)?X:z)),r===t?o&&"get"in o&&null!==(a=o.get(e,n))?a:(a=x.find.attr(e,n),null==a?t:a):null!==r?o&&"set"in o&&(a=o.set(e,r,n))!==t?a:(e.setAttribute(n,r+""),r):(x.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(T);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)?K&&Q||!G.test(n)?e[r]=!1:e[x.camelCase("default-"+n)]=e[r]=!1:x.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!x.isXMLDoc(e),a&&(n=x.propFix[n]||n,o=x.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var t=x.find.attr(e,"tabindex");return t?parseInt(t,10):Y.test(e.nodeName)||J.test(e.nodeName)&&e.href?0:-1}}}}),X={set:function(e,t,n){return t===!1?x.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&x.propFix[n]||n,n):e[x.camelCase("default-"+n)]=e[n]=!0,n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,n){var r=x.expr.attrHandle[n]||x.find.attr;x.expr.attrHandle[n]=K&&Q||!G.test(n)?function(e,n,i){var o=x.expr.attrHandle[n],a=i?t:(x.expr.attrHandle[n]=t)!=r(e,n,i)?n.toLowerCase():null;return x.expr.attrHandle[n]=o,a}:function(e,n,r){return r?t:e[x.camelCase("default-"+n)]?n.toLowerCase():null}}),K&&Q||(x.attrHooks.value={set:function(e,n,r){return x.nodeName(e,"input")?(e.defaultValue=n,t):z&&z.set(e,n,r)}}),Q||(z={set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},x.expr.attrHandle.id=x.expr.attrHandle.name=x.expr.attrHandle.coords=function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&""!==i.value?i.value:null},x.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&r.specified?r.value:t},set:z.set},x.attrHooks.contenteditable={set:function(e,t,n){z.set(e,""===t?!1:t,n)}},x.each(["width","height"],function(e,n){x.attrHooks[n]={set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}}})),x.support.hrefNormalized||x.each(["href","src"],function(e,t){x.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),x.support.style||(x.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.support.enctype||(x.propFix.enctype="encoding"),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,n){return x.isArray(n)?e.checked=x.inArray(x(e).val(),n)>=0:t}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}function at(){try{return a.activeElement}catch(e){}}x.event={global:{},add:function(e,n,r,o,a){var s,l,u,c,p,f,d,h,g,m,y,v=x._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=x.guid++),(l=v.events)||(l=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof x===i||e&&x.event.triggered===e.type?t:x.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(T)||[""],u=n.length;while(u--)s=rt.exec(n[u])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),g&&(p=x.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=x.event.special[g]||{},d=x.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&x.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=l[g])||(h=l[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),x.event.global[g]=!0);e=null}},remove:function(e,t,n,r,i){var o,a,s,l,u,c,p,f,d,h,g,m=x.hasData(e)&&x._data(e);if(m&&(c=m.events)){t=(t||"").match(T)||[""],u=t.length;while(u--)if(s=rt.exec(t[u])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=x.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));l&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||x.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)x.event.remove(e,d+t[u],n,r,!0);x.isEmptyObject(c)&&(delete m.handle,x._removeData(e,"events"))}},trigger:function(n,r,i,o){var s,l,u,c,p,f,d,h=[i||a],g=v.call(n,"type")?n.type:n,m=v.call(n,"namespace")?n.namespace.split("."):[];if(u=f=i=i||a,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+x.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),l=0>g.indexOf(":")&&"on"+g,n=n[x.expando]?n:new x.Event(g,"object"==typeof n&&n),n.isTrigger=o?2:3,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:x.makeArray(r,[n]),p=x.event.special[g]||{},o||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!o&&!p.noBubble&&!x.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(u=u.parentNode);u;u=u.parentNode)h.push(u),f=u;f===(i.ownerDocument||a)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((u=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(x._data(u,"events")||{})[n.type]&&x._data(u,"handle"),s&&s.apply(u,r),s=l&&u[l],s&&x.acceptData(u)&&s.apply&&s.apply(u,r)===!1&&n.preventDefault();if(n.type=g,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(h.pop(),r)===!1)&&x.acceptData(i)&&l&&i[g]&&!x.isWindow(i)){f=i[l],f&&(i[l]=null),x.event.triggered=g;try{i[g]()}catch(y){}x.event.triggered=t,f&&(i[l]=f)}return n.result}},dispatch:function(e){e=x.event.fix(e);var n,r,i,o,a,s=[],l=g.call(arguments),u=(x._data(this,"events")||{})[e.type]||[],c=x.event.special[e.type]||{};if(l[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((x.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,l),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],l=n.delegateCount,u=e.target;if(l&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(o=[],a=0;l>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?x(r,this).index(u)>=0:x.find(r,this,null,[u]).length),o[r]&&o.push(i);o.length&&s.push({elem:u,handlers:o})}return n.length>l&&s.push({elem:this,handlers:n.slice(l)}),s},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,o=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new x.Event(o),t=r.length;while(t--)n=r[t],e[n]=o[n];return e.target||(e.target=o.srcElement||a),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,o):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,o,s=n.button,l=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||a,o=i.documentElement,r=i.body,e.pageX=n.clientX+(o&&o.scrollLeft||r&&r.scrollLeft||0)-(o&&o.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(o&&o.scrollTop||r&&r.scrollTop||0)-(o&&o.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&l&&(e.relatedTarget=l===e.target?n.toElement:l),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==at()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===at()&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},click:{trigger:function(){return x.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=a.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},x.Event=function(e,n){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&x.extend(this,n),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,t):new x.Event(e,n)},x.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.submitBubbles||(x.event.special.submit={setup:function(){return x.nodeName(this,"form")?!1:(x.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=x.nodeName(n,"input")||x.nodeName(n,"button")?n.form:t;r&&!x._data(r,"submitBubbles")&&(x.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),x._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&x.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return x.nodeName(this,"form")?!1:(x.event.remove(this,"._submit"),t)}}),x.support.changeBubbles||(x.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(x.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),x.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),x.event.simulate("change",this,e,!0)})),!1):(x.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!x._data(t,"changeBubbles")&&(x.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||x.event.simulate("change",this.parentNode,e,!0)}),x._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return x.event.remove(this,"._change"),!Z.test(this.nodeName)}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&a.addEventListener(e,r,!0)},teardown:function(){0===--n&&a.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return x().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=x.guid++)),this.each(function(){x.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,x(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){x.event.remove(this,e,r,n)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?x.event.trigger(e,n,r,!0):t}});var st=/^.[^:#\[\.,]*$/,lt=/^(?:parents|prev(?:Until|All))/,ut=x.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t,n=x(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(x.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e||[],!0))},filter:function(e){return this.pushStack(ft(this,e||[],!1))},is:function(e){return!!ft(this,"string"==typeof e&&ut.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],a=ut.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(a?a.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?x.inArray(this[0],x(e)):x.inArray(e.netbase?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return x.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(ct[e]||(i=x.unique(i)),lt.test(e)&&(i=i.reverse())),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!x(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(st.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return x.inArray(e,t)>=0!==n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ NetBase\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/<tbody/i,wt=/<|&#?\w+;/,Tt=/<(?:script|style|link)/i,Ct=/^(?:checkbox|radio)$/i,Nt=/checked\s*(?:[^=]|=\s*.checked.)/i,kt=/^$|\/(?:java|ecma)script/i,Et=/^true\/(.*)/,St=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,At={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:x.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},jt=dt(a),Dt=jt.appendChild(a.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===t?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||a).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(Ft(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&_t(Ft(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&x.cleanData(Ft(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&x.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!x.support.htmlSerialize&&mt.test(e)||!x.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(x.cleanData(Ft(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=d.apply([],e);var r,i,o,a,s,l,u=0,c=this.length,p=this,f=c-1,h=e[0],g=x.isFunction(h);if(g||!(1>=c||"string"!=typeof h||x.support.checkClone)&&Nt.test(h))return this.each(function(r){var i=p.eq(r);g&&(e[0]=h.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(l=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),r=l.firstChild,1===l.childNodes.length&&(l=r),r)){for(a=x.map(Ft(l,"script"),Ht),o=a.length;c>u;u++)i=l,u!==f&&(i=x.clone(i,!0,!0),o&&x.merge(a,Ft(i,"script"))),t.call(this[u],i,u);if(o)for(s=a[a.length-1].ownerDocument,x.map(a,qt),u=0;o>u;u++)i=a[u],kt.test(i.type||"")&&!x._data(i,"globalEval")&&x.contains(s,i)&&(i.src?x._evalUrl(i.src):x.globalEval((i.text||i.textContent||i.innerHTML||"").replace(St,"")));l=r=null}return this}});function Lt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function Ht(e){return e.type=(null!==x.find.attr(e,"type"))+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function _t(e,t){var n,r=0;for(;null!=(n=e[r]);r++)x._data(n,"globalEval",!t||x._data(t[r],"globalEval"))}function Mt(e,t){if(1===t.nodeType&&x.hasData(e)){var n,r,i,o=x._data(e),a=x._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)x.event.add(t,n,s[n][r])}a.data&&(a.data=x.extend({},a.data))}}function Ot(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!x.support.noCloneEvent&&t[x.expando]){i=x._data(t);for(r in i.events)x.removeEvent(t,r,i.handle);t.removeAttribute(x.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),x.support.html5Clone&&e.innerHTML&&!x.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Ct.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=0,i=[],o=x(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),x(o[r])[t](n),h.apply(i,n.get());return this.pushStack(i)}});function Ft(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||x.nodeName(o,n)?s.push(o):x.merge(s,Ft(o,n));return n===t||n&&x.nodeName(e,n)?x.merge([e],s):s}function Bt(e){Ct.test(e.type)&&(e.defaultChecked=e.checked)}x.extend({clone:function(e,t,n){var r,i,o,a,s,l=x.contains(e.ownerDocument,e);if(x.support.html5Clone||x.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(x.support.noCloneEvent&&x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(r=Ft(o),s=Ft(e),a=0;null!=(i=s[a]);++a)r[a]&&Ot(i,r[a]);if(t)if(n)for(s=s||Ft(e),r=r||Ft(o),a=0;null!=(i=s[a]);a++)Mt(i,r[a]);else Mt(e,o);return r=Ft(o,"script"),r.length>0&&_t(r,!l&&Ft(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,l,u,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===x.type(o))x.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),l=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[l]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1></$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!x.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!x.support.tbody){o="table"!==l||xt.test(o)?"<table>"!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)x.nodeName(u=o.childNodes[i],"tbody")&&!u.childNodes.length&&o.removeChild(u)}x.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),x.support.appendChecked||x.grep(Ft(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===x.inArray(o,r))&&(a=x.contains(o.ownerDocument,o),s=Ft(f.appendChild(o),"script"),a&&_t(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,l=x.expando,u=x.cache,c=x.support.deleteExpando,f=x.event.special;for(;null!=(n=e[s]);s++)if((t||x.acceptData(n))&&(o=n[l],a=o&&u[o])){if(a.events)for(r in a.events)f[r]?x.event.remove(n,r):x.removeEvent(n,r,a.handle);
13
+ u[o]&&(delete u[o],c?delete n[l]:typeof n.removeAttribute!==i?n.removeAttribute(l):n[l]=null,p.push(o))}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}}),x.fn.extend({wrapAll:function(e){if(x.isFunction(e))return this.each(function(t){x(this).wrapAll(e.call(this,t))});if(this[0]){var t=x(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+w+")(.*)$","i"),Yt=RegExp("^("+w+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+w+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=x._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=x._data(r,"olddisplay",ln(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&x._data(r,"olddisplay",i?n:x.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}x.fn.extend({css:function(e,n){return x.access(this,function(e,n,r){var i,o,a={},s=0;if(x.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=x.css(e,n[s],!1,o);return a}return r!==t?x.style(e,n,r):x.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){nn(this)?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":x.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,l=x.camelCase(n),u=e.style;if(n=x.cssProps[l]||(x.cssProps[l]=tn(u,l)),s=x.cssHooks[n]||x.cssHooks[l],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:u[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(x.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||x.cssNumber[l]||(r+="px"),x.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(u[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{u[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,l=x.camelCase(n);return n=x.cssProps[l]||(x.cssProps[l]=tn(e.style,l)),s=x.cssHooks[n]||x.cssHooks[l],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||x.isNumeric(o)?o||0:a):a}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s.getPropertyValue(n)||s[n]:t,u=e.style;return s&&(""!==l||x.contains(e.ownerDocument,e)||(l=x.style(e,n)),Yt.test(l)&&Ut.test(n)&&(i=u.width,o=u.minWidth,a=u.maxWidth,u.minWidth=u.maxWidth=u.width=l,l=s.width,u.width=i,u.minWidth=o,u.maxWidth=a)),l}):a.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s[n]:t,u=e.style;return null==l&&u&&u[n]&&(l=u[n]),Yt.test(l)&&!zt.test(n)&&(i=u.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),u.left="fontSize"===n?"1em":l,l=u.pixelLeft+"px",u.left=i,a&&(o.left=a)),""===l?"auto":l});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=x.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=x.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=x.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=x.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=x.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function ln(e){var t=a,n=Gt[e];return n||(n=un(e,t),"none"!==n&&n||(Pt=(Pt||x("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=un(e,t),Pt.detach()),Gt[e]=n),n}function un(e,t){var n=x(t.createElement(e)).appendTo(t.body),r=x.css(n[0],"display");return n.remove(),r}x.each(["height","width"],function(e,n){x.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(x.css(e,"display"))?x.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,i),i):0)}}}),x.support.opacity||(x.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=x.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===x.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),x(function(){x.support.reliableMarginRight||(x.cssHooks.marginRight={get:function(e,n){return n?x.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!x.support.pixelPosition&&x.fn.position&&x.each(["top","left"],function(e,n){x.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?x(e).position()[n]+"px":r):t}}})}),x.expr&&x.expr.filters&&(x.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!x.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||x.css(e,"display"))},x.expr.filters.visible=function(e){return!x.expr.filters.hidden(e)}),x.each({margin:"",padding:"",border:"Width"},function(e,t){x.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(x.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;x.fn.extend({serialize:function(){return x.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=x.prop(this,"elements");return e?x.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!x(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Ct.test(e))}).map(function(e,t){var n=x(this).val();return null==n?null:x.isArray(n)?x.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),x.param=function(e,n){var r,i=[],o=function(e,t){t=x.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=x.ajaxSettings&&x.ajaxSettings.traditional),x.isArray(e)||e.netbase&&!x.isPlainObject(e))x.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(x.isArray(t))x.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==x.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}x.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){x.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),x.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var mn,yn,vn=x.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Cn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Nn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=x.fn.load,An={},jn={},Dn="*/".concat("*");try{yn=o.href}catch(Ln){yn=a.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(T)||[];if(x.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(l){var u;return o[l]=!0,x.each(e[l]||[],function(e,l){var c=l(n,r,i);return"string"!=typeof c||a||o[c]?a?!(u=c):t:(n.dataTypes.unshift(c),s(c),!1)}),u}return s(n.dataTypes[0])||!o["*"]&&s("*")}function _n(e,n){var r,i,o=x.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&x.extend(!0,e,r),e}x.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,l=e.indexOf(" ");return l>=0&&(i=e.slice(l,e.length),e=e.slice(0,l)),x.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&x.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?x("<div>").append(x.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},x.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){x.fn[t]=function(e){return this.on(t,e)}}),x.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Cn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":x.parseJSON,"text xml":x.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?_n(_n(e,x.ajaxSettings),t):_n(x.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,l,u,c,p=x.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.netbase)?x(f):x.event,h=x.Deferred(),g=x.Callbacks("once memory"),m=p.statusCode||{},y={},v={},b=0,w="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(2===b){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===b?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return b||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return b||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>b)for(t in e)m[t]=[m[t],e[t]];else C.always(e[C.status]);return this},abort:function(e){var t=e||w;return u&&u.abort(t),k(0,t),this}};if(h.promise(C).complete=g.add,C.success=C.done,C.error=C.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=x.trim(p.dataType||"*").toLowerCase().match(T)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?"80":"443"))===(mn[3]||("http:"===mn[1]?"80":"443")))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=x.param(p.data,p.traditional)),qn(An,p,n,C),2===b)return C;l=p.global,l&&0===x.active++&&x.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Nn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(x.lastModified[o]&&C.setRequestHeader("If-Modified-Since",x.lastModified[o]),x.etag[o]&&C.setRequestHeader("If-None-Match",x.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&C.setRequestHeader("Content-Type",p.contentType),C.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)C.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,C,p)===!1||2===b))return C.abort();w="abort";for(i in{success:1,error:1,complete:1})C[i](p[i]);if(u=qn(jn,p,n,C)){C.readyState=1,l&&d.trigger("ajaxSend",[C,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){C.abort("timeout")},p.timeout));try{b=1,u.send(y,k)}catch(N){if(!(2>b))throw N;k(-1,N)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,N=n;2!==b&&(b=2,s&&clearTimeout(s),u=t,a=i||"",C.readyState=e>0?4:0,c=e>=200&&300>e||304===e,r&&(w=Mn(p,C,r)),w=On(p,w,C,c),c?(p.ifModified&&(T=C.getResponseHeader("Last-Modified"),T&&(x.lastModified[o]=T),T=C.getResponseHeader("etag"),T&&(x.etag[o]=T)),204===e||"HEAD"===p.type?N="nocontent":304===e?N="notmodified":(N=w.state,y=w.data,v=w.error,c=!v)):(v=N,(e||!N)&&(N="error",0>e&&(e=0))),C.status=e,C.statusText=(n||N)+"",c?h.resolveWith(f,[y,N,C]):h.rejectWith(f,[C,N,v]),C.statusCode(m),m=t,l&&d.trigger(c?"ajaxSuccess":"ajaxError",[C,p,c?y:v]),g.fireWith(f,[C,N]),l&&(d.trigger("ajaxComplete",[C,p]),--x.active||x.event.trigger("ajaxStop")))}return C},getJSON:function(e,t,n){return x.get(e,t,n,"json")},getScript:function(e,n){return x.get(e,t,n,"script")}}),x.each(["get","post"],function(e,n){x[n]=function(e,r,i,o){return x.isFunction(r)&&(o=o||i,i=r,r=t),x.ajax({url:e,type:n,dataType:o,data:r,success:i})}});function Mn(e,n,r){var i,o,a,s,l=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in l)if(l[s]&&l[s].test(o)){u.unshift(s);break}if(u[0]in r)a=u[0];else{for(s in r){if(!u[0]||e.converters[s+" "+u[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==u[0]&&u.unshift(a),r[a]):t}function On(e,t,n,r){var i,o,a,s,l,u={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)u[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!l&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=o,o=c.shift())if("*"===o)o=l;else if("*"!==l&&l!==o){if(a=u[l+" "+o]||u["* "+o],!a)for(i in u)if(s=i.split(" "),s[1]===o&&(a=u[l+" "+s[0]]||u["* "+s[0]])){a===!0?a=u[i]:u[i]!==!0&&(o=s[0],c.unshift(s[1]));break}if(a!==!0)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(p){return{state:"parsererror",error:a?p:"No conversion from "+l+" to "+o}}}return{state:"success",data:t}}x.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return x.globalEval(e),e}}}),x.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),x.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=a.head||x("head")[0]||a.documentElement;return{send:function(t,i){n=a.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var Fn=[],Bn=/(=)\?(?=&|$)|\?\?/;x.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Fn.pop()||x.expando+"_"+vn++;return this[e]=!0,e}}),x.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,l=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return l||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=x.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,l?n[l]=n[l].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||x.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,Fn.push(o)),s&&x.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}x.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=x.ajaxSettings.xhr(),x.support.cors=!!Rn&&"withCredentials"in Rn,Rn=x.support.ajax=!!Rn,Rn&&x.ajaxTransport(function(n){if(!n.crossDomain||x.support.cors){var r;return{send:function(i,o){var a,s,l=n.xhr();if(n.username?l.open(n.type,n.url,n.async,n.username,n.password):l.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)l[s]=n.xhrFields[s];n.mimeType&&l.overrideMimeType&&l.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)l.setRequestHeader(s,i[s])}catch(u){}l.send(n.hasContent&&n.data||null),r=function(e,i){var s,u,c,p;try{if(r&&(i||4===l.readyState))if(r=t,a&&(l.onreadystatechange=x.noop,$n&&delete Pn[a]),i)4!==l.readyState&&l.abort();else{p={},s=l.status,u=l.getAllResponseHeaders(),"string"==typeof l.responseText&&(p.text=l.responseText);try{c=l.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,u)},n.async?4===l.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},x(e).unload($n)),Pn[a]=r),l.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+w+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n=this.createTween(e,t),r=n.cur(),i=Yn.exec(t),o=i&&i[3]||(x.cssNumber[e]?"":"px"),a=(x.cssNumber[e]||"px"!==o&&+r)&&Yn.exec(x.css(n.elem,e)),s=1,l=20;if(a&&a[3]!==o){o=o||a[3],i=i||[],a=+r||1;do s=s||".5",a/=s,x.style(n.elem,e,a+o);while(s!==(s=n.cur()/r)&&1!==s&&--l)}return i&&(a=n.start=+a||+r||0,n.unit=o,n.end=i[1]?a+(i[1]+1)*i[2]:+i[2]),n}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=x.now()}function Zn(e,t,n){var r,i=(Qn[t]||[]).concat(Qn["*"]),o=0,a=i.length;for(;a>o;o++)if(r=i[o].call(n,t,e))return r}function er(e,t,n){var r,i,o=0,a=Gn.length,s=x.Deferred().always(function(){delete l.elem}),l=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,u.startTime+u.duration-t),r=n/u.duration||0,o=1-r,a=0,l=u.tweens.length;for(;l>a;a++)u.tweens[a].run(o);return s.notifyWith(e,[u,o,n]),1>o&&l?n:(s.resolveWith(e,[u]),!1)},u=s.promise({elem:e,props:x.extend({},t),opts:x.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=x.Tween(e,u.opts,t,n,u.opts.specialEasing[t]||u.opts.easing);return u.tweens.push(r),r},stop:function(t){var n=0,r=t?u.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)u.tweens[n].run(1);return t?s.resolveWith(e,[u,t]):s.rejectWith(e,[u,t]),this}}),c=u.props;for(tr(c,u.opts.specialEasing);a>o;o++)if(r=Gn[o].call(u,e,c,u.opts))return r;return x.map(c,Zn,u),x.isFunction(u.opts.start)&&u.opts.start.call(e,u),x.fx.timer(x.extend(l,{elem:e,anim:u,queue:u.opts.queue})),u.progress(u.opts.progress).done(u.opts.done,u.opts.complete).fail(u.opts.fail).always(u.opts.always)}function tr(e,t){var n,r,i,o,a;for(n in e)if(r=x.camelCase(n),i=t[r],o=e[n],x.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),a=x.cssHooks[r],a&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}x.Animation=x.extend(er,{tweener:function(e,t){x.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,l,u=this,c={},p=e.style,f=e.nodeType&&nn(e),d=x._data(e,"fxshow");n.queue||(s=x._queueHooks(e,"fx"),null==s.unqueued&&(s.unqueued=0,l=s.empty.fire,s.empty.fire=function(){s.unqueued||l()}),s.unqueued++,u.always(function(){u.always(function(){s.unqueued--,x.queue(e,"fx").length||s.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],"inline"===x.css(e,"display")&&"none"===x.css(e,"float")&&(x.support.inlineBlockNeedsLayout&&"inline"!==ln(e.nodeName)?p.zoom=1:p.display="inline-block")),n.overflow&&(p.overflow="hidden",x.support.shrinkWrapBlocks||u.always(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t)if(i=t[r],Vn.exec(i)){if(delete t[r],o=o||"toggle"===i,i===(f?"hide":"show"))continue;c[r]=d&&d[r]||x.style(e,r)}if(!x.isEmptyObject(c)){d?"hidden"in d&&(f=d.hidden):d=x._data(e,"fxshow",{}),o&&(d.hidden=!f),f?x(e).show():u.done(function(){x(e).hide()}),u.done(function(){var t;x._removeData(e,"fxshow");for(t in c)x.style(e,t,c[t])});for(r in c)a=Zn(f?d[r]:0,r,u),r in d||(d[r]=a.start,f&&(a.end=a.start,a.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}x.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(x.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?x.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=x.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){x.fx.step[e.prop]?x.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[x.cssProps[e.prop]]||x.cssHooks[e.prop])?x.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},x.each(["toggle","show","hide"],function(e,t){var n=x.fn[t];x.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),x.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=x.isEmptyObject(e),o=x.speed(t,n,r),a=function(){var t=er(this,x.extend({},e),o);(i||x._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=x.timers,a=x._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&x.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=x._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=x.timers,a=r?r.length:0;for(n.finish=!0,x.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}x.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){x.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),x.speed=function(e,t,n){var r=e&&"object"==typeof e?x.extend({},e):{complete:n||!n&&t||x.isFunction(e)&&e,duration:e,easing:n&&t||t&&!x.isFunction(t)&&t};return r.duration=x.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in x.fx.speeds?x.fx.speeds[r.duration]:x.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){x.isFunction(r.old)&&r.old.call(this),r.queue&&x.dequeue(this,r.queue)},r},x.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},x.timers=[],x.fx=rr.prototype.init,x.fx.tick=function(){var e,n=x.timers,r=0;for(Xn=x.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||x.fx.stop(),Xn=t},x.fx.timer=function(e){e()&&x.timers.push(e)&&x.fx.start()},x.fx.interval=13,x.fx.start=function(){Un||(Un=setInterval(x.fx.tick,x.fx.interval))},x.fx.stop=function(){clearInterval(Un),Un=null},x.fx.speeds={slow:600,fast:200,_default:400},x.fx.step={},x.expr&&x.expr.filters&&(x.expr.filters.animated=function(e){return x.grep(x.timers,function(t){return e===t.elem}).length}),x.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){x.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,x.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},x.offset={setOffset:function(e,t,n){var r=x.css(e,"position");"static"===r&&(e.style.position="relative");var i=x(e),o=i.offset(),a=x.css(e,"top"),s=x.css(e,"left"),l=("absolute"===r||"fixed"===r)&&x.inArray("auto",[a,s])>-1,u={},c={},p,f;l?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),x.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(u.top=t.top-o.top+p),null!=t.left&&(u.left=t.left-o.left+f),"using"in t?t.using.call(e,u):i.css(u)}},x.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===x.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),x.nodeName(e[0],"html")||(n=e.offset()),n.top+=x.css(e[0],"borderTopWidth",!0),n.left+=x.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-x.css(r,"marginTop",!0),left:t.left-n.left-x.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||s;while(e&&!x.nodeName(e,"html")&&"static"===x.css(e,"position"))e=e.offsetParent;return e||s})}}),x.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);x.fn[e]=function(i){return x.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?x(a).scrollLeft():o,r?o:x(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return x.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}x.each({Height:"height",Width:"width"},function(e,n){x.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){x.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return x.access(this,function(n,r,i){var o;return x.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?x.css(n,r,s):x.style(n,r,i,s)},n,a?i:t,a,null)}})}),x.fn.size=function(){return this.length},x.fn.andSelf=x.fn.addBack,"object"==typeof module&&module&&"object"==typeof module.exports?module.exports=x:(e.NetBase=e.$=x,"function"==typeof define&&define.amd&&define("netbase",[],function(){return x}))})(window);
js/cmsmart/slideshow/jquery/cmsmart.js ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ var chk = jQuery.noConflict();
2
+ chk(".slideshow-revolution").ready(function(){
3
+ var i=1;
4
+ chk("#btn1").click(function(){
5
+ i++;
6
+ chk(".slideshow-revolution .content").append('<div class=" post_revolution post_revolution'+ i +'">'+
7
+ '<button style="float: right" id="addimage'+ i +'" type="button" title="Add Image" ><span><span><span>Add Image</span></span></span></button><button style="float: right; margin-right: 10px" id="addtext" type="button" title="Add Text" ><span><span><span>Add text</span></span></span></button></br>'+
8
+ '<input id="image" class="input-file" type="file" title="Image" value="" name="image"/>'+
9
+ '<label>Transition</label> <select class=" select" name="transition" id="transition">'+
10
+ '<option selected="selected" value="boxslide">Boxslide</option>'+
11
+ '<option value="boxfade">Boxfade</option>'+
12
+ '<option value="slotzoom-horizontal">Slotzoom Horizontal</option>'+
13
+ '<option value="slotslide-horizontal">Slotslide Horizontal</option>'+
14
+ '<option value="slotfade-horizontal">Slotfade Horizontal</option>'+
15
+ '<option value="slotzoom-vertical">Slotzoom Vertical</option>'+
16
+ '<option value="slotslide-vertical">Slotslide Vertical</option>'+
17
+ '<option value="slotfade-vertical">Slotfade Vertical</option>'+
18
+ '<option value="curtain-1">Curtain 1</option>'+
19
+ '<option value="curtain-2">Curtain 2</option>'+
20
+ '<option value="curtain-3">Curtain 3</option>'+
21
+ '<option value="slideleft">Slide Left</option>'+
22
+ '<option value="slideright">Slide Right</option>'+
23
+ '<option value="slideup">Slide up</option>'+
24
+ '<option value="slidedown">Slide Down</option>'+
25
+ '<option value="fade">Fade</option></select>'+
26
+ '<label style="margin-left: 10px; margin-right: 5px">Data slotamount</label><input id="data-slotamouny" type="text" title="Data slotamouny " value="" name="data-slotamouny" size="3" />'+
27
+ '<label style="margin-left: 10px; margin-right: 5px">Data Delay</label><input id="data-delay" type="text" title="Data delay" value="" name="data-delay" size="3" />'+
28
+ '<div class="content_revolution'+ i +'" style="margin-top: 10px;"></div></div>'
29
+ );
30
+
31
+
32
+ for ( var j = 0; j <= i; j++) {
33
+ chk('#addimage'+ j +'').click(function(){
34
+ chk('.post_revolution'+ j +' .content_revolution'+ j +'').append(
35
+ '<div class="caption"><input id="image" class="input-file" type="file" title="Image" value="" name="image"/>'+
36
+ '<label style="margin-right: 5px">Data x</label><input id="data-x" type="text" title="Data-x" value="" name="data-x" size="3" />'+
37
+ '<label style="margin-right: 5px; margin-left: 5px">Data y</label><input id="data-y" type="text" title="Data-y" value="" name="data-y" size="3" />'+
38
+ '<label style="margin-right: 5px; margin-left: 5px">Data speed</label><input id="data-speed" type="text" title="Data Speed" value="" name="data-speed" size="3" />'+
39
+ '<label style="margin-right: 5px; margin-left: 5px">Data start</label><input id="data-start" type="text" title="Data-start" value="" name="data-start" size="3" />'+
40
+ '<label style="margin-right: 5px; margin-left: 5px">Data easing</label> <select class=" select" name="data-easing" id="data-easing">'+
41
+ '<option selected="selected" value="easeInOutSine">easeInOutSine</option>'+
42
+ '<option value="easeInOutQuad">easeInOutQuad</option>'+
43
+ '<option value="easeInOutCubic">easeInOutCubic</option>'+
44
+ '<option value="slotslide-horizontal">Slotslide Horizontal</option>'+
45
+ '<option value="easeInOutQuart">easeInOutQuart</option>'+
46
+ '<option value="easeInOutQuint">easeInOutQuint</option>'+
47
+ '<option value="easeInOutExpo">easeInOutExpo</option>'+
48
+ '<option value="easeInOutCirc">easeInOutCirc</option>'+
49
+ '<option value="easeInOutElastic">easeInOutElastic</option>'+
50
+ '<option value="easeInOutBack">easeInOutBack</option>'+
51
+ '<option value="easeInOutBounce">easeInOutBounce</option>'+
52
+ '<option value="easeOutSine">easeOutSine</option>'+
53
+ '<option value="easeOutQuad">easeOutQuad</option>'+
54
+ '<option value="easeOutCubic">easeOutCubic</option>'+
55
+ '<option value="easeOutQuart">easeOutQuart</option>'+
56
+ '<option value="easeOutQuint">easeOutQuint</option>'+
57
+ '<option value="easeOutExpo">easeOutExpo</option>'+
58
+ '<option value="easeOutCirc">easeOutCirc</option>'+
59
+ '<option value="easeOutElastic">easeOutElastic</option>'+
60
+ '<option value="easeOutBack">easeOutBack</option>'+
61
+ '<option value="easeOutBounce">easeOutBounce</option>'+
62
+ '<option value="easeInSine">easeInSine</option>'+
63
+ '<option value="easeInQuad">easeInQuad</option>'+
64
+ '<option value="easeInCubic">easeInCubic</option>'+
65
+ '<option value="easeInQuart">easeInQuart</option>'+
66
+ '<option value="easeInQuint">easeInQuint</option>'+
67
+ '<option value="easeInExpo">easeInExpo</option>'+
68
+ '<option value="easeInCirc">easeInCirc</option>'+
69
+ '<option value="easeInElastic">easeInElastic</option>'+
70
+ '<option value="easeInBack">easeInBack</option>'+
71
+ '<option value="easeInBounce">easeInBounce</option></select>'+
72
+ '</div>'
73
+ );
74
+ });
75
+ }
76
+ });
77
+
78
+ });
js/cmsmart/slideshow/jquery/jquery-1.7.2.min.js ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Name Extension: Slideshow Homepage
3
+ * Version: 1.0.0
4
+ * Author: The Cmsmart Development Team
5
+ * Date Created: 16/09/2013
6
+ * Websites: http://cmsmart.net
7
+ * Technical Support: Forum - http://cmsmart.net/support
8
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
9
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
10
+ */
11
+ (function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(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 cb(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 ca(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bE.test(a)?d(a,e):ca(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)ca(a+"["+e+"]",b[e],c,d);else d(a,b)}function b_(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function b$(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===bT,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=b$(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=b$(a,c,d,e,"*",g));return l}function bZ(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bP),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 bC(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bx:by,g=0,h=e.length;if(d>0){if(c!=="border")for(;g<h;g++)c||(d-=parseFloat(f.css(a,"padding"+e[g]))||0),c==="margin"?d+=parseFloat(f.css(a,c+e[g]))||0:d-=parseFloat(f.css(a,"border"+e[g]+"Width"))||0;return d+"px"}d=bz(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0;if(c)for(;g<h;g++)d+=parseFloat(f.css(a,"padding"+e[g]))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+e[g]+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+e[g]))||0);return d+"px"}function bp(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bf,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bo(a){var b=c.createElement("div");bh.appendChild(b),b.innerHTML=a.outerHTML;return b.firstChild}function bn(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bm(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bm)}function bm(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bl(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bk(a,b){var c;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 bj(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d<e;d++)f.event.add(b,c+(i[c][d].namespace?".":"")+i[c][d].namespace,i[c][d],i[c][d].data)}h.data&&(h.data=f.extend({},h.data))}}function bi(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function U(a){var b=V.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function T(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(O.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?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 J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.NetBase,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.netbase?(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:"",netbase:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.NetBase===e&&(a.NetBase=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:G?function(a){return a==null?"":G.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b,c){var d;if(b){if(H)return H.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){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=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g={};f.Callbacks=function(a){a=a?g[a]||h(a):{};var c=[],d=[],e,i,j,k,l,m=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(){i.done.apply(i,arguments).fail.apply(i,arguments);return this},pipe:function(a,b,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c=b[0],e=b[1],g;f.isFunction(c)?i[a](function(){g=c.apply(this,arguments),g&&f.isFunction(g.promise)?g.promise().then(d.resolve,d.reject,d.notify):d[e+"With"](this===i?d:this,[g])}):i[a](d[e])})}).promise()},promise:function(a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}},i=h.promise({}),j;for(j in g)i[j]=g[j].fire,i[j+"With"]=g[j].fireWith;i.done(function(){e="resolved"},c.disable,d.lock).fail(function(){e="rejected"},b.disable,d.lock),a&&a.call(i,i);return i},when:function(a){function m(a){return function(b){e[a]=arguments.length>1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c<d;c++)b[c]&&b[c].promise&&f.isFunction(b[c].promise)?b[c].promise().then(l(c),j.reject,m(c)):--g;g||j.resolveWith(j,b)}else j!==a&&j.resolveWith(j,d?[a]:[]);return k}}),f.support=function(){var b,d,e,g,h,i,j,k,l,m,n,o,p,q=c.createElement("div"),r=c.documentElement;q.setAttribute("className","t"),q.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="<div "+n+"><div></div></div>"+"<table "+n+" cellpadding='0' cellspacing='0'>"+"<tr><td></td></tr></table>",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="<div style='width:4px;'></div>",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"NetBase"+(f.fn.netbase+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e<g;e++)delete d[b[e]];if(!(c?m:f.isEmptyObject)(d))return}}if(!c){delete j[k].data;if(!m(j[k]))return}f.support.deleteExpando||!j.setInterval?delete j[k]:j[k]=null,i&&(f.support.deleteExpando?delete a[h]:a.removeAttribute?a.removeAttribute(h):a[h]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d,e,g,h=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){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}})}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}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c<d;c++){e=i[c];if(e.selected&&(f.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!f.nodeName(e.parentNode,"optgroup"))){b=f(e).val();if(j)return b;h.push(b)}}if(j&&!h.length&&i.length)return f(i[g]).val();return h},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h<g;h++)e=d[h],e&&(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){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=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};
12
+ 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=f.trim(I(c)).split(" ");for(k=0;k<c.length;k++){l=A.exec(c[k])||[],m=l[1],n=(l[2]||"").split(".").sort(),s=f.event.special[m]||{},m=(g?s.delegateType:s.bindType)||m,s=f.event.special[m]||{},o=f.extend({type:m,origType:l[1],data:e,handler:d,guid:d.guid,selector:g,quick:G(g),namespace:n.join(".")},p),r=j[m];if(!r){r=j[m]=[],r.delegateCount=0;if(!s.setup||s.setup.call(a,e,n,i)===!1)a.addEventListener?a.addEventListener(m,i,!1):a.attachEvent&&a.attachEvent("on"+m,i)}s.add&&(s.add.call(a,o),o.handler.guid||(o.handler.guid=d.guid)),g?r.splice(r.delegateCount++,0,o):r.push(o),f.event.global[m]=!0}a=null}},global:{},remove:function(a,b,c,d,e){var g=f.hasData(a)&&f._data(a),h,i,j,k,l,m,n,o,p,q,r,s;if(!!g&&!!(o=g.events)){b=f.trim(I(b||"")).split(" ");for(h=0;h<b.length;h++){i=A.exec(b[h])||[],j=k=i[1],l=i[2];if(!j){for(j in o)f.event.remove(a,j+b[h],c,d,!0);continue}p=f.event.special[j]||{},j=(d?p.delegateType:p.bindType)||j,r=o[j]||[],m=r.length,l=l?new RegExp("(^|\\.)"+l.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(n=0;n<r.length;n++)s=r[n],(e||k===s.origType)&&(!c||c.guid===s.guid)&&(!l||l.test(s.namespace))&&(!d||d===s.selector||d==="**"&&s.selector)&&(r.splice(n--,1),s.selector&&r.delegateCount--,p.remove&&p.remove.call(a,s));r.length===0&&m!==r.length&&((!p.teardown||p.teardown.call(a,l)===!1)&&f.removeEvent(a,j,g.handle),delete o[j])}f.isEmptyObject(o)&&(q=g.handle,q&&(q.elem=null),f.removeData(a,["events","handle"],!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){if(!e||e.nodeType!==3&&e.nodeType!==8){var h=c.type||c,i=[],j,k,l,m,n,o,p,q,r,s;if(E.test(h+f.event.triggered))return;h.indexOf("!")>=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;l<r.length&&!c.isPropagationStopped();l++)m=r[l][0],c.type=r[l][1],q=(f._data(m,"events")||{})[c.type]&&f._data(m,"handle"),q&&q.apply(m,d),q=o&&m[o],q&&f.acceptData(m)&&q.apply(m,d)===!1&&c.preventDefault();c.type=h,!g&&!c.isDefaultPrevented()&&(!p._default||p._default.apply(e.ownerDocument,d)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)&&o&&e[h]&&(h!=="focus"&&h!=="blur"||c.target.offsetWidth!==0)&&!f.isWindow(e)&&(n=e[o],n&&(e[o]=null),f.event.triggered=h,e[h](),f.event.triggered=b,n&&(e[o]=n));return c.result}},dispatch:function(c){c=f.event.fix(c||a.event);var d=(f._data(this,"events")||{})[c.type]||[],e=d.delegateCount,g=[].slice.call(arguments,0),h=!c.exclusive&&!c.namespace,i=[],j,k,l,m,n,o,p,q,r,s,t;g[0]=c,c.delegateTarget=this;if(e&&!c.target.disabled&&(!c.button||c.type!=="click")){m=f(this),m.context=this.ownerDocument||this;for(l=c.target;l!=this;l=l.parentNode||this){o={},q=[],m[0]=l;for(j=0;j<e;j++)r=d[j],s=r.selector,o[s]===b&&(o[s]=r.quick?H(l,r.quick):m.is(s)),o[s]&&q.push(r);q.length&&i.push({elem:l,matches:q})}}d.length>e&&i.push({elem:this,matches:d.slice(e)});for(j=0;j<i.length&&!c.isPropagationStopped();j++){p=i[j],c.currentTarget=p.elem;for(k=0;k<p.matches.length&&!c.isImmediatePropagationStopped();k++){r=p.matches[k];if(h||!c.namespace&&!r.namespace||c.namespace_re&&c.namespace_re.test(r.namespace))c.data=r.data,c.handleObj=r,n=((f.event.special[r.origType]||{}).handle||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".split(" "),filter:function(a,d){var e,f,g,h=d.button,i=d.fromElement;a.pageX==null&&d.clientX!=null&&(e=a.target.ownerDocument||c,f=e.documentElement,g=e.body,a.pageX=d.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=d.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?d.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0);return a}},fix:function(a){if(a[f.expando])return a;var d,e,g=a,h=f.event.fixHooks[a.type]||{},i=h.props?this.props.concat(h.props):this.props;a=f.Event(g);for(d=i.length;d;)e=i[--d],a[e]=g[e];a.target||(a.target=g.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey===b&&(a.metaKey=a.ctrlKey);return h.filter?h.filter(a,g):a},special:{ready:{setup:f.bindReady},load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=f.extend(new f.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?f.event.trigger(e,null,b):f.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},f.event.handle=f.event.dispatch,f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!(this instanceof f.Event))return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?K:J):this.type=a,b&&f.extend(this,b),this.timeStamp=a&&a.timeStamp||f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=K;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=K;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=K,this.stopPropagation()},isDefaultPrevented:J,isPropagationStopped:J,isImmediatePropagationStopped:J},f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c=this,d=a.relatedTarget,e=a.handleObj,g=e.selector,h;if(!d||d!==c&&!f.contains(c,d))a.type=e.origType,h=e.handler.apply(this,arguments),a.type=b;return h}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(){if(f.nodeName(this,"form"))return!1;f.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=f.nodeName(c,"input")||f.nodeName(c,"button")?c.form:b;d&&!d._submit_attached&&(f.event.add(d,"submit._submit",function(a){this.parentNode&&!a.isTrigger&&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(z.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")f.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),f.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1,f.event.simulate("change",this,a,!0))});return!1}f.event.add(this,"beforeactivate._change",function(a){var b=a.target;z.test(b.nodeName)&&!b._change_attached&&(f.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&f.event.simulate("change",this.parentNode,a,!0)}),b._change_attached=!0)})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){f.event.remove(this,"._change");return z.test(this.nodeName)}}),f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){var d=0,e=function(a){f.event.simulate(b,a.target,f.event.fix(a),!0)};f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.fn.extend({on:function(a,c,d,e,g){var h,i;if(typeof a=="object"){typeof c!="string"&&(d=c,c=b);for(i in a)this.on(i,c,d,a[i],g);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=J;else if(!e)return this;g===1&&(h=e,e=function(a){f().off(a);return h.apply(this,arguments)},e.guid=h.guid||(h.guid=f.guid++));return this.each(function(){f.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on.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=J);return this.each(function(){f.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){f(this.context).on(a,this.selector,b,c);return this},die:function(a,b){f(this.context).off(a,this.selector||"**",b);return this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length==1?this.off(a,"**"):this.off(b,a,c)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f._data(this,"lastToggle"+a.guid)||0)%d;f._data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}if(j.nodeType===1){g||(j[d]=c,j.sizset=h);if(typeof b!="string"){if(j===b){k=!0;break}}else if(m.filter(b,[j]).length>0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}j.nodeType===1&&!g&&(j[d]=c,j.sizset=h);if(j.nodeName.toLowerCase()===b){k=j;break}j=j[a]}e[h]=k}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},m.matches=function(a,b){return m(a,null,null,b)},m.matchesSelector=function(a,b){return m(b,null,null,[a]).length>0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e<f;e++){h=o.order[e];if(g=o.leftMatch[h].exec(a)){i=g[1],g.splice(1,1);if(i.substr(i.length-1)!=="\\"){g[1]=(g[1]||"").replace(j,""),d=o.find[h](g,b,c);if(d!=null){a=a.replace(o.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},m.filter=function(a,c,d,e){var f,g,h,i,j,k,l,n,p,q=a,r=[],s=c,t=c&&c[0]&&m.isXML(c[0]);while(a&&c.length){for(h in o.filter)if((f=o.leftMatch[h].exec(a))!=null&&f[2]){k=o.filter[h],l=f[1],g=!1,f.splice(1,1);if(l.substr(l.length-1)==="\\")continue;s===r&&(r=[]);if(o.preFilter[h]){f=o.preFilter[h](f,s,d,r,e,t);if(!f)g=i=!0;else if(f===!0)continue}if(f)for(n=0;(j=s[n])!=null;n++)j&&(i=k(j,f,n,s),p=e^i,d&&i!=null?p?g=!0:s[n]=!1:p&&(r.push(j),g=!0));if(i!==b){d||(s=r),a=a.replace(o.match[h],"");if(!g)return[];break}}if(a===q)if(g==null)m.error(a);else break;q=a}return s},m.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)};var n=m.getText=function(a){var b,c,d=a.nodeType,e="";if(d){if(d===1||d===9){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 L=/Until$/,M=/^(?:parents|prevUntil|prevAll)/,N=/,/,O=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,Q=f.expr.match.POS,R={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(T(this,a,!1),"not",a)},filter:function(a){return this.pushStack(T(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?Q.test(a)?f(a,this.context).index(this[0])>=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d<a.length;d++)f(g).is(a[d])&&c.push({selector:a[d],elem:g,level:h});g=g.parentNode,h++}return c}var i=Q.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(i?i.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.netbase?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ NetBase\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/<tbody/i,_=/<|&#?\w+;/,ba=/<(?:script|style)/i,bb=/<(?:script|object|embed|option|style)/i,bc=new RegExp("<(?:"+V+")","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*<!(?:\[CDATA\[|\-\-)/,bg={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){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){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function()
13
+ {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(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1></$2>");try{for(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"&&bd.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bi(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bp)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i,j=a[0];b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof j=="string"&&j.length<512&&i===c&&j.charAt(0)==="<"&&!bb.test(j)&&(f.support.checkClone||!bd.test(j))&&(f.support.html5Clone||!bc.test(j))&&(g=!0,h=f.fragments[j],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[j]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g;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(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1></$2>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.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&&X.test(k)&&o.insertBefore(b.createTextNode(X.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++)bn(k[i]);else bn(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||be.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 bq=/alpha\([^)]*\)/i,br=/opacity=([^)]*)/,bs=/([A-Z]|^ms)/g,bt=/^-?\d+(?:px)?$/i,bu=/^-?\d/,bv=/^([\-+])=([\-+.\de]+)/,bw={position:"absolute",visibility:"hidden",display:"block"},bx=["Left","Right"],by=["Top","Bottom"],bz,bA,bB;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=bz(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=bv.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(bz)return bz(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 bC(a,b,d);f.swap(a,bw,function(){e=bC(a,b,d)});return e}},set:function(a,b){if(!bt.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.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(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,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=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b)));return c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.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}),bz=bA||bB,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 bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS)return bS.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(bN,"")).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||bO.test(this.nodeName)||bI.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(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b_(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b_(a,b);return a},ajaxSettings:{url:bV,isLocal:bJ.test(bW[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","*":bX},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:bZ(bT),ajaxTransport:bZ(bU),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?cb(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=cc(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=bH.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(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.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]!=="*"?", "+bX+"; 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=b$(bU,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.netbase&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),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&&(ce.test(b.url)||e&&ce.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(ce,l),b.url===j&&(e&&(k=k.replace(ce,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 cf=a.ActiveXObject?function(){for(var a in ch)ch[a](0,1)}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ci()||cj()}:ci,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,cf&&delete ch[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=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("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",cv(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(cu("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(cu("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||cv(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],cn.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=co.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]&&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:cu("show",1),slideUp:cu("hide",1),slideToggle:cu("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=cr||cs(),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)&&!cp&&(cp=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=cr||cs(),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(cp),cp=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)+a.unit)}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cw=/^t(?:able|d|h)$/i,cx=/^(?: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=cy(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||!cw.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=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["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=cy(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=cy(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.NetBase=a.$=f,typeof define=="function"&&define.amd&&define.amd.NetBase&&define("netbase",[],function(){return f})})(window);
14
+ NetBase.noConflict();
js/cmsmart/slideshow/jquery/jquery-noconflict.js ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Name Extension: Slideshow Homepage
3
+ * Version: 1.0.0
4
+ * Author: The Cmsmart Development Team
5
+ * Date Created: 16/09/2013
6
+ * Websites: http://cmsmart.net
7
+ * Technical Support: Forum - http://cmsmart.net/support
8
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
9
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
10
+ */
11
+ NetBase.noConflict();
js/cmsmart/slideshow/lofslider/jquery.easing.js ADDED
@@ -0,0 +1,178 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Name Extension: Slideshow Homepage
3
+ * Version: 1.0.0
4
+ * Author: The Cmsmart Development Team
5
+ * Date Created: 16/09/2013
6
+ * Websites: http://cmsmart.net
7
+ * Technical Support: Forum - http://cmsmart.net/support
8
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
9
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
10
+ */
11
+
12
+ NetBase.easing['jswing'] = NetBase.easing['swing'];
13
+
14
+ NetBase.extend( NetBase.easing,
15
+ {
16
+ def: 'easeOutQuad',
17
+ swing: function (x, t, b, c, d) {
18
+ //alert(NetBase.easing.default);
19
+ return NetBase.easing[NetBase.easing.def](x, t, b, c, d);
20
+ },
21
+ easeInQuad: function (x, t, b, c, d) {
22
+ return c*(t/=d)*t + b;
23
+ },
24
+ easeOutQuad: function (x, t, b, c, d) {
25
+ return -c *(t/=d)*(t-2) + b;
26
+ },
27
+ easeInOutQuad: function (x, t, b, c, d) {
28
+ if ((t/=d/2) < 1) return c/2*t*t + b;
29
+ return -c/2 * ((--t)*(t-2) - 1) + b;
30
+ },
31
+ easeInCubic: function (x, t, b, c, d) {
32
+ return c*(t/=d)*t*t + b;
33
+ },
34
+ easeOutCubic: function (x, t, b, c, d) {
35
+ return c*((t=t/d-1)*t*t + 1) + b;
36
+ },
37
+ easeInOutCubic: function (x, t, b, c, d) {
38
+ if ((t/=d/2) < 1) return c/2*t*t*t + b;
39
+ return c/2*((t-=2)*t*t + 2) + b;
40
+ },
41
+ easeInQuart: function (x, t, b, c, d) {
42
+ return c*(t/=d)*t*t*t + b;
43
+ },
44
+ easeOutQuart: function (x, t, b, c, d) {
45
+ return -c * ((t=t/d-1)*t*t*t - 1) + b;
46
+ },
47
+ easeInOutQuart: function (x, t, b, c, d) {
48
+ if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
49
+ return -c/2 * ((t-=2)*t*t*t - 2) + b;
50
+ },
51
+ easeInQuint: function (x, t, b, c, d) {
52
+ return c*(t/=d)*t*t*t*t + b;
53
+ },
54
+ easeOutQuint: function (x, t, b, c, d) {
55
+ return c*((t=t/d-1)*t*t*t*t + 1) + b;
56
+ },
57
+ easeInOutQuint: function (x, t, b, c, d) {
58
+ if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
59
+ return c/2*((t-=2)*t*t*t*t + 2) + b;
60
+ },
61
+ easeInSine: function (x, t, b, c, d) {
62
+ return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
63
+ },
64
+ easeOutSine: function (x, t, b, c, d) {
65
+ return c * Math.sin(t/d * (Math.PI/2)) + b;
66
+ },
67
+ easeInOutSine: function (x, t, b, c, d) {
68
+ return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
69
+ },
70
+ easeInExpo: function (x, t, b, c, d) {
71
+ return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
72
+ },
73
+ easeOutExpo: function (x, t, b, c, d) {
74
+ return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
75
+ },
76
+ easeInOutExpo: function (x, t, b, c, d) {
77
+ if (t==0) return b;
78
+ if (t==d) return b+c;
79
+ if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
80
+ return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
81
+ },
82
+ easeInCirc: function (x, t, b, c, d) {
83
+ return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
84
+ },
85
+ easeOutCirc: function (x, t, b, c, d) {
86
+ return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
87
+ },
88
+ easeInOutCirc: function (x, t, b, c, d) {
89
+ if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
90
+ return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
91
+ },
92
+ easeInElastic: function (x, t, b, c, d) {
93
+ var s=1.70158;var p=0;var a=c;
94
+ if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
95
+ if (a < Math.abs(c)) { a=c; var s=p/4; }
96
+ else var s = p/(2*Math.PI) * Math.asin (c/a);
97
+ return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
98
+ },
99
+ easeOutElastic: function (x, t, b, c, d) {
100
+ var s=1.70158;var p=0;var a=c;
101
+ if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
102
+ if (a < Math.abs(c)) { a=c; var s=p/4; }
103
+ else var s = p/(2*Math.PI) * Math.asin (c/a);
104
+ return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
105
+ },
106
+ easeInOutElastic: function (x, t, b, c, d) {
107
+ var s=1.70158;var p=0;var a=c;
108
+ if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5);
109
+ if (a < Math.abs(c)) { a=c; var s=p/4; }
110
+ else var s = p/(2*Math.PI) * Math.asin (c/a);
111
+ if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
112
+ return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
113
+ },
114
+ easeInBack: function (x, t, b, c, d, s) {
115
+ if (s == undefined) s = 1.70158;
116
+ return c*(t/=d)*t*((s+1)*t - s) + b;
117
+ },
118
+ easeOutBack: function (x, t, b, c, d, s) {
119
+ if (s == undefined) s = 1.70158;
120
+ return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
121
+ },
122
+ easeInOutBack: function (x, t, b, c, d, s) {
123
+ if (s == undefined) s = 1.70158;
124
+ if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
125
+ return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
126
+ },
127
+ easeInBounce: function (x, t, b, c, d) {
128
+ return c - NetBase.easing.easeOutBounce (x, d-t, 0, c, d) + b;
129
+ },
130
+ easeOutBounce: function (x, t, b, c, d) {
131
+ if ((t/=d) < (1/2.75)) {
132
+ return c*(7.5625*t*t) + b;
133
+ } else if (t < (2/2.75)) {
134
+ return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
135
+ } else if (t < (2.5/2.75)) {
136
+ return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
137
+ } else {
138
+ return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
139
+ }
140
+ },
141
+ easeInOutBounce: function (x, t, b, c, d) {
142
+ if (t < d/2) return NetBase.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
143
+ return NetBase.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
144
+ }
145
+ });
146
+
147
+ /*
148
+ *
149
+ * TERMS OF USE - EASING EQUATIONS
150
+ *
151
+ * Open source under the BSD License.
152
+ *
153
+ * Copyright © 2001 Robert Penner
154
+ * All rights reserved.
155
+ *
156
+ * Redistribution and use in source and binary forms, with or without modification,
157
+ * are permitted provided that the following conditions are met:
158
+ *
159
+ * Redistributions of source code must retain the above copyright notice, this list of
160
+ * conditions and the following disclaimer.
161
+ * Redistributions in binary form must reproduce the above copyright notice, this list
162
+ * of conditions and the following disclaimer in the documentation and/or other materials
163
+ * provided with the distribution.
164
+ *
165
+ * Neither the name of the author nor the names of contributors may be used to endorse
166
+ * or promote products derived from this software without specific prior written permission.
167
+ *
168
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
169
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
170
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
171
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
172
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
173
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
174
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
175
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
176
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
177
+ *
178
+ */
js/cmsmart/slideshow/lofslider/jquery.js ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Name Extension: Slideshow Homepage
3
+ * Version: 1.0.0
4
+ * Author: The Cmsmart Development Team
5
+ * Date Created: 16/09/2013
6
+ * Websites: http://cmsmart.net
7
+ * Technical Support: Forum - http://cmsmart.net/support
8
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
9
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
10
+ */
11
+
12
+ (function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(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 cb(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 ca(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bE.test(a)?d(a,e):ca(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)ca(a+"["+e+"]",b[e],c,d);else d(a,b)}function b_(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function b$(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===bT,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=b$(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=b$(a,c,d,e,"*",g));return l}function bZ(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bP),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 bC(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bx:by,g=0,h=e.length;if(d>0){if(c!=="border")for(;g<h;g++)c||(d-=parseFloat(f.css(a,"padding"+e[g]))||0),c==="margin"?d+=parseFloat(f.css(a,c+e[g]))||0:d-=parseFloat(f.css(a,"border"+e[g]+"Width"))||0;return d+"px"}d=bz(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0;if(c)for(;g<h;g++)d+=parseFloat(f.css(a,"padding"+e[g]))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+e[g]+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+e[g]))||0);return d+"px"}function bp(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bf,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bo(a){var b=c.createElement("div");bh.appendChild(b),b.innerHTML=a.outerHTML;return b.firstChild}function bn(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bm(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bm)}function bm(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bl(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bk(a,b){var c;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 bj(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d<e;d++)f.event.add(b,c+(i[c][d].namespace?".":"")+i[c][d].namespace,i[c][d],i[c][d].data)}h.data&&(h.data=f.extend({},h.data))}}function bi(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function U(a){var b=V.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function T(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(O.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?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 J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:G?function(a){return a==null?"":G.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b,c){var d;if(b){if(H)return H.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){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=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g={};f.Callbacks=function(a){a=a?g[a]||h(a):{};var c=[],d=[],e,i,j,k,l,m=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(){i.done.apply(i,arguments).fail.apply(i,arguments);return this},pipe:function(a,b,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c=b[0],e=b[1],g;f.isFunction(c)?i[a](function(){g=c.apply(this,arguments),g&&f.isFunction(g.promise)?g.promise().then(d.resolve,d.reject,d.notify):d[e+"With"](this===i?d:this,[g])}):i[a](d[e])})}).promise()},promise:function(a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}},i=h.promise({}),j;for(j in g)i[j]=g[j].fire,i[j+"With"]=g[j].fireWith;i.done(function(){e="resolved"},c.disable,d.lock).fail(function(){e="rejected"},b.disable,d.lock),a&&a.call(i,i);return i},when:function(a){function m(a){return function(b){e[a]=arguments.length>1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c<d;c++)b[c]&&b[c].promise&&f.isFunction(b[c].promise)?b[c].promise().then(l(c),j.reject,m(c)):--g;g||j.resolveWith(j,b)}else j!==a&&j.resolveWith(j,d?[a]:[]);return k}}),f.support=function(){var b,d,e,g,h,i,j,k,l,m,n,o,p,q=c.createElement("div"),r=c.documentElement;q.setAttribute("className","t"),q.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="<div "+n+"><div></div></div>"+"<table "+n+" cellpadding='0' cellspacing='0'>"+"<tr><td></td></tr></table>",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="<div style='width:4px;'></div>",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e<g;e++)delete d[b[e]];if(!(c?m:f.isEmptyObject)(d))return}}if(!c){delete j[k].data;if(!m(j[k]))return}f.support.deleteExpando||!j.setInterval?delete j[k]:j[k]=null,i&&(f.support.deleteExpando?delete a[h]:a.removeAttribute?a.removeAttribute(h):a[h]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d,e,g,h=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){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}})}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}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c<d;c++){e=i[c];if(e.selected&&(f.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!f.nodeName(e.parentNode,"optgroup"))){b=f(e).val();if(j)return b;h.push(b)}}if(j&&!h.length&&i.length)return f(i[g]).val();return h},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h<g;h++)e=d[h],e&&(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){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=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};
13
+ 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=f.trim(I(c)).split(" ");for(k=0;k<c.length;k++){l=A.exec(c[k])||[],m=l[1],n=(l[2]||"").split(".").sort(),s=f.event.special[m]||{},m=(g?s.delegateType:s.bindType)||m,s=f.event.special[m]||{},o=f.extend({type:m,origType:l[1],data:e,handler:d,guid:d.guid,selector:g,quick:G(g),namespace:n.join(".")},p),r=j[m];if(!r){r=j[m]=[],r.delegateCount=0;if(!s.setup||s.setup.call(a,e,n,i)===!1)a.addEventListener?a.addEventListener(m,i,!1):a.attachEvent&&a.attachEvent("on"+m,i)}s.add&&(s.add.call(a,o),o.handler.guid||(o.handler.guid=d.guid)),g?r.splice(r.delegateCount++,0,o):r.push(o),f.event.global[m]=!0}a=null}},global:{},remove:function(a,b,c,d,e){var g=f.hasData(a)&&f._data(a),h,i,j,k,l,m,n,o,p,q,r,s;if(!!g&&!!(o=g.events)){b=f.trim(I(b||"")).split(" ");for(h=0;h<b.length;h++){i=A.exec(b[h])||[],j=k=i[1],l=i[2];if(!j){for(j in o)f.event.remove(a,j+b[h],c,d,!0);continue}p=f.event.special[j]||{},j=(d?p.delegateType:p.bindType)||j,r=o[j]||[],m=r.length,l=l?new RegExp("(^|\\.)"+l.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(n=0;n<r.length;n++)s=r[n],(e||k===s.origType)&&(!c||c.guid===s.guid)&&(!l||l.test(s.namespace))&&(!d||d===s.selector||d==="**"&&s.selector)&&(r.splice(n--,1),s.selector&&r.delegateCount--,p.remove&&p.remove.call(a,s));r.length===0&&m!==r.length&&((!p.teardown||p.teardown.call(a,l)===!1)&&f.removeEvent(a,j,g.handle),delete o[j])}f.isEmptyObject(o)&&(q=g.handle,q&&(q.elem=null),f.removeData(a,["events","handle"],!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){if(!e||e.nodeType!==3&&e.nodeType!==8){var h=c.type||c,i=[],j,k,l,m,n,o,p,q,r,s;if(E.test(h+f.event.triggered))return;h.indexOf("!")>=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;l<r.length&&!c.isPropagationStopped();l++)m=r[l][0],c.type=r[l][1],q=(f._data(m,"events")||{})[c.type]&&f._data(m,"handle"),q&&q.apply(m,d),q=o&&m[o],q&&f.acceptData(m)&&q.apply(m,d)===!1&&c.preventDefault();c.type=h,!g&&!c.isDefaultPrevented()&&(!p._default||p._default.apply(e.ownerDocument,d)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)&&o&&e[h]&&(h!=="focus"&&h!=="blur"||c.target.offsetWidth!==0)&&!f.isWindow(e)&&(n=e[o],n&&(e[o]=null),f.event.triggered=h,e[h](),f.event.triggered=b,n&&(e[o]=n));return c.result}},dispatch:function(c){c=f.event.fix(c||a.event);var d=(f._data(this,"events")||{})[c.type]||[],e=d.delegateCount,g=[].slice.call(arguments,0),h=!c.exclusive&&!c.namespace,i=[],j,k,l,m,n,o,p,q,r,s,t;g[0]=c,c.delegateTarget=this;if(e&&!c.target.disabled&&(!c.button||c.type!=="click")){m=f(this),m.context=this.ownerDocument||this;for(l=c.target;l!=this;l=l.parentNode||this){o={},q=[],m[0]=l;for(j=0;j<e;j++)r=d[j],s=r.selector,o[s]===b&&(o[s]=r.quick?H(l,r.quick):m.is(s)),o[s]&&q.push(r);q.length&&i.push({elem:l,matches:q})}}d.length>e&&i.push({elem:this,matches:d.slice(e)});for(j=0;j<i.length&&!c.isPropagationStopped();j++){p=i[j],c.currentTarget=p.elem;for(k=0;k<p.matches.length&&!c.isImmediatePropagationStopped();k++){r=p.matches[k];if(h||!c.namespace&&!r.namespace||c.namespace_re&&c.namespace_re.test(r.namespace))c.data=r.data,c.handleObj=r,n=((f.event.special[r.origType]||{}).handle||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".split(" "),filter:function(a,d){var e,f,g,h=d.button,i=d.fromElement;a.pageX==null&&d.clientX!=null&&(e=a.target.ownerDocument||c,f=e.documentElement,g=e.body,a.pageX=d.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=d.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?d.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0);return a}},fix:function(a){if(a[f.expando])return a;var d,e,g=a,h=f.event.fixHooks[a.type]||{},i=h.props?this.props.concat(h.props):this.props;a=f.Event(g);for(d=i.length;d;)e=i[--d],a[e]=g[e];a.target||(a.target=g.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey===b&&(a.metaKey=a.ctrlKey);return h.filter?h.filter(a,g):a},special:{ready:{setup:f.bindReady},load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=f.extend(new f.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?f.event.trigger(e,null,b):f.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},f.event.handle=f.event.dispatch,f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!(this instanceof f.Event))return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?K:J):this.type=a,b&&f.extend(this,b),this.timeStamp=a&&a.timeStamp||f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=K;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=K;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=K,this.stopPropagation()},isDefaultPrevented:J,isPropagationStopped:J,isImmediatePropagationStopped:J},f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c=this,d=a.relatedTarget,e=a.handleObj,g=e.selector,h;if(!d||d!==c&&!f.contains(c,d))a.type=e.origType,h=e.handler.apply(this,arguments),a.type=b;return h}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(){if(f.nodeName(this,"form"))return!1;f.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=f.nodeName(c,"input")||f.nodeName(c,"button")?c.form:b;d&&!d._submit_attached&&(f.event.add(d,"submit._submit",function(a){this.parentNode&&!a.isTrigger&&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(z.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")f.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),f.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1,f.event.simulate("change",this,a,!0))});return!1}f.event.add(this,"beforeactivate._change",function(a){var b=a.target;z.test(b.nodeName)&&!b._change_attached&&(f.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&f.event.simulate("change",this.parentNode,a,!0)}),b._change_attached=!0)})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){f.event.remove(this,"._change");return z.test(this.nodeName)}}),f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){var d=0,e=function(a){f.event.simulate(b,a.target,f.event.fix(a),!0)};f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.fn.extend({on:function(a,c,d,e,g){var h,i;if(typeof a=="object"){typeof c!="string"&&(d=c,c=b);for(i in a)this.on(i,c,d,a[i],g);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=J;else if(!e)return this;g===1&&(h=e,e=function(a){f().off(a);return h.apply(this,arguments)},e.guid=h.guid||(h.guid=f.guid++));return this.each(function(){f.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on.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=J);return this.each(function(){f.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){f(this.context).on(a,this.selector,b,c);return this},die:function(a,b){f(this.context).off(a,this.selector||"**",b);return this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length==1?this.off(a,"**"):this.off(b,a,c)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f._data(this,"lastToggle"+a.guid)||0)%d;f._data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}if(j.nodeType===1){g||(j[d]=c,j.sizset=h);if(typeof b!="string"){if(j===b){k=!0;break}}else if(m.filter(b,[j]).length>0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}j.nodeType===1&&!g&&(j[d]=c,j.sizset=h);if(j.nodeName.toLowerCase()===b){k=j;break}j=j[a]}e[h]=k}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},m.matches=function(a,b){return m(a,null,null,b)},m.matchesSelector=function(a,b){return m(b,null,null,[a]).length>0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e<f;e++){h=o.order[e];if(g=o.leftMatch[h].exec(a)){i=g[1],g.splice(1,1);if(i.substr(i.length-1)!=="\\"){g[1]=(g[1]||"").replace(j,""),d=o.find[h](g,b,c);if(d!=null){a=a.replace(o.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},m.filter=function(a,c,d,e){var f,g,h,i,j,k,l,n,p,q=a,r=[],s=c,t=c&&c[0]&&m.isXML(c[0]);while(a&&c.length){for(h in o.filter)if((f=o.leftMatch[h].exec(a))!=null&&f[2]){k=o.filter[h],l=f[1],g=!1,f.splice(1,1);if(l.substr(l.length-1)==="\\")continue;s===r&&(r=[]);if(o.preFilter[h]){f=o.preFilter[h](f,s,d,r,e,t);if(!f)g=i=!0;else if(f===!0)continue}if(f)for(n=0;(j=s[n])!=null;n++)j&&(i=k(j,f,n,s),p=e^i,d&&i!=null?p?g=!0:s[n]=!1:p&&(r.push(j),g=!0));if(i!==b){d||(s=r),a=a.replace(o.match[h],"");if(!g)return[];break}}if(a===q)if(g==null)m.error(a);else break;q=a}return s},m.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)};var n=m.getText=function(a){var b,c,d=a.nodeType,e="";if(d){if(d===1||d===9){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 L=/Until$/,M=/^(?:parents|prevUntil|prevAll)/,N=/,/,O=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,Q=f.expr.match.POS,R={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(T(this,a,!1),"not",a)},filter:function(a){return this.pushStack(T(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?Q.test(a)?f(a,this.context).index(this[0])>=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d<a.length;d++)f(g).is(a[d])&&c.push({selector:a[d],elem:g,level:h});g=g.parentNode,h++}return c}var i=Q.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(i?i.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/<tbody/i,_=/<|&#?\w+;/,ba=/<(?:script|style)/i,bb=/<(?:script|object|embed|option|style)/i,bc=new RegExp("<(?:"+V+")","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*<!(?:\[CDATA\[|\-\-)/,bg={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){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){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function()
14
+ {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(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1></$2>");try{for(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"&&bd.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bi(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bp)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i,j=a[0];b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof j=="string"&&j.length<512&&i===c&&j.charAt(0)==="<"&&!bb.test(j)&&(f.support.checkClone||!bd.test(j))&&(f.support.html5Clone||!bc.test(j))&&(g=!0,h=f.fragments[j],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[j]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g;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(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1></$2>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.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&&X.test(k)&&o.insertBefore(b.createTextNode(X.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++)bn(k[i]);else bn(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||be.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 bq=/alpha\([^)]*\)/i,br=/opacity=([^)]*)/,bs=/([A-Z]|^ms)/g,bt=/^-?\d+(?:px)?$/i,bu=/^-?\d/,bv=/^([\-+])=([\-+.\de]+)/,bw={position:"absolute",visibility:"hidden",display:"block"},bx=["Left","Right"],by=["Top","Bottom"],bz,bA,bB;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=bz(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=bv.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(bz)return bz(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 bC(a,b,d);f.swap(a,bw,function(){e=bC(a,b,d)});return e}},set:function(a,b){if(!bt.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.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(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,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=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b)));return c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.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}),bz=bA||bB,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 bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS)return bS.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(bN,"")).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||bO.test(this.nodeName)||bI.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(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b_(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b_(a,b);return a},ajaxSettings:{url:bV,isLocal:bJ.test(bW[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","*":bX},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:bZ(bT),ajaxTransport:bZ(bU),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?cb(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=cc(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=bH.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(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.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]!=="*"?", "+bX+"; 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=b$(bU,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),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&&(ce.test(b.url)||e&&ce.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(ce,l),b.url===j&&(e&&(k=k.replace(ce,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 cf=a.ActiveXObject?function(){for(var a in ch)ch[a](0,1)}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ci()||cj()}:ci,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,cf&&delete ch[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=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("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",cv(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(cu("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(cu("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||cv(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],cn.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=co.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]&&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:cu("show",1),slideUp:cu("hide",1),slideToggle:cu("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=cr||cs(),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)&&!cp&&(cp=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=cr||cs(),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(cp),cp=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)+a.unit)}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cw=/^t(?:able|d|h)$/i,cx=/^(?: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=cy(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||!cw.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=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["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=cy(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=cy(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,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window);
js/cmsmart/slideshow/lofslider/jquery.touchSwipe.min.js ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Name Extension: Slideshow Homepage
3
+ * Version: 1.0.0
4
+ * Author: The Cmsmart Development Team
5
+ * Date Created: 16/09/2013
6
+ * Websites: http://cmsmart.net
7
+ * Technical Support: Forum - http://cmsmart.net/support
8
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
9
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
10
+ */
11
+
12
+ (function(e){var o="left",n="right",d="up",v="down",c="in",w="out",l="none",r="auto",k="swipe",s="pinch",x="tap",i="doubletap",b="longtap",A="horizontal",t="vertical",h="all",q=10,f="start",j="move",g="end",p="cancel",a="ontouchstart" in window,y="TouchSwipe";var m={fingers:1,threshold:75,cancelThreshold:25,pinchThreshold:20,maxTimeThreshold:null,fingerReleaseThreshold:250,longTapThreshold:500,doubleTapThreshold:200,swipe:null,swipeLeft:null,swipeRight:null,swipeUp:null,swipeDown:null,swipeStatus:null,pinchIn:null,pinchOut:null,pinchStatus:null,click:null,tap:null,doubleTap:null,longTap:null,triggerOnTouchEnd:true,triggerOnTouchLeave:false,allowPageScroll:"auto",fallbackToMouseEvents:true,excludedElements:"button, input, select, textarea, a, .noSwipe"};e.fn.swipe=function(D){var C=e(this),B=C.data(y);if(B&&typeof D==="string"){if(B[D]){return B[D].apply(this,Array.prototype.slice.call(arguments,1))}else{e.error("Method "+D+" does not exist on NetBase.swipe")}}else{if(!B&&(typeof D==="object"||!D)){return u.apply(this,arguments)}}return C};e.fn.swipe.defaults=m;e.fn.swipe.phases={PHASE_START:f,PHASE_MOVE:j,PHASE_END:g,PHASE_CANCEL:p};e.fn.swipe.directions={LEFT:o,RIGHT:n,UP:d,DOWN:v,IN:c,OUT:w};e.fn.swipe.pageScroll={NONE:l,HORIZONTAL:A,VERTICAL:t,AUTO:r};e.fn.swipe.fingers={ONE:1,TWO:2,THREE:3,ALL:h};function u(B){if(B&&(B.allowPageScroll===undefined&&(B.swipe!==undefined||B.swipeStatus!==undefined))){B.allowPageScroll=l}if(B.click!==undefined&&B.tap===undefined){B.tap=B.click}if(!B){B={}}B=e.extend({},e.fn.swipe.defaults,B);return this.each(function(){var D=e(this);var C=D.data(y);if(!C){C=new z(this,B);D.data(y,C)}})}function z(a0,aq){var av=(a||!aq.fallbackToMouseEvents),G=av?"touchstart":"mousedown",au=av?"touchmove":"mousemove",R=av?"touchend":"mouseup",P=av?null:"mouseleave",az="touchcancel";var ac=0,aL=null,Y=0,aX=0,aV=0,D=1,am=0,aF=0,J=null;var aN=e(a0);var W="start";var T=0;var aM=null;var Q=0,aY=0,a1=0,aa=0,K=0;var aS=null;try{aN.bind(G,aJ);aN.bind(az,a5)}catch(ag){e.error("events not supported "+G+","+az+" on NetBase.swipe")}this.enable=function(){aN.bind(G,aJ);aN.bind(az,a5);return aN};this.disable=function(){aG();return aN};this.destroy=function(){aG();aN.data(y,null);return aN};this.option=function(a7,a6){if(aq[a7]!==undefined){if(a6===undefined){return aq[a7]}else{aq[a7]=a6}}else{e.error("Option "+a7+" does not exist on NetBase.swipe.options")}};function aJ(a8){if(ax()){return}if(e(a8.target).closest(aq.excludedElements,aN).length>0){return}var a9=a8.originalEvent?a8.originalEvent:a8;var a7,a6=a?a9.touches[0]:a9;W=f;if(a){T=a9.touches.length}else{a8.preventDefault()}ac=0;aL=null;aF=null;Y=0;aX=0;aV=0;D=1;am=0;aM=af();J=X();O();if(!a||(T===aq.fingers||aq.fingers===h)||aT()){ae(0,a6);Q=ao();if(T==2){ae(1,a9.touches[1]);aX=aV=ap(aM[0].start,aM[1].start)}if(aq.swipeStatus||aq.pinchStatus){a7=L(a9,W)}}else{a7=false}if(a7===false){W=p;L(a9,W);return a7}else{ak(true)}}function aZ(a9){var bc=a9.originalEvent?a9.originalEvent:a9;if(W===g||W===p||ai()){return}var a8,a7=a?bc.touches[0]:bc;var ba=aD(a7);aY=ao();if(a){T=bc.touches.length}W=j;if(T==2){if(aX==0){ae(1,bc.touches[1]);aX=aV=ap(aM[0].start,aM[1].start)}else{aD(bc.touches[1]);aV=ap(aM[0].end,aM[1].end);aF=an(aM[0].end,aM[1].end)}D=a3(aX,aV);am=Math.abs(aX-aV)}if((T===aq.fingers||aq.fingers===h)||!a||aT()){aL=aH(ba.start,ba.end);ah(a9,aL);ac=aO(ba.start,ba.end);Y=aI();aE(aL,ac);if(aq.swipeStatus||aq.pinchStatus){a8=L(bc,W)}if(!aq.triggerOnTouchEnd||aq.triggerOnTouchLeave){var a6=true;if(aq.triggerOnTouchLeave){var bb=aU(this);a6=B(ba.end,bb)}if(!aq.triggerOnTouchEnd&&a6){W=ay(j)}else{if(aq.triggerOnTouchLeave&&!a6){W=ay(g)}}if(W==p||W==g){L(bc,W)}}}else{W=p;L(bc,W)}if(a8===false){W=p;L(bc,W)}}function I(a6){var a7=a6.originalEvent;if(a){if(a7.touches.length>0){C();return true}}if(ai()){T=aa}a6.preventDefault();aY=ao();Y=aI();if(aq.triggerOnTouchEnd||(aq.triggerOnTouchEnd==false&&W===j)){W=g;L(a7,W)}else{if(!aq.triggerOnTouchEnd&&a2()){W=g;aB(a7,W,x)}else{if(W===j){W=p;L(a7,W)}}}ak(false)}function a5(){T=0;aY=0;Q=0;aX=0;aV=0;D=1;O();ak(false)}function H(a6){var a7=a6.originalEvent;if(aq.triggerOnTouchLeave){W=ay(g);L(a7,W)}}function aG(){aN.unbind(G,aJ);aN.unbind(az,a5);aN.unbind(au,aZ);aN.unbind(R,I);if(P){aN.unbind(P,H)}ak(false)}function ay(a9){var a8=a9;var a7=aw();var a6=aj();if(!a7){a8=p}else{if(a6&&a9==j&&(!aq.triggerOnTouchEnd||aq.triggerOnTouchLeave)){a8=g}else{if(!a6&&a9==g&&aq.triggerOnTouchLeave){a8=p}}}return a8}function L(a8,a6){var a7=undefined;if(F()){a7=aB(a8,a6,k)}else{if(M()&&a7!==false){a7=aB(a8,a6,s)}}if(aC()&&a7!==false){a7=aB(a8,a6,i)}else{if(al()&&a7!==false){a7=aB(a8,a6,b)}else{if(ad()&&a7!==false){a7=aB(a8,a6,x)}}}if(a6===p){a5(a8)}if(a6===g){if(a){if(a8.touches.length==0){a5(a8)}}else{a5(a8)}}return a7}function aB(a9,a6,a8){var a7=undefined;if(a8==k){aN.trigger("swipeStatus",[a6,aL||null,ac||0,Y||0,T]);if(aq.swipeStatus){a7=aq.swipeStatus.call(aN,a9,a6,aL||null,ac||0,Y||0,T);if(a7===false){return false}}if(a6==g&&aR()){aN.trigger("swipe",[aL,ac,Y,T]);if(aq.swipe){a7=aq.swipe.call(aN,a9,aL,ac,Y,T);if(a7===false){return false}}switch(aL){case o:aN.trigger("swipeLeft",[aL,ac,Y,T]);if(aq.swipeLeft){a7=aq.swipeLeft.call(aN,a9,aL,ac,Y,T)}break;case n:aN.trigger("swipeRight",[aL,ac,Y,T]);if(aq.swipeRight){a7=aq.swipeRight.call(aN,a9,aL,ac,Y,T)}break;case d:aN.trigger("swipeUp",[aL,ac,Y,T]);if(aq.swipeUp){a7=aq.swipeUp.call(aN,a9,aL,ac,Y,T)}break;case v:aN.trigger("swipeDown",[aL,ac,Y,T]);if(aq.swipeDown){a7=aq.swipeDown.call(aN,a9,aL,ac,Y,T)}break}}}if(a8==s){aN.trigger("pinchStatus",[a6,aF||null,am||0,Y||0,T,D]);if(aq.pinchStatus){a7=aq.pinchStatus.call(aN,a9,a6,aF||null,am||0,Y||0,T,D);if(a7===false){return false}}if(a6==g&&a4()){switch(aF){case c:aN.trigger("pinchIn",[aF||null,am||0,Y||0,T,D]);if(aq.pinchIn){a7=aq.pinchIn.call(aN,a9,aF||null,am||0,Y||0,T,D)}break;case w:aN.trigger("pinchOut",[aF||null,am||0,Y||0,T,D]);if(aq.pinchOut){a7=aq.pinchOut.call(aN,a9,aF||null,am||0,Y||0,T,D)}break}}}if(a8==x){if(a6===p||a6===g){clearTimeout(aS);if(V()&&!E()){K=ao();aS=setTimeout(e.proxy(function(){K=null;aN.trigger("tap",[a9.target]);if(aq.tap){a7=aq.tap.call(aN,a9,a9.target)}},this),aq.doubleTapThreshold)}else{K=null;aN.trigger("tap",[a9.target]);if(aq.tap){a7=aq.tap.call(aN,a9,a9.target)}}}}else{if(a8==i){if(a6===p||a6===g){clearTimeout(aS);K=null;aN.trigger("doubletap",[a9.target]);if(aq.doubleTap){a7=aq.doubleTap.call(aN,a9,a9.target)}}}else{if(a8==b){if(a6===p||a6===g){clearTimeout(aS);K=null;aN.trigger("longtap",[a9.target]);if(aq.longTap){a7=aq.longTap.call(aN,a9,a9.target)}}}}}return a7}function aj(){var a6=true;if(aq.threshold!==null){a6=ac>=aq.threshold}if(a6&&aq.cancelThreshold!==null){a6=(aP(aL)-ac)<aq.cancelThreshold}return a6}function ab(){if(aq.pinchThreshold!==null){return am>=aq.pinchThreshold}return true}function aw(){var a6;if(aq.maxTimeThreshold){if(Y>=aq.maxTimeThreshold){a6=false}else{a6=true}}else{a6=true}return a6}function ah(a6,a7){if(aq.allowPageScroll===l||aT()){a6.preventDefault()}else{var a8=aq.allowPageScroll===r;switch(a7){case o:if((aq.swipeLeft&&a8)||(!a8&&aq.allowPageScroll!=A)){a6.preventDefault()}break;case n:if((aq.swipeRight&&a8)||(!a8&&aq.allowPageScroll!=A)){a6.preventDefault()}break;case d:if((aq.swipeUp&&a8)||(!a8&&aq.allowPageScroll!=t)){a6.preventDefault()}break;case v:if((aq.swipeDown&&a8)||(!a8&&aq.allowPageScroll!=t)){a6.preventDefault()}break}}}function a4(){var a7=aK();var a6=U();var a8=ab();return a7&&a6&&a8}function aT(){return !!(aq.pinchStatus||aq.pinchIn||aq.pinchOut)}function M(){return !!(a4()&&aT())}function aR(){var a8=aw();var ba=aj();var a7=aK();var a6=U();var a9=a6&&a7&&ba&&a8;return a9}function S(){return !!(aq.swipe||aq.swipeStatus||aq.swipeLeft||aq.swipeRight||aq.swipeUp||aq.swipeDown)}function F(){return !!(aR()&&S())}function aK(){return((T===aq.fingers||aq.fingers===h)||!a)}function U(){return aM[0].end.x!==0}function a2(){return !!(aq.tap)}function V(){return !!(aq.doubleTap)}function aQ(){return !!(aq.longTap)}function N(){if(K==null){return false}var a6=ao();return(V()&&((a6-K)<=aq.doubleTapThreshold))}function E(){return N()}function at(){return((T===1||!a)&&(isNaN(ac)||ac===0))}function aW(){return((Y>aq.longTapThreshold)&&(ac<q))}function ad(){return !!(at()&&a2())}function aC(){return !!(N()&&V())}function al(){return !!(aW()&&aQ())}function C(){a1=ao();aa=event.touches.length+1}function O(){a1=0;aa=0}function ai(){var a6=false;if(a1){var a7=ao()-a1;if(a7<=aq.fingerReleaseThreshold){a6=true}}return a6}function ax(){return !!(aN.data(y+"_intouch")===true)}function ak(a6){if(a6===true){aN.bind(au,aZ);aN.bind(R,I);if(P){aN.bind(P,H)}}else{aN.unbind(au,aZ,false);aN.unbind(R,I,false);if(P){aN.unbind(P,H,false)}}aN.data(y+"_intouch",a6===true)}function ae(a7,a6){var a8=a6.identifier!==undefined?a6.identifier:0;aM[a7].identifier=a8;aM[a7].start.x=aM[a7].end.x=a6.pageX||a6.clientX;aM[a7].start.y=aM[a7].end.y=a6.pageY||a6.clientY;return aM[a7]}function aD(a6){var a8=a6.identifier!==undefined?a6.identifier:0;var a7=Z(a8);a7.end.x=a6.pageX||a6.clientX;a7.end.y=a6.pageY||a6.clientY;return a7}function Z(a7){for(var a6=0;a6<aM.length;a6++){if(aM[a6].identifier==a7){return aM[a6]}}}function af(){var a6=[];for(var a7=0;a7<=5;a7++){a6.push({start:{x:0,y:0},end:{x:0,y:0},identifier:0})}return a6}function aE(a6,a7){a7=Math.max(a7,aP(a6));J[a6].distance=a7}function aP(a6){return J[a6].distance}function X(){var a6={};a6[o]=ar(o);a6[n]=ar(n);a6[d]=ar(d);a6[v]=ar(v);return a6}function ar(a6){return{direction:a6,distance:0}}function aI(){return aY-Q}function ap(a9,a8){var a7=Math.abs(a9.x-a8.x);var a6=Math.abs(a9.y-a8.y);return Math.round(Math.sqrt(a7*a7+a6*a6))}function a3(a6,a7){var a8=(a7/a6)*1;return a8.toFixed(2)}function an(){if(D<1){return w}else{return c}}function aO(a7,a6){return Math.round(Math.sqrt(Math.pow(a6.x-a7.x,2)+Math.pow(a6.y-a7.y,2)))}function aA(a9,a7){var a6=a9.x-a7.x;var bb=a7.y-a9.y;var a8=Math.atan2(bb,a6);var ba=Math.round(a8*180/Math.PI);if(ba<0){ba=360-Math.abs(ba)}return ba}function aH(a7,a6){var a8=aA(a7,a6);if((a8<=45)&&(a8>=0)){return o}else{if((a8<=360)&&(a8>=315)){return o}else{if((a8>=135)&&(a8<=225)){return n}else{if((a8>45)&&(a8<135)){return v}else{return d}}}}}function ao(){var a6=new Date();return a6.getTime()}function aU(a6){a6=e(a6);var a8=a6.offset();var a7={left:a8.left,right:a8.left+a6.outerWidth(),top:a8.top,bottom:a8.top+a6.outerHeight()};return a7}function B(a6,a7){return(a6.x>a7.left&&a6.x<a7.right&&a6.y>a7.top&&a6.y<a7.bottom)}}})(NetBase);
js/cmsmart/slideshow/lofslider/layout.css ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Name Extension: Slideshow Homepage
3
+ * Version: 1.0.0
4
+ * Author: The Cmsmart Development Team
5
+ * Date Created: 16/09/2013
6
+ * Websites: http://cmsmart.net
7
+ * Technical Support: Forum - http://cmsmart.net/support
8
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
9
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
10
+ */
11
+
12
+ #container { width:980px; margin:0px auto 0px; background:#FFFFFF; padding:10px; font-size:12px; margin-top:50px; }
13
+
14
+ a{
15
+ text-transform:none;
16
+ color:#333
17
+ }
js/cmsmart/slideshow/lofslider/script.js ADDED
@@ -0,0 +1,415 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Name Extension: Slideshow Homepage
3
+ * Version: 1.0.0
4
+ * Author: The Cmsmart Development Team
5
+ * Date Created: 16/09/2013
6
+ * Websites: http://cmsmart.net
7
+ * Technical Support: Forum - http://cmsmart.net/support
8
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
9
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
10
+ */
11
+
12
+
13
+ (function($) {
14
+
15
+ var types = ['DOMMouseScroll', 'mousewheel'];
16
+
17
+ if ($.event.fixHooks) {
18
+ for ( var i=types.length; i; ) {
19
+ $.event.fixHooks[ types[--i] ] = $.event.mouseHooks;
20
+ }
21
+ }
22
+
23
+ $.event.special.mousewheel = {
24
+ setup: function() {
25
+ if ( this.addEventListener ) {
26
+ for ( var i=types.length; i; ) {
27
+ this.addEventListener( types[--i], handler, false );
28
+ }
29
+ } else {
30
+ this.onmousewheel = handler;
31
+ }
32
+ },
33
+
34
+ teardown: function() {
35
+ if ( this.removeEventListener ) {
36
+ for ( var i=types.length; i; ) {
37
+ this.removeEventListener( types[--i], handler, false );
38
+ }
39
+ } else {
40
+ this.onmousewheel = null;
41
+ }
42
+ }
43
+ };
44
+
45
+ $.fn.extend({
46
+ mousewheel: function(fn) {
47
+ return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel");
48
+ },
49
+
50
+ unmousewheel: function(fn) {
51
+ return this.unbind("mousewheel", fn);
52
+ }
53
+ });
54
+
55
+
56
+ function handler(event) {
57
+ var orgEvent = event || window.event, args = [].slice.call( arguments, 1 ), delta = 0, returnValue = true, deltaX = 0, deltaY = 0;
58
+ event = $.event.fix(orgEvent);
59
+ event.type = "mousewheel";
60
+
61
+ // Old school scrollwheel delta
62
+ if ( orgEvent.wheelDelta ) { delta = orgEvent.wheelDelta/120; }
63
+ if ( orgEvent.detail ) { delta = -orgEvent.detail/3; }
64
+
65
+ // New school multidimensional scroll (touchpads) deltas
66
+ deltaY = delta;
67
+
68
+ // Gecko
69
+ if ( orgEvent.axis !== undefined && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) {
70
+ deltaY = 0;
71
+ deltaX = -1*delta;
72
+ }
73
+
74
+ // Webkit
75
+ if ( orgEvent.wheelDeltaY !== undefined ) { deltaY = orgEvent.wheelDeltaY/120; }
76
+ if ( orgEvent.wheelDeltaX !== undefined ) { deltaX = -1*orgEvent.wheelDeltaX/120; }
77
+
78
+ // Add event and delta to the front of the arguments
79
+ args.unshift(event, delta, deltaX, deltaY);
80
+
81
+ return ($.event.dispatch || $.event.handle).apply(this, args);
82
+ }
83
+
84
+ })(NetBase);
85
+
86
+ /**
87
+ * @version 2.0
88
+ * @package NetBase
89
+ * @subpackage lofslidernews
90
+ * @copyright Copyright (C) JAN 2010 LandOfCoder.com <@emai:landofcoder@gmail.com>. All rights reserved.
91
+ * @website http://landofcoder.com
92
+ * @license This plugin is dual-licensed under the GNU General Public License and the MIT License
93
+ */
94
+ // JavaScript Document
95
+ (function($) {
96
+ $.fn.lofJSidernews = function( settings ) {
97
+ return this.each(function() {
98
+ // get instance of the lofSiderNew.
99
+ new $.lofSidernews( this, settings );
100
+ });
101
+ }
102
+ $.lofSidernews = function( obj, settings ){
103
+ this.settings = {
104
+ direction : '',
105
+ mainItemSelector : 'li',
106
+ navInnerSelector : 'ul',
107
+ navSelector : 'li' ,
108
+ navigatorEvent : 'click'/* click|mouseenter */,
109
+ wapperSelector: '.sliders-wrap-inner',
110
+ interval : 5000,
111
+ auto : false, // whether to automatic play the slideshow
112
+ maxItemDisplay : 3,
113
+ startItem : 0,
114
+ navPosition : 'vertical',/* values: horizontal|vertical*/
115
+ navigatorHeight : 100,
116
+ navigatorWidth : 310,
117
+ duration : 600,
118
+ mobile : false,
119
+ navItemsSelector : '.navigator-wrap-inner li',
120
+ navOuterSelector : '.navigator-wrapper' ,
121
+ isPreloaded : true,
122
+ easing : 'easeInOutQuad',
123
+ onPlaySlider:function(obj, slider){},
124
+ onComplete:function(slider, index){ }
125
+ }
126
+ $.extend( this.settings, settings ||{} );
127
+ this.nextNo = null;
128
+ this.previousNo = null;
129
+ this.maxWidth = this.settings.mainWidth || 684;
130
+
131
+
132
+
133
+ this.wrapper = $( obj ).find( this.settings.wapperSelector );
134
+ var wrapOuter = $('<div class="sliders-wrapper"></div>').width( this.maxWidth );
135
+ this.wrapper.wrap( wrapOuter );
136
+
137
+ this.slides = this.wrapper.find( this.settings.mainItemSelector );
138
+ if( !this.wrapper.length || !this.slides.length ) return ;
139
+ // set width of wapper
140
+ if( this.settings.maxItemDisplay > this.slides.length ){
141
+ this.settings.maxItemDisplay = this.slides.length;
142
+ }
143
+ this.currentNo = isNaN(this.settings.startItem)||this.settings.startItem > this.slides.length?0:this.settings.startItem;
144
+ this.navigatorOuter = $( obj ).find( this.settings.navOuterSelector );
145
+ this.navigatorItems = $( obj ).find( this.settings.navItemsSelector ) ;
146
+ this.navigatorInner = this.navigatorOuter.find( this.settings.navInnerSelector );
147
+ // if use automactic calculate width of navigator
148
+
149
+ if( this.settings.navigatorHeight == null || this.settings.navigatorWidth == null ){
150
+ this.settings.navigatorHeight = this.navigatorItems.eq(0).outerWidth(true);
151
+ this.settings.navigatorWidth = this.navigatorItems.eq(0).outerHeight(true);
152
+
153
+ }
154
+ if( this.settings.navPosition == 'horizontal' ){
155
+ this.navigatorInner.width( this.slides.length * this.settings.navigatorWidth );
156
+ this.navigatorOuter.width( this.settings.maxItemDisplay * this.settings.navigatorWidth );
157
+ this.navigatorOuter.height( this.settings.navigatorHeight );
158
+
159
+ } else {
160
+ this.navigatorInner.height( this.slides.length * this.settings.navigatorHeight );
161
+
162
+ this.navigatorOuter.height( this.settings.maxItemDisplay * this.settings.navigatorHeight );
163
+ this.navigatorOuter.width( this.settings.navigatorWidth );
164
+ }
165
+ this.slides.width( this.settings.mainWidth );
166
+ this.navigratorStep = this.__getPositionMode( this.settings.navPosition );
167
+ this.directionMode = this.__getDirectionMode();
168
+
169
+
170
+ if( this.settings.direction == 'opacity') {
171
+ this.wrapper.addClass( 'lof-opacity' );
172
+ $(this.slides).css({'opacity':0,'z-index':1}).eq(this.currentNo).css({'opacity':1,'z-index':3});
173
+ } else {
174
+ this.wrapper.css({'left':'-'+this.currentNo*this.maxSize+'px', 'width':( this.maxWidth ) * this.slides.length } );
175
+ }
176
+
177
+
178
+ if( this.settings.isPreloaded ) {
179
+ this.preLoadImage( this.onComplete );
180
+ } else {
181
+ this.onComplete();
182
+ }
183
+
184
+ $buttonControl = $( ".button-control", obj);
185
+ if( this.settings.auto ){
186
+ $buttonControl.addClass("action-stop");
187
+ } else {
188
+ $buttonControl.addClass("action-start");
189
+ }
190
+ var self = this;
191
+
192
+ $( obj ).hover(function(){
193
+ self.stop();
194
+ $buttonControl.addClass("action-start").removeClass("action-stop").addClass("hover-stop");
195
+ }, function(){
196
+ if( $buttonControl.hasClass("hover-stop") ){
197
+
198
+ if( self.settings.auto ){
199
+ $buttonControl.removeClass("action-start").removeClass("hover-stop").addClass("action-stop");
200
+ self.play( self.settings.interval,'next', true );
201
+ }
202
+ }
203
+ } );
204
+
205
+
206
+ $buttonControl.click( function() {
207
+ if( $buttonControl.hasClass("action-start") ){
208
+ self.settings.auto =true;
209
+ self.play( self.settings.interval,'next', true );
210
+ $buttonControl.removeClass("action-start").addClass("action-stop");
211
+ } else{
212
+ self.settings.auto =false;
213
+ self.stop();
214
+ $buttonControl.addClass("action-start").removeClass("action-stop");
215
+ }
216
+ } );
217
+ if(self.settings.mobile){
218
+ self.slides.each(function(i, item){
219
+ $(item).swipe( {
220
+ swipeLeft:function(event, direction, distance, duration, fingerCount) {
221
+ self.next( true);
222
+ },
223
+ swipeRight:function(event, direction, distance, duration, fingerCount) {
224
+ self.previous( true);
225
+ },
226
+ //Default is 75px, set to 0 for demo so any distance triggers swipe
227
+ threshold:0
228
+ } );
229
+ })
230
+ }
231
+ }
232
+ $.lofSidernews.fn = $.lofSidernews.prototype;
233
+ $.lofSidernews.fn.extend = $.lofSidernews.extend = $.extend;
234
+
235
+ $.lofSidernews.fn.extend({
236
+
237
+ startUp:function( obj, wrapper ) {
238
+ seft = this;
239
+
240
+ this.navigatorItems.each( function(index, item ){
241
+ $(item).bind( seft.settings.navigatorEvent,( function(){
242
+ seft.jumping( index, true );
243
+ seft.setNavActive( index, item );
244
+ } ));
245
+ $(item).css( {'height': seft.settings.navigatorHeight, 'width': seft.settings.navigatorWidth} );
246
+ })
247
+ this.registerWheelHandler( this.navigatorOuter, this );
248
+ this.setNavActive( this.currentNo );
249
+ this.settings.onComplete( this.slides.eq(this.currentNo ),this.currentNo );
250
+ if( this.settings.buttons && typeof (this.settings.buttons) == "object" ){
251
+ this.registerButtonsControl( 'click', this.settings.buttons, this );
252
+
253
+ }
254
+ if( this.settings.auto )
255
+ this.play( this.settings.interval,'next', true );
256
+
257
+ return this;
258
+ },
259
+ onComplete:function(){
260
+ setTimeout( function(){ $('.preload').fadeOut( 900, function(){ $('.preload').remove(); } ); }, 400 ); this.startUp( );
261
+ },
262
+ preLoadImage:function( callback ){
263
+ var self = this;
264
+ var images = this.wrapper.find( 'img' );
265
+
266
+ var count = 0;
267
+ images.each( function(index,image){
268
+ if( !image.complete ){
269
+ image.onload =function(){
270
+ count++;
271
+ if( count >= images.length ){
272
+ self.onComplete();
273
+ }
274
+ }
275
+ image.onerror =function(){
276
+ count++;
277
+ if( count >= images.length ){
278
+ self.onComplete();
279
+ }
280
+ }
281
+ }else {
282
+ count++;
283
+ if( count >= images.length ){
284
+ self.onComplete();
285
+ }
286
+ }
287
+ } );
288
+ },
289
+ navivationAnimate:function( currentIndex ) {
290
+ if (currentIndex <= this.settings.startItem
291
+ || currentIndex - this.settings.startItem >= this.settings.maxItemDisplay-1) {
292
+ this.settings.startItem = currentIndex - this.settings.maxItemDisplay+2;
293
+ if (this.settings.startItem < 0) this.settings.startItem = 0;
294
+ if (this.settings.startItem >this.slides.length-this.settings.maxItemDisplay) {
295
+ this.settings.startItem = this.slides.length-this.settings.maxItemDisplay;
296
+ }
297
+ }
298
+
299
+ this.navigatorInner.stop().animate( eval('({'+this.navigratorStep[0]+':-'+this.settings.startItem*this.navigratorStep[1]+'})'),
300
+ {duration:500, easing:'easeInOutQuad'} );
301
+ },
302
+ setNavActive:function( index, item ){
303
+ if( (this.navigatorItems) ){
304
+ this.navigatorItems.removeClass( 'active' );
305
+ $(this.navigatorItems.get(index)).addClass( 'active' );
306
+ this.navivationAnimate( this.currentNo );
307
+ }
308
+ },
309
+ __getPositionMode:function( position ){
310
+ if( position == 'horizontal' ){
311
+ return ['left', this.settings.navigatorWidth];
312
+ }
313
+ return ['top', this.settings.navigatorHeight];
314
+ },
315
+ __getDirectionMode:function(){
316
+ switch( this.settings.direction ){
317
+ case 'opacity': this.maxSize=0; return ['opacity','opacity'];
318
+ default: this.maxSize=this.maxWidth; return ['left','width'];
319
+ }
320
+ },
321
+ registerWheelHandler:function( element, obj ){
322
+ element.bind('mousewheel', function(event, delta ) {
323
+ var dir = delta > 0 ? 'Up' : 'Down',
324
+ vel = Math.abs(delta);
325
+ if( delta > 0 ){
326
+ obj.previous( true );
327
+ } else {
328
+ obj.next( true );
329
+ }
330
+ return false;
331
+ });
332
+ },
333
+ registerButtonsControl:function( eventHandler, objects, self ){
334
+ for( var action in objects ){
335
+ switch (action.toString() ){
336
+ case 'next':
337
+ objects[action].click( function() { self.next( true) } );
338
+ break;
339
+ case 'previous':
340
+ objects[action].click( function() { self.previous( true) } );
341
+ break;
342
+ }
343
+ }
344
+ return this;
345
+ },
346
+ onProcessing:function( manual, start, end ){
347
+ this.previousNo = this.currentNo + (this.currentNo>0 ? -1 : this.slides.length-1);
348
+ this.nextNo = this.currentNo + (this.currentNo < this.slides.length-1 ? 1 : 1- this.slides.length);
349
+ return this;
350
+ },
351
+ finishFx:function( manual ){
352
+ if( manual ) this.stop();
353
+ if( manual && this.settings.auto ){
354
+ this.play( this.settings.interval,'next', true );
355
+ }
356
+ this.setNavActive( this.currentNo );
357
+ this.settings.onPlaySlider( this, $(this.slides).eq(this.currentNo) );
358
+ },
359
+ getObjectDirection:function( start, end ){
360
+ return eval("({'"+this.directionMode[0]+"':-"+(this.currentNo*start)+"})");
361
+ },
362
+ fxStart:function( index, obj, currentObj ){
363
+ var s = this;
364
+ if( this.settings.direction == 'opacity' ) {
365
+
366
+ $(this.slides).stop().animate({opacity:0}, {duration: this.settings.duration, easing:this.settings.easing,complete:function(){
367
+ s.slides.css("z-index","1")
368
+ s.slides.eq(index).css("z-index","3");
369
+ }} );
370
+ $(this.slides).eq(index).stop().animate( {opacity:1}, { duration : this.settings.duration,
371
+ easing :this.settings.easing,
372
+ complete :function(){ s.settings.onComplete($(s.slides).eq(index),index); }} );
373
+ }else {
374
+ this.wrapper.stop().animate( obj, {duration: this.settings.duration, easing:this.settings.easing,complete:function(){
375
+ s.settings.onComplete($(s.slides).eq(index),index)
376
+ } } );
377
+ }
378
+ return this;
379
+ },
380
+ jumping:function( no, manual ){
381
+ this.stop();
382
+ if( this.currentNo == no ) return;
383
+ var obj = eval("({'"+this.directionMode[0]+"':-"+(this.maxSize*no)+"})");
384
+ this.onProcessing( null, manual, 0, this.maxSize )
385
+ .fxStart( no, obj, this )
386
+ .finishFx( manual );
387
+ this.currentNo = no;
388
+ },
389
+ next:function( manual , item){
390
+
391
+ this.currentNo += (this.currentNo < this.slides.length-1) ? 1 : (1 - this.slides.length);
392
+ this.onProcessing( item, manual, 0, this.maxSize )
393
+ .fxStart( this.currentNo, this.getObjectDirection(this.maxSize ), this )
394
+ .finishFx( manual );
395
+ },
396
+ previous:function( manual, item ){
397
+ this.currentNo += this.currentNo > 0 ? -1 : this.slides.length - 1;
398
+ this.onProcessing( item, manual )
399
+ .fxStart( this.currentNo, this.getObjectDirection(this.maxSize ), this )
400
+ .finishFx( manual );
401
+ },
402
+ play:function( delay, direction, wait ){
403
+ this.stop();
404
+ if(!wait){ this[direction](false); }
405
+ var self = this;
406
+ this.isRun = setTimeout(function() { self[direction](true); }, delay);
407
+ },
408
+ stop:function(){
409
+ if (this.isRun == null) return;
410
+ clearTimeout(this.isRun);
411
+ this.isRun = null;
412
+ }
413
+ })
414
+ })(NetBase)
415
+
js/cmsmart/slideshow/lofslider/style1.css ADDED
@@ -0,0 +1,119 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Name Extension: Slideshow Homepage
3
+ * Version: 1.0.0
4
+ * Author: The Cmsmart Development Team
5
+ * Date Created: 16/09/2013
6
+ * Websites: http://cmsmart.net
7
+ * Technical Support: Forum - http://cmsmart.net/support
8
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
9
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
10
+ */
11
+
12
+ @charset "utf-8";
13
+ /* CSS Document */
14
+
15
+ /* slider layout */
16
+ .lof-slidecontent { position:relative; overflow:hidden; border:#F4F4F4 solid 1px;}
17
+ .lof-slidecontent .preload{ height:100%; width:100%; position:absolute; top:0; left:0; z-index:100000; text-align:center; background:#FFF}
18
+ .lof-slidecontent .preload div{ height:100%; width:100%; background:transparent url(../images/load-indicator.gif) no-repeat scroll 50% 50%;}
19
+
20
+ .lof-slidecontent .sliders-wrapper{ position:relative; height:100%; width:900px; z-index:3px; overflow:hidden; }
21
+ .lof-slidecontent ul.sliders-wrap-inner{overflow:hidden; background:transparent url(../images/load-indicator.gif) no-repeat scroll 50% 50%; padding:0px; margin:0; position:absolute; overflow:hidden;}
22
+ .lof-slidecontent ul.sliders-wrap-inner li{overflow:hidden; padding:0px;margin:0px; float:left; position:relative;}
23
+ .lof-slidecontent .lof-opacity li{position:absolute; top:0; left:0; float:inherit; }
24
+
25
+
26
+ .lof-slidecontent .navigator-content {position:absolute;
27
+ background:url(../images/transparent_bg.png) repeat;
28
+ }
29
+ .lof-slidecontent .navigator-wrapper{ position:relative; z-index:10;
30
+ height:180px;
31
+ width:310px;
32
+ overflow:hidden;
33
+ color:#FFF;
34
+ float:left
35
+ }
36
+ .lof-slidecontent ul.navigator-wrap-inner{ top:0; padding:0; margin:0; position:absolute; width:100%; }
37
+ .lof-slidecontent ul.navigator-wrap-inner li{ cursor:hand; cursor:pointer; list-style:none; padding:0; margin-left:0px; overflow:hidden; float:left; display:block; text-align:center;}
38
+
39
+ /*******************************************************/
40
+
41
+ ul.sliders-wrap-inner li img{ padding:0px; }
42
+
43
+ .lof-slidecontent .slider-description a.readmore{color:#58B1EA; font-size:95%; }
44
+ .lof-slidecontent .slider-description a{ color:#FFF; }
45
+ .lof-slidecontent .slider-description{
46
+ z-index:100px;
47
+ position:absolute;
48
+ bottom:50px;
49
+ left:0px;
50
+ width:350px;
51
+ background:url(../images/bg_trans.png);
52
+ height:100px;
53
+ padding:10px;
54
+ color:#FFF;
55
+ }
56
+ .lof-slidecontent .slider-description h4 { font-size: 14px; margin: 10px 0; padding: 0; }
57
+ .lof-slidecontent .slider-description .slider-meta a{
58
+ margin:0;
59
+ background:#C01F25;
60
+ font-size:75%;
61
+ padding:2px 3px;
62
+ font-family:"Trebuchet MS",Trebuchet,Arial,Verdana,sans-serif;
63
+ text-transform:uppercase;
64
+ text-decoration:none
65
+ }
66
+ .lof-slidecontent .item-meta a:hover{ text-decoration:underline;}
67
+ .lof-slidecontent .item-meta i { font-size:70%; }
68
+
69
+ /* item navigator */
70
+
71
+ .lof-slidecontent ul.navigator-wrap-inner li img{
72
+ border:#666 solid 3px;
73
+ }
74
+ .lof-slidecontent ul.navigator-wrap-inner li.active img,
75
+ .lof-slidecontent ul.navigator-wrap-inner li:hover img {
76
+ border:#A8A8A8 solid 3px;
77
+ -moz-transition:border-color ease-in-out 0.4s
78
+ }
79
+ .lof-slidecontent .navigator-content .button-next,
80
+ .lof-slidecontent .navigator-content .button-previous{
81
+ display:block;
82
+ width:22px;
83
+ height:30px;
84
+ color:#FFF;
85
+ cursor:pointer;
86
+
87
+ }
88
+ .lof-slidecontent .navigator-content .button-next {
89
+ float:left;
90
+ text-indent:-999px;
91
+ margin-right:5px;
92
+ font-size: 0px;
93
+ background:url(../images/arrow-l.png) no-repeat right center;
94
+ }
95
+ .lof-slidecontent .navigator-content .button-previous {
96
+ float:left;
97
+ text-indent:-999px;
98
+ margin-left:5px;
99
+ font-size: 0px;
100
+ background:url(../images/arrow-r.png) no-repeat left center;
101
+ }
102
+
103
+ .lof-slidecontent .button-control {
104
+ position:absolute;
105
+ top:10px;
106
+ right:10px;
107
+ height: 20px;
108
+ width: 20px;
109
+ cursor:hand; cursor:pointer;
110
+ background:url(../images/transparent_bg.png) repeat;
111
+ }
112
+
113
+ .lof-slidecontent .button-control span { display:block; width:100%; height:100%;}
114
+ .lof-slidecontent .action-start span {
115
+ background:url(../images/play.png) no-repeat center center;
116
+ }
117
+ .lof-slidecontent .action-stop span {
118
+ background:url(../images/pause.png) no-repeat center center;
119
+ }
js/cmsmart/slideshow/lofslider/style2.css ADDED
@@ -0,0 +1,144 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Name Extension: Slideshow Homepage
3
+ * Version: 1.0.0
4
+ * Author: The Cmsmart Development Team
5
+ * Date Created: 16/09/2013
6
+ * Websites: http://cmsmart.net
7
+ * Technical Support: Forum - http://cmsmart.net/support
8
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
9
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
10
+ */
11
+
12
+ @charset "utf-8";
13
+ /* CSS Document */
14
+
15
+ /* slider layout */
16
+ .lof-slidecontent { position:relative; overflow:hidden; border:#F4F4F4 solid 1px;}
17
+ .lof-slidecontent .preload{ height:100%; width:100%; position:absolute; top:0; left:0; z-index:100000; text-align:center; background:#FFF}
18
+ .lof-slidecontent .preload div{ height:100%; width:100%; background:transparent url(../images/load-indicator.gif) no-repeat scroll 50% 50%;}
19
+
20
+ .lof-slidecontent .sliders-wrapper{ position:relative; height:100%; width:900px; z-index:3px; overflow:hidden; }
21
+ .lof-slidecontent ul.sliders-wrap-inner{overflow:hidden; background:transparent url(../images/load-indicator.gif) no-repeat scroll 50% 50%; padding:0px; margin:0; position:absolute; overflow:hidden;}
22
+ .lof-slidecontent ul.sliders-wrap-inner li{overflow:hidden; padding:0px;margin:0px; float:left; position:relative;}
23
+ .lof-slidecontent .lof-opacity li{position:absolute; top:0; left:0; float:inherit; }
24
+
25
+
26
+ .lof-slidecontent .navigator-content {position:absolute;
27
+ right:0;
28
+ top:00px;
29
+ z-index:9;
30
+ overflow:hidden;
31
+ color:#FFF
32
+ }
33
+ .lof-slidecontent .navigator-wrapper{ position:relative; z-index:10;
34
+ height:180px;
35
+ width:310px;
36
+ overflow:hidden;
37
+ color:#FFF;
38
+ float:left
39
+ }
40
+ .lof-slidecontent ul.navigator-wrap-inner{ top:0; padding:0; margin:0; position:absolute; width:100%; }
41
+ .lof-slidecontent ul.navigator-wrap-inner li{ cursor:hand; cursor:pointer; list-style:none; padding:0; margin-left:0px; overflow:hidden; float:left; display:block; text-align:center;}
42
+
43
+ /*******************************************************/
44
+
45
+ ul.sliders-wrap-inner li img{ padding:0px; }
46
+
47
+ .lof-slidecontent .slider-description a.readmore{color:#58B1EA; font-size:95%; }
48
+ .lof-slidecontent .slider-description a{ color:#FFF; }
49
+ .lof-slidecontent .slider-description{
50
+ z-index:60px;
51
+ position:absolute;
52
+ bottom:66px;
53
+ left:0px;
54
+ width:250px;
55
+ background:url(../images/bg_trans.png);
56
+ height:100px;
57
+ padding:10px;
58
+ color:#FFF;
59
+ }
60
+ .lof-slidecontent .slider-description h4 { font-size: 14px; margin: 10px 0; padding: 0; }
61
+ .lof-slidecontent .slider-description .slider-meta a{
62
+ margin:0;
63
+ background:#C01F25;
64
+ font-size:75%;
65
+ padding:2px 3px;
66
+ font-family:"Trebuchet MS",Trebuchet,Arial,Verdana,sans-serif;
67
+ text-transform:uppercase;
68
+ text-decoration:none
69
+ }
70
+ .lof-slidecontent .item-meta a:hover{ text-decoration:underline;}
71
+ .lof-slidecontent .item-meta i { font-size:70%; }
72
+
73
+ /* item navigator */
74
+ .lof-slidecontent ul.navigator-wrap-inner li.active{
75
+ background:url(../images/arrow-bg.png) no-repeat scroll left center;
76
+ color:#FFF
77
+ }
78
+ .lof-slidecontent ul.navigator-wrap-inner li > div{
79
+ background:url(../images/transparent_bg.png);
80
+ color:#FFF;
81
+ height:100%;
82
+ position:relative;
83
+ margin-left:15px;
84
+ padding-left:15px;
85
+ border-top:1px solid #E1E1E1;
86
+ text-align:left
87
+ }
88
+
89
+ .lof-slidecontent ul.navigator-wrap-inner li.active div{
90
+ background:url(../images/grad-bg.gif);
91
+ color:#FFF;
92
+ }
93
+ .lof-slidecontent ul.navigator-wrap-inner li img{
94
+ height:40px;
95
+ width:40px;
96
+ margin:15px 15px 10px 0px;
97
+ float:left;
98
+ padding:3px;
99
+ border:#C5C5C5 solid 1px;
100
+ }
101
+ .lof-slidecontent ul.navigator-wrap-inner li.active img,
102
+ .lof-slidecontent ul.navigator-wrap-inner li:hover img {
103
+ border:##6C8E5C solid 1px;
104
+ }
105
+ .lof-slidecontent .button-next,
106
+ .lof-slidecontent .button-previous{
107
+ display:block;
108
+ width:40px;
109
+ color:#FFF;
110
+ cursor:pointer;
111
+ position:absolute;
112
+ height:100%;
113
+ z-index:40;
114
+ top:0;
115
+ text-indent:-999999px;
116
+
117
+ }
118
+ .lof-slidecontent .button-next {
119
+ right:0px;
120
+ background:url(../images/next.png) no-repeat right center;
121
+ }
122
+ .lof-slidecontent .button-previous {
123
+ left:0px;
124
+ background:url(../images/previous.png) no-repeat left center;
125
+ }
126
+
127
+
128
+ .lof-slidecontent .button-control {
129
+ position:absolute;
130
+ top:10px;
131
+ right:48%;
132
+ height: 20px;
133
+ width: 20px;
134
+ cursor:hand; cursor:pointer;
135
+ background:url(../images/transparent_bg.png) repeat;
136
+ }
137
+
138
+ .lof-slidecontent .button-control span { display:block; width:100%; height:100%;}
139
+ .lof-slidecontent .action-start span {
140
+ background:url(../images/play.png) no-repeat center center;
141
+ }
142
+ .lof-slidecontent .action-stop span {
143
+ background:url(../images/pause.png) no-repeat center center;
144
+ }
js/cmsmart/slideshow/revolution/previewjs/preview-fullwidth.js ADDED
@@ -0,0 +1,188 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Name Extension: Slideshow Homepage
3
+ * Version: 1.0.0
4
+ * Author: The Cmsmart Development Team
5
+ * Date Created: 16/09/2013
6
+ * Websites: http://cmsmart.net
7
+ * Technical Support: Forum - http://cmsmart.net/support
8
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
9
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
10
+ */
11
+
12
+ NetBase(document).ready(function() {
13
+
14
+
15
+ NetBase('.accordion').click(function() {
16
+ var acc=NetBase(this);
17
+ if (acc.hasClass("selected")) {
18
+ acc.removeClass("selected");
19
+ acc.parent().find('.accordioncontent').slideUp(200);
20
+ } else {
21
+ acc.addClass("selected");
22
+ acc.parent().find('.accordioncontent').slideDown(200);
23
+ }
24
+ });
25
+
26
+ NetBase('.transition').each(function() {
27
+ var tr=NetBase(this);
28
+ tr.click(function() {
29
+ NetBase('.transition').each(function() {
30
+ NetBase(this).removeClass('selected');
31
+ });
32
+ tr.addClass('selected');
33
+
34
+ var curtrans = tr.data('value');
35
+ var curslot = NetBase('.select_slots .dragger').data('value');
36
+
37
+
38
+ NetBase('.fullwidthbanner ul:first li').each(function() {
39
+ var li = NetBase(this);
40
+ if (li.data('oldtransition')==undefined) {
41
+ li.data('oldtransition',li.data('transition'));
42
+ li.data('oldslotamount',li.data('slotamount'));
43
+ }
44
+ if (curtrans!="Demo") {
45
+ li.data('transition',curtrans);
46
+ li.data('slotamount',curslot)
47
+ } else {
48
+ li.data('transition',li.data('oldtransition'));
49
+ li.data('slotamount',li.data('oldslotamount'));
50
+ }
51
+ });
52
+ });
53
+ });
54
+ NetBase('.radios').each(function() {
55
+ var radios=NetBase(this);
56
+ radios.find('.radio').each(function() {
57
+ var radio=NetBase(this);
58
+ radio.click(function() {
59
+ var radio=NetBase(this);
60
+ if (!radio.hasClass("nonclickable")) {
61
+ radios.find('.radio').each(function() { NetBase(this).removeClass('selected'); });
62
+ radio.addClass('selected');
63
+ if (radio.data('value')=="square" || radio.data('value')=="round" || radio.data('value')=="navbar" ) {
64
+ var bul = NetBase('.tp-bullets.simplebullets');
65
+ var arrws = NetBase('.tparrows');
66
+ arrws.removeClass('navbar');
67
+ arrws.removeClass('round');
68
+ arrws.removeClass('square');
69
+ bul.removeClass('navbar');
70
+ bul.removeClass('round');
71
+ bul.removeClass('square');
72
+
73
+ bul.addClass(radio.data('value'));
74
+ arrws.addClass(radio.data('value'));
75
+
76
+ if (radio.data('value')=="square" || radio.data('value')=="round") NetBase('.select_bvposition .dragger').css({'left':"60%"});
77
+ if (radio.data('value')=="navbar") NetBase('.select_bvposition .dragger').css({'left':"52%"});
78
+ }
79
+
80
+ if (radio.data('value')=="thumb" || radio.data('valueextra')=="none") {
81
+ NetBase('.vcentered').click();
82
+ NetBase('.nbullet').addClass("nonclickable");
83
+
84
+ NetBase('.select_bvposition .dragger').css({'left':"90%"});
85
+ }
86
+
87
+
88
+
89
+ if (radio.data('value')=="bullet") {
90
+ NetBase('.nbullet').removeClass("nonclickable");
91
+ NetBase('.select_bvposition .dragger').css({'left':"60%"});
92
+ }
93
+
94
+ if (radio.data('value')=="shadow") {
95
+ NetBase('.tp-bannershadow').removeClass('tp-shadow1');
96
+ NetBase('.tp-bannershadow').removeClass('tp-shadow2');
97
+ NetBase('.tp-bannershadow').removeClass('tp-shadow3');
98
+ NetBase('.tp-bannershadow').addClass(radio.data('valueextra'));
99
+ }
100
+
101
+
102
+ if (radio.data('value')=="showtimer") NetBase('.tp-bannertimer').show();
103
+ if (radio.data('value')=="hidetimer") NetBase('.tp-bannertimer').hide();
104
+
105
+ if (radio.data('value')=="999999999") {
106
+ try{
107
+ var bullets = NetBase('.tp-bullets');
108
+ var ca = NetBase('.tparrows');
109
+ bullets.animate({'opacity':1},{duration:200,queue:false});
110
+ ca.animate({'opacity':1},{duration:200,queue:false});
111
+ } catch(e) {}
112
+ }
113
+
114
+ if (radio.data('value')=="200") {
115
+ try{
116
+ var bullets = NetBase('.tp-bullets');
117
+ var ca = NetBase('.tparrows');
118
+ bullets.animate({'opacity':0},{duration:200,queue:false});
119
+ ca.animate({'opacity':0},{duration:200,queue:false});
120
+ } catch(e) {}
121
+ }
122
+
123
+
124
+
125
+ draggers();
126
+ NetBase('#unvisible_button').click();
127
+
128
+ }
129
+ });
130
+ });
131
+
132
+ });
133
+
134
+
135
+
136
+ var draggers=function() {
137
+ NetBase('.select_slots .dragger').each(function() {
138
+ var drag=NetBase('.select_slots .dragger');
139
+ drag.data('value',Math.round((drag.position().left / 410) * 25));
140
+ var curslot = drag.data('value');
141
+ NetBase('.tbcs').html('Transition Box Columns / Slots ('+curslot+')');
142
+ NetBase('.fullwidthbanner ul:first li').each(function() {
143
+ var li = NetBase(this);
144
+ if (li.data('oldtransition')==undefined) {
145
+ li.data('oldtransition',li.data('transition'));
146
+ li.data('oldslotamount',li.data('slotamount'));
147
+ }
148
+
149
+ li.data('slotamount',curslot);
150
+
151
+ });
152
+ });
153
+
154
+ NetBase('.select_slidetime .dragger').each(function() {
155
+ var drag=NetBase('.select_slidetime .dragger');
156
+ drag.data('value',Math.round(((drag.position().left / 410) * 120)+30)/10);
157
+ NetBase('.select_slidetime .optiontitle').html('Slide Time ('+drag.data('value')+')');
158
+ });
159
+
160
+ NetBase('.select_bhposition .dragger').each(function() {
161
+ var drag=NetBase('.select_bhposition .dragger');
162
+ drag.data('value',Math.round((drag.position().left / 410) * 400)-200);
163
+ NetBase('.select_bhposition .optiontitle').html('Bullet Horizontal Offset ('+drag.data('value')+'px)');
164
+ });
165
+
166
+ NetBase('.select_bvposition .dragger').each(function() {
167
+ var drag=NetBase('.select_bvposition .dragger');
168
+ drag.data('value',Math.round((drag.position().left / 410) * 200)-100);
169
+ NetBase('.select_bvposition .optiontitle').html('Bullet Vertical Offset ('+drag.data('value')+'px)');
170
+ });
171
+
172
+ var newtext = '<pre>NetBase("YOURBANNER").revolution(<br>{<br> delay:'+(NetBase('.select_slidetime .dragger').data('value')*1000)+',<br> startheight:450,<br> startwidth:890,<br><br> thumbWidth:100,<br> thumbHeight:50,<br> thumbAmount:5,<br><br> onHoverStop:"'+NetBase('.select_hovers .selected').data('value')+'",<br> hideThumbs:200,<br> navigationType:"'+NetBase('.select_navigationtype .selected').data('value')+'",<br> navigationStyle:"'+NetBase('.select_bulletstyle .selected').data('value')+'",<br> navigationArrows:"'+NetBase('.select_navarrows .selected').data('value')+'",<br><br> touchenabled:"on",<br><br> navOffsetHorizontal:'+NetBase('.select_bhposition .dragger').data('value')+',<br> navOffsetVertical:'+NetBase('.select_bvposition .dragger').data('value')+'<br> shadow:'+NetBase('.select_shadow .selected').data('value2')+'<br> fullWidth:"off"<br>});</pre>';
173
+ NetBase('.plugoptions').html(newtext);
174
+ }
175
+
176
+ NetBase('.dragger').draggable(
177
+ {
178
+ containment: "parent" ,
179
+ axis: "x",
180
+ stop: function() {
181
+ NetBase('#unvisible_button').click();
182
+ draggers();
183
+
184
+
185
+ }
186
+ });
187
+
188
+ });
js/cmsmart/slideshow/revolution/previewjs/preview-normal.js ADDED
@@ -0,0 +1,190 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Name Extension: Slideshow Homepage
3
+ * Version: 1.0.0
4
+ * Author: The Cmsmart Development Team
5
+ * Date Created: 16/09/2013
6
+ * Websites: http://cmsmart.net
7
+ * Technical Support: Forum - http://cmsmart.net/support
8
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
9
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
10
+ */
11
+
12
+ NetBase(document).ready(function() {
13
+
14
+
15
+
16
+ NetBase('.accordion').click(function() {
17
+ var acc=NetBase(this);
18
+ if (acc.hasClass("selected")) {
19
+ acc.removeClass("selected");
20
+ acc.parent().find('.accordioncontent').slideUp(200);
21
+ } else {
22
+ acc.addClass("selected");
23
+ acc.parent().find('.accordioncontent').slideDown(200);
24
+ }
25
+ });
26
+
27
+ NetBase('.transition').each(function() {
28
+ var tr=NetBase(this);
29
+ tr.click(function() {
30
+ NetBase('.transition').each(function() {
31
+ NetBase(this).removeClass('selected');
32
+ });
33
+ tr.addClass('selected');
34
+
35
+ var curtrans = tr.data('value');
36
+ var curslot = NetBase('.select_slots .dragger').data('value');
37
+
38
+
39
+ NetBase('.banner ul:first li').each(function() {
40
+ var li = NetBase(this);
41
+ if (li.data('oldtransition')==undefined) {
42
+ li.data('oldtransition',li.data('transition'));
43
+ li.data('oldslotamount',li.data('slotamount'));
44
+ }
45
+ if (curtrans!="Demo") {
46
+ li.data('transition',curtrans);
47
+ li.data('slotamount',curslot)
48
+ } else {
49
+ li.data('transition',li.data('oldtransition'));
50
+ li.data('slotamount',li.data('oldslotamount'));
51
+ }
52
+ });
53
+ });
54
+ });
55
+ NetBase('.radios').each(function() {
56
+ var radios=NetBase(this);
57
+ radios.find('.radio').each(function() {
58
+ var radio=NetBase(this);
59
+ radio.click(function() {
60
+ var radio=NetBase(this);
61
+ if (!radio.hasClass("nonclickable")) {
62
+ radios.find('.radio').each(function() { NetBase(this).removeClass('selected'); });
63
+ radio.addClass('selected');
64
+ if (radio.data('value')=="square" || radio.data('value')=="round" || radio.data('value')=="navbar" ) {
65
+ var bul = NetBase('.tp-bullets.simplebullets');
66
+ var arrws = NetBase('.tparrows');
67
+ arrws.removeClass('navbar');
68
+ arrws.removeClass('round');
69
+ arrws.removeClass('square');
70
+ bul.removeClass('navbar');
71
+ bul.removeClass('round');
72
+ bul.removeClass('square');
73
+
74
+ bul.addClass(radio.data('value'));
75
+ arrws.addClass(radio.data('value'));
76
+
77
+ if (radio.data('value')=="square" || radio.data('value')=="round") NetBase('.select_bvposition .dragger').css({'left':"60%"});
78
+ if (radio.data('value')=="navbar") NetBase('.select_bvposition .dragger').css({'left':"42%"});
79
+ }
80
+
81
+ if (radio.data('value')=="thumb" || radio.data('valueextra')=="none") {
82
+ NetBase('.vcentered').click();
83
+ NetBase('.nbullet').addClass("nonclickable");
84
+
85
+ NetBase('.select_bvposition .dragger').css({'left':"50%"});
86
+ }
87
+
88
+
89
+
90
+ if (radio.data('value')=="bullet") {
91
+ NetBase('.nbullet').removeClass("nonclickable");
92
+ NetBase('.select_bvposition .dragger').css({'left':"60%"});
93
+ }
94
+
95
+ if (radio.data('value')=="shadow") {
96
+ NetBase('.tp-bannershadow').removeClass('tp-shadow1');
97
+ NetBase('.tp-bannershadow').removeClass('tp-shadow2');
98
+ NetBase('.tp-bannershadow').removeClass('tp-shadow3');
99
+ NetBase('.tp-bannershadow').addClass(radio.data('valueextra'));
100
+ }
101
+
102
+
103
+ if (radio.data('value')=="showtimer") NetBase('.tp-bannertimer').show();
104
+ if (radio.data('value')=="hidetimer") NetBase('.tp-bannertimer').hide();
105
+
106
+ if (radio.data('value')=="999999999") {
107
+ try{
108
+ var bullets = NetBase('.tp-bullets');
109
+ var ca = NetBase('.tparrows');
110
+ bullets.animate({'opacity':1},{duration:200,queue:false});
111
+ ca.animate({'opacity':1},{duration:200,queue:false});
112
+ } catch(e) {}
113
+ }
114
+
115
+ if (radio.data('value')=="200") {
116
+ try{
117
+ var bullets = NetBase('.tp-bullets');
118
+ var ca = NetBase('.tparrows');
119
+ bullets.animate({'opacity':0},{duration:200,queue:false});
120
+ ca.animate({'opacity':0},{duration:200,queue:false});
121
+ } catch(e) {}
122
+ }
123
+
124
+
125
+
126
+ draggers();
127
+ NetBase('#unvisible_button').click();
128
+
129
+ }
130
+ });
131
+ });
132
+
133
+ });
134
+
135
+
136
+
137
+ var draggers=function() {
138
+ NetBase('.select_slots .dragger').each(function() {
139
+ var drag=NetBase('.select_slots .dragger');
140
+ drag.data('value',Math.round((drag.position().left / 410) * 25));
141
+ var curslot = drag.data('value');
142
+ NetBase('.tbcs').html('Transition Box Columns / Slots ('+curslot+')');
143
+ NetBase('.banner ul:first li').each(function() {
144
+ var li = NetBase(this);
145
+ if (li.data('oldtransition')==undefined) {
146
+ li.data('oldtransition',li.data('transition'));
147
+ li.data('oldslotamount',li.data('slotamount'));
148
+ }
149
+
150
+ li.data('slotamount',curslot);
151
+
152
+ });
153
+ });
154
+
155
+ NetBase('.select_slidetime .dragger').each(function() {
156
+ var drag=NetBase('.select_slidetime .dragger');
157
+ drag.data('value',Math.round(((drag.position().left / 410) * 120)+30)/10);
158
+ NetBase('.select_slidetime .optiontitle').html('Slide Time ('+drag.data('value')+')');
159
+ });
160
+
161
+ NetBase('.select_bhposition .dragger').each(function() {
162
+ var drag=NetBase('.select_bhposition .dragger');
163
+ drag.data('value',Math.round((drag.position().left / 410) * 400)-200);
164
+ NetBase('.select_bhposition .optiontitle').html('Bullet Horizontal Offset ('+drag.data('value')+'px)');
165
+ });
166
+
167
+ NetBase('.select_bvposition .dragger').each(function() {
168
+ var drag=NetBase('.select_bvposition .dragger');
169
+ drag.data('value',Math.round((drag.position().left / 410) * 200)-100);
170
+ NetBase('.select_bvposition .optiontitle').html('Bullet Vertical Offset ('+drag.data('value')+'px)');
171
+ });
172
+
173
+ var newtext = '<pre>NetBase("YOURBANNER").revolution(<br>{<br> delay:'+(NetBase('.select_slidetime .dragger').data('value')*1000)+',<br> startheight:490,<br> startwidth:890,<br><br> thumbWidth:100,<br> thumbHeight:50,<br> thumbAmount:5,<br><br> onHoverStop:"'+NetBase('.select_hovers .selected').data('value')+'",<br> hideThumbs:200,<br> navigationType:"'+NetBase('.select_navigationtype .selected').data('value')+'",<br> navigationStyle:"'+NetBase('.select_bulletstyle .selected').data('value')+'",<br> navigationArrows:"'+NetBase('.select_navarrows .selected').data('value')+'",<br><br> touchenabled:"on",<br><br> navOffsetHorizontal:'+NetBase('.select_bhposition .dragger').data('value')+',<br> navOffsetVertical:'+NetBase('.select_bvposition .dragger').data('value')+'<br> shadow:'+NetBase('.select_shadow .selected').data('value2')+'<br> fullWidth:"off"<br>});</pre>';
174
+ NetBase('.plugoptions').html(newtext);
175
+ }
176
+
177
+ NetBase('.dragger').draggable(
178
+ {
179
+ containment: "parent" ,
180
+ axis: "x",
181
+ stop: function() {
182
+ NetBase('#unvisible_button').click();
183
+ draggers();
184
+
185
+
186
+ }
187
+ });
188
+
189
+
190
+ });
js/cmsmart/slideshow/revolution/rs-plugin/assets/arrow_large_left.png ADDED
Binary file
js/cmsmart/slideshow/revolution/rs-plugin/assets/arrow_large_right.png ADDED
Binary file
js/cmsmart/slideshow/revolution/rs-plugin/assets/arrow_left.png ADDED
Binary file
js/cmsmart/slideshow/revolution/rs-plugin/assets/arrow_left2.png ADDED
Binary file
js/cmsmart/slideshow/revolution/rs-plugin/assets/arrow_right.png ADDED
Binary file
js/cmsmart/slideshow/revolution/rs-plugin/assets/arrow_right2.png ADDED
Binary file
js/cmsmart/slideshow/revolution/rs-plugin/assets/arrowleft.png ADDED
Binary file
js/cmsmart/slideshow/revolution/rs-plugin/assets/arrowright.png ADDED
Binary file
js/cmsmart/slideshow/revolution/rs-plugin/assets/bullets.png ADDED
Binary file
js/cmsmart/slideshow/revolution/rs-plugin/assets/bullets2.png ADDED
Binary file
js/cmsmart/slideshow/revolution/rs-plugin/assets/loader.gif ADDED
Binary file
js/cmsmart/slideshow/revolution/rs-plugin/assets/navigdots.png ADDED
Binary file
js/cmsmart/slideshow/revolution/rs-plugin/assets/navigdots_bgtile.png ADDED
Binary file
js/cmsmart/slideshow/revolution/rs-plugin/assets/shadow1.png ADDED
Binary file
js/cmsmart/slideshow/revolution/rs-plugin/assets/shadow2.png ADDED
Binary file
js/cmsmart/slideshow/revolution/rs-plugin/assets/shadow3.png ADDED
Binary file
js/cmsmart/slideshow/revolution/rs-plugin/assets/timer.png ADDED
Binary file
js/cmsmart/slideshow/revolution/rs-plugin/css/settings.css ADDED
@@ -0,0 +1,484 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*-----------------------------------------------------------------------------
2
+ * Name Extension: Slideshow Homepage
3
+ * Version: 1.0.0
4
+ * Author: The Cmsmart Development Team
5
+ * Date Created: 16/09/2013
6
+ * Websites: http://cmsmart.net
7
+ * Technical Support: Forum - http://cmsmart.net/support
8
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
9
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
10
+ -----------------------------------------------------------------------------*/
11
+
12
+
13
+
14
+
15
+
16
+ .tp-simpleresponsive .caption {
17
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter: alpha(opacity=0); -moz-opacity: 0; -khtml-opacity: 0; position:absolute;
18
+ }
19
+
20
+
21
+ /******************************
22
+ - SHADOWS -
23
+ ******************************/
24
+ .tp-bannershadow {
25
+ position:absolute;
26
+
27
+ margin-left:auto;
28
+ margin-right:auto;
29
+ -moz-user-select: none;
30
+ -khtml-user-select: none;
31
+ -webkit-user-select: none;
32
+ -o-user-select: none;
33
+ }
34
+
35
+ .tp-bannershadow.tp-shadow1 { background:url(../assets/shadow1.png) no-repeat; background-size:100%; width:890px; height:30px; bottom:-30px;}
36
+ .tp-bannershadow.tp-shadow2 { background:url(../assets/shadow2.png) no-repeat; background-size:100%; width:890px; height:60px;bottom:-60px;}
37
+ .tp-bannershadow.tp-shadow3 { background:url(../assets/shadow3.png) no-repeat; background-size:100%; width:890px; height:60px;bottom:-60px;}
38
+
39
+ /*************************
40
+ - CAPTIONS -
41
+ **************************/
42
+ .caption .big_white {
43
+ position: absolute;
44
+ color: #fff;
45
+ text-shadow: none;
46
+ font-weight: 700;
47
+ font-size: 36px;
48
+ line-height: 36px;
49
+ font-family: Arial;
50
+ padding: 0px 4px;
51
+ padding-top: 1px;
52
+ margin: 0px;
53
+ border-width: 0px;
54
+ border-style: none;
55
+ background-color:#000;
56
+ letter-spacing: -1.5px;
57
+ }
58
+
59
+ .caption .big_orange {
60
+ position: absolute;
61
+ color: #ff7302;
62
+ text-shadow: none;
63
+ font-weight: 700;
64
+ font-size: 36px;
65
+ line-height: 36px;
66
+ font-family: Arial;
67
+ padding: 0px 4px;
68
+ margin: 0px;
69
+ border-width: 0px;
70
+ border-style: none;
71
+ background-color:#fff;
72
+ letter-spacing: -1.5px;
73
+ }
74
+
75
+ .caption .big_black {
76
+ position: absolute;
77
+ color: #000;
78
+ text-shadow: none;
79
+ font-weight: 700;
80
+ font-size: 36px;
81
+ line-height: 36px;
82
+ font-family: Arial;
83
+ padding: 0px 4px;
84
+ margin: 0px;
85
+ border-width: 0px;
86
+ border-style: none;
87
+ background-color:#fff;
88
+ letter-spacing: -1.5px;
89
+ }
90
+
91
+ .caption .medium_grey {
92
+ position: absolute;
93
+ color: #fff;
94
+ text-shadow: none;
95
+ font-weight: 700;
96
+ font-size: 20px;
97
+ line-height: 20px;
98
+ font-family: Arial;
99
+ padding: 2px 4px;
100
+ margin: 0px;
101
+ border-width: 0px;
102
+ border-style: none;
103
+ background-color:#888;
104
+ white-space:nowrap;
105
+ text-shadow: 0px 2px 5px rgba(0, 0, 0, 0.5);
106
+ }
107
+
108
+ .caption .small_text {
109
+ position: absolute;
110
+ color: #fff;
111
+ text-shadow: none;
112
+ font-weight: 700;
113
+ font-size: 14px;
114
+ line-height: 20px;
115
+ font-family: Arial;
116
+ margin: 0px;
117
+ border-width: 0px;
118
+ border-style: none;
119
+ white-space:nowrap;
120
+ text-shadow: 0px 2px 5px rgba(0, 0, 0, 0.5);
121
+ }
122
+ .caption .small_text-full {
123
+ border-style: none;
124
+ border-width: 0;
125
+ color: #3D7AAC;
126
+ font-family: Arial;
127
+ font-size: 13px;
128
+ font-weight: 700;
129
+ line-height: 20px;
130
+ margin: 0;
131
+ position: absolute;
132
+ text-shadow: none;
133
+ white-space: nowrap;
134
+ }
135
+ .caption .medium_text {
136
+ position: absolute;
137
+ color: #fff;
138
+ text-shadow: none;
139
+ font-weight: 700;
140
+ font-size: 20px;
141
+ line-height: 20px;
142
+ font-family: Arial;
143
+ margin: 0px;
144
+ border-width: 0px;
145
+ border-style: none;
146
+ white-space:nowrap;
147
+ text-shadow: 0px 2px 5px rgba(0, 0, 0, 0.5);
148
+ }
149
+
150
+ .caption .large_text {
151
+ position: absolute;
152
+ color: #fff;
153
+ text-shadow: none;
154
+ font-weight: 700;
155
+ font-size: 40px;
156
+ line-height: 40px;
157
+ font-family: Arial;
158
+ margin: 0px;
159
+ border-width: 0px;
160
+ border-style: none;
161
+ white-space:nowrap;
162
+ text-shadow: 0px 2px 5px rgba(0, 0, 0, 0.5);
163
+ }
164
+
165
+ .caption .very_large_text {
166
+ position: absolute;
167
+ color: #fff;
168
+ text-shadow: none;
169
+ font-weight: 700;
170
+ font-size: 60px;
171
+ line-height: 60px;
172
+ font-family: Arial;
173
+ margin: 0px;
174
+ border-width: 0px;
175
+ border-style: none;
176
+ white-space:nowrap;
177
+ text-shadow: 0px 2px 5px rgba(0, 0, 0, 0.5);
178
+ letter-spacing: -2px;
179
+ }
180
+
181
+
182
+ .caption .very_big_white {
183
+ position: absolute;
184
+ color: #fff;
185
+ text-shadow: none;
186
+ font-weight: 700;
187
+ font-size: 60px;
188
+ line-height: 60px;
189
+ font-family: Arial;
190
+ margin: 0px;
191
+ border-width: 0px;
192
+ border-style: none;
193
+ white-space:nowrap;
194
+ padding: 0px 4px;
195
+ padding-top: 1px;
196
+ background-color:#000;
197
+ }
198
+
199
+ .caption .very_big_black {
200
+ position: absolute;
201
+ color: #000;
202
+ text-shadow: none;
203
+ font-weight: 700;
204
+ font-size: 60px;
205
+ line-height: 60px;
206
+ font-family: Arial;
207
+ margin: 0px;
208
+ border-width: 0px;
209
+ border-style: none;
210
+ white-space:nowrap;
211
+ padding: 0px 4px;
212
+ padding-top: 1px;
213
+ background-color:#fff;
214
+ }
215
+
216
+ .caption .boxshadow {
217
+ -moz-box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.5);
218
+ -webkit-box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.5);
219
+ box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.5);
220
+ }
221
+
222
+ .caption .black {
223
+ color: #000;
224
+ text-shadow: none;
225
+ }
226
+
227
+ .caption .noshadow {
228
+ text-shadow: none;
229
+ }
230
+
231
+ .caption a {text-shadow: none; -webkit-transition: all 0.2s ease-out; -moz-transition: all 0.2s ease-out; -o-transition: all 0.2s ease-out; -ms-transition: all 0.2s ease-out;text-decoration: none; }
232
+ .caption a:hover { color: #ffa902; }
233
+
234
+
235
+
236
+ /******************************
237
+ - BUTTONS -
238
+ *******************************/
239
+
240
+ .button { padding:6px 13px 5px; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; height:30px;
241
+ cursor:pointer;
242
+ color:#fff !important; text-shadow:0px 1px 1px rgba(0, 0, 0, 0.6) !important; font-size:15px; line-height:45px !important;
243
+ background:url(../images/gradient/g30.png) repeat-x top; font-family: arial, sans-serif; font-weight: bold; letter-spacing: -1px;
244
+ }
245
+
246
+ .button.big { color:#fff; text-shadow:0px 1px 1px rgba(0, 0, 0, 0.6); font-weight:bold; padding:9px 20px; font-size:19px; line-height:57px !important; background:url(../images/gradient/g40.png) repeat-x top;}
247
+
248
+
249
+ .purchase:hover,
250
+ .button:hover,
251
+ .button.big:hover { background-position:bottom, 15px 11px;}
252
+
253
+
254
+
255
+ @media only screen and (min-width: 768px) and (max-width: 959px) {
256
+
257
+ }
258
+
259
+
260
+
261
+ @media only screen and (min-width: 480px) and (max-width: 767px) {
262
+ .button { padding:4px 8px 3px; line-height:25px !important; font-size:11px !important;font-weight:normal; }
263
+ a.button { -webkit-transition: none; -moz-transition: none; -o-transition: none; -ms-transition: none; }
264
+
265
+
266
+ }
267
+
268
+ @media only screen and (min-width: 0px) and (max-width: 479px) {
269
+ .button { padding:2px 5px 2px; line-height:20px !important; font-size:10px !important;}
270
+ a.button { -webkit-transition: none; -moz-transition: none; -o-transition: none; -ms-transition: none; }
271
+ }
272
+
273
+
274
+
275
+
276
+
277
+ /* BUTTON COLORS */
278
+
279
+
280
+
281
+ .button.green, .button:hover.green,
282
+ .purchase.green, .purchase:hover.green { background-color:#21a117; -webkit-box-shadow: 0px 3px 0px 0px #104d0b; -moz-box-shadow: 0px 3px 0px 0px #104d0b; box-shadow: 0px 3px 0px 0px #104d0b; }
283
+
284
+
285
+ .button.blue, .button:hover.blue,
286
+ .purchase.blue, .purchase:hover.blue { background-color:#1d78cb; -webkit-box-shadow: 0px 3px 0px 0px #0f3e68; -moz-box-shadow: 0px 3px 0px 0px #0f3e68; box-shadow: 0px 3px 0px 0px #0f3e68;}
287
+
288
+
289
+ .button.red, .button:hover.red,
290
+ .purchase.red, .purchase:hover.red { background-color:#cb1d1d; -webkit-box-shadow: 0px 3px 0px 0px #7c1212; -moz-box-shadow: 0px 3px 0px 0px #7c1212; box-shadow: 0px 3px 0px 0px #7c1212;}
291
+
292
+ .button.orange, .button:hover.orange,
293
+ .purchase.orange, .purchase:hover.orange { background-color:#ff7700; -webkit-box-shadow: 0px 3px 0px 0px #a34c00; -moz-box-shadow: 0px 3px 0px 0px #a34c00; box-shadow: 0px 3px 0px 0px #a34c00;}
294
+
295
+ .button.darkgrey,.button.grey,
296
+ .button:hover.darkgrey,.button:hover.grey,
297
+ .purchase.darkgrey, .purchase:hover.darkgrey { background-color:#555; -webkit-box-shadow: 0px 3px 0px 0px #222; -moz-box-shadow: 0px 3px 0px 0px #222; box-shadow: 0px 3px 0px 0px #222;}
298
+
299
+ .button.lightgrey, .button:hover.lightgrey,
300
+ .purchase.lightgrey, .purchase:hover.lightgrey { background-color:#888; -webkit-box-shadow: 0px 3px 0px 0px #555; -moz-box-shadow: 0px 3px 0px 0px #555; box-shadow: 0px 3px 0px 0px #555;}
301
+
302
+
303
+
304
+ /************************
305
+ - NAVIGATION -
306
+ *************************/
307
+
308
+ /** BULLETS **/
309
+ .tp-bullets { z-index:100; position:absolute; bottom:10px; }
310
+ .tp-bullets.simplebullets { bottom:10px;}
311
+
312
+
313
+ .tp-bullets.simplebullets.navbar { bottom:-20px; background:url(../assets/navigdots_bgtile.png); height:35px; padding:0px 0px; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px ;margin-top:-17px;}
314
+
315
+ .tp-bullets.simplebullets .bullet { cursor:pointer; position:relative; background:url(../assets/bullets.png) no-Repeat bottom left; width:23px; height:23px; margin-right:0px; float:left; margin-top:-12px;}
316
+ .tp-bullets.simplebullets .bullet.last { margin-right:0px;}
317
+
318
+ /** SQUARE BULLETS **/
319
+ .tp-bullets.simplebullets.square .bullet { cursor:pointer; position:relative; background:url(../assets/bullets2.png) no-Repeat bottom left; width:19px; height:19px; margin-right:0px; float:left; margin-top:-10px;}
320
+ .tp-bullets.simplebullets.square .bullet.last { margin-right:0px;}
321
+
322
+ /** navbar NAVIGATION VERSION **/
323
+ .tp-bullets.simplebullets.navbar .bullet { cursor:pointer; position:relative; background:url(../assets/navigdots.png) no-Repeat bottom left; width:15px; height:15px; margin-left:5px !important; margin-right:5px !important;float:left; margin-top:10px;}
324
+ .tp-bullets.simplebullets.navbar .bullet.first { margin-left:30px !important;}
325
+ .tp-bullets.simplebullets.navbar .bullet.last { margin-right:30px !important;}
326
+
327
+ .tp-bullets.simplebullets .bullet:hover,
328
+ .tp-bullets.simplebullets .bullet.selected { background-position:top left; }
329
+
330
+
331
+
332
+
333
+ /*************************************
334
+ - TP ARROWS -
335
+ **************************************/
336
+
337
+
338
+ .tp-leftarrow { z-index:100;cursor:pointer; position:relative; background:url(../assets/arrow_left.png) no-Repeat top left; width:26px; height:26px; margin-right:0px; float:left; margin-top:-13px; }
339
+ .tp-rightarrow { z-index:100;cursor:pointer; position:relative; background:url(../assets/arrow_right.png) no-Repeat top left; width:26px; height:26px; margin-right:0px; float:left; margin-top:-13px;}
340
+
341
+ .tp-leftarrow.navbar { z-index:100;cursor:pointer; position:relative; background:url(../assets/arrowleft.png) no-Repeat top left; width:9px; height:16px; float:left; margin-right:-20px; margin-top:-8px;}
342
+ .tp-rightarrow.navbar { z-index:100;cursor:pointer; position:relative; background:url(../assets/arrowright.png) no-Repeat top left; width:9px; height:16px; float:left; margin-left:-20px; margin-top:-8px;}
343
+ .tp-leftarrow.navbar.thumbswitharrow { margin-right:10px; }
344
+ .tp-rightarrow.navbar.thumbswitharrow { margin-left:0px; }
345
+
346
+ .tp-leftarrow.square { z-index:100;cursor:pointer; position:relative; background:url(../assets/arrow_left2.png) no-Repeat top left; width:12px; height:17px; float:left; margin-right:0px; margin-top:-9px;}
347
+ .tp-rightarrow.square { z-index:100;cursor:pointer; position:relative; background:url(../assets/arrow_right2.png) no-Repeat top left; width:12px; height:17px; float:left; margin-left:0px; margin-top:-9px;}
348
+
349
+ .tp-leftarrow.large { z-index:100;cursor:pointer; position:relative; background:url(../assets/arrow_large_left.png) no-Repeat top left; width:46px; height:46px; margin-left:20px; margin-top:-23px; }
350
+ .tp-rightarrow.large { z-index:100;cursor:pointer; position:relative; background:url(../assets/arrow_large_right.png) no-Repeat top left; width:46px; height:46px; margin-left:-20px; margin-top:-23px; }
351
+
352
+ .tp-leftarrow:hover,
353
+ .tp-rightarrow:hover { background-position:bottom left; }
354
+
355
+
356
+
357
+
358
+
359
+
360
+ /****************************************************************************************************
361
+ - TP THUMBS -
362
+ *****************************************************************************************************
363
+
364
+ - tp-thumbs & tp-mask Width is the width of the basic Thumb Container (500px basic settings)
365
+
366
+ - .bullet width & height is the dimension of a simple Thumbnail (basic 100px x 50px)
367
+
368
+ *****************************************************************************************************/
369
+
370
+
371
+ .tp-bullets.tp-thumbs { z-index:100; position:absolute; padding:0px 2px 2px;background-color:#fff;
372
+ width:500px;height:50px; /* THE DIMENSIONS OF THE THUMB CONTAINER */
373
+ }
374
+
375
+ .fullwidthbanner-container .tp-thumbs { padding:2px;}
376
+
377
+ .tp-bullets.tp-thumbs .tp-mask { width:500px; height:50px; /* THE DIMENSIONS OF THE THUMB CONTAINER */
378
+ overflow:hidden; position:relative;}
379
+
380
+
381
+ .tp-bullets.tp-thumbs .tp-mask .tp-thumbcontainer { width:5000px; position:absolute;}
382
+
383
+ .tp-bullets.tp-thumbs .bullet { width:100px; height:50px; /* THE DIMENSION OF A SINGLE THUMB */
384
+ cursor:pointer; overflow:hidden;background:none;margin:0;float:left;
385
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; filter: alpha(opacity=50); -moz-opacity: 0.5; -khtml-opacity: 0.5; opacity: 0.5;
386
+ -webkit-transition: all 0.2s ease-out; -moz-transition: all 0.2s ease-out; -o-transition: all 0.2s ease-out; -ms-transition: all 0.2s ease-out;
387
+ }
388
+ .tp-bullets.tp-thumbs .bullet:hover,
389
+ .tp-bullets.tp-thumbs .bullet.selected { -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter: alpha(opacity=1); -moz-opacity: 1; -khtml-opacity: 1; opacity: 1;}
390
+ .tp-thumbs img { width:100%; }
391
+
392
+
393
+ /************************************
394
+ - TP BANNER TIMER -
395
+ *************************************/
396
+ .tp-bannertimer { width:100%; height:10px; background:url(../assets/timer.png);position:absolute; z-index:200;}
397
+
398
+
399
+
400
+
401
+ /***************************************
402
+ - RESPONSIVE SETTINGS -
403
+ ****************************************/
404
+
405
+
406
+ @media only screen and (min-width: 768px) and (max-width: 959px) {
407
+
408
+ }
409
+
410
+
411
+
412
+ @media only screen and (min-width: 480px) and (max-width: 767px) {
413
+ .responsive .tp-bullets.tp-thumbs { width:300px !important; height:30px !important;}
414
+ .responsive .tp-bullets.tp-thumbs .tp-mask { width:300px !important; height:30px !important;}
415
+ .responsive .tp-bullets.tp-thumbs .bullet { width:60px !important;height:30px !important;}
416
+
417
+ }
418
+
419
+ @media only screen and (min-width: 0px) and (max-width: 479px) {
420
+ .responsive .tp-bullets { display:none}
421
+ .responsive .tparrows { display:none;}
422
+ }
423
+
424
+
425
+
426
+
427
+
428
+ /*********************************************
429
+
430
+ - BASIC SETTINGS FOR THE BANNER -
431
+
432
+ ***********************************************/
433
+
434
+ .tp-simpleresponsive img {
435
+ -moz-user-select: none;
436
+ -khtml-user-select: none;
437
+ -webkit-user-select: none;
438
+ -o-user-select: none;
439
+ position: relative !important;
440
+ height: auto !important;
441
+ width: auto !important;
442
+
443
+ }
444
+ .responsive .caption .heading, .responsive .caption p {
445
+ background: none;
446
+ border: none;
447
+ width: auto;
448
+ }
449
+
450
+ .tp-simpleresponsive ul {
451
+ list-style:none;
452
+ padding:0;
453
+ margin:0;
454
+ }
455
+
456
+ .tp-simpleresponsive >ul li{
457
+ list-stye:none;
458
+ position:absolute;
459
+ visibility:hidden;
460
+ }
461
+ /* CAPTION SLIDELINK **/
462
+ .caption.slidelink a div { width:10000px; height:10000px; }
463
+
464
+ .tp-loader { background:url(../assets/loader.gif) no-repeat 10px 10px; background-color:#fff; margin:-22px -22px; top:50%; left:50%; z-index:10000; position:absolute;width:44px;height:44px;
465
+ border-radius: 3px;
466
+ -moz-border-radius: 3px;
467
+ -webkit-border-radius: 3px;
468
+ }
469
+ .netbase-revolution p,.netbase-revolution div{
470
+ margin: 0px;
471
+ }
472
+ .caption ul{
473
+ position: relative;
474
+ }
475
+ .caption ul li{
476
+ z-index: 999999999999999;
477
+ color: red;
478
+ visibility: visible;
479
+ position: relative;
480
+ list-style: none outside none;
481
+ }
482
+
483
+
484
+
js/cmsmart/slideshow/revolution/rs-plugin/images/gradient/g30.png ADDED
Binary file
js/cmsmart/slideshow/revolution/rs-plugin/images/gradient/g40.png ADDED
Binary file
js/cmsmart/slideshow/revolution/rs-plugin/js/jquery-ui-1.8.21.custom.min.js ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Name Extension: Slideshow Homepage
3
+ * Version: 1.0.0
4
+ * Author: The Cmsmart Development Team
5
+ * Date Created: 16/09/2013
6
+ * Websites: http://cmsmart.net
7
+ * Technical Support: Forum - http://cmsmart.net/support
8
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
9
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
10
+ */
11
+ (function(a,b){function c(b,c){var e=b.nodeName.toLowerCase();if("area"===e){var f=b.parentNode,g=f.name,h;return!b.href||!g||f.nodeName.toLowerCase()!=="map"?!1:(h=a("img[usemap=#"+g+"]")[0],!!h&&d(h))}return(/input|select|textarea|button|object/.test(e)?!b.disabled:"a"==e?b.href||c:c)&&d(b)}function d(b){return!a(b).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.ui=a.ui||{};if(a.ui.version)return;a.extend(a.ui,{version:"1.8.21",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}}),a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(b,c){return typeof b=="number"?this.each(function(){var d=this;setTimeout(function(){a(d).focus(),c&&c.call(d)},b)}):this._focus.apply(this,arguments)},scrollParent:function(){var b;return a.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?b=this.parents().filter(function(){return/(relative|absolute|fixed)/.test(a.curCSS(this,"position",1))&&/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0):b=this.parents().filter(function(){return/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0),/fixed/.test(this.css("position"))||!b.length?a(document):b},zIndex:function(c){if(c!==b)return this.css("zIndex",c);if(this.length){var d=a(this[0]),e,f;while(d.length&&d[0]!==document){e=d.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){f=parseInt(d.css("zIndex"),10);if(!isNaN(f)&&f!==0)return f}d=d.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),a.each(["Width","Height"],function(c,d){function h(b,c,d,f){return a.each(e,function(){c-=parseFloat(a.curCSS(b,"padding"+this,!0))||0,d&&(c-=parseFloat(a.curCSS(b,"border"+this+"Width",!0))||0),f&&(c-=parseFloat(a.curCSS(b,"margin"+this,!0))||0)}),c}var e=d==="Width"?["Left","Right"]:["Top","Bottom"],f=d.toLowerCase(),g={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+d]=function(c){return c===b?g["inner"+d].call(this):this.each(function(){a(this).css(f,h(this,c)+"px")})},a.fn["outer"+d]=function(b,c){return typeof b!="number"?g["outer"+d].call(this,b):this.each(function(){a(this).css(f,h(this,b,!0,c)+"px")})}}),a.extend(a.expr[":"],{data:function(b,c,d){return!!a.data(b,d[3])},focusable:function(b){return c(b,!isNaN(a.attr(b,"tabindex")))},tabbable:function(b){var d=a.attr(b,"tabindex"),e=isNaN(d);return(e||d>=0)&&c(b,!e)}}),a(function(){var b=document.body,c=b.appendChild(c=document.createElement("div"));c.offsetHeight,a.extend(c.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0}),a.support.minHeight=c.offsetHeight===100,a.support.selectstart="onselectstart"in c,b.removeChild(c).style.display="none"}),a.extend(a.ui,{plugin:{add:function(b,c,d){var e=a.ui[b].prototype;for(var f in d)e.plugins[f]=e.plugins[f]||[],e.plugins[f].push([c,d[f]])},call:function(a,b,c){var d=a.plugins[b];if(!d||!a.element[0].parentNode)return;for(var e=0;e<d.length;e++)a.options[d[e][0]]&&d[e][1].apply(a.element,c)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(b,c){if(a(b).css("overflow")==="hidden")return!1;var d=c&&c==="left"?"scrollLeft":"scrollTop",e=!1;return b[d]>0?!0:(b[d]=1,e=b[d]>0,b[d]=0,e)},isOverAxis:function(a,b,c){return a>b&&a<b+c},isOver:function(b,c,d,e,f,g){return a.ui.isOverAxis(b,d,f)&&a.ui.isOverAxis(c,e,g)}})})(NetBase);
12
+
13
+
14
+ (function(a,b){if(a.cleanData){var c=a.cleanData;a.cleanData=function(b){for(var d=0,e;(e=b[d])!=null;d++)try{a(e).triggerHandler("remove")}catch(f){}c(b)}}else{var d=a.fn.remove;a.fn.remove=function(b,c){return this.each(function(){return c||(!b||a.filter(b,[this]).length)&&a("*",this).add([this]).each(function(){try{a(this).triggerHandler("remove")}catch(b){}}),d.call(a(this),b,c)})}}a.widget=function(b,c,d){var e=b.split(".")[0],f;b=b.split(".")[1],f=e+"-"+b,d||(d=c,c=a.Widget),a.expr[":"][f]=function(c){return!!a.data(c,b)},a[e]=a[e]||{},a[e][b]=function(a,b){arguments.length&&this._createWidget(a,b)};var g=new c;g.options=a.extend(!0,{},g.options),a[e][b].prototype=a.extend(!0,g,{namespace:e,widgetName:b,widgetEventPrefix:a[e][b].prototype.widgetEventPrefix||b,widgetBaseClass:f},d),a.widget.bridge(b,a[e][b])},a.widget.bridge=function(c,d){a.fn[c]=function(e){var f=typeof e=="string",g=Array.prototype.slice.call(arguments,1),h=this;return e=!f&&g.length?a.extend.apply(null,[!0,e].concat(g)):e,f&&e.charAt(0)==="_"?h:(f?this.each(function(){var d=a.data(this,c),f=d&&a.isFunction(d[e])?d[e].apply(d,g):d;if(f!==d&&f!==b)return h=f,!1}):this.each(function(){var b=a.data(this,c);b?b.option(e||{})._init():a.data(this,c,new d(e,this))}),h)}},a.Widget=function(a,b){arguments.length&&this._createWidget(a,b)},a.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:!1},_createWidget:function(b,c){a.data(c,this.widgetName,this),this.element=a(c),this.options=a.extend(!0,{},this.options,this._getCreateOptions(),b);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()}),this._create(),this._trigger("create"),this._init()},_getCreateOptions:function(){return a.metadata&&a.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName),this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled "+"ui-state-disabled")},widget:function(){return this.element},option:function(c,d){var e=c;if(arguments.length===0)return a.extend({},this.options);if(typeof c=="string"){if(d===b)return this.options[c];e={},e[c]=d}return this._setOptions(e),this},_setOptions:function(b){var c=this;return a.each(b,function(a,b){c._setOption(a,b)}),this},_setOption:function(a,b){return this.options[a]=b,a==="disabled"&&this.widget()[b?"addClass":"removeClass"](this.widgetBaseClass+"-disabled"+" "+"ui-state-disabled").attr("aria-disabled",b),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_trigger:function(b,c,d){var e,f,g=this.options[b];d=d||{},c=a.Event(c),c.type=(b===this.widgetEventPrefix?b:this.widgetEventPrefix+b).toLowerCase(),c.target=this.element[0],f=c.originalEvent;if(f)for(e in f)e in c||(c[e]=f[e]);return this.element.trigger(c,d),!(a.isFunction(g)&&g.call(this.element[0],c,d)===!1||c.isDefaultPrevented())}}})(NetBase);
15
+
16
+
17
+ (function(a,b){var c=!1;a(document).mouseup(function(a){c=!1}),a.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var b=this;this.element.bind("mousedown."+this.widgetName,function(a){return b._mouseDown(a)}).bind("click."+this.widgetName,function(c){if(!0===a.data(c.target,b.widgetName+".preventClickEvent"))return a.removeData(c.target,b.widgetName+".preventClickEvent"),c.stopImmediatePropagation(),!1}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(b){if(c)return;this._mouseStarted&&this._mouseUp(b),this._mouseDownEvent=b;var d=this,e=b.which==1,f=typeof this.options.cancel=="string"&&b.target.nodeName?a(b.target).closest(this.options.cancel).length:!1;if(!e||f||!this._mouseCapture(b))return!0;this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){d.mouseDelayMet=!0},this.options.delay));if(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)){this._mouseStarted=this._mouseStart(b)!==!1;if(!this._mouseStarted)return b.preventDefault(),!0}return!0===a.data(b.target,this.widgetName+".preventClickEvent")&&a.removeData(b.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(a){return d._mouseMove(a)},this._mouseUpDelegate=function(a){return d._mouseUp(a)},a(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),b.preventDefault(),c=!0,!0},_mouseMove:function(b){return!a.browser.msie||document.documentMode>=9||!!b.button?this._mouseStarted?(this._mouseDrag(b),b.preventDefault()):(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,b)!==!1,this._mouseStarted?this._mouseDrag(b):this._mouseUp(b)),!this._mouseStarted):this._mouseUp(b)},_mouseUp:function(b){return a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,b.target==this._mouseDownEvent.target&&a.data(b.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(b)),!1},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(a){return this.mouseDelayMet},_mouseStart:function(a){},_mouseDrag:function(a){},_mouseStop:function(a){},_mouseCapture:function(a){return!0}})})(NetBase);
18
+
19
+ (function(a,b){a.widget("ui.draggable",a.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1},_create:function(){this.options.helper=="original"&&!/^(?:r|a|f)/.test(this.element.css("position"))&&(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},destroy:function(){if(!this.element.data("draggable"))return;return this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy(),this},_mouseCapture:function(b){var c=this.options;return this.helper||c.disabled||a(b.target).is(".ui-resizable-handle")?!1:(this.handle=this._getHandle(b),this.handle?(c.iframeFix&&a(c.iframeFix===!0?"iframe":c.iframeFix).each(function(){a('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(a(this).offset()).appendTo("body")}),!0):!1)},_mouseStart:function(b){var c=this.options;return this.helper=this._createHelper(b),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),a.ui.ddmanager&&(a.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,c.cursorAt&&this._adjustOffsetFromHelper(c.cursorAt),c.containment&&this._setContainment(),this._trigger("start",b)===!1?(this._clear(),!1):(this._cacheHelperProportions(),a.ui.ddmanager&&!c.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this._mouseDrag(b,!0),a.ui.ddmanager&&a.ui.ddmanager.dragStart(this,b),!0)},_mouseDrag:function(b,c){this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute");if(!c){var d=this._uiHash();if(this._trigger("drag",b,d)===!1)return this._mouseUp({}),!1;this.position=d.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";return a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),!1},_mouseStop:function(b){var c=!1;a.ui.ddmanager&&!this.options.dropBehaviour&&(c=a.ui.ddmanager.drop(this,b)),this.dropped&&(c=this.dropped,this.dropped=!1);var d=this.element[0],e=!1;while(d&&(d=d.parentNode))d==document&&(e=!0);if(!e&&this.options.helper==="original")return!1;if(this.options.revert=="invalid"&&!c||this.options.revert=="valid"&&c||this.options.revert===!0||a.isFunction(this.options.revert)&&this.options.revert.call(this.element,c)){var f=this;a(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){f._trigger("stop",b)!==!1&&f._clear()})}else this._trigger("stop",b)!==!1&&this._clear();return!1},_mouseUp:function(b){return this.options.iframeFix===!0&&a("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),a.ui.ddmanager&&a.ui.ddmanager.dragStop(this,b),a.ui.mouse.prototype._mouseUp.call(this,b)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(b){var c=!this.options.handle||!a(this.options.handle,this.element).length?!0:!1;return a(this.options.handle,this.element).find("*").andSelf().each(function(){this==b.target&&(c=!0)}),c},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b])):c.helper=="clone"?this.element.clone().removeAttr("id"):this.element;return d.parents("body").length||d.appendTo(c.appendTo=="parent"?this.element[0].parentNode:c.appendTo),d[0]!=this.element[0]&&!/(fixed|absolute)/.test(d.css("position"))&&d.css("position","absolute"),d},_adjustOffsetFromHelper:function(b){typeof b=="string"&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop());if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)b={top:0,left:0};return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var b=this.options;b.containment=="parent"&&(b.containment=this.helper[0].parentNode);if(b.containment=="document"||b.containment=="window")this.containment=[b.containment=="document"?0:a(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,b.containment=="document"?0:a(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,(b.containment=="document"?0:a(window).scrollLeft())+a(b.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(b.containment=="document"?0:a(window).scrollTop())+(a(b.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(b.containment)&&b.containment.constructor!=Array){var c=a(b.containment),d=c[0];if(!d)return;var e=c.offset(),f=a(d).css("overflow")!="hidden";this.containment=[(parseInt(a(d).css("borderLeftWidth"),10)||0)+(parseInt(a(d).css("paddingLeft"),10)||0),(parseInt(a(d).css("borderTopWidth"),10)||0)+(parseInt(a(d).css("paddingTop"),10)||0),(f?Math.max(d.scrollWidth,d.offsetWidth):d.offsetWidth)-(parseInt(a(d).css("borderLeftWidth"),10)||0)-(parseInt(a(d).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(f?Math.max(d.scrollHeight,d.offsetHeight):d.offsetHeight)-(parseInt(a(d).css("borderTopWidth"),10)||0)-(parseInt(a(d).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=c}else b.containment.constructor==Array&&(this.containment=b.containment)},_convertPositionTo:function(b,c){c||(c=this.position);var d=b=="absolute"?1:-1,e=this.options,f=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=/(html|body)/i.test(f[0].tagName);return{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():g?0:f.scrollTop())*d),left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:f.scrollLeft())*d)}},_generatePosition:function(b){var c=this.options,d=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(d[0].tagName),f=b.pageX,g=b.pageY;if(this.originalPosition){var h;if(this.containment){if(this.relative_container){var i=this.relative_container.offset();h=[this.containment[0]+i.left,this.containment[1]+i.top,this.containment[2]+i.left,this.containment[3]+i.top]}else h=this.containment;b.pageX-this.offset.click.left<h[0]&&(f=h[0]+this.offset.click.left),b.pageY-this.offset.click.top<h[1]&&(g=h[1]+this.offset.click.top),b.pageX-this.offset.click.left>h[2]&&(f=h[2]+this.offset.click.left),b.pageY-this.offset.click.top>h[3]&&(g=h[3]+this.offset.click.top)}if(c.grid){var j=c.grid[1]?this.originalPageY+Math.round((g-this.originalPageY)/c.grid[1])*c.grid[1]:this.originalPageY;g=h?j-this.offset.click.top<h[1]||j-this.offset.click.top>h[3]?j-this.offset.click.top<h[1]?j+c.grid[1]:j-c.grid[1]:j:j;var k=c.grid[0]?this.originalPageX+Math.round((f-this.originalPageX)/c.grid[0])*c.grid[0]:this.originalPageX;f=h?k-this.offset.click.left<h[0]||k-this.offset.click.left>h[2]?k-this.offset.click.left<h[0]?k+c.grid[0]:k-c.grid[0]:k:k}}return{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:d.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:d.scrollLeft())}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval&&this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1},_trigger:function(b,c,d){return d=d||this._uiHash(),a.ui.plugin.call(this,b,[c,d]),b=="drag"&&(this.positionAbs=this._convertPositionTo("absolute")),a.Widget.prototype._trigger.call(this,b,c,d)},plugins:{},_uiHash:function(a){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),a.extend(a.ui.draggable,{version:"1.8.21"}),a.ui.plugin.add("draggable","connectToSortable",{start:function(b,c){var d=a(this).data("draggable"),e=d.options,f=a.extend({},c,{item:d.element});d.sortables=[],a(e.connectToSortable).each(function(){var c=a.data(this,"sortable");c&&!c.options.disabled&&(d.sortables.push({instance:c,shouldRevert:c.options.revert}),c.refreshPositions(),c._trigger("activate",b,f))})},stop:function(b,c){var d=a(this).data("draggable"),e=a.extend({},c,{item:d.element});a.each(d.sortables,function(){this.instance.isOver?(this.instance.isOver=0,d.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=!0),this.instance._mouseStop(b),this.instance.options.helper=this.instance.options._helper,d.options.helper=="original"&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",b,e))})},drag:function(b,c){var d=a(this).data("draggable"),e=this,f=function(b){var c=this.offset.click.top,d=this.offset.click.left,e=this.positionAbs.top,f=this.positionAbs.left,g=b.height,h=b.width,i=b.top,j=b.left;return a.ui.isOver(e+c,f+d,i,j,g,h)};a.each(d.sortables,function(f){this.instance.positionAbs=d.positionAbs,this.instance.helperProportions=d.helperProportions,this.instance.offset.click=d.offset.click,this.instance._intersectsWith(this.instance.containerCache)?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=a(e).clone().removeAttr("id").appendTo(this.instance.element).data("sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return c.helper[0]},b.target=this.instance.currentItem[0],this.instance._mouseCapture(b,!0),this.instance._mouseStart(b,!0,!0),this.instance.offset.click.top=d.offset.click.top,this.instance.offset.click.left=d.offset.click.left,this.instance.offset.parent.left-=d.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=d.offset.parent.top-this.instance.offset.parent.top,d._trigger("toSortable",b),d.dropped=this.instance.element,d.currentItem=d.element,this.instance.fromOutside=d),this.instance.currentItem&&this.instance._mouseDrag(b)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",b,this.instance._uiHash(this.instance)),this.instance._mouseStop(b,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),d._trigger("fromSortable",b),d.dropped=!1)})}}),a.ui.plugin.add("draggable","cursor",{start:function(b,c){var d=a("body"),e=a(this).data("draggable").options;d.css("cursor")&&(e._cursor=d.css("cursor")),d.css("cursor",e.cursor)},stop:function(b,c){var d=a(this).data("draggable").options;d._cursor&&a("body").css("cursor",d._cursor)}}),a.ui.plugin.add("draggable","opacity",{start:function(b,c){var d=a(c.helper),e=a(this).data("draggable").options;d.css("opacity")&&(e._opacity=d.css("opacity")),d.css("opacity",e.opacity)},stop:function(b,c){var d=a(this).data("draggable").options;d._opacity&&a(c.helper).css("opacity",d._opacity)}}),a.ui.plugin.add("draggable","scroll",{start:function(b,c){var d=a(this).data("draggable");d.scrollParent[0]!=document&&d.scrollParent[0].tagName!="HTML"&&(d.overflowOffset=d.scrollParent.offset())},drag:function(b,c){var d=a(this).data("draggable"),e=d.options,f=!1;if(d.scrollParent[0]!=document&&d.scrollParent[0].tagName!="HTML"){if(!e.axis||e.axis!="x")d.overflowOffset.top+d.scrollParent[0].offsetHeight-b.pageY<e.scrollSensitivity?d.scrollParent[0].scrollTop=f=d.scrollParent[0].scrollTop+e.scrollSpeed:b.pageY-d.overflowOffset.top<e.scrollSensitivity&&(d.scrollParent[0].scrollTop=f=d.scrollParent[0].scrollTop-e.scrollSpeed);if(!e.axis||e.axis!="y")d.overflowOffset.left+d.scrollParent[0].offsetWidth-b.pageX<e.scrollSensitivity?d.scrollParent[0].scrollLeft=f=d.scrollParent[0].scrollLeft+e.scrollSpeed:b.pageX-d.overflowOffset.left<e.scrollSensitivity&&(d.scrollParent[0].scrollLeft=f=d.scrollParent[0].scrollLeft-e.scrollSpeed)}else{if(!e.axis||e.axis!="x")b.pageY-a(document).scrollTop()<e.scrollSensitivity?f=a(document).scrollTop(a(document).scrollTop()-e.scrollSpeed):a(window).height()-(b.pageY-a(document).scrollTop())<e.scrollSensitivity&&(f=a(document).scrollTop(a(document).scrollTop()+e.scrollSpeed));if(!e.axis||e.axis!="y")b.pageX-a(document).scrollLeft()<e.scrollSensitivity?f=a(document).scrollLeft(a(document).scrollLeft()-e.scrollSpeed):a(window).width()-(b.pageX-a(document).scrollLeft())<e.scrollSensitivity&&(f=a(document).scrollLeft(a(document).scrollLeft()+e.scrollSpeed))}f!==!1&&a.ui.ddmanager&&!e.dropBehaviour&&a.ui.ddmanager.prepareOffsets(d,b)}}),a.ui.plugin.add("draggable","snap",{start:function(b,c){var d=a(this).data("draggable"),e=d.options;d.snapElements=[],a(e.snap.constructor!=String?e.snap.items||":data(draggable)":e.snap).each(function(){var b=a(this),c=b.offset();this!=d.element[0]&&d.snapElements.push({item:this,width:b.outerWidth(),height:b.outerHeight(),top:c.top,left:c.left})})},drag:function(b,c){var d=a(this).data("draggable"),e=d.options,f=e.snapTolerance,g=c.offset.left,h=g+d.helperProportions.width,i=c.offset.top,j=i+d.helperProportions.height;for(var k=d.snapElements.length-1;k>=0;k--){var l=d.snapElements[k].left,m=l+d.snapElements[k].width,n=d.snapElements[k].top,o=n+d.snapElements[k].height;if(!(l-f<g&&g<m+f&&n-f<i&&i<o+f||l-f<g&&g<m+f&&n-f<j&&j<o+f||l-f<h&&h<m+f&&n-f<i&&i<o+f||l-f<h&&h<m+f&&n-f<j&&j<o+f)){d.snapElements[k].snapping&&d.options.snap.release&&d.options.snap.release.call(d.element,b,a.extend(d._uiHash(),{snapItem:d.snapElements[k].item})),d.snapElements[k].snapping=!1;continue}if(e.snapMode!="inner"){var p=Math.abs(n-j)<=f,q=Math.abs(o-i)<=f,r=Math.abs(l-h)<=f,s=Math.abs(m-g)<=f;p&&(c.position.top=d._convertPositionTo("relative",{top:n-d.helperProportions.height,left:0}).top-d.margins.top),q&&(c.position.top=d._convertPositionTo("relative",{top:o,left:0}).top-d.margins.top),r&&(c.position.left=d._convertPositionTo("relative",{top:0,left:l-d.helperProportions.width}).left-d.margins.left),s&&(c.position.left=d._convertPositionTo("relative",{top:0,left:m}).left-d.margins.left)}var t=p||q||r||s;if(e.snapMode!="outer"){var p=Math.abs(n-i)<=f,q=Math.abs(o-j)<=f,r=Math.abs(l-g)<=f,s=Math.abs(m-h)<=f;p&&(c.position.top=d._convertPositionTo("relative",{top:n,left:0}).top-d.margins.top),q&&(c.position.top=d._convertPositionTo("relative",{top:o-d.helperProportions.height,left:0}).top-d.margins.top),r&&(c.position.left=d._convertPositionTo("relative",{top:0,left:l}).left-d.margins.left),s&&(c.position.left=d._convertPositionTo("relative",{top:0,left:m-d.helperProportions.width}).left-d.margins.left)}!d.snapElements[k].snapping&&(p||q||r||s||t)&&d.options.snap.snap&&d.options.snap.snap.call(d.element,b,a.extend(d._uiHash(),{snapItem:d.snapElements[k].item})),d.snapElements[k].snapping=p||q||r||s||t}}}),a.ui.plugin.add("draggable","stack",{start:function(b,c){var d=a(this).data("draggable").options,e=a.makeArray(a(d.stack)).sort(function(b,c){return(parseInt(a(b).css("zIndex"),10)||0)-(parseInt(a(c).css("zIndex"),10)||0)});if(!e.length)return;var f=parseInt(e[0].style.zIndex)||0;a(e).each(function(a){this.style.zIndex=f+a}),this[0].style.zIndex=f+e.length}}),a.ui.plugin.add("draggable","zIndex",{start:function(b,c){var d=a(c.helper),e=a(this).data("draggable").options;d.css("zIndex")&&(e._zIndex=d.css("zIndex")),d.css("zIndex",e.zIndex)},stop:function(b,c){var d=a(this).data("draggable").options;d._zIndex&&a(c.helper).css("zIndex",d._zIndex)}})})(NetBase);
js/cmsmart/slideshow/revolution/rs-plugin/js/jquery.1.7.js ADDED
@@ -0,0 +1,9400 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Name Extension: Slideshow Homepage
3
+ * Version: 1.0.0
4
+ * Author: The Cmsmart Development Team
5
+ * Date Created: 16/09/2013
6
+ * Websites: http://cmsmart.net
7
+ * Technical Support: Forum - http://cmsmart.net/support
8
+ * GNU General Public License v3 (http://opensource.org/licenses/GPL-3.0)
9
+ * Copyright © 2011-2013 Cmsmart.net. All Rights Reserved.
10
+ */
11
+
12
+ (function( window, undefined ) {
13
+
14
+ // Use the correct document accordingly with window argument (sandbox)
15
+ var document = window.document,
16
+ navigator = window.navigator,
17
+ location = window.location;
18
+ var NetBase = (function() {
19
+
20
+ // Define a local copy of NetBase
21
+ var NetBase = function( selector, context ) {
22
+ // The NetBase object is actually just the init constructor 'enhanced'
23
+ return new NetBase.fn.init( selector, context, rootjQuery );
24
+ },
25
+
26
+ // Map over NetBase in case of overwrite
27
+ _jQuery = window.NetBase,
28
+
29
+ // Map over the $ in case of overwrite
30
+ _$ = window.$,
31
+
32
+ // A central reference to the root netbase(document)
33
+ rootjQuery,
34
+
35
+ // A simple way to check for HTML strings or ID strings
36
+ // Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
37
+ quickExpr = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,
38
+
39
+ // Check if a string has a non-whitespace character in it
40
+ rnotwhite = /\S/,
41
+
42
+ // Used for trimming whitespace
43
+ trimLeft = /^\s+/,
44
+ trimRight = /\s+$/,
45
+
46
+ // Match a standalone tag
47
+ rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/,
48
+
49
+ // JSON RegExp
50
+ rvalidchars = /^[\],:{}\s]*$/,
51
+ rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,
52
+ rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
53
+ rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g,
54
+
55
+ // Useragent RegExp
56
+ rwebkit = /(webkit)[ \/]([\w.]+)/,
57
+ ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/,
58
+ rmsie = /(msie) ([\w.]+)/,
59
+ rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/,
60
+
61
+ // Matches dashed string for camelizing
62
+ rdashAlpha = /-([a-z]|[0-9])/ig,
63
+ rmsPrefix = /^-ms-/,
64
+
65
+ // Used by NetBase.camelCase as callback to replace()
66
+ fcamelCase = function( all, letter ) {
67
+ return ( letter + "" ).toUpperCase();
68
+ },
69
+
70
+ // Keep a UserAgent string for use with NetBase.browser
71
+ userAgent = navigator.userAgent,
72
+
73
+ // For matching the engine and version of the browser
74
+ browserMatch,
75
+
76
+ // The deferred used on DOM ready
77
+ readyList,
78
+
79
+ // The ready event handler
80
+ DOMContentLoaded,
81
+
82
+ // Save a reference to some core methods
83
+ toString = Object.prototype.toString,
84
+ hasOwn = Object.prototype.hasOwnProperty,
85
+ push = Array.prototype.push,
86
+ slice = Array.prototype.slice,
87
+ trim = String.prototype.trim,
88
+ indexOf = Array.prototype.indexOf,
89
+
90
+ // [[Class]] -> type pairs
91
+ class2type = {};
92
+
93
+ NetBase.fn = NetBase.prototype = {
94
+ constructor: NetBase,
95
+ init: function( selector, context, rootjQuery ) {
96
+ var match, elem, ret, doc;
97
+
98
+ // Handle $(""), $(null), or $(undefined)
99
+ if ( !selector ) {
100
+ return this;
101
+ }
102
+
103
+ // Handle $(DOMElement)
104
+ if ( selector.nodeType ) {
105
+ this.context = this[0] = selector;
106
+ this.length = 1;
107
+ return this;
108
+ }
109
+
110
+ // The body element only exists once, optimize finding it
111
+ if ( selector === "body" && !context && document.body ) {
112
+ this.context = document;
113
+ this[0] = document.body;
114
+ this.selector = selector;
115
+ this.length = 1;
116
+ return this;
117
+ }
118
+
119
+ // Handle HTML strings
120
+ if ( typeof selector === "string" ) {
121
+ // Are we dealing with HTML string or an ID?
122
+ if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) {
123
+ // Assume that strings that start and end with <> are HTML and skip the regex check
124
+ match = [ null, selector, null ];
125
+
126
+ } else {
127
+ match = quickExpr.exec( selector );
128
+ }
129
+
130
+ // Verify a match, and that no context was specified for #id
131
+ if ( match && (match[1] || !context) ) {
132
+
133
+ // HANDLE: $(html) -> $(array)
134
+ if ( match[1] ) {
135
+ context = context instanceof NetBase ? context[0] : context;
136
+ doc = ( context ? context.ownerDocument || context : document );
137
+
138
+ // If a single string is passed in and it's a single tag
139
+ // just do a createElement and skip the rest
140
+ ret = rsingleTag.exec( selector );
141
+
142
+ if ( ret ) {
143
+ if ( NetBase.isPlainObject( context ) ) {
144
+ selector = [ document.createElement( ret[1] ) ];
145
+ NetBase.fn.attr.call( selector, context, true );
146
+
147
+ } else {
148
+ selector = [ doc.createElement( ret[1] ) ];
149
+ }
150
+
151
+ } else {
152
+ ret = NetBase.buildFragment( [ match[1] ], [ doc ] );
153
+ selector = ( ret.cacheable ? NetBase.clone(ret.fragment) : ret.fragment ).childNodes;
154
+ }
155
+
156
+ return NetBase.merge( this, selector );
157
+
158
+ // HANDLE: $("#id")
159
+ } else {
160
+ elem = document.getElementById( match[2] );
161
+
162
+ // Check parentNode to catch when Blackberry 4.6 returns
163
+ // nodes that are no longer in the document #6963
164
+ if ( elem && elem.parentNode ) {
165
+ // Handle the case where IE and Opera return items
166
+ // by name instead of ID
167
+ if ( elem.id !== match[2] ) {
168
+ return rootjQuery.find( selector );
169
+ }
170
+
171
+ // Otherwise, we inject the element directly into the NetBase object
172
+ this.length = 1;
173
+ this[0] = elem;
174
+ }
175
+
176
+ this.context = document;
177
+ this.selector = selector;
178
+ return this;
179
+ }
180
+
181
+ // HANDLE: $(expr, $(...))
182
+ } else if ( !context || context.NetBase ) {
183
+ return ( context || rootjQuery ).find( selector );
184
+
185
+ // HANDLE: $(expr, context)
186
+ // (which is just equivalent to: $(context).find(expr)
187
+ } else {
188
+ return this.constructor( context ).find( selector );
189
+ }
190
+
191
+ // HANDLE: $(function)
192
+ // Shortcut for document ready
193
+ } else if ( NetBase.isFunction( selector ) ) {
194
+ return rootjQuery.ready( selector );
195
+ }
196
+
197
+ if ( selector.selector !== undefined ) {
198
+ this.selector = selector.selector;
199
+ this.context = selector.context;
200
+ }
201
+
202
+ return NetBase.makeArray( selector, this );
203
+ },
204
+
205
+ // Start with an empty selector
206
+ selector: "",
207
+
208
+ // The current version of NetBase being used
209
+ netbase: "1.7.2",
210
+
211
+ // The default length of a NetBase object is 0
212
+ length: 0,
213
+
214
+ // The number of elements contained in the matched element set
215
+ size: function() {
216
+ return this.length;
217
+ },
218
+
219
+ toArray: function() {
220
+ return slice.call( this, 0 );
221
+ },
222
+
223
+ // Get the Nth element in the matched element set OR
224
+ // Get the whole matched element set as a clean array
225
+ get: function( num ) {
226
+ return num == null ?
227
+
228
+ // Return a 'clean' array
229
+ this.toArray() :
230
+
231
+ // Return just the object
232
+ ( num < 0 ? this[ this.length + num ] : this[ num ] );
233
+ },
234
+
235
+ // Take an array of elements and push it onto the stack
236
+ // (returning the new matched element set)
237
+ pushStack: function( elems, name, selector ) {
238
+ // Build a new NetBase matched element set
239
+ var ret = this.constructor();
240
+
241
+ if ( NetBase.isArray( elems ) ) {
242
+ push.apply( ret, elems );
243
+
244
+ } else {
245
+ NetBase.merge( ret, elems );
246
+ }
247
+
248
+ // Add the old object onto the stack (as a reference)
249
+ ret.prevObject = this;
250
+
251
+ ret.context = this.context;
252
+
253
+ if ( name === "find" ) {
254
+ ret.selector = this.selector + ( this.selector ? " " : "" ) + selector;
255
+ } else if ( name ) {
256
+ ret.selector = this.selector + "." + name + "(" + selector + ")";
257
+ }
258
+
259
+ // Return the newly-formed element set
260
+ return ret;
261
+ },
262
+
263
+ // Execute a callback for every element in the matched set.
264
+ // (You can seed the arguments with an array of args, but this is
265
+ // only used internally.)
266
+ each: function( callback, args ) {
267
+ return NetBase.each( this, callback, args );
268
+ },
269
+
270
+ ready: function( fn ) {
271
+ // Attach the listeners
272
+ NetBase.bindReady();
273
+
274
+ // Add the callback
275
+ readyList.add( fn );
276
+
277
+ return this;
278
+ },
279
+
280
+ eq: function( i ) {
281
+ i = +i;
282
+ return i === -1 ?
283
+ this.slice( i ) :
284
+ this.slice( i, i + 1 );
285
+ },
286
+
287
+ first: function() {
288
+ return this.eq( 0 );
289
+ },
290
+
291
+ last: function() {
292
+ return this.eq( -1 );
293
+ },
294
+
295
+ slice: function() {
296
+ return this.pushStack( slice.apply( this, arguments ),
297
+ "slice", slice.call(arguments).join(",") );
298
+ },
299
+
300
+ map: function( callback ) {
301
+ return this.pushStack( NetBase.map(this, function( elem, i ) {
302
+ return callback.call( elem, i, elem );
303
+ }));
304
+ },
305
+
306
+ end: function() {
307
+ return this.prevObject || this.constructor(null);
308
+ },
309
+
310
+ // For internal use only.
311
+ // Behaves like an Array's method, not like a NetBase method.
312
+ push: push,
313
+ sort: [].sort,
314
+ splice: [].splice
315
+ };
316
+
317
+ // Give the init function the NetBase prototype for later instantiation
318
+ NetBase.fn.init.prototype = NetBase.fn;
319
+
320
+ NetBase.extend = NetBase.fn.extend = function() {
321
+ var options, name, src, copy, copyIsArray, clone,
322
+ target = arguments[0] || {},
323
+ i = 1,
324
+ length = arguments.length,
325
+ deep = false;
326
+
327
+ // Handle a deep copy situation
328
+ if ( typeof target === "boolean" ) {
329
+ deep = target;
330
+ target = arguments[1] || {};
331
+ // skip the boolean and the target
332
+ i = 2;
333
+ }
334
+
335
+ // Handle case when target is a string or something (possible in deep copy)
336
+ if ( typeof target !== "object" && !NetBase.isFunction(target) ) {
337
+ target = {};
338
+ }
339
+
340
+ // extend NetBase itself if only one argument is passed
341
+ if ( length === i ) {
342
+ target = this;
343
+ --i;
344
+ }
345
+
346
+ for ( ; i < length; i++ ) {
347
+ // Only deal with non-null/undefined values
348
+ if ( (options = arguments[ i ]) != null ) {
349
+ // Extend the base object
350
+ for ( name in options ) {
351
+ src = target[ name ];
352
+ copy = options[ name ];
353
+
354
+ // Prevent never-ending loop
355
+ if ( target === copy ) {
356
+ continue;
357
+ }
358
+
359
+ // Recurse if we're merging plain objects or arrays
360
+ if ( deep && copy && ( NetBase.isPlainObject(copy) || (copyIsArray = NetBase.isArray(copy)) ) ) {
361
+ if ( copyIsArray ) {
362
+ copyIsArray = false;
363
+ clone = src && NetBase.isArray(src) ? src : [];
364
+
365
+ } else {
366
+ clone = src && NetBase.isPlainObject(src) ? src : {};
367
+ }
368
+
369
+ // Never move original objects, clone them
370
+ target[ name ] = NetBase.extend( deep, clone, copy );
371
+
372
+ // Don't bring in undefined values
373
+ } else if ( copy !== undefined ) {
374
+ target[ name ] = copy;
375
+ }
376
+ }
377
+ }
378
+ }
379
+
380
+ // Return the modified object
381
+ return target;
382
+ };
383
+
384
+ NetBase.extend({
385
+ noConflict: function( deep ) {
386
+ if ( window.$ === NetBase ) {
387
+ window.$ = _$;
388
+ }
389
+
390
+ if ( deep && window.NetBase === NetBase ) {
391
+ window.NetBase = _jQuery;
392
+ }
393
+
394
+ return NetBase;
395
+ },
396
+
397
+ // Is the DOM ready to be used? Set to true once it occurs.
398
+ isReady: false,
399
+
400
+ // A counter to track how many items to wait for before
401
+ // the ready event fires. See #6781
402
+ readyWait: 1,
403
+
404
+ // Hold (or release) the ready event
405
+ holdReady: function( hold ) {
406
+ if ( hold ) {
407
+ NetBase.readyWait++;
408
+ } else {
409
+ NetBase.ready( true );
410
+ }
411
+ },
412
+
413
+ // Handle when the DOM is ready
414
+ ready: function( wait ) {
415
+ // Either a released hold or an DOMready/load event and not yet ready
416
+ if ( (wait === true && !--NetBase.readyWait) || (wait !== true && !NetBase.isReady) ) {
417
+ // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
418
+ if ( !document.body ) {
419
+ return setTimeout( NetBase.ready, 1 );
420
+ }
421
+
422
+ // Remember that the DOM is ready
423
+ NetBase.isReady = true;
424
+
425
+ // If a normal DOM Ready event fired, decrement, and wait if need be
426
+ if ( wait !== true && --NetBase.readyWait > 0 ) {
427
+ return;
428
+ }
429
+
430
+ // If there are functions bound, to execute
431
+ readyList.fireWith( document, [ NetBase ] );
432
+
433
+ // Trigger any bound ready events
434
+ if ( NetBase.fn.trigger ) {
435
+ NetBase( document ).trigger( "ready" ).off( "ready" );
436
+ }
437
+ }
438
+ },
439
+
440
+ bindReady: function() {
441
+ if ( readyList ) {
442
+ return;
443
+ }
444
+
445
+ readyList = NetBase.Callbacks( "once memory" );
446
+
447
+ // Catch cases where $(document).ready() is called after the
448
+ // browser event has already occurred.
449
+ if ( document.readyState === "complete" ) {
450
+ // Handle it asynchronously to allow scripts the opportunity to delay ready
451
+ return setTimeout( NetBase.ready, 1 );
452
+ }
453
+
454
+ // Mozilla, Opera and webkit nightlies currently support this event
455
+ if ( document.addEventListener ) {
456
+ // Use the handy event callback
457
+ document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false );
458
+
459
+ // A fallback to window.onload, that will always work
460
+ window.addEventListener( "load", NetBase.ready, false );
461
+
462
+ // If IE event model is used
463
+ } else if ( document.attachEvent ) {
464
+ // ensure firing before onload,
465
+ // maybe late but safe also for iframes
466
+ document.attachEvent( "onreadystatechange", DOMContentLoaded );
467
+
468
+ // A fallback to window.onload, that will always work
469
+ window.attachEvent( "onload", NetBase.ready );
470
+
471
+ // If IE and not a frame
472
+ // continually check to see if the document is ready
473
+ var toplevel = false;
474
+
475
+ try {
476
+ toplevel = window.frameElement == null;
477
+ } catch(e) {}
478
+
479
+ if ( document.documentElement.doScroll && toplevel ) {
480
+ doScrollCheck();
481
+ }
482
+ }
483
+ },
484
+
485
+ // See test/unit/core.js for details concerning isFunction.
486
+ // Since version 1.3, DOM methods and functions like alert
487
+ // aren't supported. They return false on IE (#2968).
488
+ isFunction: function( obj ) {
489
+ return NetBase.type(obj) === "function";
490
+ },
491
+
492
+ isArray: Array.isArray || function( obj ) {
493
+ return NetBase.type(obj) === "array";
494
+ },
495
+
496
+ isWindow: function( obj ) {
497
+ return obj != null && obj == obj.window;
498
+ },
499
+
500
+ isNumeric: function( obj ) {
501
+ return !isNaN( parseFloat(obj) ) && isFinite( obj );
502
+ },
503
+
504
+ type: function( obj ) {
505
+ return obj == null ?
506
+ String( obj ) :
507
+ class2type[ toString.call(obj) ] || "object";
508
+ },
509
+
510
+ isPlainObject: function( obj ) {
511
+ // Must be an Object.
512
+ // Because of IE, we also have to check the presence of the constructor property.
513
+ // Make sure that DOM nodes and window objects don't pass through, as well
514
+ if ( !obj || NetBase.type(obj) !== "object" || obj.nodeType || NetBase.isWindow( obj ) ) {
515
+ return false;
516
+ }
517
+
518
+ try {
519
+ // Not own constructor property must be Object
520
+ if ( obj.constructor &&
521
+ !hasOwn.call(obj, "constructor") &&
522
+ !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) {
523
+ return false;
524
+ }
525
+ } catch ( e ) {
526
+ // IE8,9 Will throw exceptions on certain host objects #9897
527
+ return false;
528
+ }
529
+
530
+ // Own properties are enumerated firstly, so to speed up,
531
+ // if last one is own, then all properties are own.
532
+
533
+ var key;
534
+ for ( key in obj ) {}
535
+
536
+ return key === undefined || hasOwn.call( obj, key );
537
+ },
538
+
539
+ isEmptyObject: function( obj ) {
540
+ for ( var name in obj ) {
541
+ return false;
542
+ }
543
+ return true;
544
+ },
545
+
546
+ error: function( msg ) {
547
+ throw new Error( msg );
548
+ },
549
+
550
+ parseJSON: function( data ) {
551
+ if ( typeof data !== "string" || !data ) {
552
+ return null;
553
+ }
554
+
555
+ // Make sure leading/trailing whitespace is removed (IE can't handle it)
556
+ data = NetBase.trim( data );
557
+
558
+ // Attempt to parse using the native JSON parser first
559
+ if ( window.JSON && window.JSON.parse ) {
560
+ return window.JSON.parse( data );
561
+ }
562
+
563
+ // Make sure the incoming data is actual JSON
564
+ // Logic borrowed from http://json.org/json2.js
565
+ if ( rvalidchars.test( data.replace( rvalidescape, "@" )
566
+ .replace( rvalidtokens, "]" )
567
+ .replace( rvalidbraces, "")) ) {
568
+
569
+ return ( new Function( "return " + data ) )();
570
+
571
+ }
572
+ NetBase.error( "Invalid JSON: " + data );
573
+ },
574
+
575
+ // Cross-browser xml parsing
576
+ parseXML: function( data ) {
577
+ if ( typeof data !== "string" || !data ) {
578
+ return null;
579
+ }
580
+ var xml, tmp;
581
+ try {
582
+ if ( window.DOMParser ) { // Standard
583
+ tmp = new DOMParser();
584
+ xml = tmp.parseFromString( data , "text/xml" );
585
+ } else { // IE
586
+ xml = new ActiveXObject( "Microsoft.XMLDOM" );
587
+ xml.async = "false";
588
+ xml.loadXML( data );
589
+ }
590
+ } catch( e ) {
591
+ xml = undefined;
592
+ }
593
+ if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) {
594
+ NetBase.error( "Invalid XML: " + data );
595
+ }
596
+ return xml;
597
+ },
598
+
599
+ noop: function() {},
600
+
601
+ // Evaluates a script in a global context
602
+ // Workarounds based on findings by Jim Driscoll
603
+ // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
604
+ globalEval: function( data ) {
605
+ if ( data && rnotwhite.test( data ) ) {
606
+ // We use execScript on Internet Explorer
607
+ // We use an anonymous function so that context is window
608
+ // rather than NetBase in Firefox
609
+ ( window.execScript || function( data ) {
610
+ window[ "eval" ].call( window, data );
611
+ } )( data );
612
+ }
613
+ },
614
+
615
+ // Convert dashed to camelCase; used by the css and data modules
616
+ // Microsoft forgot to hump their vendor prefix (#9572)
617
+ camelCase: function( string ) {
618
+ return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
619
+ },
620
+
621
+ nodeName: function( elem, name ) {
622
+ return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase();
623
+ },
624
+
625
+ // args is for internal usage only
626
+ each: function( object, callback, args ) {
627
+ var name, i = 0,
628
+ length = object.length,
629
+ isObj = length === undefined || NetBase.isFunction( object );
630
+
631
+ if ( args ) {
632
+ if ( isObj ) {
633
+ for ( name in object ) {
634
+ if ( callback.apply( object[ name ], args ) === false ) {
635
+ break;
636
+ }
637
+ }
638
+ } else {
639
+ for ( ; i < length; ) {
640
+ if ( callback.apply( object[ i++ ], args ) === false ) {
641
+ break;
642
+ }
643
+ }
644
+ }
645
+
646
+ // A special, fast, case for the most common use of each
647
+ } else {
648
+ if ( isObj ) {
649
+ for ( name in object ) {
650
+ if ( callback.call( object[ name ], name, object[ name ] ) === false ) {
651
+ break;
652
+ }
653
+ }
654
+ } else {
655
+ for ( ; i < length; ) {
656
+ if ( callback.call( object[ i ], i, object[ i++ ] ) === false ) {
657
+ break;
658
+ }
659
+ }
660
+ }
661
+ }
662
+
663
+ return object;
664
+ },
665
+
666
+ // Use native String.trim function wherever possible
667
+ trim: trim ?
668
+ function( text ) {
669
+ return text == null ?
670
+ "" :
671
+ trim.call( text );
672
+ } :
673
+
674
+ // Otherwise use our own trimming functionality
675
+ function( text ) {
676
+ return text == null ?
677
+ "" :
678
+ text.toString().replace( trimLeft, "" ).replace( trimRight, "" );
679
+ },
680
+
681
+ // results is for internal usage only
682
+ makeArray: function( array, results ) {
683
+ var ret = results || [];
684
+
685
+ if ( array != null ) {
686
+ // The window, strings (and functions) also have 'length'
687
+ // Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930
688
+ var type = NetBase.type( array );
689
+
690
+ if ( array.length == null || type === "string" || type === "function" || type === "regexp" || NetBase.isWindow( array ) ) {
691
+ push.call( ret, array );
692
+ } else {
693
+ NetBase.merge( ret, array );
694
+ }
695
+ }
696
+
697
+ return ret;
698
+ },
699
+
700
+ inArray: function( elem, array, i ) {
701
+ var len;
702
+
703
+ if ( array ) {
704
+ if ( indexOf ) {
705
+ return indexOf.call( array, elem, i );
706
+ }
707
+
708
+ len = array.length;
709
+ i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0;
710
+
711
+ for ( ; i < len; i++ ) {
712
+ // Skip accessing in sparse arrays
713
+ if ( i in array && array[ i ] === elem ) {
714
+ return i;
715
+ }
716
+ }
717
+ }
718
+
719
+ return -1;
720
+ },
721
+
722
+ merge: function( first, second ) {
723
+ var i = first.length,
724
+ j = 0;
725
+
726
+ if ( typeof second.length === "number" ) {
727
+ for ( var l = second.length; j < l; j++ ) {
728
+ first[ i++ ] = second[ j ];
729
+ }
730
+
731
+ } else {
732
+ while ( second[j] !== undefined ) {
733
+ first[ i++ ] = second[ j++ ];
734
+ }
735
+ }
736
+
737
+ first.length = i;
738
+
739
+ return first;
740
+ },
741
+
742
+ grep: function( elems, callback, inv ) {
743
+ var ret = [], retVal;
744
+ inv = !!inv;
745
+
746
+ // Go through the array, only saving the items
747
+ // that pass the validator function
748
+ for ( var i = 0, length = elems.length; i < length; i++ ) {
749
+ retVal = !!callback( elems[ i ], i );
750
+ if ( inv !== retVal ) {
751
+ ret.push( elems[ i ] );
752
+ }
753
+ }
754
+
755
+ return ret;
756
+ },
757
+
758
+ // arg is for internal usage only
759
+ map: function( elems, callback, arg ) {
760
+ var value, key, ret = [],
761
+ i = 0,
762
+ length = elems.length,
763
+ // netbase objects are treated as arrays
764
+ isArray = elems instanceof NetBase || length !== undefined && typeof length === "number" && ( ( length > 0 && elems[ 0 ] && elems[ length -1 ] ) || length === 0 || NetBase.isArray( elems ) ) ;
765
+
766
+ // Go through the array, translating each of the items to their
767
+ if ( isArray ) {
768
+ for ( ; i < length; i++ ) {
769
+ value = callback( elems[ i ], i, arg );
770
+
771
+ if ( value != null ) {
772
+ ret[ ret.length ] = value;
773
+ }
774
+ }
775
+
776
+ // Go through every key on the object,
777
+ } else {
778
+ for ( key in elems ) {
779
+ value = callback( elems[ key ], key, arg );
780
+
781
+ if ( value != null ) {
782
+ ret[ ret.length ] = value;
783
+ }
784
+ }
785
+ }
786
+
787
+ // Flatten any nested arrays
788
+ return ret.concat.apply( [], ret );
789
+ },
790
+
791
+ // A global GUID counter for objects
792
+ guid: 1,
793
+
794
+ // Bind a function to a context, optionally partially applying any
795
+ // arguments.
796
+ proxy: function( fn, context ) {
797
+ if ( typeof context === "string" ) {
798
+ var tmp = fn[ context ];
799
+ context = fn;
800
+ fn = tmp;
801
+ }
802
+
803
+ // Quick check to determine if target is callable, in the spec
804
+ // this throws a TypeError, but we will just return undefined.
805
+ if ( !NetBase.isFunction( fn ) ) {
806
+ return undefined;
807
+ }
808
+
809
+ // Simulated bind
810
+ var args = slice.call( arguments, 2 ),
811
+ proxy = function() {
812
+ return fn.apply( context, args.concat( slice.call( arguments ) ) );
813
+ };
814
+
815
+ // Set the guid of unique handler to the same of original handler, so it can be removed
816
+ proxy.guid = fn.guid = fn.guid || proxy.guid || NetBase.guid++;
817
+
818
+ return proxy;
819
+ },
820
+
821
+ // Mutifunctional method to get and set values to a collection
822
+ // The value/s can optionally be executed if it's a function
823
+ access: function( elems, fn, key, value, chainable, emptyGet, pass ) {
824
+ var exec,
825
+ bulk = key == null,
826
+ i = 0,
827
+ length = elems.length;
828
+
829
+ // Sets many values
830
+ if ( key && typeof key === "object" ) {
831
+ for ( i in key ) {
832
+ NetBase.access( elems, fn, i, key[i], 1, emptyGet, value );
833
+ }
834
+ chainable = 1;
835
+
836
+ // Sets one value
837
+ } else if ( value !== undefined ) {
838
+ // Optionally, function values get executed if exec is true
839
+ exec = pass === undefined && NetBase.isFunction( value );
840
+
841
+ if ( bulk ) {
842
+ // Bulk operations only iterate when executing function values
843
+ if ( exec ) {
844
+ exec = fn;
845
+ fn = function( elem, key, value ) {
846
+ return exec.call( NetBase( elem ), value );
847
+ };
848
+
849
+ // Otherwise they run against the entire set
850
+ } else {
851
+ fn.call( elems, value );
852
+ fn = null;
853
+ }
854
+ }
855
+
856
+ if ( fn ) {
857
+ for (; i < length; i++ ) {
858
+ fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass );
859
+ }
860
+ }
861
+
862
+ chainable = 1;
863
+ }
864
+
865
+ return chainable ?
866
+ elems :
867
+
868
+ // Gets
869
+ bulk ?
870
+ fn.call( elems ) :
871
+ length ? fn( elems[0], key ) : emptyGet;
872
+ },
873
+
874
+ now: function() {
875
+ return ( new Date() ).getTime();
876
+ },
877
+
878
+ // Use of NetBase.browser is frowned upon.
879
+ // More details: http://docs.netbase.com/Utilities/netbase.browser
880
+ uaMatch: function( ua ) {
881
+ ua = ua.toLowerCase();
882
+
883
+ var match = rwebkit.exec( ua ) ||
884
+ ropera.exec( ua ) ||
885
+ rmsie.exec( ua ) ||
886
+ ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) ||
887
+ [];
888
+
889
+ return { browser: match[1] || "", version: match[2] || "0" };
890
+ },
891
+
892
+ sub: function() {
893
+ function jQuerySub( selector, context ) {
894
+ return new jQuerySub.fn.init( selector, context );
895
+ }
896
+ NetBase.extend( true, jQuerySub, this );
897
+ jQuerySub.superclass = this;
898
+ jQuerySub.fn = jQuerySub.prototype = this();
899
+ jQuerySub.fn.constructor = jQuerySub;
900
+ jQuerySub.sub = this.sub;
901
+ jQuerySub.fn.init = function init( selector, context ) {
902
+ if ( context && context instanceof NetBase && !(context instanceof jQuerySub) ) {
903
+ context = jQuerySub( context );
904
+ }
905
+
906
+ return NetBase.fn.init.call( this, selector, context, rootjQuerySub );
907
+ };
908
+ jQuerySub.fn.init.prototype = jQuerySub.fn;
909
+ var rootjQuerySub = jQuerySub(document);
910
+ return jQuerySub;
911
+ },
912
+
913
+ browser: {}
914
+ });
915
+
916
+ // Populate the class2type map
917
+ NetBase.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) {
918
+ class2type[ "[object " + name + "]" ] = name.toLowerCase();
919
+ });
920
+
921
+ browserMatch = NetBase.uaMatch( userAgent );
922
+ if ( browserMatch.browser ) {
923
+ NetBase.browser[ browserMatch.browser ] = true;
924
+ NetBase.browser.version = browserMatch.version;
925
+ }
926
+
927
+ // Deprecated, use NetBase.browser.webkit instead
928
+ if ( NetBase.browser.webkit ) {
929
+ NetBase.browser.safari = true;
930
+ }
931
+
932
+ // IE doesn't match non-breaking spaces with \s
933
+ if ( rnotwhite.test( "\xA0" ) ) {
934
+ trimLeft = /^[\s\xA0]+/;
935
+ trimRight = /[\s\xA0]+$/;
936
+ }
937
+
938
+ // All NetBase objects should point back to these
939
+ rootjQuery = NetBase(document);
940
+
941
+ // Cleanup functions for the document ready method
942
+ if ( document.addEventListener ) {
943
+ DOMContentLoaded = function() {
944
+ document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false );
945
+ NetBase.ready();
946
+ };
947
+
948
+ } else if ( document.attachEvent ) {
949
+ DOMContentLoaded = function() {
950
+ // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
951
+ if ( document.readyState === "complete" ) {
952
+ document.detachEvent( "onreadystatechange", DOMContentLoaded );
953
+ NetBase.ready();
954
+ }
955
+ };
956
+ }
957
+
958
+ // The DOM ready check for Internet Explorer
959
+ function doScrollCheck() {
960
+ if ( NetBase.isReady ) {
961
+ return;
962
+ }
963
+
964
+ try {
965
+ // If IE is used, use the trick by Diego Perini
966
+ // http://javascript.nwbox.com/IEContentLoaded/
967
+ document.documentElement.doScroll("left");
968
+ } catch(e) {
969
+ setTimeout( doScrollCheck, 1 );
970
+ return;
971
+ }
972
+
973
+ // and execute any waiting functions
974
+ NetBase.ready();
975
+ }
976
+
977
+ return NetBase;
978
+
979
+ })();
980
+
981
+
982
+ // String to Object flags format cache
983
+ var flagsCache = {};
984
+
985
+ // Convert String-formatted flags into Object-formatted ones and store in cache
986
+ function createFlags( flags ) {
987
+ var object = flagsCache[ flags ] = {},
988
+ i, length;
989
+ flags = flags.split( /\s+/ );
990
+ for ( i = 0, length = flags.length; i < length; i++ ) {
991
+ object[ flags[i] ] = true;
992
+ }
993
+ return object;
994
+ }
995
+
996
+ /*
997
+ * Create a callback list using the following parameters:
998
+ *
999
+ * flags: an optional list of space-separated flags that will change how
1000
+ * the callback list behaves
1001
+ *
1002
+ * By default a callback list will act like an event callback list and can be
1003
+ * "fired" multiple times.
1004
+ *
1005
+ * Possible flags:
1006
+ *
1007
+ * once: will ensure the callback list can only be fired once (like a Deferred)
1008
+ *
1009
+ * memory: will keep track of previous values and will call any callback added
1010
+ * after the list has been fired right away with the latest "memorized"
1011
+ * values (like a Deferred)
1012
+ *
1013
+ * unique: will ensure a callback can only be added once (no duplicate in the list)
1014
+ *
1015
+ * stopOnFalse: interrupt callings when a callback returns false
1016
+ *
1017
+ */
1018
+ NetBase.Callbacks = function( flags ) {
1019
+
1020
+ // Convert flags from String-formatted to Object-formatted
1021
+ // (we check in cache first)
1022
+ flags = flags ? ( flagsCache[ flags ] || createFlags( flags ) ) : {};
1023
+
1024
+ var // Actual callback list
1025
+ list = [],
1026
+ // Stack of fire calls for repeatable lists
1027
+ stack = [],
1028
+ // Last fire value (for non-forgettable lists)
1029
+ memory,
1030
+ // Flag to know if list was already fired
1031
+ fired,
1032
+ // Flag to know if list is currently firing
1033
+ firing,
1034
+ // First callback to fire (used internally by add and fireWith)
1035
+ firingStart,
1036
+ // End of the loop when firing
1037
+ firingLength,
1038
+ // Index of currently firing callback (modified by remove if needed)
1039
+ firingIndex,
1040
+ // Add one or several callbacks to the list
1041
+ add = function( args ) {
1042
+ var i,
1043
+ length,
1044
+ elem,
1045
+ type,
1046
+ actual;
1047
+ for ( i = 0, length = args.length; i < length; i++ ) {
1048
+ elem = args[ i ];
1049
+ type = NetBase.type( elem );
1050
+ if ( type === "array" ) {
1051
+ // Inspect recursively
1052
+ add( elem );
1053
+ } else if ( type === "function" ) {
1054
+ // Add if not in unique mode and callback is not in
1055
+ if ( !flags.unique || !self.has( elem ) ) {
1056
+ list.push( elem );
1057
+ }
1058
+ }
1059
+ }
1060
+ },
1061
+ // Fire callbacks
1062
+ fire = function( context, args ) {
1063
+ args = args || [];
1064
+ memory = !flags.memory || [ context, args ];
1065
+ fired = true;
1066
+ firing = true;
1067
+ firingIndex = firingStart || 0;
1068
+ firingStart = 0;
1069
+ firingLength = list.length;
1070
+ for ( ; list && firingIndex < firingLength; firingIndex++ ) {
1071
+ if ( list[ firingIndex ].apply( context, args ) === false && flags.stopOnFalse ) {
1072
+ memory = true; // Mark as halted
1073
+ break;
1074
+ }
1075
+ }
1076
+ firing = false;
1077
+ if ( list ) {
1078
+ if ( !flags.once ) {
1079
+ if ( stack && stack.length ) {
1080
+ memory = stack.shift();
1081
+ self.fireWith( memory[ 0 ], memory[ 1 ] );
1082
+ }
1083
+ } else if ( memory === true ) {
1084
+ self.disable();
1085
+ } else {
1086
+ list = [];
1087
+ }
1088
+ }
1089
+ },
1090
+ // Actual Callbacks object
1091
+ self = {
1092
+ // Add a callback or a collection of callbacks to the list
1093
+ add: function() {
1094
+ if ( list ) {
1095
+ var length = list.length;
1096
+ add( arguments );
1097
+ // Do we need to add the callbacks to the
1098
+ // current firing batch?
1099
+ if ( firing ) {
1100
+ firingLength = list.length;
1101
+ // With memory, if we're not firing then
1102
+ // we should call right away, unless previous
1103
+ // firing was halted (stopOnFalse)
1104
+ } else if ( memory && memory !== true ) {
1105
+ firingStart = length;
1106
+ fire( memory[ 0 ], memory[ 1 ] );
1107
+ }
1108
+ }
1109
+ return this;
1110
+ },
1111
+ // Remove a callback from the list
1112
+ remove: function() {
1113
+ if ( list ) {
1114
+ var args = arguments,
1115
+ argIndex = 0,
1116
+ argLength = args.length;
1117
+ for ( ; argIndex < argLength ; argIndex++ ) {
1118
+ for ( var i = 0; i < list.length; i++ ) {
1119
+ if ( args[ argIndex ] === list[ i ] ) {
1120
+ // Handle firingIndex and firingLength
1121
+ if ( firing ) {
1122
+ if ( i <= firingLength ) {
1123
+ firingLength--;
1124
+ if ( i <= firingIndex ) {
1125
+ firingIndex--;
1126
+ }
1127
+ }
1128
+ }
1129
+ // Remove the element
1130
+ list.splice( i--, 1 );
1131
+ // If we have some unicity property then
1132
+ // we only need to do this once
1133
+ if ( flags.unique ) {
1134
+ break;
1135
+ }
1136
+ }
1137
+ }
1138
+ }
1139
+ }
1140
+ return this;
1141
+ },
1142
+ // Control if a given callback is in the list
1143
+ has: function( fn ) {
1144
+ if ( list ) {
1145
+ var i = 0,
1146
+ length = list.length;
1147
+ for ( ; i < length; i++ ) {
1148
+ if ( fn === list[ i ] ) {
1149
+ return true;
1150
+ }
1151
+ }
1152
+ }
1153
+ return false;
1154
+ },
1155
+ // Remove all callbacks from the list
1156
+ empty: function() {
1157
+ list = [];
1158
+ return this;
1159
+ },
1160
+ // Have the list do nothing anymore
1161
+ disable: function() {
1162
+ list = stack = memory = undefined;
1163
+ return this;
1164
+ },
1165
+ // Is it disabled?
1166
+ disabled: function() {
1167
+ return !list;
1168
+ },
1169
+ // Lock the list in its current state
1170
+ lock: function() {
1171
+ stack = undefined;
1172
+ if ( !memory || memory === true ) {
1173
+ self.disable();
1174
+ }
1175
+ return this;
1176
+ },
1177
+ // Is it locked?
1178
+ locked: function() {
1179
+ return !stack;
1180
+ },
1181
+ // Call all callbacks with the given context and arguments
1182
+ fireWith: function( context, args ) {
1183
+ if ( stack ) {
1184
+ if ( firing ) {
1185
+ if ( !flags.once ) {
1186
+ stack.push( [ context, args ] );
1187
+ }
1188
+ } else if ( !( flags.once && memory ) ) {
1189
+ fire( context, args );
1190
+ }
1191
+ }
1192
+ return this;
1193
+ },
1194
+ // Call all the callbacks with the given arguments
1195
+ fire: function() {
1196
+ self.fireWith( this, arguments );
1197
+ return this;
1198
+ },
1199
+ // To know if the callbacks have already been called at least once
1200
+ fired: function() {
1201
+ return !!fired;
1202
+ }
1203
+ };
1204
+
1205
+ return self;
1206
+ };
1207
+
1208
+
1209
+
1210
+
1211
+ var // Static reference to slice
1212
+ sliceDeferred = [].slice;
1213
+
1214
+ NetBase.extend({
1215
+
1216
+ Deferred: function( func ) {
1217
+ var doneList = NetBase.Callbacks( "once memory" ),
1218
+ failList = NetBase.Callbacks( "once memory" ),
1219
+ progressList = NetBase.Callbacks( "memory" ),
1220
+ state = "pending",
1221
+ lists = {
1222
+ resolve: doneList,
1223
+ reject: failList,
1224
+ notify: progressList
1225
+ },
1226
+ promise = {
1227
+ done: doneList.add,
1228
+ fail: failList.add,
1229
+ progress: progressList.add,
1230
+
1231
+ state: function() {
1232
+ return state;
1233
+ },
1234
+
1235
+ // Deprecated
1236
+ isResolved: doneList.fired,
1237
+ isRejected: failList.fired,
1238
+
1239
+ then: function( doneCallbacks, failCallbacks, progressCallbacks ) {
1240
+ deferred.done( doneCallbacks ).fail( failCallbacks ).progress( progressCallbacks );
1241
+ return this;
1242
+ },
1243
+ always: function() {
1244
+ deferred.done.apply( deferred, arguments ).fail.apply( deferred, arguments );
1245
+ return this;
1246
+ },
1247
+ pipe: function( fnDone, fnFail, fnProgress ) {
1248
+ return NetBase.Deferred(function( newDefer ) {
1249
+ NetBase.each( {
1250
+ done: [ fnDone, "resolve" ],
1251
+ fail: [ fnFail, "reject" ],
1252
+ progress: [ fnProgress, "notify" ]
1253
+ }, function( handler, data ) {
1254
+ var fn = data[ 0 ],
1255
+ action = data[ 1 ],
1256
+ returned;
1257
+ if ( NetBase.isFunction( fn ) ) {
1258
+ deferred[ handler ](function() {
1259
+ returned = fn.apply( this, arguments );
1260
+ if ( returned && NetBase.isFunction( returned.promise ) ) {
1261
+ returned.promise().then( newDefer.resolve, newDefer.reject, newDefer.notify );
1262
+ } else {
1263
+ newDefer[ action + "With" ]( this === deferred ? newDefer : this, [ returned ] );
1264
+ }
1265
+ });
1266
+ } else {
1267
+ deferred[ handler ]( newDefer[ action ] );
1268
+ }
1269
+ });
1270
+ }).promise();
1271
+ },
1272
+ // Get a promise for this deferred
1273
+ // If obj is provided, the promise aspect is added to the object
1274
+ promise: function( obj ) {
1275
+ if ( obj == null ) {
1276
+ obj = promise;
1277
+ } else {
1278
+ for ( var key in promise ) {
1279
+ obj[ key ] = promise[ key ];
1280
+ }
1281
+ }
1282
+ return obj;
1283
+ }
1284
+ },
1285
+ deferred = promise.promise({}),
1286
+ key;
1287
+
1288
+ for ( key in lists ) {
1289
+ deferred[ key ] = lists[ key ].fire;
1290
+ deferred[ key + "With" ] = lists[ key ].fireWith;
1291
+ }
1292
+
1293
+ // Handle state
1294
+ deferred.done( function() {
1295
+ state = "resolved";
1296
+ }, failList.disable, progressList.lock ).fail( function() {
1297
+ state = "rejected";
1298
+ }, doneList.disable, progressList.lock );
1299
+
1300
+ // Call given func if any
1301
+ if ( func ) {
1302
+ func.call( deferred, deferred );
1303
+ }
1304
+
1305
+ // All done!
1306
+ return deferred;
1307
+ },
1308
+
1309
+ // Deferred helper
1310
+ when: function( firstParam ) {
1311
+ var args = sliceDeferred.call( arguments, 0 ),
1312
+ i = 0,
1313
+ length = args.length,
1314
+ pValues = new Array( length ),
1315
+ count = length,
1316
+ pCount = length,
1317
+ deferred = length <= 1 && firstParam && NetBase.isFunction( firstParam.promise ) ?
1318
+ firstParam :
1319
+ NetBase.Deferred(),
1320
+ promise = deferred.promise();
1321
+ function resolveFunc( i ) {
1322
+ return function( value ) {
1323
+ args[ i ] = arguments.length > 1 ? sliceDeferred.call( arguments, 0 ) : value;
1324
+ if ( !( --count ) ) {
1325
+ deferred.resolveWith( deferred, args );
1326
+ }
1327
+ };
1328
+ }
1329
+ function progressFunc( i ) {
1330
+ return function( value ) {
1331
+ pValues[ i ] = arguments.length > 1 ? sliceDeferred.call( arguments, 0 ) : value;
1332
+ deferred.notifyWith( promise, pValues );
1333
+ };
1334
+ }
1335
+ if ( length > 1 ) {
1336
+ for ( ; i < length; i++ ) {
1337
+ if ( args[ i ] && args[ i ].promise && NetBase.isFunction( args[ i ].promise ) ) {
1338
+ args[ i ].promise().then( resolveFunc(i), deferred.reject, progressFunc(i) );
1339
+ } else {
1340
+ --count;
1341
+ }
1342
+ }
1343
+ if ( !count ) {
1344
+ deferred.resolveWith( deferred, args );
1345
+ }
1346
+ } else if ( deferred !== firstParam ) {
1347
+ deferred.resolveWith( deferred, length ? [ firstParam ] : [] );
1348
+ }
1349
+ return promise;
1350
+ }
1351
+ });
1352
+
1353
+
1354
+
1355
+
1356
+ NetBase.support = (function() {
1357
+
1358
+ var support,
1359
+ all,
1360
+ a,
1361
+ select,
1362
+ opt,
1363
+ input,
1364
+ fragment,
1365
+ tds,
1366
+ events,
1367
+ eventName,
1368
+ i,
1369
+ isSupported,
1370
+ div = document.createElement( "div" ),
1371
+ documentElement = document.documentElement;
1372
+
1373
+ // Preliminary tests
1374
+ div.setAttribute("className", "t");
1375
+ div.innerHTML = " <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
1376
+
1377
+ all = div.getElementsByTagName( "*" );
1378
+ a = div.getElementsByTagName( "a" )[ 0 ];
1379
+
1380
+ // Can't get basic test support
1381
+ if ( !all || !all.length || !a ) {
1382
+ return {};
1383
+ }
1384
+
1385
+ // First batch of supports tests
1386
+ select = document.createElement( "select" );
1387
+ opt = select.appendChild( document.createElement("option") );
1388
+ input = div.getElementsByTagName( "input" )[ 0 ];
1389
+
1390
+ support = {
1391
+ // IE strips leading whitespace when .innerHTML is used
1392
+ leadingWhitespace: ( div.firstChild.nodeType === 3 ),
1393
+
1394
+ // Make sure that tbody elements aren't automatically inserted
1395
+ // IE will insert them into empty tables
1396
+ tbody: !div.getElementsByTagName("tbody").length,
1397
+
1398
+ // Make sure that link elements get serialized correctly by innerHTML
1399
+ // This requires a wrapper element in IE
1400
+ htmlSerialize: !!div.getElementsByTagName("link").length,
1401
+
1402
+ // Get the style information from getAttribute
1403
+ // (IE uses .cssText instead)
1404
+ style: /top/.test( a.getAttribute("style") ),
1405
+
1406
+ // Make sure that URLs aren't manipulated
1407
+ // (IE normalizes it by default)
1408
+ hrefNormalized: ( a.getAttribute("href") === "/a" ),
1409
+
1410
+ // Make sure that element opacity exists
1411
+ // (IE uses filter instead)
1412
+ // Use a regex to work around a WebKit issue. See #5145
1413
+ opacity: /^0.55/.test( a.style.opacity ),
1414
+
1415
+ // Verify style float existence
1416
+ // (IE uses styleFloat instead of cssFloat)
1417
+ cssFloat: !!a.style.cssFloat,
1418
+
1419
+ // Make sure that if no value is specified for a checkbox
1420
+ // that it defaults to "on".
1421
+ // (WebKit defaults to "" instead)
1422
+ checkOn: ( input.value === "on" ),
1423
+
1424
+ // Make sure that a selected-by-default option has a working selected property.
1425
+ // (WebKit defaults to false instead of true, IE too, if it's in an optgroup)
1426
+ optSelected: opt.selected,
1427
+
1428
+ // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7)
1429
+ getSetAttribute: div.className !== "t",
1430
+
1431
+ // Tests for enctype support on a form(#6743)
1432
+ enctype: !!document.createElement("form").enctype,
1433
+
1434
+ // Makes sure cloning an html5 element does not cause problems
1435
+ // Where outerHTML is undefined, this still works
1436
+ html5Clone: document.createElement("nav").cloneNode( true ).outerHTML !== "<:nav></:nav>",
1437
+
1438
+ // Will be defined later
1439
+ submitBubbles: true,
1440
+ changeBubbles: true,
1441
+ focusinBubbles: false,
1442
+ deleteExpando: true,
1443
+ noCloneEvent: true,
1444
+ inlineBlockNeedsLayout: false,
1445
+ shrinkWrapBlocks: false,
1446
+ reliableMarginRight: true,
1447
+ pixelMargin: true
1448
+ };
1449
+
1450
+ // NetBase.boxModel DEPRECATED in 1.3, use NetBase.support.boxModel instead
1451
+ NetBase.boxModel = support.boxModel = (document.compatMode === "CSS1Compat");
1452
+
1453
+ // Make sure checked status is properly cloned
1454
+ input.checked = true;
1455
+ support.noCloneChecked = input.cloneNode( true ).checked;
1456
+
1457
+ // Make sure that the options inside disabled selects aren't marked as disabled
1458
+ // (WebKit marks them as disabled)
1459
+ select.disabled = true;
1460
+ support.optDisabled = !opt.disabled;
1461
+
1462
+ // Test to see if it's possible to delete an expando from an element
1463
+ // Fails in Internet Explorer
1464
+ try {
1465
+ delete div.test;
1466
+ } catch( e ) {
1467
+ support.deleteExpando = false;
1468
+ }
1469
+
1470
+ if ( !div.addEventListener && div.attachEvent && div.fireEvent ) {
1471
+ div.attachEvent( "onclick", function() {
1472
+ // Cloning a node shouldn't copy over any
1473
+ // bound event handlers (IE does this)
1474
+ support.noCloneEvent = false;
1475
+ });
1476
+ div.cloneNode( true ).fireEvent( "onclick" );
1477
+ }
1478
+
1479
+ // Check if a radio maintains its value
1480
+ // after being appended to the DOM
1481
+ input = document.createElement("input");
1482
+ input.value = "t";
1483
+ input.setAttribute("type", "radio");
1484
+ support.radioValue = input.value === "t";
1485
+
1486
+ input.setAttribute("checked", "checked");
1487
+
1488
+ // #11217 - WebKit loses check when the name is after the checked attribute
1489
+ input.setAttribute( "name", "t" );
1490
+
1491
+ div.appendChild( input );
1492
+ fragment = document.createDocumentFragment();
1493
+ fragment.appendChild( div.lastChild );
1494
+
1495
+ // WebKit doesn't clone checked state correctly in fragments
1496
+ support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked;
1497
+
1498
+ // Check if a disconnected checkbox will retain its checked
1499
+ // value of true after appended to the DOM (IE6/7)
1500
+ support.appendChecked = input.checked;
1501
+
1502
+ fragment.removeChild( input );
1503
+ fragment.appendChild( div );
1504
+
1505
+ // Technique from Juriy Zaytsev
1506
+ // http://perfectionkills.com/detecting-event-support-without-browser-sniffing/
1507
+ // We only care about the case where non-standard event systems
1508
+ // are used, namely in IE. Short-circuiting here helps us to
1509
+ // avoid an eval call (in setAttribute) which can cause CSP
1510
+ // to go haywire. See: https://developer.mozilla.org/en/Security/CSP
1511
+ if ( div.attachEvent ) {
1512
+ for ( i in {
1513
+ submit: 1,
1514
+ change: 1,
1515
+ focusin: 1
1516
+ }) {
1517
+ eventName = "on" + i;
1518
+ isSupported = ( eventName in div );
1519
+ if ( !isSupported ) {
1520
+ div.setAttribute( eventName, "return;" );
1521
+ isSupported = ( typeof div[ eventName ] === "function" );
1522
+ }
1523
+ support[ i + "Bubbles" ] = isSupported;
1524
+ }
1525
+ }
1526
+
1527
+ fragment.removeChild( div );
1528
+
1529
+ // Null elements to avoid leaks in IE
1530
+ fragment = select = opt = div = input = null;
1531
+
1532
+ // Run tests that need a body at doc ready
1533
+ NetBase(function() {
1534
+ var container, outer, inner, table, td, offsetSupport,
1535
+ marginDiv, conMarginTop, style, html, positionTopLeftWidthHeight,
1536
+ paddingMarginBorderVisibility, paddingMarginBorder,
1537
+ body = document.getElementsByTagName("body")[0];
1538
+
1539
+ if ( !body ) {
1540
+ // Return for frameset docs that don't have a body
1541
+ return;
1542
+ }
1543
+
1544
+ conMarginTop = 1;
1545
+ paddingMarginBorder = "padding:0;margin:0;border:";
1546
+ positionTopLeftWidthHeight = "position:absolute;top:0;left:0;width:1px;height:1px;";
1547
+ paddingMarginBorderVisibility = paddingMarginBorder + "0;visibility:hidden;";
1548
+ style = "style='" + positionTopLeftWidthHeight + paddingMarginBorder + "5px solid #000;";
1549
+ html = "<div " + style + "display:block;'><div style='" + paddingMarginBorder + "0;display:block;overflow:hidden;'></div></div>" +
1550
+ "<table " + style + "' cellpadding='0' cellspacing='0'>" +
1551
+ "<tr><td></td></tr></table>";
1552
+
1553
+ container = document.createElement("div");
1554
+ container.style.cssText = paddingMarginBorderVisibility + "width:0;height:0;position:static;top:0;margin-top:" + conMarginTop + "px";
1555
+ body.insertBefore( container, body.firstChild );
1556
+
1557
+ // Construct the test element
1558
+ div = document.createElement("div");
1559
+ container.appendChild( div );
1560
+
1561
+ // Check if table cells still have offsetWidth/Height when they are set
1562
+ // to display:none and there are still other visible table cells in a
1563
+ // table row; if so, offsetWidth/Height are not reliable for use when
1564
+ // determining if an element has been hidden directly using
1565
+ // display:none (it is still safe to use offsets if a parent element is
1566
+ // hidden; don safety goggles and see bug #4512 for more information).
1567
+ // (only IE 8 fails this test)
1568
+ div.innerHTML = "<table><tr><td style='" + paddingMarginBorder + "0;display:none'></td><td>t</td></tr></table>";
1569
+ tds = div.getElementsByTagName( "td" );
1570
+ isSupported = ( tds[ 0 ].offsetHeight === 0 );
1571
+
1572
+ tds[ 0 ].style.display = "";
1573
+ tds[ 1 ].style.display = "none";
1574
+
1575
+ // Check if empty table cells still have offsetWidth/Height
1576
+ // (IE <= 8 fail this test)
1577
+ support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 );
1578
+
1579
+ // Check if div with explicit width and no margin-right incorrectly
1580
+ // gets computed margin-right based on width of container. For more
1581
+ // info see bug #3333
1582
+ // Fails in WebKit before Feb 2011 nightlies
1583
+ // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
1584
+ if ( window.getComputedStyle ) {
1585
+ div.innerHTML = "";
1586
+ marginDiv = document.createElement( "div" );
1587
+ marginDiv.style.width = "0";
1588
+ marginDiv.style.marginRight = "0";
1589
+ div.style.width = "2px";
1590
+ div.appendChild( marginDiv );
1591
+ support.reliableMarginRight =
1592
+ ( parseInt( ( window.getComputedStyle( marginDiv, null ) || { marginRight: 0 } ).marginRight, 10 ) || 0 ) === 0;
1593
+ }
1594
+
1595
+ if ( typeof div.style.zoom !== "undefined" ) {
1596
+ // Check if natively block-level elements act like inline-block
1597
+ // elements when setting their display to 'inline' and giving
1598
+ // them layout
1599
+ // (IE < 8 does this)
1600
+ div.innerHTML = "";
1601
+ div.style.width = div.style.padding = "1px";
1602
+ div.style.border = 0;
1603
+ div.style.overflow = "hidden";
1604
+ div.style.display = "inline";
1605
+ div.style.zoom = 1;
1606
+ support.inlineBlockNeedsLayout = ( div.offsetWidth === 3 );
1607
+
1608
+ // Check if elements with layout shrink-wrap their children
1609
+ // (IE 6 does this)
1610
+ div.style.display = "block";
1611
+ div.style.overflow = "visible";
1612
+ div.innerHTML = "<div style='width:5px;'></div>";
1613
+ support.shrinkWrapBlocks = ( div.offsetWidth !== 3 );
1614
+ }
1615
+
1616
+ div.style.cssText = positionTopLeftWidthHeight + paddingMarginBorderVisibility;
1617
+ div.innerHTML = html;
1618
+
1619
+ outer = div.firstChild;
1620
+ inner = outer.firstChild;
1621
+ td = outer.nextSibling.firstChild.firstChild;
1622
+
1623
+ offsetSupport = {
1624
+ doesNotAddBorder: ( inner.offsetTop !== 5 ),
1625
+ doesAddBorderForTableAndCells: ( td.offsetTop === 5 )
1626
+ };
1627
+
1628
+ inner.style.position = "fixed";
1629
+ inner.style.top = "20px";
1630
+
1631
+ // safari subtracts parent border width here which is 5px
1632
+ offsetSupport.fixedPosition = ( inner.offsetTop === 20 || inner.offsetTop === 15 );
1633
+ inner.style.position = inner.style.top = "";
1634
+
1635
+ outer.style.overflow = "hidden";
1636
+ outer.style.position = "relative";
1637
+
1638
+ offsetSupport.subtractsBorderForOverflowNotVisible = ( inner.offsetTop === -5 );
1639
+ offsetSupport.doesNotIncludeMarginInBodyOffset = ( body.offsetTop !== conMarginTop );
1640
+
1641
+ if ( window.getComputedStyle ) {
1642
+ div.style.marginTop = "1%";
1643
+ support.pixelMargin = ( window.getComputedStyle( div, null ) || { marginTop: 0 } ).marginTop !== "1%";
1644
+ }
1645
+
1646
+ if ( typeof container.style.zoom !== "undefined" ) {
1647
+ container.style.zoom = 1;
1648
+ }
1649
+
1650
+ body.removeChild( container );
1651
+ marginDiv = div = container = null;
1652
+
1653
+ NetBase.extend( support, offsetSupport );
1654
+ });
1655
+
1656
+ return support;
1657
+ })();
1658
+
1659
+
1660
+
1661
+
1662
+ var rbrace = /^(?:\{.*\}|\[.*\])$/,
1663
+ rmultiDash = /([A-Z])/g;
1664
+
1665
+ NetBase.extend({
1666
+ cache: {},
1667
+
1668
+ // Please use with caution
1669
+ uuid: 0,
1670
+
1671
+ // Unique for each copy of NetBase on the page
1672
+ // Non-digits removed to match rinlinejQuery
1673
+ expando: "NetBase" + ( NetBase.fn.netbase + Math.random() ).replace( /\D/g, "" ),
1674
+
1675
+ // The following elements throw uncatchable exceptions if you
1676
+ // attempt to add expando properties to them.
1677
+ noData: {
1678
+ "embed": true,
1679
+ // Ban all objects except for Flash (which handle expandos)
1680
+ "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
1681
+ "applet": true
1682
+ },
1683
+
1684
+ hasData: function( elem ) {
1685
+ elem = elem.nodeType ? NetBase.cache[ elem[NetBase.expando] ] : elem[ NetBase.expando ];
1686
+ return !!elem && !isEmptyDataObject( elem );
1687
+ },
1688
+
1689
+ data: function( elem, name, data, pvt /* Internal Use Only */ ) {
1690
+ if ( !NetBase.acceptData( elem ) ) {
1691
+ return;
1692
+ }
1693
+
1694
+ var privateCache, thisCache, ret,
1695
+ internalKey = NetBase.expando,
1696
+ getByName = typeof name === "string",
1697
+
1698
+ // We have to handle DOM nodes and JS objects differently because IE6-7
1699
+ // can't GC object references properly across the DOM-JS boundary
1700
+ isNode = elem.nodeType,
1701
+
1702
+ // Only DOM nodes need the global NetBase cache; JS object data is
1703
+ // attached directly to the object so GC can occur automatically
1704
+ cache = isNode ? NetBase.cache : elem,
1705
+
1706
+ // Only defining an ID for JS objects if its cache already exists allows
1707
+ // the code to shortcut on the same path as a DOM node with no cache
1708
+ id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey,
1709
+ isEvents = name === "events";
1710
+
1711
+ // Avoid doing any more work than we need to when trying to get data on an
1712
+ // object that has no data at all
1713
+ if ( (!id || !cache[id] || (!isEvents && !pvt && !cache[id].data)) && getByName && data === undefined ) {
1714
+ return;
1715
+ }
1716
+
1717
+ if ( !id ) {
1718
+ // Only DOM nodes need a new unique ID for each element since their data
1719
+ // ends up in the global cache
1720
+ if ( isNode ) {
1721
+ elem[ internalKey ] = id = ++NetBase.uuid;
1722
+ } else {
1723
+ id = internalKey;
1724
+ }
1725
+ }
1726
+
1727
+ if ( !cache[ id ] ) {
1728
+ cache[ id ] = {};
1729
+
1730
+ // Avoids exposing NetBase metadata on plain JS objects when the object
1731
+ // is serialized using JSON.stringify
1732
+ if ( !isNode ) {
1733
+ cache[ id ].toJSON = NetBase.noop;
1734
+ }
1735
+ }
1736
+
1737
+ // An object can be passed to NetBase.data instead of a key/value pair; this gets
1738
+ // shallow copied over onto the existing cache
1739
+ if ( typeof name === "object" || typeof name === "function" ) {
1740
+ if ( pvt ) {
1741
+ cache[ id ] = NetBase.extend( cache[ id ], name );
1742
+ } else {
1743
+ cache[ id ].data = NetBase.extend( cache[ id ].data, name );
1744
+ }
1745
+ }
1746
+
1747
+ privateCache = thisCache = cache[ id ];
1748
+
1749
+ // NetBase data() is stored in a separate object inside the object's internal data
1750
+ // cache in order to avoid key collisions between internal data and user-defined
1751
+ // data.
1752
+ if ( !pvt ) {
1753
+ if ( !thisCache.data ) {
1754
+ thisCache.data = {};
1755
+ }
1756
+
1757
+ thisCache = thisCache.data;
1758
+ }
1759
+
1760
+ if ( data !== undefined ) {
1761
+ thisCache[ NetBase.camelCase( name ) ] = data;
1762
+ }
1763
+
1764
+ // Users should not attempt to inspect the internal events object using NetBase.data,
1765
+ // it is undocumented and subject to change. But does anyone listen? No.
1766
+ if ( isEvents && !thisCache[ name ] ) {
1767
+ return privateCache.events;
1768
+ }
1769
+
1770
+ // Check for both converted-to-camel and non-converted data property names
1771
+ // If a data property was specified
1772
+ if ( getByName ) {
1773
+
1774
+ // First Try to find as-is property data
1775
+ ret = thisCache[ name ];
1776
+
1777
+ // Test for null|undefined property data
1778
+ if ( ret == null ) {
1779
+
1780
+ // Try to find the camelCased property
1781
+ ret = thisCache[ NetBase.camelCase( name ) ];
1782
+ }
1783
+ } else {
1784
+ ret = thisCache;
1785
+ }
1786
+
1787
+ return ret;
1788
+ },
1789
+
1790
+ removeData: function( elem, name, pvt /* Internal Use Only */ ) {
1791
+ if ( !NetBase.acceptData( elem ) ) {
1792
+ return;
1793
+ }
1794
+
1795
+ var thisCache, i, l,
1796
+
1797
+ // Reference to internal data cache key
1798
+ internalKey = NetBase.expando,
1799
+
1800
+ isNode = elem.nodeType,
1801
+
1802
+ // See NetBase.data for more information
1803
+ cache = isNode ? NetBase.cache : elem,
1804
+
1805
+ // See NetBase.data for more information
1806
+ id = isNode ? elem[ internalKey ] : internalKey;
1807
+
1808
+ // If there is already no cache entry for this object, there is no
1809
+ // purpose in continuing
1810
+ if ( !cache[ id ] ) {
1811
+ return;
1812
+ }
1813
+
1814
+ if ( name ) {
1815
+
1816
+ thisCache = pvt ? cache[ id ] : cache[ id ].data;
1817
+
1818
+ if ( thisCache ) {
1819
+
1820
+ // Support array or space separated string names for data keys
1821
+ if ( !NetBase.isArray( name ) ) {
1822
+
1823
+ // try the string as a key before any manipulation
1824
+ if ( name in thisCache ) {
1825
+ name = [ name ];
1826
+ } else {
1827
+
1828
+ // split the camel cased version by spaces unless a key with the spaces exists
1829
+ name = NetBase.camelCase( name );
1830
+ if ( name in thisCache ) {
1831
+ name = [ name ];
1832
+ } else {
1833
+ name = name.split( " " );
1834
+ }
1835
+ }
1836
+ }
1837
+
1838
+ for ( i = 0, l = name.length; i < l; i++ ) {
1839
+ delete thisCache[ name[i] ];
1840
+ }
1841
+
1842
+ // If there is no data left in the cache, we want to continue
1843
+ // and let the cache object itself get destroyed
1844
+ if ( !( pvt ? isEmptyDataObject : NetBase.isEmptyObject )( thisCache ) ) {
1845
+ return;
1846
+ }
1847
+ }
1848
+ }
1849
+
1850
+ // See NetBase.data for more information
1851
+ if ( !pvt ) {
1852
+ delete cache[ id ].data;
1853
+
1854
+ // Don't destroy the parent cache unless the internal data object
1855
+ // had been the only thing left in it
1856
+ if ( !isEmptyDataObject(cache[ id ]) ) {
1857
+ return;
1858
+ }
1859
+ }
1860
+
1861
+ // Browsers that fail expando deletion also refuse to delete expandos on
1862
+ // the window, but it will allow it on all other JS objects; other browsers
1863
+ // don't care
1864
+ // Ensure that `cache` is not a window object #10080
1865
+ if ( NetBase.support.deleteExpando || !cache.setInterval ) {
1866
+ delete cache[ id ];
1867
+ } else {
1868
+ cache[ id ] = null;
1869
+ }
1870
+
1871
+ // We destroyed the cache and need to eliminate the expando on the node to avoid
1872
+ // false lookups in the cache for entries that no longer exist
1873
+ if ( isNode ) {
1874
+ // IE does not allow us to delete expando properties from nodes,
1875
+ // nor does it have a removeAttribute function on Document nodes;
1876
+ // we must handle all of these cases
1877
+ if ( NetBase.support.deleteExpando ) {
1878
+ delete elem[ internalKey ];
1879
+ } else if ( elem.removeAttribute ) {
1880
+ elem.removeAttribute( internalKey );
1881
+ } else {
1882
+ elem[ internalKey ] = null;
1883
+ }
1884
+ }
1885
+ },
1886
+
1887
+ // For internal use only.
1888
+ _data: function( elem, name, data ) {
1889
+ return NetBase.data( elem, name, data, true );
1890
+ },
1891
+
1892
+ // A method for determining if a DOM node can handle the data expando
1893
+ acceptData: function( elem ) {
1894
+ if ( elem.nodeName ) {
1895
+ var match = NetBase.noData[ elem.nodeName.toLowerCase() ];
1896
+
1897
+ if ( match ) {
1898
+ return !(match === true || elem.getAttribute("classid") !== match);
1899
+ }
1900
+ }
1901
+
1902
+ return true;
1903
+ }
1904
+ });
1905
+
1906
+ NetBase.fn.extend({
1907
+ data: function( key, value ) {
1908
+ var parts, part, attr, name, l,
1909
+ elem = this[0],
1910
+ i = 0,
1911
+ data = null;
1912
+
1913
+ // Gets all values
1914
+ if ( key === undefined ) {
1915
+ if ( this.length ) {
1916
+ data = NetBase.data( elem );
1917
+
1918
+ if ( elem.nodeType === 1 && !NetBase._data( elem, "parsedAttrs" ) ) {
1919
+ attr = elem.attributes;
1920
+ for ( l = attr.length; i < l; i++ ) {
1921
+ name = attr[i].name;
1922
+
1923
+ if ( name.indexOf( "data-" ) === 0 ) {
1924
+ name = NetBase.camelCase( name.substring(5) );
1925
+
1926
+ dataAttr( elem, name, data[ name ] );
1927
+ }
1928
+ }
1929
+ NetBase._data( elem, "parsedAttrs", true );
1930
+ }
1931
+ }
1932
+
1933
+ return data;
1934
+ }
1935
+
1936
+ // Sets multiple values
1937
+ if ( typeof key === "object" ) {
1938
+ return this.each(function() {
1939
+ NetBase.data( this, key );
1940
+ });
1941
+ }
1942
+
1943
+ parts = key.split( ".", 2 );
1944
+ parts[1] = parts[1] ? "." + parts[1] : "";
1945
+ part = parts[1] + "!";
1946
+
1947
+ return NetBase.access( this, function( value ) {
1948
+
1949
+ if ( value === undefined ) {
1950
+ data = this.triggerHandler( "getData" + part, [ parts[0] ] );
1951
+
1952
+ // Try to fetch any internally stored data first
1953
+ if ( data === undefined && elem ) {
1954
+ data = NetBase.data( elem, key );
1955
+ data = dataAttr( elem, key, data );
1956
+ }
1957
+
1958
+ return data === undefined && parts[1] ?
1959
+ this.data( parts[0] ) :
1960
+ data;
1961
+ }
1962
+
1963
+ parts[1] = value;
1964
+ this.each(function() {
1965
+ var self = NetBase( this );
1966
+
1967
+ self.triggerHandler( "setData" + part, parts );
1968
+ NetBase.data( this, key, value );
1969
+ self.triggerHandler( "changeData" + part, parts );
1970
+ });
1971
+ }, null, value, arguments.length > 1, null, false );
1972
+ },
1973
+
1974
+ removeData: function( key ) {
1975
+ return this.each(function() {
1976
+ NetBase.removeData( this, key );
1977
+ });
1978
+ }
1979
+ });
1980
+
1981
+ function dataAttr( elem, key, data ) {
1982
+ // If nothing was found internally, try to fetch any
1983
+ // data from the HTML5 data-* attribute
1984
+ if ( data === undefined && elem.nodeType === 1 ) {
1985
+
1986
+ var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase();
1987
+
1988
+ data = elem.getAttribute( name );
1989
+
1990
+ if ( typeof data === "string" ) {
1991
+ try {
1992
+ data = data === "true" ? true :
1993
+ data === "false" ? false :
1994
+ data === "null" ? null :
1995
+ NetBase.isNumeric( data ) ? +data :
1996
+ rbrace.test( data ) ? NetBase.parseJSON( data ) :
1997
+ data;
1998
+ } catch( e ) {}
1999
+
2000
+ // Make sure we set the data so it isn't changed later
2001
+ NetBase.data( elem, key, data );
2002
+
2003
+ } else {
2004
+ data = undefined;
2005
+ }
2006
+ }
2007
+
2008
+ return data;
2009
+ }
2010
+
2011
+ // checks a cache object for emptiness
2012
+ function isEmptyDataObject( obj ) {
2013
+ for ( var name in obj ) {
2014
+
2015
+ // if the public data object is empty, the private is still empty
2016
+ if ( name === "data" && NetBase.isEmptyObject( obj[name] ) ) {
2017
+ continue;
2018
+ }
2019
+ if ( name !== "toJSON" ) {
2020
+ return false;
2021
+ }
2022
+ }
2023
+
2024
+ return true;
2025
+ }
2026
+
2027
+
2028
+
2029
+
2030
+ function handleQueueMarkDefer( elem, type, src ) {
2031
+ var deferDataKey = type + "defer",
2032
+ queueDataKey = type + "queue",
2033
+ markDataKey = type + "mark",
2034
+ defer = NetBase._data( elem, deferDataKey );
2035
+ if ( defer &&
2036
+ ( src === "queue" || !NetBase._data(elem, queueDataKey) ) &&
2037
+ ( src === "mark" || !NetBase._data(elem, markDataKey) ) ) {
2038
+ // Give room for hard-coded callbacks to fire first
2039
+ // and eventually mark/queue something else on the element
2040
+ setTimeout( function() {
2041
+ if ( !NetBase._data( elem, queueDataKey ) &&
2042
+ !NetBase._data( elem, markDataKey ) ) {
2043
+ NetBase.removeData( elem, deferDataKey, true );
2044
+ defer.fire();
2045
+ }
2046
+ }, 0 );
2047
+ }
2048
+ }
2049
+
2050
+ NetBase.extend({
2051
+
2052
+ _mark: function( elem, type ) {
2053
+ if ( elem ) {
2054
+ type = ( type || "fx" ) + "mark";
2055
+ NetBase._data( elem, type, (NetBase._data( elem, type ) || 0) + 1 );
2056
+ }
2057
+ },
2058
+
2059
+ _unmark: function( force, elem, type ) {
2060
+ if ( force !== true ) {
2061
+ type = elem;
2062
+ elem = force;
2063
+ force = false;
2064
+ }
2065
+ if ( elem ) {
2066
+ type = type || "fx";
2067
+ var key = type + "mark",
2068
+ count = force ? 0 : ( (NetBase._data( elem, key ) || 1) - 1 );
2069
+ if ( count ) {
2070
+ NetBase._data( elem, key, count );
2071
+ } else {
2072
+ NetBase.removeData( elem, key, true );
2073
+ handleQueueMarkDefer( elem, type, "mark" );
2074
+ }
2075
+ }
2076
+ },
2077
+
2078
+ queue: function( elem, type, data ) {
2079
+ var q;
2080
+ if ( elem ) {
2081
+ type = ( type || "fx" ) + "queue";
2082
+ q = NetBase._data( elem, type );
2083
+
2084
+ // Speed up dequeue by getting out quickly if this is just a lookup
2085
+ if ( data ) {
2086
+ if ( !q || NetBase.isArray(data) ) {
2087
+ q = NetBase._data( elem, type, NetBase.makeArray(data) );
2088
+ } else {
2089
+ q.push( data );
2090
+ }
2091
+ }
2092
+ return q || [];
2093
+ }
2094
+ },
2095
+
2096
+ dequeue: function( elem, type ) {
2097
+ type = type || "fx";
2098
+
2099
+ var queue = NetBase.queue( elem, type ),
2100
+ fn = queue.shift(),
2101
+ hooks = {};
2102
+
2103
+ // If the fx queue is dequeued, always remove the progress sentinel
2104
+ if ( fn === "inprogress" ) {
2105
+ fn = queue.shift();
2106
+ }
2107
+
2108
+ if ( fn ) {
2109
+ // Add a progress sentinel to prevent the fx queue from being
2110
+ // automatically dequeued
2111
+ if ( type === "fx" ) {
2112
+ queue.unshift( "inprogress" );
2113
+ }
2114
+
2115
+ NetBase._data( elem, type + ".run", hooks );
2116
+ fn.call( elem, function() {
2117
+ NetBase.dequeue( elem, type );
2118
+ }, hooks );
2119
+ }
2120
+
2121
+ if ( !queue.length ) {
2122
+ NetBase.removeData( elem, type + "queue " + type + ".run", true );
2123
+ handleQueueMarkDefer( elem, type, "queue" );
2124
+ }
2125
+ }
2126
+ });
2127
+
2128
+ NetBase.fn.extend({
2129
+ queue: function( type, data ) {
2130
+ var setter = 2;
2131
+
2132
+ if ( typeof type !== "string" ) {
2133
+ data = type;
2134
+ type = "fx";
2135
+ setter--;
2136
+ }
2137
+
2138
+ if ( arguments.length < setter ) {
2139
+ return NetBase.queue( this[0], type );
2140
+ }
2141
+
2142
+ return data === undefined ?
2143
+ this :
2144
+ this.each(function() {
2145
+ var queue = NetBase.queue( this, type, data );
2146
+
2147
+ if ( type === "fx" && queue[0] !== "inprogress" ) {
2148
+ NetBase.dequeue( this, type );
2149
+ }
2150
+ });
2151
+ },
2152
+ dequeue: function( type ) {
2153
+ return this.each(function() {
2154
+ NetBase.dequeue( this, type );
2155
+ });
2156
+ },
2157
+ // Based off of the plugin by Clint Helfers, with permission.
2158
+ // http://blindsignals.com/index.php/2009/07/NetBase-delay/
2159
+ delay: function( time, type ) {
2160
+ time = NetBase.fx ? NetBase.fx.speeds[ time ] || time : time;
2161
+ type = type || "fx";
2162
+
2163
+ return this.queue( type, function( next, hooks ) {
2164
+ var timeout = setTimeout( next, time );
2165
+ hooks.stop = function() {
2166
+ clearTimeout( timeout );
2167
+ };
2168
+ });
2169
+ },
2170
+ clearQueue: function( type ) {
2171
+ return this.queue( type || "fx", [] );
2172
+ },
2173
+ // Get a promise resolved when queues of a certain type
2174
+ // are emptied (fx is the type by default)
2175
+ promise: function( type, object ) {
2176
+ if ( typeof type !== "string" ) {
2177
+ object = type;
2178
+ type = undefined;
2179
+ }
2180
+ type = type || "fx";
2181
+ var defer = NetBase.Deferred(),
2182
+ elements = this,
2183
+ i = elements.length,
2184
+ count = 1,
2185
+ deferDataKey = type + "defer",
2186
+ queueDataKey = type + "queue",
2187
+ markDataKey = type + "mark",
2188
+ tmp;
2189
+ function resolve() {
2190
+ if ( !( --count ) ) {
2191
+ defer.resolveWith( elements, [ elements ] );
2192
+ }
2193
+ }
2194
+ while( i-- ) {
2195
+ if (( tmp = NetBase.data( elements[ i ], deferDataKey, undefined, true ) ||
2196
+ ( NetBase.data( elements[ i ], queueDataKey, undefined, true ) ||
2197
+ NetBase.data( elements[ i ], markDataKey, undefined, true ) ) &&
2198
+ NetBase.data( elements[ i ], deferDataKey, NetBase.Callbacks( "once memory" ), true ) )) {
2199
+ count++;
2200
+ tmp.add( resolve );
2201
+ }
2202
+ }
2203
+ resolve();
2204
+ return defer.promise( object );
2205
+ }
2206
+ });
2207
+
2208
+
2209
+
2210
+
2211
+ var rclass = /[\n\t\r]/g,
2212
+ rspace = /\s+/,
2213
+ rreturn = /\r/g,
2214
+ rtype = /^(?:button|input)$/i,
2215
+ rfocusable = /^(?:button|input|object|select|textarea)$/i,
2216
+ rclickable = /^a(?:rea)?$/i,
2217
+ rboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,
2218
+ getSetAttribute = NetBase.support.getSetAttribute,
2219
+ nodeHook, boolHook, fixSpecified;
2220
+
2221
+ NetBase.fn.extend({
2222
+ attr: function( name, value ) {
2223
+ return NetBase.access( this, NetBase.attr, name, value, arguments.length > 1 );
2224
+ },
2225
+
2226
+ removeAttr: function( name ) {
2227
+ return this.each(function() {
2228
+ NetBase.removeAttr( this, name );
2229
+ });
2230
+ },
2231
+
2232
+ prop: function( name, value ) {
2233
+ return NetBase.access( this, NetBase.prop, name, value, arguments.length > 1 );
2234
+ },
2235
+
2236
+ removeProp: function( name ) {
2237
+ name = NetBase.propFix[ name ] || name;
2238
+ return this.each(function() {
2239
+ // try/catch handles cases where IE balks (such as removing a property on window)
2240
+ try {
2241
+ this[ name ] = undefined;
2242
+ delete this[ name ];
2243
+ } catch( e ) {}
2244
+ });
2245
+ },
2246
+
2247
+ addClass: function( value ) {
2248
+ var classNames, i, l, elem,
2249
+ setClass, c, cl;
2250
+
2251
+ if ( NetBase.isFunction( value ) ) {
2252
+ return this.each(function( j ) {
2253
+ NetBase( this ).addClass( value.call(this, j, this.className) );
2254
+ });
2255
+ }
2256
+
2257
+ if ( value && typeof value === "string" ) {
2258
+ classNames = value.split( rspace );
2259
+
2260
+ for ( i = 0, l = this.length; i < l; i++ ) {
2261
+ elem = this[ i ];
2262
+
2263
+ if ( elem.nodeType === 1 ) {
2264
+ if ( !elem.className && classNames.length === 1 ) {
2265
+ elem.className = value;
2266
+
2267
+ } else {
2268
+ setClass = " " + elem.className + " ";
2269
+
2270
+ for ( c = 0, cl = classNames.length; c < cl; c++ ) {
2271
+ if ( !~setClass.indexOf( " " + classNames[ c ] + " " ) ) {
2272
+ setClass += classNames[ c ] + " ";
2273
+ }
2274
+ }
2275
+ elem.className = NetBase.trim( setClass );
2276
+ }
2277
+ }
2278
+ }
2279
+ }
2280
+
2281
+ return this;
2282
+ },
2283
+
2284
+ removeClass: function( value ) {
2285
+ var classNames, i, l, elem, className, c, cl;
2286
+
2287
+ if ( NetBase.isFunction( value ) ) {
2288
+ return this.each(function( j ) {
2289
+ NetBase( this ).removeClass( value.call(this, j, this.className) );
2290
+ });
2291
+ }
2292
+
2293
+ if ( (value && typeof value === "string") || value === undefined ) {
2294
+ classNames = ( value || "" ).split( rspace );
2295
+
2296
+ for ( i = 0, l = this.length; i < l; i++ ) {
2297
+ elem = this[ i ];
2298
+
2299
+ if ( elem.nodeType === 1 && elem.className ) {
2300
+ if ( value ) {
2301
+ className = (" " + elem.className + " ").replace( rclass, " " );
2302
+ for ( c = 0, cl = classNames.length; c < cl; c++ ) {
2303
+ className = className.replace(" " + classNames[ c ] + " ", " ");
2304
+ }
2305
+ elem.className = NetBase.trim( className );
2306
+
2307
+ } else {
2308
+ elem.className = "";
2309
+ }
2310
+ }
2311
+ }
2312
+ }
2313
+
2314
+ return this;
2315
+ },
2316
+
2317
+ toggleClass: function( value, stateVal ) {
2318
+ var type = typeof value,
2319
+ isBool = typeof stateVal === "boolean";
2320
+
2321
+ if ( NetBase.isFunction( value ) ) {
2322
+ return this.each(function( i ) {
2323
+ NetBase( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal );
2324
+ });
2325
+ }
2326
+
2327
+ return this.each(function() {
2328
+ if ( type === "string" ) {
2329
+ // toggle individual class names
2330
+ var className,
2331
+ i = 0,
2332
+ self = NetBase( this ),
2333
+ state = stateVal,
2334
+ classNames = value.split( rspace );
2335
+
2336
+ while ( (className = classNames[ i++ ]) ) {
2337
+ // check each className given, space seperated list
2338
+ state = isBool ? state : !self.hasClass( className );
2339
+ self[ state ? "addClass" : "removeClass" ]( className );
2340
+ }
2341
+
2342
+ } else if ( type === "undefined" || type === "boolean" ) {
2343
+ if ( this.className ) {
2344
+ // store className if set
2345
+ NetBase._data( this, "__className__", this.className );
2346
+ }
2347
+
2348
+ // toggle whole className
2349
+ this.className = this.className || value === false ? "" : NetBase._data( this, "__className__" ) || "";
2350
+ }
2351
+ });
2352
+ },
2353
+
2354
+ hasClass: function( selector ) {
2355
+ var className = " " + selector + " ",
2356
+ i = 0,
2357
+ l = this.length;
2358
+ for ( ; i < l; i++ ) {
2359
+ if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) {
2360
+ return true;
2361
+ }
2362
+ }
2363
+
2364
+ return false;
2365
+ },
2366
+
2367
+ val: function( value ) {
2368
+ var hooks, ret, isFunction,
2369
+ elem = this[0];
2370
+
2371
+ if ( !arguments.length ) {
2372
+ if ( elem ) {
2373
+ hooks = NetBase.valHooks[ elem.type ] || NetBase.valHooks[ elem.nodeName.toLowerCase() ];
2374
+
2375
+ if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) {
2376
+ return ret;
2377
+ }
2378
+
2379
+ ret = elem.value;
2380
+
2381
+ return typeof ret === "string" ?
2382
+ // handle most common string cases
2383
+ ret.replace(rreturn, "") :
2384
+ // handle cases where value is null/undef or number
2385
+ ret == null ? "" : ret;
2386
+ }
2387
+
2388
+ return;
2389
+ }
2390
+
2391
+ isFunction = NetBase.isFunction( value );
2392
+
2393
+ return this.each(function( i ) {
2394
+ var self = NetBase(this), val;
2395
+
2396
+ if ( this.nodeType !== 1 ) {
2397
+ return;
2398
+ }
2399
+
2400
+ if ( isFunction ) {
2401
+ val = value.call( this, i, self.val() );
2402
+ } else {
2403
+ val = value;
2404
+ }
2405
+
2406
+ // Treat null/undefined as ""; convert numbers to string
2407
+ if ( val == null ) {
2408
+ val = "";
2409
+ } else if ( typeof val === "number" ) {
2410
+ val += "";
2411
+ } else if ( NetBase.isArray( val ) ) {
2412
+ val = NetBase.map(val, function ( value ) {
2413
+ return value == null ? "" : value + "";
2414
+ });
2415
+ }
2416
+
2417
+ hooks = NetBase.valHooks[ this.type ] || NetBase.valHooks[ this.nodeName.toLowerCase() ];
2418
+
2419
+ // If set returns undefined, fall back to normal setting
2420
+ if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) {
2421
+ this.value = val;
2422
+ }
2423
+ });
2424
+ }
2425
+ });
2426
+
2427
+ NetBase.extend({
2428
+ valHooks: {
2429
+ option: {
2430
+ get: function( elem ) {
2431
+ // attributes.value is undefined in Blackberry 4.7 but
2432
+ // uses .value. See #6932
2433
+ var val = elem.attributes.value;
2434
+ return !val || val.specified ? elem.value : elem.text;
2435
+ }
2436
+ },
2437
+ select: {
2438
+ get: function( elem ) {
2439
+ var value, i, max, option,
2440
+ index = elem.selectedIndex,
2441
+ values = [],
2442
+ options = elem.options,
2443
+ one = elem.type === "select-one";
2444
+
2445
+ // Nothing was selected
2446
+ if ( index < 0 ) {
2447
+ return null;
2448
+ }
2449
+
2450
+ // Loop through all the selected options
2451
+ i = one ? index : 0;
2452
+ max = one ? index + 1 : options.length;
2453
+ for ( ; i < max; i++ ) {
2454
+ option = options[ i ];
2455
+
2456
+ // Don't return options that are disabled or in a disabled optgroup
2457
+ if ( option.selected && (NetBase.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) &&
2458
+ (!option.parentNode.disabled || !NetBase.nodeName( option.parentNode, "optgroup" )) ) {
2459
+
2460
+ // Get the specific value for the option
2461
+ value = NetBase( option ).val();
2462
+
2463
+ // We don't need an array for one selects
2464
+ if ( one ) {
2465
+ return value;
2466
+ }
2467
+
2468
+ // Multi-Selects return an array
2469
+ values.push( value );
2470
+ }
2471
+ }
2472
+
2473
+ // Fixes Bug #2551 -- select.val() broken in IE after form.reset()
2474
+ if ( one && !values.length && options.length ) {
2475
+ return NetBase( options[ index ] ).val();
2476
+ }
2477
+
2478
+ return values;
2479
+ },
2480
+
2481
+ set: function( elem, value ) {
2482
+ var values = NetBase.makeArray( value );
2483
+
2484
+ NetBase(elem).find("option").each(function() {
2485
+ this.selected = NetBase.inArray( NetBase(this).val(), values ) >= 0;
2486
+ });
2487
+
2488
+ if ( !values.length ) {
2489
+ elem.selectedIndex = -1;
2490
+ }
2491
+ return values;
2492
+ }
2493
+ }
2494
+ },
2495
+
2496
+ attrFn: {
2497
+ val: true,
2498
+ css: true,
2499
+ html: true,
2500
+ text: true,
2501
+ data: true,
2502
+ width: true,
2503
+ height: true,
2504
+ offset: true
2505
+ },
2506
+
2507
+ attr: function( elem, name, value, pass ) {
2508
+ var ret, hooks, notxml,
2509
+ nType = elem.nodeType;
2510
+
2511
+ // don't get/set attributes on text, comment and attribute nodes
2512
+ if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
2513
+ return;
2514
+ }
2515
+
2516
+ if ( pass && name in NetBase.attrFn ) {
2517
+ return NetBase( elem )[ name ]( value );
2518
+ }
2519
+
2520
+ // Fallback to prop when attributes are not supported
2521
+ if ( typeof elem.getAttribute === "undefined" ) {
2522
+ return NetBase.prop( elem, name, value );
2523
+ }
2524
+
2525
+ notxml = nType !== 1 || !NetBase.isXMLDoc( elem );
2526
+
2527
+ // All attributes are lowercase
2528
+ // Grab necessary hook if one is defined
2529
+ if ( notxml ) {
2530
+ name = name.toLowerCase();
2531
+ hooks = NetBase.attrHooks[ name ] || ( rboolean.test( name ) ? boolHook : nodeHook );
2532
+ }
2533
+
2534
+ if ( value !== undefined ) {
2535
+
2536
+ if ( value === null ) {
2537
+ NetBase.removeAttr( elem, name );
2538
+ return;
2539
+
2540
+ } else if ( hooks && "set" in hooks && notxml && (ret = hooks.set( elem, value, name )) !== undefined ) {
2541
+ return ret;
2542
+
2543
+ } else {
2544
+ elem.setAttribute( name, "" + value );
2545
+ return value;
2546
+ }
2547
+
2548
+ } else if ( hooks && "get" in hooks && notxml && (ret = hooks.get( elem, name )) !== null ) {
2549
+ return ret;
2550
+
2551
+ } else {
2552
+
2553
+ ret = elem.getAttribute( name );
2554
+
2555
+ // Non-existent attributes return null, we normalize to undefined
2556
+ return ret === null ?
2557
+ undefined :
2558
+ ret;
2559
+ }
2560
+ },
2561
+
2562
+ removeAttr: function( elem, value ) {
2563
+ var propName, attrNames, name, l, isBool,
2564
+ i = 0;
2565
+
2566
+ if ( value && elem.nodeType === 1 ) {
2567
+ attrNames = value.toLowerCase().split( rspace );
2568
+ l = attrNames.length;
2569
+
2570
+ for ( ; i < l; i++ ) {
2571
+ name = attrNames[ i ];
2572
+
2573
+ if ( name ) {
2574
+ propName = NetBase.propFix[ name ] || name;
2575
+ isBool = rboolean.test( name );
2576
+
2577
+ // See #9699 for explanation of this approach (setting first, then removal)
2578
+ // Do not do this for boolean attributes (see #10870)
2579
+ if ( !isBool ) {
2580
+ NetBase.attr( elem, name, "" );
2581
+ }
2582
+ elem.removeAttribute( getSetAttribute ? name : propName );
2583
+
2584
+ // Set corresponding property to false for boolean attributes
2585
+ if ( isBool && propName in elem ) {
2586
+ elem[ propName ] = false;
2587
+ }
2588
+ }
2589
+ }
2590
+ }
2591
+ },
2592
+
2593
+ attrHooks: {
2594
+ type: {
2595
+ set: function( elem, value ) {
2596
+ // We can't allow the type property to be changed (since it causes problems in IE)
2597
+ if ( rtype.test( elem.nodeName ) && elem.parentNode ) {
2598
+ NetBase.error( "type property can't be changed" );
2599
+ } else if ( !NetBase.support.radioValue && value === "radio" && NetBase.nodeName(elem, "input") ) {
2600
+ // Setting the type on a radio button after the value resets the value in IE6-9
2601
+ // Reset value to it's default in case type is set after value
2602
+ // This is for element creation
2603
+ var val = elem.value;
2604
+ elem.setAttribute( "type", value );
2605
+ if ( val ) {
2606
+ elem.value = val;
2607
+ }
2608
+ return value;
2609
+ }
2610
+ }
2611
+ },
2612
+ // Use the value property for back compat
2613
+ // Use the nodeHook for button elements in IE6/7 (#1954)
2614
+ value: {
2615
+ get: function( elem, name ) {
2616
+ if ( nodeHook && NetBase.nodeName( elem, "button" ) ) {
2617
+ return nodeHook.get( elem, name );
2618
+ }
2619
+ return name in elem ?
2620
+ elem.value :
2621
+ null;
2622
+ },
2623
+ set: function( elem, value, name ) {
2624
+ if ( nodeHook && NetBase.nodeName( elem, "button" ) ) {
2625
+ return nodeHook.set( elem, value, name );
2626
+ }
2627
+ // Does not return so that setAttribute is also used
2628
+ elem.value = value;
2629
+ }
2630
+ }
2631
+ },
2632
+
2633
+ propFix: {
2634
+ tabindex: "tabIndex",
2635
+ readonly: "readOnly",
2636
+ "for": "htmlFor",
2637
+ "class": "className",
2638
+ maxlength: "maxLength",
2639
+ cellspacing: "cellSpacing",
2640
+ cellpadding: "cellPadding",
2641
+ rowspan: "rowSpan",
2642
+ colspan: "colSpan",
2643
+ usemap: "useMap",
2644
+ frameborder: "frameBorder",
2645
+ contenteditable: "contentEditable"
2646
+ },
2647
+
2648
+ prop: function( elem, name, value ) {
2649
+ var ret, hooks, notxml,
2650
+ nType = elem.nodeType;
2651
+
2652
+ // don't get/set properties on text, comment and attribute nodes
2653
+ if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
2654
+ return;
2655
+ }
2656
+
2657
+ notxml = nType !== 1 || !NetBase.isXMLDoc( elem );
2658
+
2659
+ if ( notxml ) {
2660
+ // Fix name and attach hooks
2661
+ name = NetBase.propFix[ name ] || name;
2662
+ hooks = NetBase.propHooks[ name ];
2663
+ }
2664
+
2665
+ if ( value !== undefined ) {
2666
+ if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) {
2667
+ return ret;
2668
+
2669
+ } else {
2670
+ return ( elem[ name ] = value );
2671
+ }
2672
+
2673
+ } else {
2674
+ if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) {
2675
+ return ret;
2676
+
2677
+ } else {
2678
+ return elem[ name ];
2679
+ }
2680
+ }
2681
+ },
2682
+
2683
+ propHooks: {
2684
+ tabIndex: {
2685
+ get: function( elem ) {
2686
+ // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set
2687
+ // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
2688
+ var attributeNode = elem.getAttributeNode("tabindex");
2689
+
2690
+ return attributeNode && attributeNode.specified ?
2691
+ parseInt( attributeNode.value, 10 ) :
2692
+ rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ?
2693
+ 0 :
2694
+ undefined;
2695
+ }
2696
+ }
2697
+ }
2698
+ });
2699
+
2700
+ // Add the tabIndex propHook to attrHooks for back-compat (different case is intentional)
2701
+ NetBase.attrHooks.tabindex = NetBase.propHooks.tabIndex;
2702
+
2703
+ // Hook for boolean attributes
2704
+ boolHook = {
2705
+ get: function( elem, name ) {
2706
+ // Align boolean attributes with corresponding properties
2707
+ // Fall back to attribute presence where some booleans are not supported
2708
+ var attrNode,
2709
+ property = NetBase.prop( elem, name );
2710
+ return property === true || typeof property !== "boolean" && ( attrNode = elem.getAttributeNode(name) ) && attrNode.nodeValue !== false ?
2711
+ name.toLowerCase() :
2712
+ undefined;
2713
+ },
2714
+ set: function( elem, value, name ) {
2715
+ var propName;
2716
+ if ( value === false ) {
2717
+ // Remove boolean attributes when set to false
2718
+ NetBase.removeAttr( elem, name );
2719
+ } else {
2720
+ // value is true since we know at this point it's type boolean and not false
2721
+ // Set boolean attributes to the same name and set the DOM property
2722
+ propName = NetBase.propFix[ name ] || name;
2723
+ if ( propName in elem ) {
2724
+ // Only set the IDL specifically if it already exists on the element
2725
+ elem[ propName ] = true;
2726
+ }
2727
+
2728
+ elem.setAttribute( name, name.toLowerCase() );
2729
+ }
2730
+ return name;
2731
+ }
2732
+ };
2733
+
2734
+ // IE6/7 do not support getting/setting some attributes with get/setAttribute
2735
+ if ( !getSetAttribute ) {
2736
+
2737
+ fixSpecified = {
2738
+ name: true,
2739
+ id: true,
2740
+ coords: true
2741
+ };
2742
+
2743
+ // Use this for any attribute in IE6/7
2744
+ // This fixes almost every IE6/7 issue
2745
+ nodeHook = NetBase.valHooks.button = {
2746
+ get: function( elem, name ) {
2747
+ var ret;
2748
+ ret = elem.getAttributeNode( name );
2749
+ return ret && ( fixSpecified[ name ] ? ret.nodeValue !== "" : ret.specified ) ?
2750
+ ret.nodeValue :
2751
+ undefined;
2752
+ },
2753
+ set: function( elem, value, name ) {
2754
+ // Set the existing or create a new attribute node
2755
+ var ret = elem.getAttributeNode( name );
2756
+ if ( !ret ) {
2757
+ ret = document.createAttribute( name );
2758
+ elem.setAttributeNode( ret );
2759
+ }
2760
+ return ( ret.nodeValue = value + "" );
2761
+ }
2762
+ };
2763
+
2764
+ // Apply the nodeHook to tabindex
2765
+ NetBase.attrHooks.tabindex.set = nodeHook.set;
2766
+
2767
+ // Set width and height to auto instead of 0 on empty string( Bug #8150 )
2768
+ // This is for removals
2769
+ NetBase.each([ "width", "height" ], function( i, name ) {
2770
+ NetBase.attrHooks[ name ] = NetBase.extend( NetBase.attrHooks[ name ], {
2771
+ set: function( elem, value ) {
2772
+ if ( value === "" ) {
2773
+ elem.setAttribute( name, "auto" );
2774
+ return value;
2775
+ }
2776
+ }
2777
+ });
2778
+ });
2779
+
2780
+ // Set contenteditable to false on removals(#10429)
2781
+ // Setting to empty string throws an error as an invalid value
2782
+ NetBase.attrHooks.contenteditable = {
2783
+ get: nodeHook.get,
2784
+ set: function( elem, value, name ) {
2785
+ if ( value === "" ) {
2786
+ value = "false";
2787
+ }
2788
+ nodeHook.set( elem, value, name );
2789
+ }
2790
+ };
2791
+ }
2792
+
2793
+
2794
+ // Some attributes require a special call on IE
2795
+ if ( !NetBase.support.hrefNormalized ) {
2796
+ NetBase.each([ "href", "src", "width", "height" ], function( i, name ) {
2797
+ NetBase.attrHooks[ name ] = NetBase.extend( NetBase.attrHooks[ name ], {
2798
+ get: function( elem ) {
2799
+ var ret = elem.getAttribute( name, 2 );
2800
+ return ret === null ? undefined : ret;
2801
+ }
2802
+ });
2803
+ });
2804
+ }
2805
+
2806
+ if ( !NetBase.support.style ) {
2807
+ NetBase.attrHooks.style = {
2808
+ get: function( elem ) {
2809
+ // Return undefined in the case of empty string
2810
+ // Normalize to lowercase since IE uppercases css property names
2811
+ return elem.style.cssText.toLowerCase() || undefined;
2812
+ },
2813
+ set: function( elem, value ) {
2814
+ return ( elem.style.cssText = "" + value );
2815
+ }
2816
+ };
2817
+ }
2818
+
2819
+ // Safari mis-reports the default selected property of an option
2820
+ // Accessing the parent's selectedIndex property fixes it
2821
+ if ( !NetBase.support.optSelected ) {
2822
+ NetBase.propHooks.selected = NetBase.extend( NetBase.propHooks.selected, {
2823
+ get: function( elem ) {
2824
+ var parent = elem.parentNode;
2825
+
2826
+ if ( parent ) {
2827
+ parent.selectedIndex;
2828
+
2829
+ // Make sure that it also works with optgroups, see #5701
2830
+ if ( parent.parentNode ) {
2831
+ parent.parentNode.selectedIndex;
2832
+ }
2833
+ }
2834
+ return null;
2835
+ }
2836
+ });
2837
+ }
2838
+
2839
+ // IE6/7 call enctype encoding
2840
+ if ( !NetBase.support.enctype ) {
2841
+ NetBase.propFix.enctype = "encoding";
2842
+ }
2843
+
2844
+ // Radios and checkboxes getter/setter
2845
+ if ( !NetBase.support.checkOn ) {
2846
+ NetBase.each([ "radio", "checkbox" ], function() {
2847
+ NetBase.valHooks[ this ] = {
2848
+ get: function( elem ) {
2849
+ // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified
2850
+ return elem.getAttribute("value") === null ? "on" : elem.value;
2851
+ }
2852
+ };
2853
+ });
2854
+ }
2855
+ NetBase.each([ "radio", "checkbox" ], function() {
2856
+ NetBase.valHooks[ this ] = NetBase.extend( NetBase.valHooks[ this ], {
2857
+ set: function( elem, value ) {
2858
+ if ( NetBase.isArray( value ) ) {
2859
+ return ( elem.checked = NetBase.inArray( NetBase(elem).val(), value ) >= 0 );
2860
+ }
2861
+ }
2862
+ });
2863
+ });
2864
+
2865
+
2866
+
2867
+
2868
+ var rformElems = /^(?:textarea|input|select)$/i,
2869
+ rtypenamespace = /^([^\.]*)?(?:\.(.+))?$/,
2870
+ rhoverHack = /(?:^|\s)hover(\.\S+)?\b/,
2871
+ rkeyEvent = /^key/,
2872
+ rmouseEvent = /^(?:mouse|contextmenu)|click/,
2873
+ rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
2874
+ rquickIs = /^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,
2875
+ quickParse = function( selector ) {
2876
+ var quick = rquickIs.exec( selector );
2877
+ if ( quick ) {
2878
+ // 0 1 2 3
2879
+ // [ _, tag, id, class ]
2880
+ quick[1] = ( quick[1] || "" ).toLowerCase();
2881
+ quick[3] = quick[3] && new RegExp( "(?:^|\\s)" + quick[3] + "(?:\\s|$)" );
2882
+ }
2883
+ return quick;
2884
+ },
2885
+ quickIs = function( elem, m ) {
2886
+ var attrs = elem.attributes || {};
2887
+ return (
2888
+ (!m[1] || elem.nodeName.toLowerCase() === m[1]) &&
2889
+ (!m[2] || (attrs.id || {}).value === m[2]) &&
2890
+ (!m[3] || m[3].test( (attrs[ "class" ] || {}).value ))
2891
+ );
2892
+ },
2893
+ hoverHack = function( events ) {
2894
+ return NetBase.event.special.hover ? events : events.replace( rhoverHack, "mouseenter$1 mouseleave$1" );
2895
+ };
2896
+
2897
+ /*
2898
+ * Helper functions for managing events -- not part of the public interface.
2899
+ * Props to Dean Edwards' addEvent library for many of the ideas.
2900
+ */
2901
+ NetBase.event = {
2902
+
2903
+ add: function( elem, types, handler, data, selector ) {
2904
+
2905
+ var elemData, eventHandle, events,
2906
+ t, tns, type, namespaces, handleObj,
2907
+ handleObjIn, quick, handlers, special;
2908
+
2909
+ // Don't attach events to noData or text/comment nodes (allow plain objects tho)
2910
+ if ( elem.nodeType === 3 || elem.nodeType === 8 || !types || !handler || !(elemData = NetBase._data( elem )) ) {
2911
+ return;
2912
+ }
2913
+
2914
+ // Caller can pass in an object of custom data in lieu of the handler
2915
+ if ( handler.handler ) {
2916
+ handleObjIn = handler;
2917
+ handler = handleObjIn.handler;
2918
+ selector = handleObjIn.selector;
2919
+ }
2920
+
2921
+ // Make sure that the handler has a unique ID, used to find/remove it later
2922
+ if ( !handler.guid ) {
2923
+ handler.guid = NetBase.guid++;
2924
+ }
2925
+
2926
+ // Init the element's event structure and main handler, if this is the first
2927
+ events = elemData.events;
2928
+ if ( !events ) {
2929
+ elemData.events = events = {};
2930
+ }
2931
+ eventHandle = elemData.handle;
2932
+ if ( !eventHandle ) {
2933
+ elemData.handle = eventHandle = function( e ) {
2934
+ // Discard the second event of a NetBase.event.trigger() and
2935
+ // when an event is called after a page has unloaded
2936
+ return typeof NetBase !== "undefined" && (!e || NetBase.event.triggered !== e.type) ?
2937
+ NetBase.event.dispatch.apply( eventHandle.elem, arguments ) :
2938
+ undefined;
2939
+ };
2940
+ // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events
2941
+ eventHandle.elem = elem;
2942
+ }
2943
+
2944
+ // Handle multiple events separated by a space
2945
+ // NetBase(...).bind("mouseover mouseout", fn);
2946
+ types = NetBase.trim( hoverHack(types) ).split( " " );
2947
+ for ( t = 0; t < types.length; t++ ) {
2948
+
2949
+ tns = rtypenamespace.exec( types[t] ) || [];
2950
+ type = tns[1];
2951
+ namespaces = ( tns[2] || "" ).split( "." ).sort();
2952
+
2953
+ // If event changes its type, use the special event handlers for the changed type
2954
+ special = NetBase.event.special[ type ] || {};
2955
+
2956
+ // If selector defined, determine special event api type, otherwise given type
2957
+ type = ( selector ? special.delegateType : special.bindType ) || type;
2958
+
2959
+ // Update special based on newly reset type
2960
+ special = NetBase.event.special[ type ] || {};
2961
+
2962
+ // handleObj is passed to all event handlers
2963
+ handleObj = NetBase.extend({
2964
+ type: type,
2965
+ origType: tns[1],
2966
+ data: data,
2967
+ handler: handler,
2968
+ guid: handler.guid,
2969
+ selector: selector,
2970
+ quick: selector && quickParse( selector ),
2971
+ namespace: namespaces.join(".")
2972
+ }, handleObjIn );
2973
+
2974
+ // Init the event handler queue if we're the first
2975
+ handlers = events[ type ];
2976
+ if ( !handlers ) {
2977
+ handlers = events[ type ] = [];
2978
+ handlers.delegateCount = 0;
2979
+
2980
+ // Only use addEventListener/attachEvent if the special events handler returns false
2981
+ if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
2982
+ // Bind the global event handler to the element
2983
+ if ( elem.addEventListener ) {
2984
+ elem.addEventListener( type, eventHandle, false );
2985
+
2986
+ } else if ( elem.attachEvent ) {
2987
+ elem.attachEvent( "on" + type, eventHandle );
2988
+ }
2989
+ }
2990
+ }
2991
+
2992
+ if ( special.add ) {
2993
+ special.add.call( elem, handleObj );
2994
+
2995
+ if ( !handleObj.handler.guid ) {
2996
+ handleObj.handler.guid = handler.guid;
2997
+ }
2998
+ }
2999
+
3000
+ // Add to the element's handler list, delegates in front
3001
+ if ( selector ) {
3002
+ handlers.splice( handlers.delegateCount++, 0, handleObj );
3003
+ } else {
3004
+ handlers.push( handleObj );
3005
+ }
3006
+
3007
+ // Keep track of which events have ever been used, for event optimization
3008
+ NetBase.event.global[ type ] = true;
3009
+ }
3010
+
3011
+ // Nullify elem to prevent memory leaks in IE
3012
+ elem = null;
3013
+ },
3014
+
3015
+ global: {},
3016
+
3017
+ // Detach an event or set of events from an element
3018
+ remove: function( elem, types, handler, selector, mappedTypes ) {
3019
+
3020
+ var elemData = NetBase.hasData( elem ) && NetBase._data( elem ),
3021
+ t, tns, type, origType, namespaces, origCount,
3022
+ j, events, special, handle, eventType, handleObj;
3023
+
3024
+ if ( !elemData || !(events = elemData.events) ) {
3025
+ return;
3026
+ }
3027
+
3028
+ // Once for each type.namespace in types; type may be omitted
3029
+ types = NetBase.trim( hoverHack( types || "" ) ).split(" ");
3030
+ for ( t = 0; t < types.length; t++ ) {
3031
+ tns = rtypenamespace.exec( types[t] ) || [];
3032
+ type = origType = tns[1];
3033
+ namespaces = tns[2];
3034
+
3035
+ // Unbind all events (on this namespace, if provided) for the element
3036
+ if ( !type ) {
3037
+ for ( type in events ) {
3038
+ NetBase.event.remove( elem, type + types[ t ], handler, selector, true );
3039
+ }
3040
+ continue;
3041
+ }
3042
+
3043
+ special = NetBase.event.special[ type ] || {};
3044
+ type = ( selector? special.delegateType : special.bindType ) || type;
3045
+ eventType = events[ type ] || [];
3046
+ origCount = eventType.length;
3047
+ namespaces = namespaces ? new RegExp("(^|\\.)" + namespaces.split(".").sort().join("\\.(?:.*\\.)?") + "(\\.|$)") : null;
3048
+
3049
+ // Remove matching events
3050
+ for ( j = 0; j < eventType.length; j++ ) {
3051
+ handleObj = eventType[ j ];
3052
+
3053
+ if ( ( mappedTypes || origType === handleObj.origType ) &&
3054
+ ( !handler || handler.guid === handleObj.guid ) &&
3055
+ ( !namespaces || namespaces.test( handleObj.namespace ) ) &&
3056
+ ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) {
3057
+ eventType.splice( j--, 1 );
3058
+
3059
+ if ( handleObj.selector ) {
3060
+ eventType.delegateCount--;
3061
+ }
3062
+ if ( special.remove ) {
3063
+ special.remove.call( elem, handleObj );
3064
+ }
3065
+ }
3066
+ }
3067
+
3068
+ // Remove generic event handler if we removed something and no more handlers exist
3069
+ // (avoids potential for endless recursion during removal of special event handlers)
3070
+ if ( eventType.length === 0 && origCount !== eventType.length ) {
3071
+ if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) {
3072
+ NetBase.removeEvent( elem, type, elemData.handle );
3073
+ }
3074
+
3075
+ delete events[ type ];
3076
+ }
3077
+ }
3078
+
3079
+ // Remove the expando if it's no longer used
3080
+ if ( NetBase.isEmptyObject( events ) ) {
3081
+ handle = elemData.handle;
3082
+ if ( handle ) {
3083
+ handle.elem = null;
3084
+ }
3085
+
3086
+ // removeData also checks for emptiness and clears the expando if empty
3087
+ // so use it instead of delete
3088
+ NetBase.removeData( elem, [ "events", "handle" ], true );
3089
+ }
3090
+ },
3091
+
3092
+ // Events that are safe to short-circuit if no handlers are attached.
3093
+ // Native DOM events should not be added, they may have inline handlers.
3094
+ customEvent: {
3095
+ "getData": true,
3096
+ "setData": true,
3097
+ "changeData": true
3098
+ },
3099
+
3100
+ trigger: function( event, data, elem, onlyHandlers ) {
3101
+ // Don't do events on text and comment nodes
3102
+ if ( elem && (elem.nodeType === 3 || elem.nodeType === 8) ) {
3103
+ return;
3104
+ }
3105
+
3106
+ // Event object or event type
3107
+ var type = event.type || event,
3108
+ namespaces = [],
3109
+ cache, exclusive, i, cur, old, ontype, special, handle, eventPath, bubbleType;
3110
+
3111
+ // focus/blur morphs to focusin/out; ensure we're not firing them right now
3112
+ if ( rfocusMorph.test( type + NetBase.event.triggered ) ) {
3113
+ return;
3114
+ }
3115
+
3116
+ if ( type.indexOf( "!" ) >= 0 ) {
3117
+ // Exclusive events trigger only for the exact event (no namespaces)
3118
+ type = type.slice(0, -1);
3119
+ exclusive = true;
3120
+ }
3121
+
3122
+ if ( type.indexOf( "." ) >= 0 ) {
3123
+ // Namespaced trigger; create a regexp to match event type in handle()
3124
+ namespaces = type.split(".");
3125
+ type = namespaces.shift();
3126
+ namespaces.sort();
3127
+ }
3128
+
3129
+ if ( (!elem || NetBase.event.customEvent[ type ]) && !NetBase.event.global[ type ] ) {
3130
+ // No NetBase handlers for this event type, and it can't have inline handlers
3131
+ return;
3132
+ }
3133
+
3134
+ // Caller can pass in an Event, Object, or just an event type string
3135
+ event = typeof event === "object" ?
3136
+ // NetBase.Event object
3137
+ event[ NetBase.expando ] ? event :
3138
+ // Object literal
3139
+ new NetBase.Event( type, event ) :
3140
+ // Just the event type (string)
3141
+ new NetBase.Event( type );
3142
+
3143
+ event.type = type;
3144
+ event.isTrigger = true;
3145
+ event.exclusive = exclusive;
3146
+ event.namespace = namespaces.join( "." );
3147
+ event.namespace_re = event.namespace? new RegExp("(^|\\.)" + namespaces.join("\\.(?:.*\\.)?") + "(\\.|$)") : null;
3148
+ ontype = type.indexOf( ":" ) < 0 ? "on" + type : "";
3149
+
3150
+ // Handle a global trigger
3151
+ if ( !elem ) {
3152
+
3153
+ // TODO: Stop taunting the data cache; remove global events and always attach to document
3154
+ cache = NetBase.cache;
3155
+ for ( i in cache ) {
3156
+ if ( cache[ i ].events && cache[ i ].events[ type ] ) {
3157
+ NetBase.event.trigger( event, data, cache[ i ].handle.elem, true );
3158
+ }
3159
+ }
3160
+ return;
3161
+ }
3162
+
3163
+ // Clean up the event in case it is being reused
3164
+ event.result = undefined;
3165
+ if ( !event.target ) {
3166
+ event.target = elem;
3167
+ }
3168
+
3169
+ // Clone any incoming data and prepend the event, creating the handler arg list
3170
+ data = data != null ? NetBase.makeArray( data ) : [];
3171
+ data.unshift( event );
3172
+
3173
+ // Allow special events to draw outside the lines
3174
+ special = NetBase.event.special[ type ] || {};
3175
+ if ( special.trigger && special.trigger.apply( elem, data ) === false ) {
3176
+ return;
3177
+ }
3178
+
3179
+ // Determine event propagation path in advance, per W3C events spec (#9951)
3180
+ // Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
3181
+ eventPath = [[ elem, special.bindType || type ]];
3182
+ if ( !onlyHandlers && !special.noBubble && !NetBase.isWindow( elem ) ) {
3183
+
3184
+ bubbleType = special.delegateType || type;
3185
+ cur = rfocusMorph.test( bubbleType + type ) ? elem : elem.parentNode;
3186
+ old = null;
3187
+ for ( ; cur; cur = cur.parentNode ) {
3188
+ eventPath.push([ cur, bubbleType ]);
3189
+ old = cur;
3190
+ }
3191
+
3192
+ // Only add window if we got to document (e.g., not plain obj or detached DOM)
3193
+ if ( old && old === elem.ownerDocument ) {
3194
+ eventPath.push([ old.defaultView || old.parentWindow || window, bubbleType ]);
3195
+ }
3196
+ }
3197
+
3198
+ // Fire handlers on the event path
3199
+ for ( i = 0; i < eventPath.length && !event.isPropagationStopped(); i++ ) {
3200
+
3201
+ cur = eventPath[i][0];
3202
+ event.type = eventPath[i][1];
3203
+
3204
+ handle = ( NetBase._data( cur, "events" ) || {} )[ event.type ] && NetBase._data( cur, "handle" );
3205
+ if ( handle ) {
3206
+ handle.apply( cur, data );
3207
+ }
3208
+ // Note that this is a bare JS function and not a NetBase handler
3209
+ handle = ontype && cur[ ontype ];
3210
+ if ( handle && NetBase.acceptData( cur ) && handle.apply( cur, data ) === false ) {
3211
+ event.preventDefault();
3212
+ }
3213
+ }
3214
+ event.type = type;
3215
+
3216
+ // If nobody prevented the default action, do it now
3217
+ if ( !onlyHandlers && !event.isDefaultPrevented() ) {
3218
+
3219
+ if ( (!special._default || special._default.apply( elem.ownerDocument, data ) === false) &&
3220
+ !(type === "click" && NetBase.nodeName( elem, "a" )) && NetBase.acceptData( elem ) ) {
3221
+
3222
+ // Call a native DOM method on the target with the same name name as the event.
3223
+ // Can't use an .isFunction() check here because IE6/7 fails that test.
3224
+ // Don't do default actions on window, that's where global variables be (#6170)
3225
+ // IE<9 dies on focus/blur to hidden element (#1486)
3226
+ if ( ontype && elem[ type ] && ((type !== "focus" && type !== "blur") || event.target.offsetWidth !== 0) && !NetBase.isWindow( elem ) ) {
3227
+
3228
+ // Don't re-trigger an onFOO event when we call its FOO() method
3229
+ old = elem[ ontype ];
3230
+
3231
+ if ( old ) {
3232
+ elem[ ontype ] = null;
3233
+ }
3234
+
3235
+ // Prevent re-triggering of the same event, since we already bubbled it above
3236
+ NetBase.event.triggered = type;
3237
+ elem[ type ]();
3238
+ NetBase.event.triggered = undefined;
3239
+
3240
+ if ( old ) {
3241
+ elem[ ontype ] = old;
3242
+ }
3243
+ }
3244
+ }
3245
+ }
3246
+
3247
+ return event.result;
3248
+ },
3249
+
3250
+ dispatch: function( event ) {
3251
+
3252
+ // Make a writable NetBase.Event from the native event object
3253
+ event = NetBase.event.fix( event || window.event );
3254
+
3255
+ var handlers = ( (NetBase._data( this, "events" ) || {} )[ event.type ] || []),
3256
+ delegateCount = handlers.delegateCount,
3257
+ args = [].slice.call( arguments, 0 ),
3258
+ run_all = !event.exclusive && !event.namespace,
3259
+ special = NetBase.event.special[ event.type ] || {},
3260
+ handlerQueue = [],
3261
+ i, j, cur, jqcur, ret, selMatch, matched, matches, handleObj, sel, related;
3262
+
3263
+ // Use the fix-ed NetBase.Event rather than the (read-only) native event
3264
+ args[0] = event;
3265
+ event.delegateTarget = this;
3266
+
3267
+ // Call the preDispatch hook for the mapped type, and let it bail if desired
3268
+ if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
3269
+ return;
3270
+ }
3271
+
3272
+ // Determine handlers that should run if there are delegated events
3273
+ // Avoid non-left-click bubbling in Firefox (#3861)
3274
+ if ( delegateCount && !(event.button && event.type === "click") ) {
3275
+
3276
+ // Pregenerate a single NetBase object for reuse with .is()
3277
+ jqcur = NetBase(this);
3278
+ jqcur.context = this.ownerDocument || this;
3279
+
3280
+ for ( cur = event.target; cur != this; cur = cur.parentNode || this ) {
3281
+
3282
+ // Don't process events on disabled elements (#6911, #8165)
3283
+ if ( cur.disabled !== true ) {
3284
+ selMatch = {};
3285
+ matches = [];
3286
+ jqcur[0] = cur;
3287
+ for ( i = 0; i < delegateCount; i++ ) {
3288
+ handleObj = handlers[ i ];
3289
+ sel = handleObj.selector;
3290
+
3291
+ if ( selMatch[ sel ] === undefined ) {
3292
+ selMatch[ sel ] = (
3293
+ handleObj.quick ? quickIs( cur, handleObj.quick ) : jqcur.is( sel )
3294
+ );
3295
+ }
3296
+ if ( selMatch[ sel ] ) {
3297
+ matches.push( handleObj );
3298
+ }
3299
+ }
3300
+ if ( matches.length ) {
3301
+ handlerQueue.push({ elem: cur, matches: matches });
3302
+ }
3303
+ }
3304
+ }
3305
+ }
3306
+
3307
+ // Add the remaining (directly-bound) handlers
3308
+ if ( handlers.length > delegateCount ) {
3309
+ handlerQueue.push({ elem: this, matches: handlers.slice( delegateCount ) });
3310
+ }
3311
+
3312
+ // Run delegates first; they may want to stop propagation beneath us
3313
+ for ( i = 0; i < handlerQueue.length && !event.isPropagationStopped(); i++ ) {
3314
+ matched = handlerQueue[ i ];
3315
+ event.currentTarget = matched.elem;
3316
+
3317
+ for ( j = 0; j < matched.matches.length && !event.isImmediatePropagationStopped(); j++ ) {
3318
+ handleObj = matched.matches[ j ];
3319
+
3320
+ // Triggered event must either 1) be non-exclusive and have no namespace, or
3321
+ // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace).
3322
+ if ( run_all || (!event.namespace && !handleObj.namespace) || event.namespace_re && event.namespace_re.test( handleObj.namespace ) ) {
3323
+
3324
+ event.data = handleObj.data;
3325
+ event.handleObj = handleObj;
3326
+
3327
+ ret = ( (NetBase.event.special[ handleObj.origType ] || {}).handle || handleObj.handler )
3328
+ .apply( matched.elem, args );
3329
+
3330
+ if ( ret !== undefined ) {
3331
+ event.result = ret;
3332
+ if ( ret === false ) {
3333
+ event.preventDefault();
3334
+ event.stopPropagation();
3335
+ }
3336
+ }
3337
+ }
3338
+ }
3339
+ }
3340
+
3341
+ // Call the postDispatch hook for the mapped type
3342
+ if ( special.postDispatch ) {
3343
+ special.postDispatch.call( this, event );
3344
+ }
3345
+
3346
+ return event.result;
3347
+ },
3348
+
3349
+ // Includes some event props shared by KeyEvent and MouseEvent
3350
+ // *** attrChange attrName relatedNode srcElement are not normalized, non-W3C, deprecated, will be removed in 1.8 ***
3351
+ props: "attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
3352
+
3353
+ fixHooks: {},
3354
+
3355
+ keyHooks: {
3356
+ props: "char charCode key keyCode".split(" "),
3357
+ filter: function( event, original ) {
3358
+
3359
+ // Add which for key events
3360
+ if ( event.which == null ) {
3361
+ event.which = original.charCode != null ? original.charCode : original.keyCode;
3362
+ }
3363
+
3364
+ return event;
3365
+ }
3366
+ },
3367
+
3368
+ mouseHooks: {
3369
+ props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
3370
+ filter: function( event, original ) {
3371
+ var eventDoc, doc, body,
3372
+ button = original.button,
3373
+ fromElement = original.fromElement;
3374
+
3375
+ // Calculate pageX/Y if missing and clientX/Y available
3376
+ if ( event.pageX == null && original.clientX != null ) {
3377
+ eventDoc = event.target.ownerDocument || document;
3378
+ doc = eventDoc.documentElement;
3379
+ body = eventDoc.body;
3380
+
3381
+ event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 );
3382
+ event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 );
3383
+ }
3384
+
3385
+ // Add relatedTarget, if necessary
3386
+ if ( !event.relatedTarget && fromElement ) {
3387
+ event.relatedTarget = fromElement === event.target ? original.toElement : fromElement;
3388
+ }
3389
+
3390
+ // Add which for click: 1 === left; 2 === middle; 3 === right
3391
+ // Note: button is not normalized, so don't use it
3392
+ if ( !event.which && button !== undefined ) {
3393
+ event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );
3394
+ }
3395
+
3396
+ return event;
3397
+ }
3398
+ },
3399
+
3400
+ fix: function( event ) {
3401
+ if ( event[ NetBase.expando ] ) {
3402
+ return event;
3403
+ }
3404
+
3405
+ // Create a writable copy of the event object and normalize some properties
3406
+ var i, prop,
3407
+ originalEvent = event,
3408
+ fixHook = NetBase.event.fixHooks[ event.type ] || {},
3409
+ copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props;
3410
+
3411
+ event = NetBase.Event( originalEvent );
3412
+
3413
+ for ( i = copy.length; i; ) {
3414
+ prop = copy[ --i ];
3415
+ event[ prop ] = originalEvent[ prop ];
3416
+ }
3417
+
3418
+ // Fix target property, if necessary (#1925, IE 6/7/8 & Safari2)
3419
+ if ( !event.target ) {
3420
+ event.target = originalEvent.srcElement || document;
3421
+ }
3422
+
3423
+ // Target should not be a text node (#504, Safari)
3424
+ if ( event.target.nodeType === 3 ) {
3425
+ event.target = event.target.parentNode;
3426
+ }
3427
+
3428
+ // For mouse/key events; add metaKey if it's not there (#3368, IE6/7/8)
3429
+ if ( event.metaKey === undefined ) {
3430
+ event.metaKey = event.ctrlKey;
3431
+ }
3432
+
3433
+ return fixHook.filter? fixHook.filter( event, originalEvent ) : event;
3434
+ },
3435
+
3436
+ special: {
3437
+ ready: {
3438
+ // Make sure the ready event is setup
3439
+ setup: NetBase.bindReady
3440
+ },
3441
+
3442
+ load: {
3443
+ // Prevent triggered image.load events from bubbling to window.load
3444
+ noBubble: true
3445
+ },
3446
+
3447
+ focus: {
3448
+ delegateType: "focusin"
3449
+ },
3450
+ blur: {
3451
+ delegateType: "focusout"
3452
+ },
3453
+
3454
+ beforeunload: {
3455
+ setup: function( data, namespaces, eventHandle ) {
3456
+ // We only want to do this special case on windows
3457
+ if ( NetBase.isWindow( this ) ) {
3458
+ this.onbeforeunload = eventHandle;
3459
+ }
3460
+ },
3461
+
3462
+ teardown: function( namespaces, eventHandle ) {
3463
+ if ( this.onbeforeunload === eventHandle ) {
3464
+ this.onbeforeunload = null;
3465
+ }
3466
+ }
3467
+ }
3468
+ },
3469
+
3470
+ simulate: function( type, elem, event, bubble ) {
3471
+ // Piggyback on a donor event to simulate a different one.
3472
+ // Fake originalEvent to avoid donor's stopPropagation, but if the
3473
+ // simulated event prevents default then we do the same on the donor.
3474
+ var e = NetBase.extend(
3475
+ new NetBase.Event(),
3476
+ event,
3477
+ { type: type,
3478
+ isSimulated: true,
3479
+ originalEvent: {}
3480
+ }
3481
+ );
3482
+ if ( bubble ) {
3483
+ NetBase.event.trigger( e, null, elem );
3484
+ } else {
3485
+ NetBase.event.dispatch.call( elem, e );
3486
+ }
3487
+ if ( e.isDefaultPrevented() ) {
3488
+ event.preventDefault();
3489
+ }
3490
+ }
3491
+ };
3492
+
3493
+ // Some plugins are using, but it's undocumented/deprecated and will be removed.
3494
+ // The 1.7 special event interface should provide all the hooks needed now.
3495
+ NetBase.event.handle = NetBase.event.dispatch;
3496
+
3497
+ NetBase.removeEvent = document.removeEventListener ?
3498
+ function( elem, type, handle ) {
3499
+ if ( elem.removeEventListener ) {
3500
+ elem.removeEventListener( type, handle, false );
3501
+ }
3502
+ } :
3503
+ function( elem, type, handle ) {
3504
+ if ( elem.detachEvent ) {
3505
+ elem.detachEvent( "on" + type, handle );
3506
+ }
3507
+ };
3508
+
3509
+ NetBase.Event = function( src, props ) {
3510
+ // Allow instantiation without the 'new' keyword
3511
+ if ( !(this instanceof NetBase.Event) ) {
3512
+ return new NetBase.Event( src, props );
3513
+ }
3514
+
3515
+ // Event object
3516
+ if ( src && src.type ) {
3517
+ this.originalEvent = src;
3518
+ this.type = src.type;
3519
+
3520
+ // Events bubbling up the document may have been marked as prevented
3521
+ // by a handler lower down the tree; reflect the correct value.
3522
+ this.isDefaultPrevented = ( src.defaultPrevented || src.returnValue === false ||
3523
+ src.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse;
3524
+
3525
+ // Event type
3526
+ } else {
3527
+ this.type = src;
3528
+ }
3529
+
3530
+ // Put explicitly provided properties onto the event object
3531
+ if ( props ) {
3532
+ NetBase.extend( this, props );
3533
+ }
3534
+
3535
+ // Create a timestamp if incoming event doesn't have one
3536
+ this.timeStamp = src && src.timeStamp || NetBase.now();
3537
+
3538
+ // Mark it as fixed
3539
+ this[ NetBase.expando ] = true;
3540
+ };
3541
+
3542
+ function returnFalse() {
3543
+ return false;
3544
+ }
3545
+ function returnTrue() {
3546
+ return true;
3547
+ }
3548
+
3549
+ // NetBase.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
3550
+ // http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
3551
+ NetBase.Event.prototype = {
3552
+ preventDefault: function() {
3553
+ this.isDefaultPrevented = returnTrue;
3554
+
3555
+ var e = this.originalEvent;
3556
+ if ( !e ) {
3557
+ return;
3558
+ }
3559
+
3560
+ // if preventDefault exists run it on the original event
3561
+ if ( e.preventDefault ) {
3562
+ e.preventDefault();
3563
+
3564
+ // otherwise set the returnValue property of the original event to false (IE)
3565
+ } else {
3566
+ e.returnValue = false;
3567
+ }
3568
+ },
3569
+ stopPropagation: function() {
3570
+ this.isPropagationStopped = returnTrue;
3571
+
3572
+ var e = this.originalEvent;
3573
+ if ( !e ) {
3574
+ return;
3575
+ }
3576
+ // if stopPropagation exists run it on the original event
3577
+ if ( e.stopPropagation ) {
3578
+ e.stopPropagation();
3579
+ }
3580
+ // otherwise set the cancelBubble property of the original event to true (IE)
3581
+ e.cancelBubble = true;
3582
+ },
3583
+ stopImmediatePropagation: function() {
3584
+ this.isImmediatePropagationStopped = returnTrue;
3585
+ this.stopPropagation();
3586
+ },
3587
+ isDefaultPrevented: returnFalse,
3588
+ isPropagationStopped: returnFalse,
3589
+ isImmediatePropagationStopped: returnFalse
3590
+ };
3591
+
3592
+ // Create mouseenter/leave events using mouseover/out and event-time checks
3593
+ NetBase.each({
3594
+ mouseenter: "mouseover",
3595
+ mouseleave: "mouseout"
3596
+ }, function( orig, fix ) {
3597
+ NetBase.event.special[ orig ] = {
3598
+ delegateType: fix,
3599
+ bindType: fix,
3600
+
3601
+ handle: function( event ) {
3602
+ var target = this,
3603
+ related = event.relatedTarget,
3604
+ handleObj = event.handleObj,
3605
+ selector = handleObj.selector,
3606
+ ret;
3607
+
3608
+ // For mousenter/leave call the handler if related is outside the target.
3609
+ // NB: No relatedTarget if the mouse left/entered the browser window
3610
+ if ( !related || (related !== target && !NetBase.contains( target, related )) ) {
3611
+ event.type = handleObj.origType;
3612
+ ret = handleObj.handler.apply( this, arguments );
3613
+ event.type = fix;
3614
+ }
3615
+ return ret;
3616
+ }
3617
+ };
3618
+ });
3619
+
3620
+ // IE submit delegation
3621
+ if ( !NetBase.support.submitBubbles ) {
3622
+
3623
+ NetBase.event.special.submit = {
3624
+ setup: function() {
3625
+ // Only need this for delegated form submit events
3626
+ if ( NetBase.nodeName( this, "form" ) ) {
3627
+ return false;
3628
+ }
3629
+
3630
+ // Lazy-add a submit handler when a descendant form may potentially be submitted
3631
+ NetBase.event.add( this, "click._submit keypress._submit", function( e ) {
3632
+ // Node name check avoids a VML-related crash in IE (#9807)
3633
+ var elem = e.target,
3634
+ form = NetBase.nodeName( elem, "input" ) || NetBase.nodeName( elem, "button" ) ? elem.form : undefined;
3635
+ if ( form && !form._submit_attached ) {
3636
+ NetBase.event.add( form, "submit._submit", function( event ) {
3637
+ event._submit_bubble = true;
3638
+ });
3639
+ form._submit_attached = true;
3640
+ }
3641
+ });
3642
+ // return undefined since we don't need an event listener
3643
+ },
3644
+
3645
+ postDispatch: function( event ) {
3646
+ // If form was submitted by the user, bubble the event up the tree
3647
+ if ( event._submit_bubble ) {
3648
+ delete event._submit_bubble;
3649
+ if ( this.parentNode && !event.isTrigger ) {
3650
+ NetBase.event.simulate( "submit", this.parentNode, event, true );
3651
+ }
3652
+ }
3653
+ },
3654
+
3655
+ teardown: function() {
3656
+ // Only need this for delegated form submit events
3657
+ if ( NetBase.nodeName( this, "form" ) ) {
3658
+ return false;
3659
+ }
3660
+
3661
+ // Remove delegated handlers; cleanData eventually reaps submit handlers attached above
3662
+ NetBase.event.remove( this, "._submit" );
3663
+ }
3664
+ };
3665
+ }
3666
+
3667
+ // IE change delegation and checkbox/radio fix
3668
+ if ( !NetBase.support.changeBubbles ) {
3669
+
3670
+ NetBase.event.special.change = {
3671
+
3672
+ setup: function() {
3673
+
3674
+ if ( rformElems.test( this.nodeName ) ) {
3675
+ // IE doesn't fire change on a check/radio until blur; trigger it on click
3676
+ // after a propertychange. Eat the blur-change in special.change.handle.
3677
+ // This still fires onchange a second time for check/radio after blur.
3678
+ if ( this.type === "checkbox" || this.type === "radio" ) {
3679
+ NetBase.event.add( this, "propertychange._change", function( event ) {
3680
+ if ( event.originalEvent.propertyName === "checked" ) {
3681
+ this._just_changed = true;
3682
+ }
3683
+ });
3684
+ NetBase.event.add( this, "click._change", function( event ) {
3685
+ if ( this._just_changed && !event.isTrigger ) {
3686
+ this._just_changed = false;
3687
+ NetBase.event.simulate( "change", this, event, true );
3688
+ }
3689
+ });
3690
+ }
3691
+ return false;
3692
+ }
3693
+ // Delegated event; lazy-add a change handler on descendant inputs
3694
+ NetBase.event.add( this, "beforeactivate._change", function( e ) {
3695
+ var elem = e.target;
3696
+
3697
+ if ( rformElems.test( elem.nodeName ) && !elem._change_attached ) {
3698
+ NetBase.event.add( elem, "change._change", function( event ) {
3699
+ if ( this.parentNode && !event.isSimulated && !event.isTrigger ) {
3700
+ NetBase.event.simulate( "change", this.parentNode, event, true );
3701
+ }
3702
+ });
3703
+ elem._change_attached = true;
3704
+ }
3705
+ });
3706
+ },
3707
+
3708
+ handle: function( event ) {
3709
+ var elem = event.target;
3710
+
3711
+ // Swallow native change events from checkbox/radio, we already triggered them above
3712
+ if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) {
3713
+ return event.handleObj.handler.apply( this, arguments );
3714
+ }
3715
+ },
3716
+
3717
+ teardown: function() {
3718
+ NetBase.event.remove( this, "._change" );
3719
+
3720
+ return rformElems.test( this.nodeName );
3721
+ }
3722
+ };
3723
+ }
3724
+
3725
+ // Create "bubbling" focus and blur events
3726
+ if ( !NetBase.support.focusinBubbles ) {
3727
+ NetBase.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) {
3728
+
3729
+ // Attach a single capturing handler while someone wants focusin/focusout
3730
+ var attaches = 0,
3731
+ handler = function( event ) {
3732
+ NetBase.event.simulate( fix, event.target, NetBase.event.fix( event ), true );
3733
+ };
3734
+
3735
+ NetBase.event.special[ fix ] = {
3736
+ setup: function() {
3737
+ if ( attaches++ === 0 ) {
3738
+ document.addEventListener( orig, handler, true );
3739
+ }
3740
+ },
3741
+ teardown: function() {
3742
+ if ( --attaches === 0 ) {
3743
+ document.removeEventListener( orig, handler, true );
3744
+ }
3745
+ }
3746
+ };
3747
+ });
3748
+ }
3749
+
3750
+ NetBase.fn.extend({
3751
+
3752
+ on: function( types, selector, data, fn, /*INTERNAL*/ one ) {
3753
+ var origFn, type;
3754
+
3755
+ // Types can be a map of types/handlers
3756
+ if ( typeof types === "object" ) {
3757
+ // ( types-Object, selector, data )
3758
+ if ( typeof selector !== "string" ) { // && selector != null
3759
+ // ( types-Object, data )
3760
+ data = data || selector;
3761
+ selector = undefined;
3762
+ }
3763
+ for ( type in types ) {
3764
+ this.on( type, selector, data, types[ type ], one );
3765
+ }
3766
+ return this;
3767
+ }
3768
+
3769
+ if ( data == null && fn == null ) {
3770
+ // ( types, fn )
3771
+ fn = selector;
3772
+ data = selector = undefined;
3773
+ } else if ( fn == null ) {
3774
+ if ( typeof selector === "string" ) {
3775
+ // ( types, selector, fn )
3776
+ fn = data;
3777
+ data = undefined;
3778
+ } else {
3779
+ // ( types, data, fn )
3780
+ fn = data;
3781
+ data = selector;
3782
+ selector = undefined;
3783
+ }
3784
+ }
3785
+ if ( fn === false ) {
3786
+ fn = returnFalse;
3787
+ } else if ( !fn ) {
3788
+ return this;
3789
+ }
3790
+
3791
+ if ( one === 1 ) {
3792
+ origFn = fn;
3793
+ fn = function( event ) {
3794
+ // Can use an empty set, since event contains the info
3795
+ NetBase().off( event );
3796
+ return origFn.apply( this, arguments );
3797
+ };
3798
+ // Use same guid so caller can remove using origFn
3799
+ fn.guid = origFn.guid || ( origFn.guid = NetBase.guid++ );
3800
+ }
3801
+ return this.each( function() {
3802
+ NetBase.event.add( this, types, fn, data, selector );
3803
+ });
3804
+ },
3805
+ one: function( types, selector, data, fn ) {
3806
+ return this.on( types, selector, data, fn, 1 );
3807
+ },
3808
+ off: function( types, selector, fn ) {
3809
+ if ( types && types.preventDefault && types.handleObj ) {
3810
+ // ( event ) dispatched NetBase.Event
3811
+ var handleObj = types.handleObj;
3812
+ NetBase( types.delegateTarget ).off(
3813
+ handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType,
3814
+ handleObj.selector,
3815
+ handleObj.handler
3816
+ );
3817
+ return this;
3818
+ }
3819
+ if ( typeof types === "object" ) {
3820
+ // ( types-object [, selector] )
3821
+ for ( var type in types ) {
3822
+ this.off( type, selector, types[ type ] );
3823
+ }
3824
+ return this;
3825
+ }
3826
+ if ( selector === false || typeof selector === "function" ) {
3827
+ // ( types [, fn] )
3828
+ fn = selector;
3829
+ selector = undefined;
3830
+ }
3831
+ if ( fn === false ) {
3832
+ fn = returnFalse;
3833
+ }
3834
+ return this.each(function() {
3835
+ NetBase.event.remove( this, types, fn, selector );
3836
+ });
3837
+ },
3838
+
3839
+ bind: function( types, data, fn ) {
3840
+ return this.on( types, null, data, fn );
3841
+ },
3842
+ unbind: function( types, fn ) {
3843
+ return this.off( types, null, fn );
3844
+ },
3845
+
3846
+ live: function( types, data, fn ) {
3847
+ NetBase( this.context ).on( types, this.selector, data, fn );
3848
+ return this;
3849
+ },
3850
+ die: function( types, fn ) {
3851
+ NetBase( this.context ).off( types, this.selector || "**", fn );
3852
+ return this;
3853
+ },
3854
+
3855
+ delegate: function( selector, types, data, fn ) {
3856
+ return this.on( types, selector, data, fn );
3857
+ },
3858
+ undelegate: function( selector, types, fn ) {
3859
+ // ( namespace ) or ( selector, types [, fn] )
3860
+ return arguments.length == 1? this.off( selector, "**" ) : this.off( types, selector, fn );
3861
+ },
3862
+
3863
+ trigger: function( type, data ) {
3864
+ return this.each(function() {
3865
+ NetBase.event.trigger( type, data, this );
3866
+ });
3867
+ },
3868
+ triggerHandler: function( type, data ) {
3869
+ if ( this[0] ) {
3870
+ return NetBase.event.trigger( type, data, this[0], true );
3871
+ }
3872
+ },
3873
+
3874
+ toggle: function( fn ) {
3875
+ // Save reference to arguments for access in closure
3876
+ var args = arguments,
3877
+ guid = fn.guid || NetBase.guid++,
3878
+ i = 0,
3879
+ toggler = function( event ) {
3880
+ // Figure out which function to execute
3881
+ var lastToggle = ( NetBase._data( this, "lastToggle" + fn.guid ) || 0 ) % i;
3882
+ NetBase._data( this, "lastToggle" + fn.guid, lastToggle + 1 );
3883
+
3884
+ // Make sure that clicks stop
3885
+ event.preventDefault();
3886
+
3887
+ // and execute the function
3888
+ return args[ lastToggle ].apply( this, arguments ) || false;
3889
+ };
3890
+
3891
+ // link all the functions, so any of them can unbind this click handler
3892
+ toggler.guid = guid;
3893
+ while ( i < args.length ) {
3894
+ args[ i++ ].guid = guid;
3895
+ }
3896
+
3897
+ return this.click( toggler );
3898
+ },
3899
+
3900
+ hover: function( fnOver, fnOut ) {
3901
+ return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
3902
+ }
3903
+ });
3904
+
3905
+ NetBase.each( ("blur focus focusin focusout load resize scroll unload click dblclick " +
3906
+ "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
3907
+ "change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) {
3908
+
3909
+ // Handle event binding
3910
+ NetBase.fn[ name ] = function( data, fn ) {
3911
+ if ( fn == null ) {
3912
+ fn = data;
3913
+ data = null;
3914
+ }
3915
+
3916
+ return arguments.length > 0 ?
3917
+ this.on( name, null, data, fn ) :
3918
+ this.trigger( name );
3919
+ };
3920
+
3921
+ if ( NetBase.attrFn ) {
3922
+ NetBase.attrFn[ name ] = true;
3923
+ }
3924
+
3925
+ if ( rkeyEvent.test( name ) ) {
3926
+ NetBase.event.fixHooks[ name ] = NetBase.event.keyHooks;
3927
+ }
3928
+
3929
+ if ( rmouseEvent.test( name ) ) {
3930
+ NetBase.event.fixHooks[ name ] = NetBase.event.mouseHooks;
3931
+ }
3932
+ });
3933
+
3934
+
3935
+
3936
+ /*!
3937
+ * Sizzle CSS Selector Engine
3938
+ * Copyright 2011, The Dojo Foundation
3939
+ * Released under the MIT, BSD, and GPL Licenses.
3940
+ * More information: http://sizzlejs.com/
3941
+ */
3942
+ (function(){
3943
+
3944
+ var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
3945
+ expando = "sizcache" + (Math.random() + '').replace('.', ''),
3946
+ done = 0,
3947
+ toString = Object.prototype.toString,
3948
+ hasDuplicate = false,
3949
+ baseHasDuplicate = true,
3950
+ rBackslash = /\\/g,
3951
+ rReturn = /\r\n/g,
3952
+ rNonWord = /\W/;
3953
+
3954
+ // Here we check if the JavaScript engine is using some sort of
3955
+ // optimization where it does not always call our comparision
3956
+ // function. If that is the case, discard the hasDuplicate value.
3957
+ // Thus far that includes Google Chrome.
3958
+ [0, 0].sort(function() {
3959
+ baseHasDuplicate = false;
3960
+ return 0;
3961
+ });
3962
+
3963
+ var Sizzle = function( selector, context, results, seed ) {
3964
+ results = results || [];
3965
+ context = context || document;
3966
+
3967
+ var origContext = context;
3968
+
3969
+ if ( context.nodeType !== 1 && context.nodeType !== 9 ) {
3970
+ return [];
3971
+ }
3972
+
3973
+ if ( !selector || typeof selector !== "string" ) {
3974
+ return results;
3975
+ }
3976
+
3977
+ var m, set, checkSet, extra, ret, cur, pop, i,
3978
+ prune = true,
3979
+ contextXML = Sizzle.isXML( context ),
3980
+ parts = [],
3981
+ soFar = selector;
3982
+
3983
+ // Reset the position of the chunker regexp (start from head)
3984
+ do {
3985
+ chunker.exec( "" );
3986
+ m = chunker.exec( soFar );
3987
+
3988
+ if ( m ) {
3989
+ soFar = m[3];
3990
+
3991
+ parts.push( m[1] );
3992
+
3993
+ if ( m[2] ) {
3994
+ extra = m[3];
3995
+ break;
3996
+ }
3997
+ }
3998
+ } while ( m );
3999
+
4000
+ if ( parts.length > 1 && origPOS.exec( selector ) ) {
4001
+
4002
+ if ( parts.length === 2 && Expr.relative[ parts[0] ] ) {
4003
+ set = posProcess( parts[0] + parts[1], context, seed );
4004
+
4005
+ } else {
4006
+ set = Expr.relative[ parts[0] ] ?
4007
+ [ context ] :
4008
+ Sizzle( parts.shift(), context );
4009
+
4010
+ while ( parts.length ) {
4011
+ selector = parts.shift();
4012
+
4013
+ if ( Expr.relative[ selector ] ) {
4014
+ selector += parts.shift();
4015
+ }
4016
+
4017
+ set = posProcess( selector, set, seed );
4018
+ }
4019
+ }
4020
+
4021
+ } else {
4022
+ // Take a shortcut and set the context if the root selector is an ID
4023
+ // (but not if it'll be faster if the inner selector is an ID)
4024
+ if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML &&
4025
+ Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) {
4026
+
4027
+ ret = Sizzle.find( parts.shift(), context, contextXML );
4028
+ context = ret.expr ?
4029
+ Sizzle.filter( ret.expr, ret.set )[0] :
4030
+ ret.set[0];
4031
+ }
4032
+
4033
+ if ( context ) {
4034
+ ret = seed ?
4035
+ { expr: parts.pop(), set: makeArray(seed) } :
4036
+ Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML );
4037
+
4038
+ set = ret.expr ?
4039
+ Sizzle.filter( ret.expr, ret.set ) :
4040
+ ret.set;
4041
+
4042
+ if ( parts.length > 0 ) {
4043
+ checkSet = makeArray( set );
4044
+
4045
+ } else {
4046
+ prune = false;
4047
+ }
4048
+
4049
+ while ( parts.length ) {
4050
+ cur = parts.pop();
4051
+ pop = cur;
4052
+
4053
+ if ( !Expr.relative[ cur ] ) {
4054
+ cur = "";
4055
+ } else {
4056
+ pop = parts.pop();
4057
+ }
4058
+
4059
+ if ( pop == null ) {
4060
+ pop = context;
4061
+ }
4062
+
4063
+ Expr.relative[ cur ]( checkSet, pop, contextXML );
4064
+ }
4065
+
4066
+ } else {
4067
+ checkSet = parts = [];
4068
+ }
4069
+ }
4070
+
4071
+ if ( !checkSet ) {
4072
+ checkSet = set;
4073
+ }
4074
+
4075
+ if ( !checkSet ) {
4076
+ Sizzle.error( cur || selector );
4077
+ }
4078
+
4079
+ if ( toString.call(checkSet) === "[object Array]" ) {
4080
+ if ( !prune ) {
4081
+ results.push.apply( results, checkSet );
4082
+
4083
+ } else if ( context && context.nodeType === 1 ) {
4084
+ for ( i = 0; checkSet[i] != null; i++ ) {
4085
+ if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && Sizzle.contains(context, checkSet[i])) ) {
4086
+ results.push( set[i] );
4087
+ }
4088
+ }
4089
+
4090
+ } else {
4091
+ for ( i = 0; checkSet[i] != null; i++ ) {
4092
+ if ( checkSet[i] && checkSet[i].nodeType === 1 ) {
4093
+ results.push( set[i] );
4094
+ }
4095
+ }
4096
+ }
4097
+
4098
+ } else {
4099
+ makeArray( checkSet, results );
4100
+ }
4101
+
4102
+ if ( extra ) {
4103
+ Sizzle( extra, origContext, results, seed );
4104
+ Sizzle.uniqueSort( results );
4105
+ }
4106
+
4107
+ return results;
4108
+ };
4109
+
4110
+ Sizzle.uniqueSort = function( results ) {
4111
+ if ( sortOrder ) {
4112
+ hasDuplicate = baseHasDuplicate;
4113
+ results.sort( sortOrder );
4114
+
4115
+ if ( hasDuplicate ) {
4116
+ for ( var i = 1; i < results.length; i++ ) {
4117
+ if ( results[i] === results[ i - 1 ] ) {
4118
+ results.splice( i--, 1 );
4119
+ }
4120
+ }
4121
+ }
4122
+ }
4123
+
4124
+ return results;
4125
+ };
4126
+
4127
+ Sizzle.matches = function( expr, set ) {
4128
+ return Sizzle( expr, null, null, set );
4129
+ };
4130
+
4131
+ Sizzle.matchesSelector = function( node, expr ) {
4132
+ return Sizzle( expr, null, null, [node] ).length > 0;
4133
+ };
4134
+
4135
+ Sizzle.find = function( expr, context, isXML ) {
4136
+ var set, i, len, match, type, left;
4137
+
4138
+ if ( !expr ) {
4139
+ return [];
4140
+ }
4141
+
4142
+ for ( i = 0, len = Expr.order.length; i < len; i++ ) {
4143
+ type = Expr.order[i];
4144
+
4145
+ if ( (match = Expr.leftMatch[ type ].exec( expr )) ) {
4146
+ left = match[1];
4147
+ match.splice( 1, 1 );
4148
+
4149
+ if ( left.substr( left.length - 1 ) !== "\\" ) {
4150
+ match[1] = (match[1] || "").replace( rBackslash, "" );
4151
+ set = Expr.find[ type ]( match, context, isXML );
4152
+
4153
+ if ( set != null ) {
4154
+ expr = expr.replace( Expr.match[ type ], "" );
4155
+ break;
4156
+ }
4157
+ }
4158
+ }
4159
+ }
4160
+
4161
+ if ( !set ) {
4162
+ set = typeof context.getElementsByTagName !== "undefined" ?
4163
+ context.getElementsByTagName( "*" ) :
4164
+ [];
4165
+ }
4166
+
4167
+ return { set: set, expr: expr };
4168
+ };
4169
+
4170
+ Sizzle.filter = function( expr, set, inplace, not ) {
4171
+ var match, anyFound,
4172
+ type, found, item, filter, left,
4173
+ i, pass,
4174
+ old = expr,
4175
+ result = [],
4176
+ curLoop = set,
4177
+ isXMLFilter = set && set[0] && Sizzle.isXML( set[0] );
4178
+
4179
+ while ( expr && set.length ) {
4180
+ for ( type in Expr.filter ) {
4181
+ if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) {
4182
+ filter = Expr.filter[ type ];
4183
+ left = match[1];
4184
+
4185
+ anyFound = false;
4186
+
4187
+ match.splice(1,1);
4188
+
4189
+ if ( left.substr( left.length - 1 ) === "\\" ) {
4190
+ continue;
4191
+ }
4192
+
4193
+ if ( curLoop === result ) {
4194
+ result = [];
4195
+ }
4196
+
4197
+ if ( Expr.preFilter[ type ] ) {
4198
+ match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter );
4199
+
4200
+ if ( !match ) {
4201
+ anyFound = found = true;
4202
+
4203
+ } else if ( match === true ) {
4204
+ continue;
4205
+ }
4206
+ }
4207
+
4208
+ if ( match ) {
4209
+ for ( i = 0; (item = curLoop[i]) != null; i++ ) {
4210
+ if ( item ) {
4211
+ found = filter( item, match, i, curLoop );
4212
+ pass = not ^ found;
4213
+
4214
+ if ( inplace && found != null ) {
4215
+ if ( pass ) {
4216
+ anyFound = true;
4217
+
4218
+ } else {
4219
+ curLoop[i] = false;
4220
+ }
4221
+
4222
+ } else if ( pass ) {
4223
+ result.push( item );
4224
+ anyFound = true;
4225
+ }
4226
+ }
4227
+ }
4228
+ }
4229
+
4230
+ if ( found !== undefined ) {
4231
+ if ( !inplace ) {
4232
+ curLoop = result;
4233
+ }
4234
+
4235
+ expr = expr.replace( Expr.match[ type ], "" );
4236
+
4237
+ if ( !anyFound ) {
4238
+ return [];
4239
+ }
4240
+
4241
+ break;
4242
+ }
4243
+ }
4244
+ }
4245
+
4246
+ // Improper expression
4247
+ if ( expr === old ) {
4248
+ if ( anyFound == null ) {
4249
+ Sizzle.error( expr );
4250
+
4251
+ } else {
4252
+ break;
4253
+ }
4254
+ }
4255
+
4256
+ old = expr;
4257
+ }
4258
+
4259
+ return curLoop;
4260
+ };
4261
+
4262
+ Sizzle.error = function( msg ) {
4263
+ throw new Error( "Syntax error, unrecognized expression: " + msg );
4264
+ };
4265
+
4266
+ /**
4267
+ * Utility function for retreiving the text value of an array of DOM nodes
4268
+ * @param {Array|Element} elem
4269
+ */
4270
+ var getText = Sizzle.getText = function( elem ) {
4271
+ var i, node,
4272
+ nodeType = elem.nodeType,
4273
+ ret = "";
4274
+
4275
+ if ( nodeType ) {
4276
+ if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
4277
+ // Use textContent || innerText for elements
4278
+ if ( typeof elem.textContent === 'string' ) {
4279
+ return elem.textContent;
4280
+ } else if ( typeof elem.innerText === 'string' ) {
4281
+ // Replace IE's carriage returns
4282
+ return elem.innerText.replace( rReturn, '' );
4283
+ } else {
4284
+ // Traverse it's children
4285
+ for ( elem = elem.firstChild; elem; elem = elem.nextSibling) {
4286
+ ret += getText( elem );
4287
+ }
4288
+ }
4289
+ } else if ( nodeType === 3 || nodeType === 4 ) {
4290
+ return elem.nodeValue;
4291
+ }
4292
+ } else {
4293
+
4294
+ // If no nodeType, this is expected to be an array
4295
+ for ( i = 0; (node = elem[i]); i++ ) {
4296
+ // Do not traverse comment nodes
4297
+ if ( node.nodeType !== 8 ) {
4298
+ ret += getText( node );
4299
+ }
4300
+ }
4301
+ }
4302
+ return ret;
4303
+ };
4304
+
4305
+ var Expr = Sizzle.selectors = {
4306
+ order: [ "ID", "NAME", "TAG" ],
4307
+
4308
+ match: {
4309
+ ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
4310
+ CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
4311
+ NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,
4312
+ ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,
4313
+ TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,
4314
+ CHILD: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,
4315
+ POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,
4316
+ PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/
4317
+ },
4318
+
4319
+ leftMatch: {},
4320
+
4321
+ attrMap: {
4322
+ "class": "className",
4323
+ "for": "htmlFor"
4324
+ },
4325
+
4326
+ attrHandle: {
4327
+ href: function( elem ) {
4328
+ return elem.getAttribute( "href" );
4329
+ },
4330
+ type: function( elem ) {
4331
+ return elem.getAttribute( "type" );
4332
+ }
4333
+ },
4334
+
4335
+ relative: {
4336
+ "+": function(checkSet, part){
4337
+ var isPartStr = typeof part === "string",
4338
+ isTag = isPartStr && !rNonWord.test( part ),
4339
+ isPartStrNotTag = isPartStr && !isTag;
4340
+
4341
+ if ( isTag ) {
4342
+ part = part.toLowerCase();
4343
+ }
4344
+
4345
+ for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) {
4346
+ if ( (elem = checkSet[i]) ) {
4347
+ while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {}
4348
+
4349
+ checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ?
4350
+ elem || false :
4351
+ elem === part;
4352
+ }
4353
+ }
4354
+
4355
+ if ( isPartStrNotTag ) {
4356
+ Sizzle.filter( part, checkSet, true );
4357
+ }
4358
+ },
4359
+
4360
+ ">": function( checkSet, part ) {
4361
+ var elem,
4362
+ isPartStr = typeof part === "string",
4363
+ i = 0,
4364
+ l = checkSet.length;
4365
+
4366
+ if ( isPartStr && !rNonWord.test( part ) ) {
4367
+ part = part.toLowerCase();
4368
+
4369
+ for ( ; i < l; i++ ) {
4370
+ elem = checkSet[i];
4371
+
4372
+ if ( elem ) {
4373
+ var parent = elem.parentNode;
4374
+ checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false;
4375
+ }
4376
+ }
4377
+
4378
+ } else {
4379
+ for ( ; i < l; i++ ) {
4380
+ elem = checkSet[i];
4381
+
4382
+ if ( elem ) {
4383
+ checkSet[i] = isPartStr ?
4384
+ elem.parentNode :
4385
+ elem.parentNode === part;
4386
+ }
4387
+ }
4388
+
4389
+ if ( isPartStr ) {
4390
+ Sizzle.filter( part, checkSet, true );
4391
+ }
4392
+ }
4393
+ },
4394
+
4395
+ "": function(checkSet, part, isXML){
4396
+ var nodeCheck,
4397
+ doneName = done++,
4398
+ checkFn = dirCheck;
4399
+
4400
+ if ( typeof part === "string" && !rNonWord.test( part ) ) {
4401
+ part = part.toLowerCase();
4402
+ nodeCheck = part;
4403
+ checkFn = dirNodeCheck;
4404
+ }
4405
+
4406
+ checkFn( "parentNode", part, doneName, checkSet, nodeCheck, isXML );
4407
+ },
4408
+
4409
+ "~": function( checkSet, part, isXML ) {
4410
+ var nodeCheck,
4411
+ doneName = done++,
4412
+ checkFn = dirCheck;
4413
+
4414
+ if ( typeof part === "string" && !rNonWord.test( part ) ) {
4415
+ part = part.toLowerCase();
4416
+ nodeCheck = part;
4417
+ checkFn = dirNodeCheck;
4418
+ }
4419
+
4420
+ checkFn( "previousSibling", part, doneName, checkSet, nodeCheck, isXML );
4421
+ }
4422
+ },
4423
+
4424
+ find: {
4425
+ ID: function( match, context, isXML ) {
4426
+ if ( typeof context.getElementById !== "undefined" && !isXML ) {
4427
+ var m = context.getElementById(match[1]);
4428
+ // Check parentNode to catch when Blackberry 4.6 returns
4429
+ // nodes that are no longer in the document #6963
4430
+ return m && m.parentNode ? [m] : [];
4431
+ }
4432
+ },
4433
+
4434
+ NAME: function( match, context ) {
4435
+ if ( typeof context.getElementsByName !== "undefined" ) {
4436
+ var ret = [],
4437
+ results = context.getElementsByName( match[1] );
4438
+
4439
+ for ( var i = 0, l = results.length; i < l; i++ ) {
4440
+ if ( results[i].getAttribute("name") === match[1] ) {
4441
+ ret.push( results[i] );
4442
+ }
4443
+ }
4444
+
4445
+ return ret.length === 0 ? null : ret;
4446
+ }
4447
+ },
4448
+
4449
+ TAG: function( match, context ) {
4450
+ if ( typeof context.getElementsByTagName !== "undefined" ) {
4451
+ return context.getElementsByTagName( match[1] );
4452
+ }
4453
+ }
4454
+ },
4455
+ preFilter: {
4456
+ CLASS: function( match, curLoop, inplace, result, not, isXML ) {
4457
+ match = " " + match[1].replace( rBackslash, "" ) + " ";
4458
+
4459
+ if ( isXML ) {
4460
+ return match;
4461
+ }
4462
+
4463
+ for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) {
4464
+ if ( elem ) {
4465
+ if ( not ^ (elem.className && (" " + elem.className + " ").replace(/[\t\n\r]/g, " ").indexOf(match) >= 0) ) {
4466
+ if ( !inplace ) {
4467
+ result.push( elem );
4468
+ }
4469
+
4470
+ } else if ( inplace ) {
4471
+ curLoop[i] = false;
4472
+ }
4473
+ }
4474
+ }
4475
+
4476
+ return false;
4477
+ },
4478
+
4479
+ ID: function( match ) {
4480
+ return match[1].replace( rBackslash, "" );
4481
+ },
4482
+
4483
+ TAG: function( match, curLoop ) {
4484
+ return match[1].replace( rBackslash, "" ).toLowerCase();
4485
+ },
4486
+
4487
+ CHILD: function( match ) {
4488
+ if ( match[1] === "nth" ) {
4489
+ if ( !match[2] ) {
4490
+ Sizzle.error( match[0] );
4491
+ }
4492
+
4493
+ match[2] = match[2].replace(/^\+|\s*/g, '');
4494
+
4495
+ // parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6'
4496
+ var test = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec(
4497
+ match[2] === "even" && "2n" || match[2] === "odd" && "2n+1" ||
4498
+ !/\D/.test( match[2] ) && "0n+" + match[2] || match[2]);
4499
+
4500
+ // calculate the numbers (first)n+(last) including if they are negative
4501
+ match[2] = (test[1] + (test[2] || 1)) - 0;
4502
+ match[3] = test[3] - 0;
4503
+ }
4504
+ else if ( match[2] ) {
4505
+ Sizzle.error( match[0] );
4506
+ }
4507
+
4508
+ // TODO: Move to normal caching system
4509
+ match[0] = done++;
4510
+
4511
+ return match;
4512
+ },
4513
+
4514
+ ATTR: function( match, curLoop, inplace, result, not, isXML ) {
4515
+ var name = match[1] = match[1].replace( rBackslash, "" );
4516
+
4517
+ if ( !isXML && Expr.attrMap[name] ) {
4518
+ match[1] = Expr.attrMap[name];
4519
+ }
4520
+
4521
+ // Handle if an un-quoted value was used
4522
+ match[4] = ( match[4] || match[5] || "" ).replace( rBackslash, "" );
4523
+
4524
+ if ( match[2] === "~=" ) {
4525
+ match[4] = " " + match[4] + " ";
4526
+ }
4527
+
4528
+ return match;
4529
+ },
4530
+
4531
+ PSEUDO: function( match, curLoop, inplace, result, not ) {
4532
+ if ( match[1] === "not" ) {
4533
+ // If we're dealing with a complex expression, or a simple one
4534
+ if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) {
4535
+ match[3] = Sizzle(match[3], null, null, curLoop);
4536
+
4537
+ } else {
4538
+ var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not);
4539
+
4540
+ if ( !inplace ) {
4541
+ result.push.apply( result, ret );
4542
+ }
4543
+
4544
+ return false;
4545
+ }
4546
+
4547
+ } else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) {
4548
+ return true;
4549
+ }
4550
+
4551
+ return match;
4552
+ },
4553
+
4554
+ POS: function( match ) {
4555
+ match.unshift( true );
4556
+
4557
+ return match;
4558
+ }
4559
+ },
4560
+
4561
+ filters: {
4562
+ enabled: function( elem ) {
4563
+ return elem.disabled === false && elem.type !== "hidden";
4564
+ },
4565
+
4566
+ disabled: function( elem ) {
4567
+ return elem.disabled === true;
4568
+ },
4569
+
4570
+ checked: function( elem ) {
4571
+ return elem.checked === true;
4572
+ },
4573
+
4574
+ selected: function( elem ) {
4575
+ // Accessing this property makes selected-by-default
4576
+ // options in Safari work properly
4577
+ if ( elem.parentNode ) {
4578
+ elem.parentNode.selectedIndex;
4579
+ }
4580
+
4581
+ return elem.selected === true;
4582
+ },
4583
+
4584
+ parent: function( elem ) {
4585
+ return !!elem.firstChild;
4586
+ },
4587
+
4588
+ empty: function( elem ) {
4589
+ return !elem.firstChild;
4590
+ },
4591
+
4592
+ has: function( elem, i, match ) {
4593
+ return !!Sizzle( match[3], elem ).length;
4594
+ },
4595
+
4596
+ header: function( elem ) {
4597
+ return (/h\d/i).test( elem.nodeName );
4598
+ },
4599
+
4600
+ text: function( elem ) {
4601
+ var attr = elem.getAttribute( "type" ), type = elem.type;
4602
+ // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc)
4603
+ // use getAttribute instead to test this case
4604
+ return elem.nodeName.toLowerCase() === "input" && "text" === type && ( attr === type || attr === null );
4605
+ },
4606
+
4607
+ radio: function( elem ) {
4608
+ return elem.nodeName.toLowerCase() === "input" && "radio" === elem.type;
4609
+ },
4610
+
4611
+ checkbox: function( elem ) {
4612
+ return elem.nodeName.toLowerCase() === "input" && "checkbox" === elem.type;
4613
+ },
4614
+
4615
+ file: function( elem ) {
4616
+ return elem.nodeName.toLowerCase() === "input" && "file" === elem.type;
4617
+ },
4618
+
4619
+ password: function( elem ) {
4620
+ return elem.nodeName.toLowerCase() === "input" && "password" === elem.type;
4621
+ },
4622
+
4623
+ submit: function( elem ) {
4624
+ var name = elem.nodeName.toLowerCase();
4625
+ return (name === "input" || name === "button") && "submit" === elem.type;
4626
+ },
4627
+
4628
+ image: function( elem ) {
4629
+ return elem.nodeName.toLowerCase() === "input" && "image" === elem.type;
4630
+ },
4631
+
4632
+ reset: function( elem ) {
4633
+ var name = elem.nodeName.toLowerCase();
4634
+ return (name === "input" || name === "button") && "reset" === elem.type;
4635
+ },
4636
+
4637
+ button: function( elem ) {
4638
+ var name = elem.nodeName.toLowerCase();
4639
+ return name === "input" && "button" === elem.type || name === "button";
4640
+ },
4641
+
4642
+ input: function( elem ) {
4643
+ return (/input|select|textarea|button/i).test( elem.nodeName );
4644
+ },
4645
+
4646
+ focus: function( elem ) {
4647
+ return elem === elem.ownerDocument.activeElement;
4648
+ }
4649
+ },
4650
+ setFilters: {
4651
+ first: function( elem, i ) {
4652
+ return i === 0;
4653
+ },
4654
+
4655
+ last: function( elem, i, match, array ) {
4656
+ return i === array.length - 1;
4657
+ },
4658
+
4659
+ even: function( elem, i ) {
4660
+ return i % 2 === 0;
4661
+ },
4662
+
4663
+ odd: function( elem, i ) {
4664
+ return i % 2 === 1;
4665
+ },
4666
+
4667
+ lt: function( elem, i, match ) {
4668
+ return i < match[3] - 0;
4669
+ },
4670
+
4671
+ gt: function( elem, i, match ) {
4672
+ return i > match[3] - 0;
4673
+ },
4674
+
4675
+ nth: function( elem, i, match ) {
4676
+ return match[3] - 0 === i;
4677
+ },
4678
+
4679
+ eq: function( elem, i, match ) {
4680
+ return match[3] - 0 === i;
4681
+ }
4682
+ },
4683
+ filter: {
4684
+ PSEUDO: function( elem, match, i, array ) {
4685
+ var name = match[1],
4686
+ filter = Expr.filters[ name ];
4687
+
4688
+ if ( filter ) {
4689
+ return filter( elem, i, match, array );
4690
+
4691
+ } else if ( name === "contains" ) {
4692
+ return (elem.textContent || elem.innerText || getText([ elem ]) || "").indexOf(match[3]) >= 0;
4693
+
4694
+ } else if ( name === "not" ) {
4695
+ var not = match[3];
4696
+
4697
+ for ( var j = 0, l = not.length; j < l; j++ ) {
4698
+ if ( not[j] === elem ) {
4699
+ return false;
4700
+ }
4701
+ }
4702
+
4703
+ return true;
4704
+
4705
+ } else {
4706
+ Sizzle.error( name );
4707
+ }
4708
+ },
4709
+
4710
+ CHILD: function( elem, match ) {
4711
+ var first, last,
4712
+ doneName, parent, cache,
4713
+ count, diff,
4714
+ type = match[1],
4715
+ node = elem;
4716
+
4717
+ switch ( type ) {
4718
+ case "only":
4719
+ case "first":
4720
+ while ( (node = node.previousSibling) ) {
4721
+ if ( node.nodeType === 1 ) {
4722
+ return false;
4723
+ }
4724
+ }
4725
+
4726
+ if ( type === "first" ) {
4727
+ return true;
4728
+ }
4729
+
4730
+ node = elem;
4731
+
4732
+ /* falls through */
4733
+ case "last":
4734
+ while ( (node = node.nextSibling) ) {
4735
+ if ( node.nodeType === 1 ) {
4736
+ return false;
4737
+ }
4738
+ }
4739
+
4740
+ return true;
4741
+
4742
+ case "nth":
4743
+ first = match[2];
4744
+ last = match[3];
4745
+
4746
+ if ( first === 1 && last === 0 ) {
4747
+ return true;
4748
+ }
4749
+
4750
+ doneName = match[0];
4751
+ parent = elem.parentNode;
4752
+
4753
+ if ( parent && (parent[ expando ] !== doneName || !elem.nodeIndex) ) {
4754
+ count = 0;
4755
+
4756
+ for ( node = parent.firstChild; node; node = node.nextSibling ) {
4757
+ if ( node.nodeType === 1 ) {
4758
+ node.nodeIndex = ++count;
4759
+ }
4760
+ }
4761
+
4762
+ parent[ expando ] = doneName;
4763
+ }
4764
+
4765
+ diff = elem.nodeIndex - last;
4766
+
4767
+ if ( first === 0 ) {
4768
+ return diff === 0;
4769
+
4770
+ } else {
4771
+ return ( diff % first === 0 && diff / first >= 0 );
4772
+ }
4773
+ }
4774
+ },
4775
+
4776
+ ID: function( elem, match ) {
4777
+ return elem.nodeType === 1 && elem.getAttribute("id") === match;
4778
+ },
4779
+
4780
+ TAG: function( elem, match ) {
4781
+ return (match === "*" && elem.nodeType === 1) || !!elem.nodeName && elem.nodeName.toLowerCase() === match;
4782
+ },
4783
+
4784
+ CLASS: function( elem, match ) {
4785
+ return (" " + (elem.className || elem.getAttribute("class")) + " ")
4786
+ .indexOf( match ) > -1;
4787
+ },
4788
+
4789
+ ATTR: function( elem, match ) {
4790
+ var name = match[1],
4791
+ result = Sizzle.attr ?
4792
+ Sizzle.attr( elem, name ) :
4793
+ Expr.attrHandle[ name ] ?
4794
+ Expr.attrHandle[ name ]( elem ) :
4795
+ elem[ name ] != null ?
4796
+ elem[ name ] :
4797
+ elem.getAttribute( name ),
4798
+ value = result + "",
4799
+ type = match[2],
4800
+ check = match[4];
4801
+
4802
+ return result == null ?
4803
+ type === "!=" :
4804
+ !type && Sizzle.attr ?
4805
+ result != null :
4806
+ type === "=" ?
4807
+ value === check :
4808
+ type === "*=" ?
4809
+ value.indexOf(check) >= 0 :
4810
+ type === "~=" ?
4811
+ (" " + value + " ").indexOf(check) >= 0 :
4812
+ !check ?
4813
+ value && result !== false :
4814
+ type === "!=" ?
4815
+ value !== check :
4816
+ type === "^=" ?
4817
+ value.indexOf(check) === 0 :
4818
+ type === "$=" ?
4819
+ value.substr(value.length - check.length) === check :
4820
+ type === "|=" ?
4821
+ value === check || value.substr(0, check.length + 1) === check + "-" :
4822
+ false;
4823
+ },
4824
+
4825
+ POS: function( elem, match, i, array ) {
4826
+ var name = match[2],
4827
+ filter = Expr.setFilters[ name ];
4828
+
4829
+ if ( filter ) {
4830
+ return filter( elem, i, match, array );
4831
+ }
4832
+ }
4833
+ }
4834
+ };
4835
+
4836
+ var origPOS = Expr.match.POS,
4837
+ fescape = function(all, num){
4838
+ return "\\" + (num - 0 + 1);
4839
+ };
4840
+
4841
+ for ( var type in Expr.match ) {
4842
+ Expr.match[ type ] = new RegExp( Expr.match[ type ].source + (/(?![^\[]*\])(?![^\(]*\))/.source) );
4843
+ Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source.replace(/\\(\d+)/g, fescape) );
4844
+ }
4845
+ // Expose origPOS
4846
+ // "global" as in regardless of relation to brackets/parens
4847
+ Expr.match.globalPOS = origPOS;
4848
+
4849
+ var makeArray = function( array, results ) {
4850
+ array = Array.prototype.slice.call( array, 0 );
4851
+
4852
+ if ( results ) {
4853
+ results.push.apply( results, array );
4854
+ return results;
4855
+ }
4856
+
4857
+ return array;
4858
+ };
4859
+
4860
+ // Perform a simple check to determine if the browser is capable of
4861
+ // converting a NodeList to an array using builtin methods.
4862
+ // Also verifies that the returned array holds DOM nodes
4863
+ // (which is not the case in the Blackberry browser)
4864
+ try {
4865
+ Array.prototype.slice.call( document.documentElement.childNodes, 0 )[0].nodeType;
4866
+
4867
+ // Provide a fallback method if it does not work
4868
+ } catch( e ) {
4869
+ makeArray = function( array, results ) {
4870
+ var i = 0,
4871
+ ret = results || [];
4872
+
4873
+ if ( toString.call(array) === "[object Array]" ) {
4874
+ Array.prototype.push.apply( ret, array );
4875
+
4876
+ } else {
4877
+ if ( typeof array.length === "number" ) {
4878
+ for ( var l = array.length; i < l; i++ ) {
4879
+ ret.push( array[i] );
4880
+ }
4881
+
4882
+ } else {
4883
+ for ( ; array[i]; i++ ) {
4884
+ ret.push( array[i] );
4885
+ }
4886
+ }
4887
+ }
4888
+
4889
+ return ret;
4890
+ };
4891
+ }
4892
+
4893
+ var sortOrder, siblingCheck;
4894
+
4895
+ if ( document.documentElement.compareDocumentPosition ) {
4896
+ sortOrder = function( a, b ) {
4897
+ if ( a === b ) {
4898
+ hasDuplicate = true;
4899
+ return 0;
4900
+ }
4901
+
4902
+ if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) {
4903
+ return a.compareDocumentPosition ? -1 : 1;
4904
+ }
4905
+
4906
+ return a.compareDocumentPosition(b) & 4 ? -1 : 1;
4907
+ };
4908
+
4909
+ } else {
4910
+ sortOrder = function( a, b ) {
4911
+ // The nodes are identical, we can exit early
4912
+ if ( a === b ) {
4913
+ hasDuplicate = true;
4914
+ return 0;
4915
+
4916
+ // Fallback to using sourceIndex (in IE) if it's available on both nodes
4917
+ } else if ( a.sourceIndex && b.sourceIndex ) {
4918
+ return a.sourceIndex - b.sourceIndex;
4919
+ }
4920
+
4921
+ var al, bl,
4922
+ ap = [],
4923
+ bp = [],
4924
+ aup = a.parentNode,
4925
+ bup = b.parentNode,
4926
+ cur = aup;
4927
+
4928
+ // If the nodes are siblings (or identical) we can do a quick check
4929
+ if ( aup === bup ) {
4930
+ return siblingCheck( a, b );
4931
+
4932
+ // If no parents were found then the nodes are disconnected
4933
+ } else if ( !aup ) {
4934
+ return -1;
4935
+
4936
+ } else if ( !bup ) {
4937
+ return 1;
4938
+ }
4939
+
4940
+ // Otherwise they're somewhere else in the tree so we need
4941
+ // to build up a full list of the parentNodes for comparison
4942
+ while ( cur ) {
4943
+ ap.unshift( cur );
4944
+ cur = cur.parentNode;
4945
+ }
4946
+
4947
+ cur = bup;
4948
+
4949
+ while ( cur ) {
4950
+ bp.unshift( cur );
4951
+ cur = cur.parentNode;
4952
+ }
4953
+
4954
+ al = ap.length;
4955
+ bl = bp.length;
4956
+
4957
+ // Start walking down the tree looking for a discrepancy
4958
+ for ( var i = 0; i < al && i < bl; i++ ) {
4959
+ if ( ap[i] !== bp[i] ) {
4960
+ return siblingCheck( ap[i], bp[i] );
4961
+ }
4962
+ }
4963
+
4964
+ // We ended someplace up the tree so do a sibling check
4965
+ return i === al ?
4966
+ siblingCheck( a, bp[i], -1 ) :
4967
+ siblingCheck( ap[i], b, 1 );
4968
+ };
4969
+
4970
+ siblingCheck = function( a, b, ret ) {
4971
+ if ( a === b ) {
4972
+ return ret;
4973
+ }
4974
+
4975
+ var cur = a.nextSibling;
4976
+
4977
+ while ( cur ) {
4978
+ if ( cur === b ) {
4979
+ return -1;
4980
+ }
4981
+
4982
+ cur = cur.nextSibling;
4983
+ }
4984
+
4985
+ return 1;
4986
+ };
4987
+ }
4988
+
4989
+ // Check to see if the browser returns elements by name when
4990
+ // querying by getElementById (and provide a workaround)
4991
+ (function(){
4992
+ // We're going to inject a fake input element with a specified name
4993
+ var form = document.createElement("div"),
4994
+ id = "script" + (new Date()).getTime(),
4995
+ root = document.documentElement;
4996
+
4997
+ form.innerHTML = "<a name='" + id + "'/>";
4998
+
4999
+ // Inject it into the root element, check its status, and remove it quickly
5000
+ root.insertBefore( form, root.firstChild );
5001
+
5002
+ // The workaround has to do additional checks after a getElementById
5003
+ // Which slows things down for other browsers (hence the branching)
5004
+ if ( document.getElementById( id ) ) {
5005
+ Expr.find.ID = function( match, context, isXML ) {
5006
+ if ( typeof context.getElementById !== "undefined" && !isXML ) {
5007
+ var m = context.getElementById(match[1]);
5008
+
5009
+ return m ?
5010
+ m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ?
5011
+ [m] :
5012
+ undefined :
5013
+ [];
5014
+ }
5015
+ };
5016
+
5017
+ Expr.filter.ID = function( elem, match ) {
5018
+ var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id");
5019
+
5020
+ return elem.nodeType === 1 && node && node.nodeValue === match;
5021
+ };
5022
+ }
5023
+
5024
+ root.removeChild( form );
5025
+
5026
+ // release memory in IE
5027
+ root = form = null;
5028
+ })();
5029
+
5030
+ (function(){
5031
+ // Check to see if the browser returns only elements
5032
+ // when doing getElementsByTagName("*")
5033
+
5034
+ // Create a fake element
5035
+ var div = document.createElement("div");
5036
+ div.appendChild( document.createComment("") );
5037
+
5038
+ // Make sure no comments are found
5039
+ if ( div.getElementsByTagName("*").length > 0 ) {
5040
+ Expr.find.TAG = function( match, context ) {
5041
+ var results = context.getElementsByTagName( match[1] );
5042
+
5043
+ // Filter out possible comments
5044
+ if ( match[1] === "*" ) {
5045
+ var tmp = [];
5046
+
5047
+ for ( var i = 0; results[i]; i++ ) {
5048
+ if ( results[i].nodeType === 1 ) {
5049
+ tmp.push( results[i] );
5050
+ }
5051
+ }
5052
+
5053
+ results = tmp;
5054
+ }
5055
+
5056
+ return results;
5057
+ };
5058
+ }
5059
+
5060
+ // Check to see if an attribute returns normalized href attributes
5061
+ div.innerHTML = "<a href='#'></a>";
5062
+
5063
+ if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" &&
5064
+ div.firstChild.getAttribute("href") !== "#" ) {
5065
+
5066
+ Expr.attrHandle.href = function( elem ) {
5067
+ return elem.getAttribute( "href", 2 );
5068
+ };
5069
+ }
5070
+
5071
+ // release memory in IE
5072
+ div = null;
5073
+ })();
5074
+
5075
+ if ( document.querySelectorAll ) {
5076
+ (function(){
5077
+ var oldSizzle = Sizzle,
5078
+ div = document.createElement("div"),
5079
+ id = "__sizzle__";
5080
+
5081
+ div.innerHTML = "<p class='TEST'></p>";
5082
+
5083
+ // Safari can't handle uppercase or unicode characters when
5084
+ // in quirks mode.
5085
+ if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) {
5086
+ return;
5087
+ }
5088
+
5089
+ Sizzle = function( query, context, extra, seed ) {
5090
+ context = context || document;
5091
+
5092
+ // Only use querySelectorAll on non-XML documents
5093
+ // (ID selectors don't work in non-HTML documents)
5094
+ if ( !seed && !Sizzle.isXML(context) ) {
5095
+ // See if we find a selector to speed up
5096
+ var match = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec( query );
5097
+
5098
+ if ( match && (context.nodeType === 1 || context.nodeType === 9) ) {
5099
+ // Speed-up: Sizzle("TAG")
5100
+ if ( match[1] ) {
5101
+ return makeArray( context.getElementsByTagName( query ), extra );
5102
+
5103
+ // Speed-up: Sizzle(".CLASS")
5104
+ } else if ( match[2] && Expr.find.CLASS && context.getElementsByClassName ) {
5105
+ return makeArray( context.getElementsByClassName( match[2] ), extra );
5106
+ }
5107
+ }
5108
+
5109
+ if ( context.nodeType === 9 ) {
5110
+ // Speed-up: Sizzle("body")
5111
+ // The body element only exists once, optimize finding it
5112
+ if ( query === "body" && context.body ) {
5113
+ return makeArray( [ context.body ], extra );
5114
+
5115
+ // Speed-up: Sizzle("#ID")
5116
+ } else if ( match && match[3] ) {
5117
+ var elem = context.getElementById( match[3] );
5118
+
5119
+ // Check parentNode to catch when Blackberry 4.6 returns
5120
+ // nodes that are no longer in the document #6963
5121
+ if ( elem && elem.parentNode ) {
5122
+ // Handle the case where IE and Opera return items
5123
+ // by name instead of ID
5124
+ if ( elem.id === match[3] ) {
5125
+ return makeArray( [ elem ], extra );
5126
+ }
5127
+
5128
+ } else {
5129
+ return makeArray( [], extra );
5130
+ }
5131
+ }
5132
+
5133
+ try {
5134
+ return makeArray( context.querySelectorAll(query), extra );
5135
+ } catch(qsaError) {}
5136
+
5137
+ // qSA works strangely on Element-rooted queries
5138
+ // We can work around this by specifying an extra ID on the root
5139
+ // and working up from there (Thanks to Andrew Dupont for the technique)
5140
+ // IE 8 doesn't work on object elements
5141
+ } else if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) {
5142
+ var oldContext = context,
5143
+ old = context.getAttribute( "id" ),
5144
+ nid = old || id,
5145
+ hasParent = context.parentNode,
5146
+ relativeHierarchySelector = /^\s*[+~]/.test( query );
5147
+
5148
+ if ( !old ) {
5149
+ context.setAttribute( "id", nid );
5150
+ } else {
5151
+ nid = nid.replace( /'/g, "\\$&" );
5152
+ }
5153
+ if ( relativeHierarchySelector && hasParent ) {
5154
+ context = context.parentNode;
5155
+ }
5156
+
5157
+ try {
5158
+ if ( !relativeHierarchySelector || hasParent ) {
5159
+ return makeArray( context.querySelectorAll( "[id='" + nid + "'] " + query ), extra );
5160
+ }
5161
+
5162
+ } catch(pseudoError) {
5163
+ } finally {
5164
+ if ( !old ) {
5165
+ oldContext.removeAttribute( "id" );
5166
+ }
5167
+ }
5168
+ }
5169
+ }
5170
+
5171
+ return oldSizzle(query, context, extra, seed);
5172
+ };
5173
+
5174
+ for ( var prop in oldSizzle ) {
5175
+ Sizzle[ prop ] = oldSizzle[ prop ];
5176
+ }
5177
+
5178
+ // release memory in IE
5179
+ div = null;
5180
+ })();
5181
+ }
5182
+
5183
+ (function(){
5184
+ var html = document.documentElement,
5185
+ matches = html.matchesSelector || html.mozMatchesSelector || html.webkitMatchesSelector || html.msMatchesSelector;
5186
+
5187
+ if ( matches ) {
5188
+ // Check to see if it's possible to do matchesSelector
5189
+ // on a disconnected node (IE 9 fails this)
5190
+ var disconnectedMatch = !matches.call( document.createElement( "div" ), "div" ),
5191
+ pseudoWorks = false;
5192
+
5193
+ try {
5194
+ // This should fail with an exception
5195
+ // Gecko does not error, returns false instead
5196
+ matches.call( document.documentElement, "[test!='']:sizzle" );
5197
+
5198
+ } catch( pseudoError ) {
5199
+ pseudoWorks = true;
5200
+ }
5201
+
5202
+ Sizzle.matchesSelector = function( node, expr ) {
5203
+ // Make sure that attribute selectors are quoted
5204
+ expr = expr.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']");
5205
+
5206
+ if ( !Sizzle.isXML( node ) ) {
5207
+ try {
5208
+ if ( pseudoWorks || !Expr.match.PSEUDO.test( expr ) && !/!=/.test( expr ) ) {
5209
+ var ret = matches.call( node, expr );
5210
+
5211
+ // IE 9's matchesSelector returns false on disconnected nodes
5212
+ if ( ret || !disconnectedMatch ||
5213
+ // As well, disconnected nodes are said to be in a document
5214
+ // fragment in IE 9, so check for that
5215
+ node.document && node.document.nodeType !== 11 ) {
5216
+ return ret;
5217
+ }
5218
+ }
5219
+ } catch(e) {}
5220
+ }
5221
+
5222
+ return Sizzle(expr, null, null, [node]).length > 0;
5223
+ };
5224
+ }
5225
+ })();
5226
+
5227
+ (function(){
5228
+ var div = document.createElement("div");
5229
+
5230
+ div.innerHTML = "<div class='test e'></div><div class='test'></div>";
5231
+
5232
+ // Opera can't find a second classname (in 9.6)
5233
+ // Also, make sure that getElementsByClassName actually exists
5234
+ if ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) {
5235
+ return;
5236
+ }
5237
+
5238
+ // Safari caches class attributes, doesn't catch changes (in 3.2)
5239
+ div.lastChild.className = "e";
5240
+
5241
+ if ( div.getElementsByClassName("e").length === 1 ) {
5242
+ return;
5243
+ }
5244
+
5245
+ Expr.order.splice(1, 0, "CLASS");
5246
+ Expr.find.CLASS = function( match, context, isXML ) {
5247
+ if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) {
5248
+ return context.getElementsByClassName(match[1]);
5249
+ }
5250
+ };
5251
+
5252
+ // release memory in IE
5253
+ div = null;
5254
+ })();
5255
+
5256
+ function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
5257
+ for ( var i = 0, l = checkSet.length; i < l; i++ ) {
5258
+ var elem = checkSet[i];
5259
+
5260
+ if ( elem ) {
5261
+ var match = false;
5262
+
5263
+ elem = elem[dir];
5264
+
5265
+ while ( elem ) {
5266
+ if ( elem[ expando ] === doneName ) {
5267
+ match = checkSet[elem.sizset];
5268
+ break;
5269
+ }
5270
+
5271
+ if ( elem.nodeType === 1 && !isXML ){
5272
+ elem[ expando ] = doneName;
5273
+ elem.sizset = i;
5274
+ }
5275
+
5276
+ if ( elem.nodeName.toLowerCase() === cur ) {
5277
+ match = elem;
5278
+ break;
5279
+ }
5280
+
5281
+ elem = elem[dir];
5282
+ }
5283
+
5284
+ checkSet[i] = match;
5285
+ }
5286
+ }
5287
+ }
5288
+
5289
+ function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
5290
+ for ( var i = 0, l = checkSet.length; i < l; i++ ) {
5291
+ var elem = checkSet[i];
5292
+
5293
+ if ( elem ) {
5294
+ var match = false;
5295
+
5296
+ elem = elem[dir];
5297
+
5298
+ while ( elem ) {
5299
+ if ( elem[ expando ] === doneName ) {
5300
+ match = checkSet[elem.sizset];
5301
+ break;
5302
+ }
5303
+
5304
+ if ( elem.nodeType === 1 ) {
5305
+ if ( !isXML ) {
5306
+ elem[ expando ] = doneName;
5307
+ elem.sizset = i;
5308
+ }
5309
+
5310
+ if ( typeof cur !== "string" ) {
5311
+ if ( elem === cur ) {
5312
+ match = true;
5313
+ break;
5314
+ }
5315
+
5316
+ } else if ( Sizzle.filter( cur, [elem] ).length > 0 ) {
5317
+ match = elem;
5318
+ break;
5319
+ }
5320
+ }
5321
+
5322
+ elem = elem[dir];
5323
+ }
5324
+
5325
+ checkSet[i] = match;
5326
+ }
5327
+ }
5328
+ }
5329
+
5330
+ if ( document.documentElement.contains ) {
5331
+ Sizzle.contains = function( a, b ) {
5332
+ return a !== b && (a.contains ? a.contains(b) : true);
5333
+ };
5334
+
5335
+ } else if ( document.documentElement.compareDocumentPosition ) {
5336
+ Sizzle.contains = function( a, b ) {
5337
+ return !!(a.compareDocumentPosition(b) & 16);
5338
+ };
5339
+
5340
+ } else {
5341
+ Sizzle.contains = function() {
5342
+ return false;
5343
+ };
5344
+ }
5345
+
5346
+ Sizzle.isXML = function( elem ) {
5347
+ // documentElement is verified for cases where it doesn't yet exist
5348
+ // (such as loading iframes in IE - #4833)
5349
+ var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement;
5350
+
5351
+ return documentElement ? documentElement.nodeName !== "HTML" : false;
5352
+ };
5353
+
5354
+ var posProcess = function( selector, context, seed ) {
5355
+ var match,
5356
+ tmpSet = [],
5357
+ later = "",
5358
+ root = context.nodeType ? [context] : context;
5359
+
5360
+ // Position selectors must be done after the filter
5361
+ // And so must :not(positional) so we move all PSEUDOs to the end
5362
+ while ( (match = Expr.match.PSEUDO.exec( selector )) ) {
5363
+ later += match[0];
5364
+ selector = selector.replace( Expr.match.PSEUDO, "" );
5365
+ }
5366
+
5367
+ selector = Expr.relative[selector] ? selector + "*" : selector;
5368
+
5369
+ for ( var i = 0, l = root.length; i < l; i++ ) {
5370
+ Sizzle( selector, root[i], tmpSet, seed );
5371
+ }
5372
+
5373
+ return Sizzle.filter( later, tmpSet );
5374
+ };
5375
+
5376
+ // EXPOSE
5377
+ // Override sizzle attribute retrieval
5378
+ Sizzle.attr = NetBase.attr;
5379
+ Sizzle.selectors.attrMap = {};
5380
+ NetBase.find = Sizzle;
5381
+ NetBase.expr = Sizzle.selectors;
5382
+ NetBase.expr[":"] = NetBase.expr.filters;
5383
+ NetBase.unique = Sizzle.uniqueSort;
5384
+ NetBase.text = Sizzle.getText;
5385
+ NetBase.isXMLDoc = Sizzle.isXML;
5386
+ NetBase.contains = Sizzle.contains;
5387
+
5388
+
5389
+ })();
5390
+
5391
+
5392
+ var runtil = /Until$/,
5393
+ rparentsprev = /^(?:parents|prevUntil|prevAll)/,
5394
+ // Note: This RegExp should be improved, or likely pulled from Sizzle
5395
+ rmultiselector = /,/,
5396
+ isSimple = /^.[^:#\[\.,]*$/,
5397
+ slice = Array.prototype.slice,
5398
+ POS = NetBase.expr.match.globalPOS,
5399
+ // methods guaranteed to produce a unique set when starting from a unique set
5400
+ guaranteedUnique = {
5401
+ children: true,
5402
+ contents: true,
5403
+ next: true,
5404
+ prev: true
5405
+ };
5406
+
5407
+ NetBase.fn.extend({
5408
+ find: function( selector ) {
5409
+ var self = this,
5410
+ i, l;
5411
+
5412
+ if ( typeof selector !== "string" ) {
5413
+ return NetBase( selector ).filter(function() {
5414
+ for ( i = 0, l = self.length; i < l; i++ ) {
5415
+ if ( NetBase.contains( self[ i ], this ) ) {
5416
+ return true;
5417
+ }
5418
+ }
5419
+ });
5420
+ }
5421
+
5422
+ var ret = this.pushStack( "", "find", selector ),
5423
+ length, n, r;
5424
+
5425
+ for ( i = 0, l = this.length; i < l; i++ ) {
5426
+ length = ret.length;
5427
+ NetBase.find( selector, this[i], ret );
5428
+
5429
+ if ( i > 0 ) {
5430
+ // Make sure that the results are unique
5431
+ for ( n = length; n < ret.length; n++ ) {
5432
+ for ( r = 0; r < length; r++ ) {
5433
+ if ( ret[r] === ret[n] ) {
5434
+ ret.splice(n--, 1);
5435
+ break;
5436
+ }
5437
+ }
5438
+ }
5439
+ }
5440
+ }
5441
+
5442
+ return ret;
5443
+ },
5444
+
5445
+ has: function( target ) {
5446
+ var targets = NetBase( target );
5447
+ return this.filter(function() {
5448
+ for ( var i = 0, l = targets.length; i < l; i++ ) {
5449
+ if ( NetBase.contains( this, targets[i] ) ) {
5450
+ return true;
5451
+ }
5452
+ }
5453
+ });
5454
+ },
5455
+
5456
+ not: function( selector ) {
5457
+ return this.pushStack( winnow(this, selector, false), "not", selector);
5458
+ },
5459
+
5460
+ filter: function( selector ) {
5461
+ return this.pushStack( winnow(this, selector, true), "filter", selector );
5462
+ },
5463
+
5464
+ is: function( selector ) {
5465
+ return !!selector && (
5466
+ typeof selector === "string" ?
5467
+ // If this is a positional selector, check membership in the returned set
5468
+ // so $("p:first").is("p:last") won't return true for a doc with two "p".
5469
+ POS.test( selector ) ?
5470
+ NetBase( selector, this.context ).index( this[0] ) >= 0 :
5471
+ NetBase.filter( selector, this ).length > 0 :
5472
+ this.filter( selector ).length > 0 );
5473
+ },
5474
+
5475
+ closest: function( selectors, context ) {
5476
+ var ret = [], i, l, cur = this[0];
5477
+
5478
+ // Array (deprecated as of NetBase 1.7)
5479
+ if ( NetBase.isArray( selectors ) ) {
5480
+ var level = 1;
5481
+
5482
+ while ( cur && cur.ownerDocument && cur !== context ) {
5483
+ for ( i = 0; i < selectors.length; i++ ) {
5484
+
5485
+ if ( NetBase( cur ).is( selectors[ i ] ) ) {
5486
+ ret.push({ selector: selectors[ i ], elem: cur, level: level });
5487
+ }
5488
+ }
5489
+
5490
+ cur = cur.parentNode;
5491
+ level++;
5492
+ }
5493
+
5494
+ return ret;
5495
+ }
5496
+
5497
+ // String
5498
+ var pos = POS.test( selectors ) || typeof selectors !== "string" ?
5499
+ NetBase( selectors, context || this.context ) :
5500
+ 0;
5501
+
5502
+ for ( i = 0, l = this.length; i < l; i++ ) {
5503
+ cur = this[i];
5504
+
5505
+ while ( cur ) {
5506
+ if ( pos ? pos.index(cur) > -1 : NetBase.find.matchesSelector(cur, selectors) ) {
5507
+ ret.push( cur );
5508
+ break;
5509
+
5510
+ } else {
5511
+ cur = cur.parentNode;
5512
+ if ( !cur || !cur.ownerDocument || cur === context || cur.nodeType === 11 ) {
5513
+ break;
5514
+ }
5515
+ }
5516
+ }
5517
+ }
5518
+
5519
+ ret = ret.length > 1 ? NetBase.unique( ret ) : ret;
5520
+
5521
+ return this.pushStack( ret, "closest", selectors );
5522
+ },
5523
+
5524
+ // Determine the position of an element within
5525
+ // the matched set of elements
5526
+ index: function( elem ) {
5527
+
5528
+ // No argument, return index in parent
5529
+ if ( !elem ) {
5530
+ return ( this[0] && this[0].parentNode ) ? this.prevAll().length : -1;
5531
+ }
5532
+
5533
+ // index in selector
5534
+ if ( typeof elem === "string" ) {
5535
+ return NetBase.inArray( this[0], NetBase( elem ) );
5536
+ }
5537
+
5538
+ // Locate the position of the desired element
5539
+ return NetBase.inArray(
5540
+ // If it receives a NetBase object, the first element is used
5541
+ elem.netbase ? elem[0] : elem, this );
5542
+ },
5543
+
5544
+ add: function( selector, context ) {
5545
+ var set = typeof selector === "string" ?
5546
+ NetBase( selector, context ) :
5547
+ NetBase.makeArray( selector && selector.nodeType ? [ selector ] : selector ),
5548
+ all = NetBase.merge( this.get(), set );
5549
+
5550
+ return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ?
5551
+ all :
5552
+ NetBase.unique( all ) );
5553
+ },
5554
+
5555
+ andSelf: function() {
5556
+ return this.add( this.prevObject );
5557
+ }
5558
+ });
5559
+
5560
+ // A painfully simple check to see if an element is disconnected
5561
+ // from a document (should be improved, where feasible).
5562
+ function isDisconnected( node ) {
5563
+ return !node || !node.parentNode || node.parentNode.nodeType === 11;
5564
+ }
5565
+
5566
+ NetBase.each({
5567
+ parent: function( elem ) {
5568
+ var parent = elem.parentNode;
5569
+ return parent && parent.nodeType !== 11 ? parent : null;
5570
+ },
5571
+ parents: function( elem ) {
5572
+ return NetBase.dir( elem, "parentNode" );
5573
+ },
5574
+ parentsUntil: function( elem, i, until ) {
5575
+ return NetBase.dir( elem, "parentNode", until );
5576
+ },
5577
+ next: function( elem ) {
5578
+ return NetBase.nth( elem, 2, "nextSibling" );
5579
+ },
5580
+ prev: function( elem ) {
5581
+ return NetBase.nth( elem, 2, "previousSibling" );
5582
+ },
5583
+ nextAll: function( elem ) {
5584
+ return NetBase.dir( elem, "nextSibling" );
5585
+ },
5586
+ prevAll: function( elem ) {
5587
+ return NetBase.dir( elem, "previousSibling" );
5588
+ },
5589
+ nextUntil: function( elem, i, until ) {
5590
+ return NetBase.dir( elem, "nextSibling", until );
5591
+ },
5592
+ prevUntil: function( elem, i, until ) {
5593
+ return NetBase.dir( elem, "previousSibling", until );
5594
+ },
5595
+ siblings: function( elem ) {
5596
+ return NetBase.sibling( ( elem.parentNode || {} ).firstChild, elem );
5597
+ },
5598
+ children: function( elem ) {
5599
+ return NetBase.sibling( elem.firstChild );
5600
+ },
5601
+ contents: function( elem ) {
5602
+ return NetBase.nodeName( elem, "iframe" ) ?
5603
+ elem.contentDocument || elem.contentWindow.document :
5604
+ NetBase.makeArray( elem.childNodes );
5605
+ }
5606
+ }, function( name, fn ) {
5607
+ NetBase.fn[ name ] = function( until, selector ) {
5608
+ var ret = NetBase.map( this, fn, until );
5609
+
5610
+ if ( !runtil.test( name ) ) {
5611
+ selector = until;
5612
+ }
5613
+
5614
+ if ( selector && typeof selector === "string" ) {
5615
+ ret = NetBase.filter( selector, ret );
5616
+ }
5617
+
5618
+ ret = this.length > 1 && !guaranteedUnique[ name ] ? NetBase.unique( ret ) : ret;
5619
+
5620
+ if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) {
5621
+ ret = ret.reverse();
5622
+ }
5623
+
5624
+ return this.pushStack( ret, name, slice.call( arguments ).join(",") );
5625
+ };
5626
+ });
5627
+
5628
+ NetBase.extend({
5629
+ filter: function( expr, elems, not ) {
5630
+ if ( not ) {
5631
+ expr = ":not(" + expr + ")";
5632
+ }
5633
+
5634
+ return elems.length === 1 ?
5635
+ NetBase.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] :
5636
+ NetBase.find.matches(expr, elems);
5637
+ },
5638
+
5639
+ dir: function( elem, dir, until ) {
5640
+ var matched = [],
5641
+ cur = elem[ dir ];
5642
+
5643
+ while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !NetBase( cur ).is( until )) ) {
5644
+ if ( cur.nodeType === 1 ) {
5645
+ matched.push( cur );
5646
+ }
5647
+ cur = cur[dir];
5648
+ }
5649
+ return matched;
5650
+ },
5651
+
5652
+ nth: function( cur, result, dir, elem ) {
5653
+ result = result || 1;
5654
+ var num = 0;
5655
+
5656
+ for ( ; cur; cur = cur[dir] ) {
5657
+ if ( cur.nodeType === 1 && ++num === result ) {
5658
+ break;
5659
+ }
5660
+ }
5661
+
5662
+ return cur;
5663
+ },
5664
+
5665
+ sibling: function( n, elem ) {
5666
+ var r = [];
5667
+
5668
+ for ( ; n; n = n.nextSibling ) {
5669
+ if ( n.nodeType === 1 && n !== elem ) {
5670
+ r.push( n );
5671
+ }
5672
+ }
5673
+
5674
+ return r;
5675
+ }
5676
+ });
5677
+
5678
+ // Implement the identical functionality for filter and not
5679
+ function winnow( elements, qualifier, keep ) {
5680
+
5681
+ // Can't pass null or undefined to indexOf in Firefox 4
5682
+ // Set to 0 to skip string check
5683
+ qualifier = qualifier || 0;
5684
+
5685
+ if ( NetBase.isFunction( qualifier ) ) {
5686
+ return NetBase.grep(elements, function( elem, i ) {
5687
+ var retVal = !!qualifier.call( elem, i, elem );
5688
+ return retVal === keep;
5689
+ });
5690
+
5691
+ } else if ( qualifier.nodeType ) {
5692
+ return NetBase.grep(elements, function( elem, i ) {
5693
+ return ( elem === qualifier ) === keep;
5694
+ });
5695
+
5696
+ } else if ( typeof qualifier === "string" ) {
5697
+ var filtered = NetBase.grep(elements, function( elem ) {
5698
+ return elem.nodeType === 1;
5699
+ });
5700
+
5701
+ if ( isSimple.test( qualifier ) ) {
5702
+ return NetBase.filter(qualifier, filtered, !keep);
5703
+ } else {
5704
+ qualifier = NetBase.filter( qualifier, filtered );
5705
+ }
5706
+ }
5707
+
5708
+ return NetBase.grep(elements, function( elem, i ) {
5709
+ return ( NetBase.inArray( elem, qualifier ) >= 0 ) === keep;
5710
+ });
5711
+ }
5712
+
5713
+
5714
+
5715
+
5716
+ function createSafeFragment( document ) {
5717
+ var list = nodeNames.split( "|" ),
5718
+ safeFrag = document.createDocumentFragment();
5719
+
5720
+ if ( safeFrag.createElement ) {
5721
+ while ( list.length ) {
5722
+ safeFrag.createElement(
5723
+ list.pop()
5724
+ );
5725
+ }
5726
+ }
5727
+ return safeFrag;
5728
+ }
5729
+
5730
+ var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|" +
5731
+ "header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",
5732
+ rinlinejQuery = / NetBase\d+="(?:\d+|null)"/g,
5733
+ rleadingWhitespace = /^\s+/,
5734
+ rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,
5735
+ rtagName = /<([\w:]+)/,
5736
+ rtbody = /<tbody/i,
5737
+ rhtml = /<|&#?\w+;/,
5738
+ rnoInnerhtml = /<(?:script|style)/i,
5739
+ rnocache = /<(?:script|object|embed|option|style)/i,
5740
+ rnoshimcache = new RegExp("<(?:" + nodeNames + ")[\\s/>]", "i"),
5741
+ // checked="checked" or checked
5742
+ rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
5743
+ rscriptType = /\/(java|ecma)script/i,
5744
+ rcleanScript = /^\s*<!(?:\[CDATA\[|\-\-)/,
5745
+ wrapMap = {
5746
+ option: [ 1, "<select multiple='multiple'>", "</select>" ],
5747
+ legend: [ 1, "<fieldset>", "</fieldset>" ],
5748
+ thead: [ 1, "<table>", "</table>" ],
5749
+ tr: [ 2, "<table><tbody>", "</tbody></table>" ],
5750
+ td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
5751
+ col: [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ],
5752
+ area: [ 1, "<map>", "</map>" ],
5753
+ _default: [ 0, "", "" ]
5754
+ },
5755
+ safeFragment = createSafeFragment( document );
5756
+
5757
+ wrapMap.optgroup = wrapMap.option;
5758
+ wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
5759
+ wrapMap.th = wrapMap.td;
5760
+
5761
+ // IE can't serialize <link> and <script> tags normally
5762
+ if ( !NetBase.support.htmlSerialize ) {
5763
+ wrapMap._default = [ 1, "div<div>", "</div>" ];
5764
+ }
5765
+
5766
+ NetBase.fn.extend({
5767
+ text: function( value ) {
5768
+ return NetBase.access( this, function( value ) {
5769
+ return value === undefined ?
5770
+ NetBase.text( this ) :
5771
+ this.empty().append( ( this[0] && this[0].ownerDocument || document ).createTextNode( value ) );
5772
+ }, null, value, arguments.length );
5773
+ },
5774
+
5775
+ wrapAll: function( html ) {
5776
+ if ( NetBase.isFunction( html ) ) {
5777
+ return this.each(function(i) {
5778
+ NetBase(this).wrapAll( html.call(this, i) );
5779
+ });
5780
+ }
5781
+
5782
+ if ( this[0] ) {
5783
+ // The elements to wrap the target around
5784
+ var wrap = NetBase( html, this[0].ownerDocument ).eq(0).clone(true);
5785
+
5786
+ if ( this[0].parentNode ) {
5787
+ wrap.insertBefore( this[0] );
5788
+ }
5789
+
5790
+ wrap.map(function() {
5791
+ var elem = this;
5792
+
5793
+ while ( elem.firstChild && elem.firstChild.nodeType === 1 ) {
5794
+ elem = elem.firstChild;
5795
+ }
5796
+
5797
+ return elem;
5798
+ }).append( this );
5799
+ }
5800
+
5801
+ return this;
5802
+ },
5803
+
5804
+ wrapInner: function( html ) {
5805
+ if ( NetBase.isFunction( html ) ) {
5806
+ return this.each(function(i) {
5807
+ NetBase(this).wrapInner( html.call(this, i) );
5808
+ });
5809
+ }
5810
+
5811
+ return this.each(function() {
5812
+ var self = NetBase( this ),
5813
+ contents = self.contents();
5814
+
5815
+ if ( contents.length ) {
5816
+ contents.wrapAll( html );
5817
+
5818
+ } else {
5819
+ self.append( html );
5820
+ }
5821
+ });
5822
+ },
5823
+
5824
+ wrap: function( html ) {
5825
+ var isFunction = NetBase.isFunction( html );
5826
+
5827
+ return this.each(function(i) {
5828
+ NetBase( this ).wrapAll( isFunction ? html.call(this, i) : html );
5829
+ });
5830
+ },
5831
+
5832
+ unwrap: function() {
5833
+ return this.parent().each(function() {
5834
+ if ( !NetBase.nodeName( this, "body" ) ) {
5835
+ NetBase( this ).replaceWith( this.childNodes );
5836
+ }
5837
+ }).end();
5838
+ },
5839
+
5840
+ append: function() {
5841
+ return this.domManip(arguments, true, function( elem ) {
5842
+ if ( this.nodeType === 1 ) {
5843
+ this.appendChild( elem );
5844
+ }
5845
+ });
5846
+ },
5847
+
5848
+ prepend: function() {
5849
+ return this.domManip(arguments, true, function( elem ) {
5850
+ if ( this.nodeType === 1 ) {
5851
+ this.insertBefore( elem, this.firstChild );
5852
+ }
5853
+ });
5854
+ },
5855
+
5856
+ before: function() {
5857
+ if ( this[0] && this[0].parentNode ) {
5858
+ return this.domManip(arguments, false, function( elem ) {
5859
+ this.parentNode.insertBefore( elem, this );
5860
+ });
5861
+ } else if ( arguments.length ) {
5862
+ var set = NetBase.clean( arguments );
5863
+ set.push.apply( set, this.toArray() );
5864
+ return this.pushStack( set, "before", arguments );
5865
+ }
5866
+ },
5867
+
5868
+ after: function() {
5869
+ if ( this[0] && this[0].parentNode ) {
5870
+ return this.domManip(arguments, false, function( elem ) {
5871
+ this.parentNode.insertBefore( elem, this.nextSibling );
5872
+ });
5873
+ } else if ( arguments.length ) {
5874
+ var set = this.pushStack( this, "after", arguments );
5875
+ set.push.apply( set, NetBase.clean(arguments) );
5876
+ return set;
5877
+ }
5878
+ },
5879
+
5880
+ // keepData is for internal use only--do not document
5881
+ remove: function( selector, keepData ) {
5882
+ for ( var i = 0, elem; (elem = this[i]) != null; i++ ) {
5883
+ if ( !selector || NetBase.filter( selector, [ elem ] ).length ) {
5884
+ if ( !keepData && elem.nodeType === 1 ) {
5885
+ NetBase.cleanData( elem.getElementsByTagName("*") );
5886
+ NetBase.cleanData( [ elem ] );
5887
+ }
5888
+
5889
+ if ( elem.parentNode ) {
5890
+ elem.parentNode.removeChild( elem );
5891
+ }
5892
+ }
5893
+ }
5894
+
5895
+ return this;
5896
+ },
5897
+
5898
+ empty: function() {
5899
+ for ( var i = 0, elem; (elem = this[i]) != null; i++ ) {
5900
+ // Remove element nodes and prevent memory leaks
5901
+ if ( elem.nodeType === 1 ) {
5902
+ NetBase.cleanData( elem.getElementsByTagName("*") );
5903
+ }
5904
+
5905
+ // Remove any remaining nodes
5906
+ while ( elem.firstChild ) {
5907
+ elem.removeChild( elem.firstChild );
5908
+ }
5909
+ }
5910
+
5911
+ return this;
5912
+ },
5913
+
5914
+ clone: function( dataAndEvents, deepDataAndEvents ) {
5915
+ dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
5916
+ deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
5917
+
5918
+ return this.map( function () {
5919
+ return NetBase.clone( this, dataAndEvents, deepDataAndEvents );
5920
+ });
5921
+ },
5922
+
5923
+ html: function( value ) {
5924
+ return NetBase.access( this, function( value ) {
5925
+ var elem = this[0] || {},
5926
+ i = 0,
5927
+ l = this.length;
5928
+
5929
+ if ( value === undefined ) {
5930
+ return elem.nodeType === 1 ?
5931
+ elem.innerHTML.replace( rinlinejQuery, "" ) :
5932
+ null;
5933
+ }
5934
+
5935
+
5936
+ if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
5937
+ ( NetBase.support.leadingWhitespace || !rleadingWhitespace.test( value ) ) &&
5938
+ !wrapMap[ ( rtagName.exec( value ) || ["", ""] )[1].toLowerCase() ] ) {
5939
+
5940
+ value = value.replace( rxhtmlTag, "<$1></$2>" );
5941
+
5942
+ try {
5943
+ for (; i < l; i++ ) {
5944
+ // Remove element nodes and prevent memory leaks
5945
+ elem = this[i] || {};
5946
+ if ( elem.nodeType === 1 ) {
5947
+ NetBase.cleanData( elem.getElementsByTagName( "*" ) );
5948
+ elem.innerHTML = value;
5949
+ }
5950
+ }
5951
+
5952
+ elem = 0;
5953
+
5954
+ // If using innerHTML throws an exception, use the fallback method
5955
+ } catch(e) {}
5956
+ }
5957
+
5958
+ if ( elem ) {
5959
+ this.empty().append( value );
5960
+ }
5961
+ }, null, value, arguments.length );
5962
+ },
5963
+
5964
+ replaceWith: function( value ) {
5965
+ if ( this[0] && this[0].parentNode ) {
5966
+ // Make sure that the elements are removed from the DOM before they are inserted
5967
+ // this can help fix replacing a parent with child elements
5968
+ if ( NetBase.isFunction( value ) ) {
5969
+ return this.each(function(i) {
5970
+ var self = NetBase(this), old = self.html();
5971
+ self.replaceWith( value.call( this, i, old ) );
5972
+ });
5973
+ }
5974
+
5975
+ if ( typeof value !== "string" ) {
5976
+ value = NetBase( value ).detach();
5977
+ }
5978
+
5979
+ return this.each(function() {
5980
+ var next = this.nextSibling,
5981
+ parent = this.parentNode;
5982
+
5983
+ NetBase( this ).remove();
5984
+
5985
+ if ( next ) {
5986
+ NetBase(next).before( value );
5987
+ } else {
5988
+ NetBase(parent).append( value );
5989
+ }
5990
+ });
5991
+ } else {
5992
+ return this.length ?
5993
+ this.pushStack( NetBase(NetBase.isFunction(value) ? value() : value), "replaceWith", value ) :
5994
+ this;
5995
+ }
5996
+ },
5997
+
5998
+ detach: function( selector ) {
5999
+ return this.remove( selector, true );
6000
+ },
6001
+
6002
+ domManip: function( args, table, callback ) {
6003
+ var results, first, fragment, parent,
6004
+ value = args[0],
6005
+ scripts = [];
6006
+
6007
+ // We can't cloneNode fragments that contain checked, in WebKit
6008
+ if ( !NetBase.support.checkClone && arguments.length === 3 && typeof value === "string" && rchecked.test( value ) ) {
6009
+ return this.each(function() {
6010
+ NetBase(this).domManip( args, table, callback, true );
6011
+ });
6012
+ }
6013
+
6014
+ if ( NetBase.isFunction(value) ) {
6015
+ return this.each(function(i) {
6016
+ var self = NetBase(this);
6017
+ args[0] = value.call(this, i, table ? self.html() : undefined);
6018
+ self.domManip( args, table, callback );
6019
+ });
6020
+ }
6021
+
6022
+ if ( this[0] ) {
6023
+ parent = value && value.parentNode;
6024
+
6025
+ // If we're in a fragment, just use that instead of building a new one
6026
+ if ( NetBase.support.parentNode && parent && parent.nodeType === 11 && parent.childNodes.length === this.length ) {
6027
+ results = { fragment: parent };
6028
+
6029
+ } else {
6030
+ results = NetBase.buildFragment( args, this, scripts );
6031
+ }
6032
+
6033
+ fragment = results.fragment;
6034
+
6035
+ if ( fragment.childNodes.length === 1 ) {
6036
+ first = fragment = fragment.firstChild;
6037
+ } else {
6038
+ first = fragment.firstChild;
6039
+ }
6040
+
6041
+ if ( first ) {
6042
+ table = table && NetBase.nodeName( first, "tr" );
6043
+
6044
+ for ( var i = 0, l = this.length, lastIndex = l - 1; i < l; i++ ) {
6045
+ callback.call(
6046
+ table ?
6047
+ root(this[i], first) :
6048
+ this[i],
6049
+ // Make sure that we do not leak memory by inadvertently discarding
6050
+ // the original fragment (which might have attached data) instead of
6051
+ // using it; in addition, use the original fragment object for the last
6052
+ // item instead of first because it can end up being emptied incorrectly
6053
+ // in certain situations (Bug #8070).
6054
+ // Fragments from the fragment cache must always be cloned and never used
6055
+ // in place.
6056
+ results.cacheable || ( l > 1 && i < lastIndex ) ?
6057
+ NetBase.clone( fragment, true, true ) :
6058
+ fragment
6059
+ );
6060
+ }
6061
+ }
6062
+
6063
+ if ( scripts.length ) {
6064
+ NetBase.each( scripts, function( i, elem ) {
6065
+ if ( elem.src ) {
6066
+ NetBase.ajax({
6067
+ type: "GET",
6068
+ global: false,
6069
+ url: elem.src,
6070
+ async: false,
6071
+ dataType: "script"
6072
+ });
6073
+ } else {
6074
+ NetBase.globalEval( ( elem.text || elem.textContent || elem.innerHTML || "" ).replace( rcleanScript, "/*$0*/" ) );
6075
+ }
6076
+
6077
+ if ( elem.parentNode ) {
6078
+ elem.parentNode.removeChild( elem );
6079
+ }
6080
+ });
6081
+ }
6082
+ }
6083
+
6084
+ return this;
6085
+ }
6086
+ });
6087
+
6088
+ function root( elem, cur ) {
6089
+ return NetBase.nodeName(elem, "table") ?
6090
+ (elem.getElementsByTagName("tbody")[0] ||
6091
+ elem.appendChild(elem.ownerDocument.createElement("tbody"))) :
6092
+ elem;
6093
+ }
6094
+
6095
+ function cloneCopyEvent( src, dest ) {
6096
+
6097
+ if ( dest.nodeType !== 1 || !NetBase.hasData( src ) ) {
6098
+ return;
6099
+ }
6100
+
6101
+ var type, i, l,
6102
+ oldData = NetBase._data( src ),
6103
+ curData = NetBase._data( dest, oldData ),
6104
+ events = oldData.events;
6105
+
6106
+ if ( events ) {
6107
+ delete curData.handle;
6108
+ curData.events = {};
6109
+
6110
+ for ( type in events ) {
6111
+ for ( i = 0, l = events[ type ].length; i < l; i++ ) {
6112
+ NetBase.event.add( dest, type, events[ type ][ i ] );
6113
+ }
6114
+ }
6115
+ }
6116
+
6117
+ // make the cloned public data object a copy from the original
6118
+ if ( curData.data ) {
6119
+ curData.data = NetBase.extend( {}, curData.data );
6120
+ }
6121
+ }
6122
+
6123
+ function cloneFixAttributes( src, dest ) {
6124
+ var nodeName;
6125
+
6126
+ // We do not need to do anything for non-Elements
6127
+ if ( dest.nodeType !== 1 ) {
6128
+ return;
6129
+ }
6130
+
6131
+ // clearAttributes removes the attributes, which we don't want,
6132
+ // but also removes the attachEvent events, which we *do* want
6133
+ if ( dest.clearAttributes ) {
6134
+ dest.clearAttributes();
6135
+ }
6136
+
6137
+ // mergeAttributes, in contrast, only merges back on the
6138
+ // original attributes, not the events
6139
+ if ( dest.mergeAttributes ) {
6140
+ dest.mergeAttributes( src );
6141
+ }
6142
+
6143
+ nodeName = dest.nodeName.toLowerCase();
6144
+
6145
+ // IE6-8 fail to clone children inside object elements that use
6146
+ // the proprietary classid attribute value (rather than the type
6147
+ // attribute) to identify the type of content to display
6148
+ if ( nodeName === "object" ) {
6149
+ dest.outerHTML = src.outerHTML;
6150
+
6151
+ } else if ( nodeName === "input" && (src.type === "checkbox" || src.type === "radio") ) {
6152
+ // IE6-8 fails to persist the checked state of a cloned checkbox
6153
+ // or radio button. Worse, IE6-7 fail to give the cloned element
6154
+ // a checked appearance if the defaultChecked value isn't also set
6155
+ if ( src.checked ) {
6156
+ dest.defaultChecked = dest.checked = src.checked;
6157
+ }
6158
+
6159
+ // IE6-7 get confused and end up setting the value of a cloned
6160
+ // checkbox/radio button to an empty string instead of "on"
6161
+ if ( dest.value !== src.value ) {
6162
+ dest.value = src.value;
6163
+ }
6164
+
6165
+ // IE6-8 fails to return the selected option to the default selected
6166
+ // state when cloning options
6167
+ } else if ( nodeName === "option" ) {
6168
+ dest.selected = src.defaultSelected;
6169
+
6170
+ // IE6-8 fails to set the defaultValue to the correct value when
6171
+ // cloning other types of input fields
6172
+ } else if ( nodeName === "input" || nodeName === "textarea" ) {
6173
+ dest.defaultValue = src.defaultValue;
6174
+
6175
+ // IE blanks contents when cloning scripts
6176
+ } else if ( nodeName === "script" && dest.text !== src.text ) {
6177
+ dest.text = src.text;
6178
+ }
6179
+
6180
+ // Event data gets referenced instead of copied if the expando
6181
+ // gets copied too
6182
+ dest.removeAttribute( NetBase.expando );
6183
+
6184
+ // Clear flags for bubbling special change/submit events, they must
6185
+ // be reattached when the newly cloned events are first activated
6186
+ dest.removeAttribute( "_submit_attached" );
6187
+ dest.removeAttribute( "_change_attached" );
6188
+ }
6189
+
6190
+ NetBase.buildFragment = function( args, nodes, scripts ) {
6191
+ var fragment, cacheable, cacheresults, doc,
6192
+ first = args[ 0 ];
6193
+
6194
+ // nodes may contain either an explicit document object,
6195
+ // a NetBase collection or context object.
6196
+ // If nodes[0] contains a valid object to assign to doc
6197
+ if ( nodes && nodes[0] ) {
6198
+ doc = nodes[0].ownerDocument || nodes[0];
6199
+ }
6200
+
6201
+ // Ensure that an attr object doesn't incorrectly stand in as a document object
6202
+ // Chrome and Firefox seem to allow this to occur and will throw exception
6203
+ // Fixes #8950
6204
+ if ( !doc.createDocumentFragment ) {
6205
+ doc = document;
6206
+ }
6207
+
6208
+ // Only cache "small" (1/2 KB) HTML strings that are associated with the main document
6209
+ // Cloning options loses the selected state, so don't cache them
6210
+ // IE 6 doesn't like it when you put <object> or <embed> elements in a fragment
6211
+ // Also, WebKit does not clone 'checked' attributes on cloneNode, so don't cache
6212
+ // Lastly, IE6,7,8 will not correctly reuse cached fragments that were created from unknown elems #10501
6213
+ if ( args.length === 1 && typeof first === "string" && first.length < 512 && doc === document &&
6214
+ first.charAt(0) === "<" && !rnocache.test( first ) &&
6215
+ (NetBase.support.checkClone || !rchecked.test( first )) &&
6216
+ (NetBase.support.html5Clone || !rnoshimcache.test( first )) ) {
6217
+
6218
+ cacheable = true;
6219
+
6220
+ cacheresults = NetBase.fragments[ first ];
6221
+ if ( cacheresults && cacheresults !== 1 ) {
6222
+ fragment = cacheresults;
6223
+ }
6224
+ }
6225
+
6226
+ if ( !fragment ) {
6227
+ fragment = doc.createDocumentFragment();
6228
+ NetBase.clean( args, doc, fragment, scripts );
6229
+ }
6230
+
6231
+ if ( cacheable ) {
6232
+ NetBase.fragments[ first ] = cacheresults ? fragment : 1;
6233
+ }
6234
+
6235
+ return { fragment: fragment, cacheable: cacheable };
6236
+ };
6237
+
6238
+ NetBase.fragments = {};
6239
+
6240
+ NetBase.each({
6241
+ appendTo: "append",
6242
+ prependTo: "prepend",
6243
+ insertBefore: "before",
6244
+ insertAfter: "after",
6245
+ replaceAll: "replaceWith"
6246
+ }, function( name, original ) {
6247
+ NetBase.fn[ name ] = function( selector ) {
6248
+ var ret = [],
6249
+ insert = NetBase( selector ),
6250
+ parent = this.length === 1 && this[0].parentNode;
6251
+
6252
+ if ( parent && parent.nodeType === 11 && parent.childNodes.length === 1 && insert.length === 1 ) {
6253
+ insert[ original ]( this[0] );
6254
+ return this;
6255
+
6256
+ } else {
6257
+ for ( var i = 0, l = insert.length; i < l; i++ ) {
6258
+ var elems = ( i > 0 ? this.clone(true) : this ).get();
6259
+ NetBase( insert[i] )[ original ]( elems );
6260
+ ret = ret.concat( elems );
6261
+ }
6262
+
6263
+ return this.pushStack( ret, name, insert.selector );
6264
+ }
6265
+ };
6266
+ });
6267
+
6268
+ function getAll( elem ) {
6269
+ if ( typeof elem.getElementsByTagName !== "undefined" ) {
6270
+ return elem.getElementsByTagName( "*" );
6271
+
6272
+ } else if ( typeof elem.querySelectorAll !== "undefined" ) {
6273
+ return elem.querySelectorAll( "*" );
6274
+
6275
+ } else {
6276
+ return [];
6277
+ }
6278
+ }
6279
+
6280
+ // Used in clean, fixes the defaultChecked property
6281
+ function fixDefaultChecked( elem ) {
6282
+ if ( elem.type === "checkbox" || elem.type === "radio" ) {
6283
+ elem.defaultChecked = elem.checked;
6284
+ }
6285
+ }
6286
+ // Finds all inputs and passes them to fixDefaultChecked
6287
+ function findInputs( elem ) {
6288
+ var nodeName = ( elem.nodeName || "" ).toLowerCase();
6289
+ if ( nodeName === "input" ) {
6290
+ fixDefaultChecked( elem );
6291
+ // Skip scripts, get other children
6292
+ } else if ( nodeName !== "script" && typeof elem.getElementsByTagName !== "undefined" ) {
6293
+ NetBase.grep( elem.getElementsByTagName("input"), fixDefaultChecked );
6294
+ }
6295
+ }
6296
+
6297
+ // Derived From: http://www.iecss.com/shimprove/javascript/shimprove.1-0-1.js
6298
+ function shimCloneNode( elem ) {
6299
+ var div = document.createElement( "div" );
6300
+ safeFragment.appendChild( div );
6301
+
6302
+ div.innerHTML = elem.outerHTML;
6303
+ return div.firstChild;
6304
+ }
6305
+
6306
+ NetBase.extend({
6307
+ clone: function( elem, dataAndEvents, deepDataAndEvents ) {
6308
+ var srcElements,
6309
+ destElements,
6310
+ i,
6311
+ // IE<=8 does not properly clone detached, unknown element nodes
6312
+ clone = NetBase.support.html5Clone || NetBase.isXMLDoc(elem) || !rnoshimcache.test( "<" + elem.nodeName + ">" ) ?
6313
+ elem.cloneNode( true ) :
6314
+ shimCloneNode( elem );
6315
+
6316
+ if ( (!NetBase.support.noCloneEvent || !NetBase.support.noCloneChecked) &&
6317
+ (elem.nodeType === 1 || elem.nodeType === 11) && !NetBase.isXMLDoc(elem) ) {
6318
+ // IE copies events bound via attachEvent when using cloneNode.
6319
+ // Calling detachEvent on the clone will also remove the events
6320
+ // from the original. In order to get around this, we use some
6321
+ // proprietary methods to clear the events. Thanks to MooTools
6322
+ // guys for this hotness.
6323
+
6324
+ cloneFixAttributes( elem, clone );
6325
+
6326
+ // Using Sizzle here is crazy slow, so we use getElementsByTagName instead
6327
+ srcElements = getAll( elem );
6328
+ destElements = getAll( clone );
6329
+
6330
+ // Weird iteration because IE will replace the length property
6331
+ // with an element if you are cloning the body and one of the
6332
+ // elements on the page has a name or id of "length"
6333
+ for ( i = 0; srcElements[i]; ++i ) {
6334
+ // Ensure that the destination node is not null; Fixes #9587
6335
+ if ( destElements[i] ) {
6336
+ cloneFixAttributes( srcElements[i], destElements[i] );
6337
+ }
6338
+ }
6339
+ }
6340
+
6341
+ // Copy the events from the original to the clone
6342
+ if ( dataAndEvents ) {
6343
+ cloneCopyEvent( elem, clone );
6344
+
6345
+ if ( deepDataAndEvents ) {
6346
+ srcElements = getAll( elem );
6347
+ destElements = getAll( clone );
6348
+
6349
+ for ( i = 0; srcElements[i]; ++i ) {
6350
+ cloneCopyEvent( srcElements[i], destElements[i] );
6351
+ }
6352
+ }
6353
+ }
6354
+
6355
+ srcElements = destElements = null;
6356
+
6357
+ // Return the cloned set
6358
+ return clone;
6359
+ },
6360
+
6361
+ clean: function( elems, context, fragment, scripts ) {
6362
+ var checkScriptType, script, j,
6363
+ ret = [];
6364
+
6365
+ context = context || document;
6366
+
6367
+ // !context.createElement fails in IE with an error but returns typeof 'object'
6368
+ if ( typeof context.createElement === "undefined" ) {
6369
+ context = context.ownerDocument || context[0] && context[0].ownerDocument || document;
6370
+ }
6371
+
6372
+ for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
6373
+ if ( typeof elem === "number" ) {
6374
+ elem += "";
6375
+ }
6376
+
6377
+ if ( !elem ) {
6378
+ continue;
6379
+ }
6380
+
6381
+ // Convert html string into DOM nodes
6382
+ if ( typeof elem === "string" ) {
6383
+ if ( !rhtml.test( elem ) ) {
6384
+ elem = context.createTextNode( elem );
6385
+ } else {
6386
+ // Fix "XHTML"-style tags in all browsers
6387
+ elem = elem.replace(rxhtmlTag, "<$1></$2>");
6388
+
6389
+ // Trim whitespace, otherwise indexOf won't work as expected
6390
+ var tag = ( rtagName.exec( elem ) || ["", ""] )[1].toLowerCase(),
6391
+ wrap = wrapMap[ tag ] || wrapMap._default,
6392
+ depth = wrap[0],
6393
+ div = context.createElement("div"),
6394
+ safeChildNodes = safeFragment.childNodes,
6395
+ remove;
6396
+
6397
+ // Append wrapper element to unknown element safe doc fragment
6398
+ if ( context === document ) {
6399
+ // Use the fragment we've already created for this document
6400
+ safeFragment.appendChild( div );
6401
+ } else {
6402
+ // Use a fragment created with the owner document
6403
+ createSafeFragment( context ).appendChild( div );
6404
+ }
6405
+
6406
+ // Go to html and back, then peel off extra wrappers
6407
+ div.innerHTML = wrap[1] + elem + wrap[2];
6408
+
6409
+ // Move to the right depth
6410
+ while ( depth-- ) {
6411
+ div = div.lastChild;
6412
+ }
6413
+
6414
+ // Remove IE's autoinserted <tbody> from table fragments
6415
+ if ( !NetBase.support.tbody ) {
6416
+
6417
+ // String was a <table>, *may* have spurious <tbody>
6418
+ var hasBody = rtbody.test(elem),
6419
+ tbody = tag === "table" && !hasBody ?
6420
+ div.firstChild && div.firstChild.childNodes :
6421
+
6422
+ // String was a bare <thead> or <tfoot>
6423
+ wrap[1] === "<table>" && !hasBody ?
6424
+ div.childNodes :
6425
+ [];
6426
+
6427
+ for ( j = tbody.length - 1; j >= 0 ; --j ) {
6428
+ if ( NetBase.nodeName( tbody[ j ], "tbody" ) && !tbody[ j ].childNodes.length ) {
6429
+ tbody[ j ].parentNode.removeChild( tbody[ j ] );
6430
+ }
6431
+ }
6432
+ }
6433
+
6434
+ // IE completely kills leading whitespace when innerHTML is used
6435
+ if ( !NetBase.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) {
6436
+ div.insertBefore( context.createTextNode( rleadingWhitespace.exec(elem)[0] ), div.firstChild );
6437
+ }
6438
+
6439
+ elem = div.childNodes;
6440
+
6441
+ // Clear elements from DocumentFragment (safeFragment or otherwise)
6442
+ // to avoid hoarding elements. Fixes #11356
6443
+ if ( div ) {
6444
+ div.parentNode.removeChild( div );
6445
+
6446
+ // Guard against -1 index exceptions in FF3.6
6447
+ if ( safeChildNodes.length > 0 ) {
6448
+ remove = safeChildNodes[ safeChildNodes.length - 1 ];
6449
+
6450
+ if ( remove && remove.parentNode ) {
6451
+ remove.parentNode.removeChild( remove );
6452
+ }
6453
+ }
6454
+ }
6455
+ }
6456
+ }
6457
+
6458
+ // Resets defaultChecked for any radios and checkboxes
6459
+ // about to be appended to the DOM in IE 6/7 (#8060)
6460
+ var len;
6461
+ if ( !NetBase.support.appendChecked ) {
6462
+ if ( elem[0] && typeof (len = elem.length) === "number" ) {
6463
+ for ( j = 0; j < len; j++ ) {
6464
+ findInputs( elem[j] );
6465
+ }
6466
+ } else {
6467
+ findInputs( elem );
6468
+ }
6469
+ }
6470
+
6471
+ if ( elem.nodeType ) {
6472
+ ret.push( elem );
6473
+ } else {
6474
+ ret = NetBase.merge( ret, elem );
6475
+ }
6476
+ }
6477
+
6478
+ if ( fragment ) {
6479
+ checkScriptType = function( elem ) {
6480
+ return !elem.type || rscriptType.test( elem.type );
6481
+ };
6482
+ for ( i = 0; ret[i]; i++ ) {
6483
+ script = ret[i];
6484
+ if ( scripts && NetBase.nodeName( script, "script" ) && (!script.type || rscriptType.test( script.type )) ) {
6485
+ scripts.push( script.parentNode ? script.parentNode.removeChild( script ) : script );
6486
+
6487
+ } else {
6488
+ if ( script.nodeType === 1 ) {
6489
+ var jsTags = NetBase.grep( script.getElementsByTagName( "script" ), checkScriptType );
6490
+
6491
+ ret.splice.apply( ret, [i + 1, 0].concat( jsTags ) );
6492
+ }
6493
+ fragment.appendChild( script );
6494
+ }
6495
+ }
6496
+ }
6497
+
6498
+ return ret;
6499
+ },
6500
+
6501
+ cleanData: function( elems ) {
6502
+ var data, id,
6503
+ cache = NetBase.cache,
6504
+ special = NetBase.event.special,
6505
+ deleteExpando = NetBase.support.deleteExpando;
6506
+
6507
+ for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
6508
+ if ( elem.nodeName && NetBase.noData[elem.nodeName.toLowerCase()] ) {
6509
+ continue;
6510
+ }
6511
+
6512
+ id = elem[ NetBase.expando ];
6513
+
6514
+ if ( id ) {
6515
+ data = cache[ id ];
6516
+
6517
+ if ( data && data.events ) {
6518
+ for ( var type in data.events ) {
6519
+ if ( special[ type ] ) {
6520
+ NetBase.event.remove( elem, type );
6521
+
6522
+ // This is a shortcut to avoid NetBase.event.remove's overhead
6523
+ } else {
6524
+ NetBase.removeEvent( elem, type, data.handle );
6525
+ }
6526
+ }
6527
+
6528
+ // Null the DOM reference to avoid IE6/7/8 leak (#7054)
6529
+ if ( data.handle ) {
6530
+ data.handle.elem = null;
6531
+ }
6532
+ }
6533
+
6534
+ if ( deleteExpando ) {
6535
+ delete elem[ NetBase.expando ];
6536
+
6537
+ } else if ( elem.removeAttribute ) {
6538
+ elem.removeAttribute( NetBase.expando );
6539
+ }
6540
+
6541
+ delete cache[ id ];
6542
+ }
6543
+ }
6544
+ }
6545
+ });
6546
+
6547
+
6548
+
6549
+
6550
+ var ralpha = /alpha\([^)]*\)/i,
6551
+ ropacity = /opacity=([^)]*)/,
6552
+ // fixed for IE9, see #8346
6553
+ rupper = /([A-Z]|^ms)/g,
6554
+ rnum = /^[\-+]?(?:\d*\.)?\d+$/i,
6555
+ rnumnonpx = /^-?(?:\d*\.)?\d+(?!px)[^\d\s]+$/i,
6556
+ rrelNum = /^([\-+])=([\-+.\de]+)/,
6557
+ rmargin = /^margin/,
6558
+
6559
+ cssShow = { position: "absolute", visibility: "hidden", display: "block" },
6560
+
6561
+ // order is important!
6562
+ cssExpand = [ "Top", "Right", "Bottom", "Left" ],
6563
+
6564
+ curCSS,
6565
+
6566
+ getComputedStyle,
6567
+ currentStyle;
6568
+
6569
+ NetBase.fn.css = function( name, value ) {
6570
+ return NetBase.access( this, function( elem, name, value ) {
6571
+ return value !== undefined ?
6572
+ NetBase.style( elem, name, value ) :
6573
+ NetBase.css( elem, name );
6574
+ }, name, value, arguments.length > 1 );
6575
+ };
6576
+
6577
+ NetBase.extend({
6578
+ // Add in style property hooks for overriding the default
6579
+ // behavior of getting and setting a style property
6580
+ cssHooks: {
6581
+ opacity: {
6582
+ get: function( elem, computed ) {
6583
+ if ( computed ) {
6584
+ // We should always get a number back from opacity
6585
+ var ret = curCSS( elem, "opacity" );
6586
+ return ret === "" ? "1" : ret;
6587
+
6588
+ } else {
6589
+ return elem.style.opacity;
6590
+ }
6591
+ }
6592
+ }
6593
+ },
6594
+
6595
+ // Exclude the following css properties to add px
6596
+ cssNumber: {
6597
+ "fillOpacity": true,
6598
+ "fontWeight": true,
6599
+ "lineHeight": true,
6600
+ "opacity": true,
6601
+ "orphans": true,
6602
+ "widows": true,
6603
+ "zIndex": true,
6604
+ "zoom": true
6605
+ },
6606
+
6607
+ // Add in properties whose names you wish to fix before
6608
+ // setting or getting the value
6609
+ cssProps: {
6610
+ // normalize float css property
6611
+ "float": NetBase.support.cssFloat ? "cssFloat" : "styleFloat"
6612
+ },
6613
+
6614
+ // Get and set the style property on a DOM Node
6615
+ style: function( elem, name, value, extra ) {
6616
+ // Don't set styles on text and comment nodes
6617
+ if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
6618
+ return;
6619
+ }
6620
+
6621
+ // Make sure that we're working with the right name
6622
+ var ret, type, origName = NetBase.camelCase( name ),
6623
+ style = elem.style, hooks = NetBase.cssHooks[ origName ];
6624
+
6625
+ name = NetBase.cssProps[ origName ] || origName;
6626
+
6627
+ // Check if we're setting a value
6628
+ if ( value !== undefined ) {
6629
+ type = typeof value;
6630
+
6631
+ // convert relative number strings (+= or -=) to relative numbers. #7345
6632
+ if ( type === "string" && (ret = rrelNum.exec( value )) ) {
6633
+ value = ( +( ret[1] + 1) * +ret[2] ) + parseFloat( NetBase.css( elem, name ) );
6634
+ // Fixes bug #9237
6635
+ type = "number";
6636
+ }
6637
+
6638
+ // Make sure that NaN and null values aren't set. See: #7116
6639
+ if ( value == null || type === "number" && isNaN( value ) ) {
6640
+ return;
6641
+ }
6642
+
6643
+ // If a number was passed in, add 'px' to the (except for certain CSS properties)
6644
+ if ( type === "number" && !NetBase.cssNumber[ origName ] ) {
6645
+ value += "px";
6646
+ }
6647
+
6648
+ // If a hook was provided, use that value, otherwise just set the specified value
6649
+ if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value )) !== undefined ) {
6650
+ // Wrapped to prevent IE from throwing errors when 'invalid' values are provided
6651
+ // Fixes bug #5509
6652
+ try {
6653
+ style[ name ] = value;
6654
+ } catch(e) {}
6655
+ }
6656
+
6657
+ } else {
6658
+ // If a hook was provided get the non-computed value from there
6659
+ if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) {
6660
+ return ret;
6661
+ }
6662
+
6663
+ // Otherwise just get the value from the style object
6664
+ return style[ name ];
6665
+ }
6666
+ },
6667
+
6668
+ css: function( elem, name, extra ) {
6669
+ var ret, hooks;
6670
+
6671
+ // Make sure that we're working with the right name
6672
+ name = NetBase.camelCase( name );
6673
+ hooks = NetBase.cssHooks[ name ];
6674
+ name = NetBase.cssProps[ name ] || name;
6675
+
6676
+ // cssFloat needs a special treatment
6677
+ if ( name === "cssFloat" ) {
6678
+ name = "float";
6679
+ }
6680
+
6681
+ // If a hook was provided get the computed value from there
6682
+ if ( hooks && "get" in hooks && (ret = hooks.get( elem, true, extra )) !== undefined ) {
6683
+ return ret;
6684
+
6685
+ // Otherwise, if a way to get the computed value exists, use that
6686
+ } else if ( curCSS ) {
6687
+ return curCSS( elem, name );
6688
+ }
6689
+ },
6690
+
6691
+ // A method for quickly swapping in/out CSS properties to get correct calculations
6692
+ swap: function( elem, options, callback ) {
6693
+ var old = {},
6694
+ ret, name;
6695
+
6696
+ // Remember the old values, and insert the new ones
6697
+ for ( name in options ) {
6698
+ old[ name ] = elem.style[ name ];
6699
+ elem.style[ name ] = options[ name ];
6700
+ }
6701
+
6702
+ ret = callback.call( elem );
6703
+
6704
+ // Revert the old values
6705
+ for ( name in options ) {
6706
+ elem.style[ name ] = old[ name ];
6707
+ }
6708
+
6709
+ return ret;
6710
+ }
6711
+ });
6712
+
6713
+ // DEPRECATED in 1.3, Use NetBase.css() instead
6714
+ NetBase.curCSS = NetBase.css;
6715
+
6716
+ if ( document.defaultView && document.defaultView.getComputedStyle ) {
6717
+ getComputedStyle = function( elem, name ) {
6718
+ var ret, defaultView, computedStyle, width,
6719
+ style = elem.style;
6720
+
6721
+ name = name.replace( rupper, "-$1" ).toLowerCase();
6722
+
6723
+ if ( (defaultView = elem.ownerDocument.defaultView) &&
6724
+ (computedStyle = defaultView.getComputedStyle( elem, null )) ) {
6725
+
6726
+ ret = computedStyle.getPropertyValue( name );
6727
+ if ( ret === "" && !NetBase.contains( elem.ownerDocument.documentElement, elem ) ) {
6728
+ ret = NetBase.style( elem, name );
6729
+ }
6730
+ }
6731
+
6732
+ // A tribute to the "awesome hack by Dean Edwards"
6733
+ // WebKit uses "computed value (percentage if specified)" instead of "used value" for margins
6734
+ // which is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values
6735
+ if ( !NetBase.support.pixelMargin && computedStyle && rmargin.test( name ) && rnumnonpx.test( ret ) ) {
6736
+ width = style.width;
6737
+ style.width = ret;
6738
+ ret = computedStyle.width;
6739
+ style.width = width;
6740
+ }
6741
+
6742
+ return ret;
6743
+ };
6744
+ }
6745
+
6746
+ if ( document.documentElement.currentStyle ) {
6747
+ currentStyle = function( elem, name ) {
6748
+ var left, rsLeft, uncomputed,
6749
+ ret = elem.currentStyle && elem.currentStyle[ name ],
6750
+ style = elem.style;
6751
+
6752
+ // Avoid setting ret to empty string here
6753
+ // so we don't default to auto
6754
+ if ( ret == null && style && (uncomputed = style[ name ]) ) {
6755
+ ret = uncomputed;
6756
+ }
6757
+
6758
+ // From the awesome hack by Dean Edwards
6759
+ // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
6760
+
6761
+ // If we're not dealing with a regular pixel number
6762
+ // but a number that has a weird ending, we need to convert it to pixels
6763
+ if ( rnumnonpx.test( ret ) ) {
6764
+
6765
+ // Remember the original values
6766
+ left = style.left;
6767
+ rsLeft = elem.runtimeStyle && elem.runtimeStyle.left;
6768
+
6769
+ // Put in the new values to get a computed value out
6770
+ if ( rsLeft ) {
6771
+ elem.runtimeStyle.left = elem.currentStyle.left;
6772
+ }
6773
+ style.left = name === "fontSize" ? "1em" : ret;
6774
+ ret = style.pixelLeft + "px";
6775
+
6776
+ // Revert the changed values
6777
+ style.left = left;
6778
+ if ( rsLeft ) {
6779
+ elem.runtimeStyle.left = rsLeft;
6780
+ }
6781
+ }
6782
+
6783
+ return ret === "" ? "auto" : ret;
6784
+ };
6785
+ }
6786
+
6787
+ curCSS = getComputedStyle || currentStyle;
6788
+
6789
+ function getWidthOrHeight( elem, name, extra ) {
6790
+
6791
+ // Start with offset property
6792
+ var val = name === "width" ? elem.offsetWidth : elem.offsetHeight,
6793
+ i = name === "width" ? 1 : 0,
6794
+ len = 4;
6795
+
6796
+ if ( val > 0 ) {
6797
+ if ( extra !== "border" ) {
6798
+ for ( ; i < len; i += 2 ) {
6799
+ if ( !extra ) {
6800
+ val -= parseFloat( NetBase.css( elem, "padding" + cssExpand[ i ] ) ) || 0;
6801
+ }
6802
+ if ( extra === "margin" ) {
6803
+ val += parseFloat( NetBase.css( elem, extra + cssExpand[ i ] ) ) || 0;
6804
+ } else {
6805
+ val -= parseFloat( NetBase.css( elem, "border" + cssExpand[ i ] + "Width" ) ) || 0;
6806
+ }
6807
+ }
6808
+ }
6809
+
6810
+ return val + "px";
6811
+ }
6812
+
6813
+ // Fall back to computed then uncomputed css if necessary
6814
+ val = curCSS( elem, name );
6815
+ if ( val < 0 || val == null ) {
6816
+ val = elem.style[ name ];
6817
+ }
6818
+
6819
+ // Computed unit is not pixels. Stop here and return.
6820
+ if ( rnumnonpx.test(val) ) {
6821
+ return val;
6822
+ }
6823
+
6824
+ // Normalize "", auto, and prepare for extra
6825
+ val = parseFloat( val ) || 0;
6826
+
6827
+ // Add padding, border, margin
6828
+ if ( extra ) {
6829
+ for ( ; i < len; i += 2 ) {
6830
+ val += parseFloat( NetBase.css( elem, "padding" + cssExpand[ i ] ) ) || 0;
6831
+ if ( extra !== "padding" ) {
6832
+ val += parseFloat( NetBase.css( elem, "border" + cssExpand[ i ] + "Width" ) ) || 0;
6833
+ }
6834
+ if ( extra === "margin" ) {
6835
+ val += parseFloat( NetBase.css( elem, extra + cssExpand[ i ]) ) || 0;
6836
+ }
6837
+ }
6838
+ }
6839
+
6840
+ return val + "px";
6841
+ }
6842
+
6843
+ NetBase.each([ "height", "width" ], function( i, name ) {
6844
+ NetBase.cssHooks[ name ] = {
6845
+ get: function( elem, computed, extra ) {
6846
+ if ( computed ) {
6847
+ if ( elem.offsetWidth !== 0 ) {
6848
+ return getWidthOrHeight( elem, name, extra );
6849
+ } else {
6850
+ return NetBase.swap( elem, cssShow, function() {
6851
+ return getWidthOrHeight( elem, name, extra );
6852
+ });
6853
+ }
6854
+ }
6855
+ },
6856
+
6857
+ set: function( elem, value ) {
6858
+ return rnum.test( value ) ?
6859
+ value + "px" :
6860
+ value;
6861
+ }
6862
+ };
6863
+ });
6864
+
6865
+ if ( !NetBase.support.opacity ) {
6866
+ NetBase.cssHooks.opacity = {
6867
+ get: function( elem, computed ) {
6868
+ // IE uses filters for opacity
6869
+ return ropacity.test( (computed && elem.currentStyle ? elem.currentStyle.filter : elem.style.filter) || "" ) ?
6870
+ ( parseFloat( RegExp.$1 ) / 100 ) + "" :
6871
+ computed ? "1" : "";
6872
+ },
6873
+
6874
+ set: function( elem, value ) {
6875
+ var style = elem.style,
6876
+ currentStyle = elem.currentStyle,
6877
+ opacity = NetBase.isNumeric( value ) ? "alpha(opacity=" + value * 100 + ")" : "",
6878
+ filter = currentStyle && currentStyle.filter || style.filter || "";
6879
+
6880
+ // IE has trouble with opacity if it does not have layout
6881
+ // Force it by setting the zoom level
6882
+ style.zoom = 1;
6883
+
6884
+ // if setting opacity to 1, and no other filters exist - attempt to remove filter attribute #6652
6885
+ if ( value >= 1 && NetBase.trim( filter.replace( ralpha, "" ) ) === "" ) {
6886
+
6887
+ // Setting style.filter to null, "" & " " still leave "filter:" in the cssText
6888
+ // if "filter:" is present at all, clearType is disabled, we want to avoid this
6889
+ // style.removeAttribute is IE Only, but so apparently is this code path...
6890
+ style.removeAttribute( "filter" );
6891
+
6892
+ // if there there is no filter style applied in a css rule, we are done
6893
+ if ( currentStyle && !currentStyle.filter ) {
6894
+ return;
6895
+ }
6896
+ }
6897
+
6898
+ // otherwise, set new filter values
6899
+ style.filter = ralpha.test( filter ) ?
6900
+ filter.replace( ralpha, opacity ) :
6901
+ filter + " " + opacity;
6902
+ }
6903
+ };
6904
+ }
6905
+
6906
+ NetBase(function() {
6907
+ // This hook cannot be added until DOM ready because the support test
6908
+ // for it is not run until after DOM ready
6909
+ if ( !NetBase.support.reliableMarginRight ) {
6910
+ NetBase.cssHooks.marginRight = {
6911
+ get: function( elem, computed ) {
6912
+ // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
6913
+ // Work around by temporarily setting element display to inline-block
6914
+ return NetBase.swap( elem, { "display": "inline-block" }, function() {
6915
+ if ( computed ) {
6916
+ return curCSS( elem, "margin-right" );
6917
+ } else {
6918
+ return elem.style.marginRight;
6919
+ }
6920
+ });
6921
+ }
6922
+ };
6923
+ }
6924
+ });
6925
+
6926
+ if ( NetBase.expr && NetBase.expr.filters ) {
6927
+ NetBase.expr.filters.hidden = function( elem ) {
6928
+ var width = elem.offsetWidth,
6929
+ height = elem.offsetHeight;
6930
+
6931
+ return ( width === 0 && height === 0 ) || (!NetBase.support.reliableHiddenOffsets && ((elem.style && elem.style.display) || NetBase.css( elem, "display" )) === "none");
6932
+ };
6933
+
6934
+ NetBase.expr.filters.visible = function( elem ) {
6935
+ return !NetBase.expr.filters.hidden( elem );
6936
+ };
6937
+ }
6938
+
6939
+ // These hooks are used by animate to expand properties
6940
+ NetBase.each({
6941
+ margin: "",
6942
+ padding: "",
6943
+ border: "Width"
6944
+ }, function( prefix, suffix ) {
6945
+
6946
+ NetBase.cssHooks[ prefix + suffix ] = {
6947
+ expand: function( value ) {
6948
+ var i,
6949
+
6950
+ // assumes a single number if not a string
6951
+ parts = typeof value === "string" ? value.split(" ") : [ value ],
6952
+ expanded = {};
6953
+
6954
+ for ( i = 0; i < 4; i++ ) {
6955
+ expanded[ prefix + cssExpand[ i ] + suffix ] =
6956
+ parts[ i ] || parts[ i - 2 ] || parts[ 0 ];
6957
+ }
6958
+
6959
+ return expanded;
6960
+ }
6961
+ };
6962
+ });
6963
+
6964
+
6965
+
6966
+
6967
+ var r20 = /%20/g,
6968
+ rbracket = /\[\]$/,
6969
+ rCRLF = /\r?\n/g,
6970
+ rhash = /#.*$/,
6971
+ rheaders = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, // IE leaves an \r character at EOL
6972
+ rinput = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,
6973
+ // #7653, #8125, #8152: local protocol detection
6974
+ rlocalProtocol = /^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,
6975
+ rnoContent = /^(?:GET|HEAD)$/,
6976
+ rprotocol = /^\/\//,
6977
+ rquery = /\?/,
6978
+ rscript = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
6979
+ rselectTextarea = /^(?:select|textarea)/i,
6980
+ rspacesAjax = /\s+/,
6981
+ rts = /([?&])_=[^&]*/,
6982
+ rurl = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,
6983
+
6984
+ // Keep a copy of the old load method
6985
+ _load = NetBase.fn.load,
6986
+
6987
+ /* Prefilters
6988
+ * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)
6989
+ * 2) These are called:
6990
+ * - BEFORE asking for a transport
6991
+ * - AFTER param serialization (s.data is a string if s.processData is true)
6992
+ * 3) key is the dataType
6993
+ * 4) the catchall symbol "*" can be used
6994
+ * 5) execution will start with transport dataType and THEN continue down to "*" if needed
6995
+ */
6996
+ prefilters = {},
6997
+
6998
+ /* Transports bindings
6999
+ * 1) key is the dataType
7000
+ * 2) the catchall symbol "*" can be used
7001
+ * 3) selection will start with transport dataType and THEN go to "*" if needed
7002
+ */
7003
+ transports = {},
7004
+
7005
+ // Document location
7006
+ ajaxLocation,
7007
+
7008
+ // Document location segments
7009
+ ajaxLocParts,
7010
+
7011
+ // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression
7012
+ allTypes = ["*/"] + ["*"];
7013
+
7014
+ // #8138, IE may throw an exception when accessing
7015
+ // a field from window.location if document.domain has been set
7016
+ try {
7017
+ ajaxLocation = location.href;
7018
+ } catch( e ) {
7019
+ // Use the href attribute of an A element
7020
+ // since IE will modify it given document.location
7021
+ ajaxLocation = document.createElement( "a" );
7022
+ ajaxLocation.href = "";
7023
+ ajaxLocation = ajaxLocation.href;
7024
+ }
7025
+
7026
+ // Segment location into parts
7027
+ ajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || [];
7028
+
7029
+ // Base "constructor" for NetBase.ajaxPrefilter and NetBase.ajaxTransport
7030
+ function addToPrefiltersOrTransports( structure ) {
7031
+
7032
+ // dataTypeExpression is optional and defaults to "*"
7033
+ return function( dataTypeExpression, func ) {
7034
+
7035
+ if ( typeof dataTypeExpression !== "string" ) {
7036
+ func = dataTypeExpression;
7037
+ dataTypeExpression = "*";
7038
+ }
7039
+
7040
+ if ( NetBase.isFunction( func ) ) {
7041
+ var dataTypes = dataTypeExpression.toLowerCase().split( rspacesAjax ),
7042
+ i = 0,
7043
+ length = dataTypes.length,
7044
+ dataType,
7045
+ list,
7046
+ placeBefore;
7047
+
7048
+ // For each dataType in the dataTypeExpression
7049
+ for ( ; i < length; i++ ) {
7050
+ dataType = dataTypes[ i ];
7051
+ // We control if we're asked to add before
7052
+ // any existing element
7053
+ placeBefore = /^\+/.test( dataType );
7054
+ if ( placeBefore ) {
7055
+ dataType = dataType.substr( 1 ) || "*";
7056
+ }
7057
+ list = structure[ dataType ] = structure[ dataType ] || [];
7058
+ // then we add to the structure accordingly
7059
+ list[ placeBefore ? "unshift" : "push" ]( func );
7060
+ }
7061
+ }
7062
+ };
7063
+ }
7064
+
7065
+ // Base inspection function for prefilters and transports
7066
+ function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR,
7067
+ dataType /* internal */, inspected /* internal */ ) {
7068
+
7069
+ dataType = dataType || options.dataTypes[ 0 ];
7070
+ inspected = inspected || {};
7071
+
7072
+ inspected[ dataType ] = true;
7073
+
7074
+ var list = structure[ dataType ],
7075
+ i = 0,
7076
+ length = list ? list.length : 0,
7077
+ executeOnly = ( structure === prefilters ),
7078
+ selection;
7079
+
7080
+ for ( ; i < length && ( executeOnly || !selection ); i++ ) {
7081
+ selection = list[ i ]( options, originalOptions, jqXHR );
7082
+ // If we got redirected to another dataType
7083
+ // we try there if executing only and not done already
7084
+ if ( typeof selection === "string" ) {
7085
+ if ( !executeOnly || inspected[ selection ] ) {
7086
+ selection = undefined;
7087
+ } else {
7088
+ options.dataTypes.unshift( selection );
7089
+ selection = inspectPrefiltersOrTransports(
7090
+ structure, options, originalOptions, jqXHR, selection, inspected );
7091
+ }
7092
+ }
7093
+ }
7094
+ // If we're only executing or nothing was selected
7095
+ // we try the catchall dataType if not done already
7096
+ if ( ( executeOnly || !selection ) && !inspected[ "*" ] ) {
7097
+ selection = inspectPrefiltersOrTransports(
7098
+ structure, options, originalOptions, jqXHR, "*", inspected );
7099
+ }
7100
+ // unnecessary when only executing (prefilters)
7101
+ // but it'll be ignored by the caller in that case
7102
+ return selection;
7103
+ }
7104
+
7105
+ // A special extend for ajax options
7106
+ // that takes "flat" options (not to be deep extended)
7107
+ // Fixes #9887
7108
+ function ajaxExtend( target, src ) {
7109
+ var key, deep,
7110
+ flatOptions = NetBase.ajaxSettings.flatOptions || {};
7111
+ for ( key in src ) {
7112
+ if ( src[ key ] !== undefined ) {
7113
+ ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];
7114
+ }
7115
+ }
7116
+ if ( deep ) {
7117
+ NetBase.extend( true, target, deep );
7118
+ }
7119
+ }
7120
+
7121
+ NetBase.fn.extend({
7122
+ load: function( url, params, callback ) {
7123
+ if ( typeof url !== "string" && _load ) {
7124
+ return _load.apply( this, arguments );
7125
+
7126
+ // Don't do a request if no elements are being requested
7127
+ } else if ( !this.length ) {
7128
+ return this;
7129
+ }
7130
+
7131
+ var off = url.indexOf( " " );
7132
+ if ( off >= 0 ) {
7133
+ var selector = url.slice( off, url.length );
7134
+ url = url.slice( 0, off );
7135
+ }
7136
+
7137
+ // Default to a GET request
7138
+ var type = "GET";
7139
+
7140
+ // If the second parameter was provided
7141
+ if ( params ) {
7142
+ // If it's a function
7143
+ if ( NetBase.isFunction( params ) ) {
7144
+ // We assume that it's the callback
7145
+ callback = params;
7146
+ params = undefined;
7147
+
7148
+ // Otherwise, build a param string
7149
+ } else if ( typeof params === "object" ) {
7150
+ params = NetBase.param( params, NetBase.ajaxSettings.traditional );
7151
+ type = "POST";
7152
+ }
7153
+ }
7154
+
7155
+ var self = this;
7156
+
7157
+ // Request the remote document
7158
+ NetBase.ajax({
7159
+ url: url,
7160
+ type: type,
7161
+ dataType: "html",
7162
+ data: params,
7163
+ // Complete callback (responseText is used internally)
7164
+ complete: function( jqXHR, status, responseText ) {
7165
+ // Store the response as specified by the jqXHR object
7166
+ responseText = jqXHR.responseText;
7167
+ // If successful, inject the HTML into all the matched elements
7168
+ if ( jqXHR.isResolved() ) {
7169
+ // #4825: Get the actual response in case
7170
+ // a dataFilter is present in ajaxSettings
7171
+ jqXHR.done(function( r ) {
7172
+ responseText = r;
7173
+ });
7174
+ // See if a selector was specified
7175
+ self.html( selector ?
7176
+ // Create a dummy div to hold the results
7177
+ NetBase("<div>")
7178
+ // inject the contents of the document in, removing the scripts
7179
+ // to avoid any 'Permission Denied' errors in IE
7180
+ .append(responseText.replace(rscript, ""))
7181
+
7182
+ // Locate the specified elements
7183
+ .find(selector) :
7184
+
7185
+ // If not, just inject the full result
7186
+ responseText );
7187
+ }
7188
+
7189
+ if ( callback ) {
7190
+ self.each( callback, [ responseText, status, jqXHR ] );
7191
+ }
7192
+ }
7193
+ });
7194
+
7195
+ return this;
7196
+ },
7197
+
7198
+ serialize: function() {
7199
+ return NetBase.param( this.serializeArray() );
7200
+ },
7201
+
7202
+ serializeArray: function() {
7203
+ return this.map(function(){
7204
+ return this.elements ? NetBase.makeArray( this.elements ) : this;
7205
+ })
7206
+ .filter(function(){
7207
+ return this.name && !this.disabled &&
7208
+ ( this.checked || rselectTextarea.test( this.nodeName ) ||
7209
+ rinput.test( this.type ) );
7210
+ })
7211
+ .map(function( i, elem ){
7212
+ var val = NetBase( this ).val();
7213
+
7214
+ return val == null ?
7215
+ null :
7216
+ NetBase.isArray( val ) ?
7217
+ NetBase.map( val, function( val, i ){
7218
+ return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
7219
+ }) :
7220
+ { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
7221
+ }).get();
7222
+ }
7223
+ });
7224
+
7225
+ // Attach a bunch of functions for handling common AJAX events
7226
+ NetBase.each( "ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split( " " ), function( i, o ){
7227
+ NetBase.fn[ o ] = function( f ){
7228
+ return this.on( o, f );
7229
+ };
7230
+ });
7231
+
7232
+ NetBase.each( [ "get", "post" ], function( i, method ) {
7233
+ NetBase[ method ] = function( url, data, callback, type ) {
7234
+ // shift arguments if data argument was omitted
7235
+ if ( NetBase.isFunction( data ) ) {
7236
+ type = type || callback;
7237
+ callback = data;
7238
+ data = undefined;
7239
+ }
7240
+
7241
+ return NetBase.ajax({
7242
+ type: method,
7243
+ url: url,
7244
+ data: data,
7245
+ success: callback,
7246
+ dataType: type
7247
+ });
7248
+ };
7249
+ });
7250
+
7251
+ NetBase.extend({
7252
+
7253
+ getScript: function( url, callback ) {
7254
+ return NetBase.get( url, undefined, callback, "script" );
7255
+ },
7256
+
7257
+ getJSON: function( url, data, callback ) {
7258
+ return NetBase.get( url, data, callback, "json" );
7259
+ },
7260
+
7261
+ // Creates a full fledged settings object into target
7262
+ // with both ajaxSettings and settings fields.
7263
+ // If target is omitted, writes into ajaxSettings.
7264
+ ajaxSetup: function( target, settings ) {
7265
+ if ( settings ) {
7266
+ // Building a settings object
7267
+ ajaxExtend( target, NetBase.ajaxSettings );
7268
+ } else {
7269
+ // Extending ajaxSettings
7270
+ settings = target;
7271
+ target = NetBase.ajaxSettings;
7272
+ }
7273
+ ajaxExtend( target, settings );
7274
+ return target;
7275
+ },
7276
+
7277
+ ajaxSettings: {
7278
+ url: ajaxLocation,
7279
+ isLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ),
7280
+ global: true,
7281
+ type: "GET",
7282
+ contentType: "application/x-www-form-urlencoded; charset=UTF-8",
7283
+ processData: true,
7284
+ async: true,
7285
+ /*
7286
+ timeout: 0,
7287
+ data: null,
7288
+ dataType: null,
7289
+ username: null,
7290
+ password: null,
7291
+ cache: null,
7292
+ traditional: false,
7293
+ headers: {},
7294
+ */
7295
+
7296
+ accepts: {
7297
+ xml: "application/xml, text/xml",
7298
+ html: "text/html",
7299
+ text: "text/plain",
7300
+ json: "application/json, text/javascript",
7301
+ "*": allTypes
7302
+ },
7303
+
7304
+ contents: {
7305
+ xml: /xml/,
7306
+ html: /html/,
7307
+ json: /json/
7308
+ },
7309
+
7310
+ responseFields: {
7311
+ xml: "responseXML",
7312
+ text: "responseText"
7313
+ },
7314
+
7315
+ // List of data converters
7316
+ // 1) key format is "source_type destination_type" (a single spa