Version Notes
This is the first release of the extension
Download this release
Release Info
Developer | Vsourz Digital |
Extension | Vsourz_Digital_Jassor_Slider |
Version | 1.0.0 |
Comparing to | |
See all releases |
Version 1.0.0
- app/code/community/Vsourz/Layerslider/Block/Adminhtml/Layerslider.php +10 -0
- app/code/community/Vsourz/Layerslider/Block/Adminhtml/Layerslider/Edit.php +43 -0
- app/code/community/Vsourz/Layerslider/Block/Adminhtml/Layerslider/Edit/Form.php +20 -0
- app/code/community/Vsourz/Layerslider/Block/Adminhtml/Layerslider/Edit/Tabs.php +22 -0
- app/code/community/Vsourz/Layerslider/Block/Adminhtml/Layerslider/Edit/Tabs/Content.php +90 -0
- app/code/community/Vsourz/Layerslider/Block/Adminhtml/Layerslider/Edit/Tabs/Form.php +60 -0
- app/code/community/Vsourz/Layerslider/Block/Adminhtml/Layerslider/Grid.php +79 -0
- app/code/community/Vsourz/Layerslider/Block/Adminhtml/Layerslider/Renderer/Image.php +8 -0
- app/code/community/Vsourz/Layerslider/Block/Adminhtml/Layerslider/Renderer/Status.php +12 -0
- app/code/community/Vsourz/Layerslider/Block/Layerslider.php +7 -0
- app/code/community/Vsourz/Layerslider/Helper/Data.php +65 -0
- app/code/community/Vsourz/Layerslider/Model/Layerslider.php +22 -0
- app/code/community/Vsourz/Layerslider/Model/Observer.php +15 -0
- app/code/community/Vsourz/Layerslider/Model/Resource/Layerslider.php +6 -0
- app/code/community/Vsourz/Layerslider/Model/Resource/Layerslider/Collection.php +6 -0
- app/code/community/Vsourz/Layerslider/Model/Source/Autocenter.php +13 -0
- app/code/community/Vsourz/Layerslider/Model/Source/Captioneffect.php +79 -0
- app/code/community/Vsourz/Layerslider/Model/Source/Chancetoshow.php +12 -0
- app/code/community/Vsourz/Layerslider/Model/Source/Dragorientation.php +13 -0
- app/code/community/Vsourz/Layerslider/Model/Source/Pauseonhover.php +13 -0
- app/code/community/Vsourz/Layerslider/Model/Source/Playmode.php +12 -0
- app/code/community/Vsourz/Layerslider/Model/Source/Playorientation.php +13 -0
- app/code/community/Vsourz/Layerslider/Model/Source/Slideeffects.php +65 -0
- app/code/community/Vsourz/Layerslider/Model/Source/Transitionorder.php +11 -0
- app/code/community/Vsourz/Layerslider/Model/Source/Truefalse.php +11 -0
- app/code/community/Vsourz/Layerslider/controllers/Adminhtml/LayersliderController.php +223 -0
- app/code/community/Vsourz/Layerslider/data/layerslider_setup/data-install-0.1.0.php +40 -0
- app/code/community/Vsourz/Layerslider/etc/adminhtml.xml +42 -0
- app/code/community/Vsourz/Layerslider/etc/config.xml +167 -0
- app/code/community/Vsourz/Layerslider/etc/system.xml +547 -0
- app/code/community/Vsourz/Layerslider/sql/layerslider_setup/mysql4-install-0.1.0.php +45 -0
- app/design/adminhtml/default/default/layout/layerslider.xml +48 -0
- app/design/frontend/base/default/layout/layerslider.xml +10 -0
- app/design/frontend/base/default/template/layerslider/layerslider.phtml +95 -0
- app/design/frontend/base/default/template/layerslider/layersliderjs.phtml +264 -0
- app/etc/modules/Vsourz_Layerslider.xml +29 -0
- media/layerslider/banner1-slide-img-2015-04-10-08-43-43.jpg +0 -0
- media/layerslider/banner1_thumb_1-slide_captionimg1-img-2015-04-10-08-43-43.png +0 -0
- media/layerslider/banner1_thumb_2-slide_captionimg2-2015-04-10-08-43-43.png +0 -0
- media/layerslider/banner2-slide-img-2015-04-10-08-48-49.jpg +0 -0
- media/layerslider/banner2_thumb_1-slide_captionimg1-img-2015-04-10-08-48-49.png +0 -0
- media/layerslider/banner2_thumb_2-slide_captionimg2-2015-04-10-08-48-49.png +0 -0
- media/layerslider/banner3-slide-img-2015-04-10-08-49-49.jpg +0 -0
- media/layerslider/banner3_thumb_1-slide_captionimg1-img-2015-04-10-08-50-08.png +0 -0
- media/layerslider/banner3_thumb_2-slide_captionimg2-2015-04-10-08-50-08.png +0 -0
- media/layerslider/slide_5-slide-img-2015-04-20-09-32-44.jpg +0 -0
- package.xml +34 -0
- skin/frontend/base/default/css/layerslider/layerstyle.css +238 -0
- skin/frontend/base/default/images/layerslider/Icon-Slider-11-No-jQuery.png +0 -0
- skin/frontend/base/default/images/layerslider/Icon-Slider-11-jQuery.png +0 -0
- skin/frontend/base/default/images/layerslider/Icon-Slider-12-No-jQuery.png +0 -0
- skin/frontend/base/default/images/layerslider/Icon-Slider-12-jQuery.png +0 -0
- skin/frontend/base/default/images/layerslider/Thumbs.db +0 -0
- skin/frontend/base/default/images/layerslider/a01.png +0 -0
- skin/frontend/base/default/images/layerslider/a02.png +0 -0
- skin/frontend/base/default/images/layerslider/a03.png +0 -0
- skin/frontend/base/default/images/layerslider/a04.png +0 -0
- skin/frontend/base/default/images/layerslider/a06.png +0 -0
- skin/frontend/base/default/images/layerslider/a07.png +0 -0
- skin/frontend/base/default/images/layerslider/a08.png +0 -0
- skin/frontend/base/default/images/layerslider/a09.png +0 -0
- skin/frontend/base/default/images/layerslider/a10.png +0 -0
- skin/frontend/base/default/images/layerslider/a11.png +0 -0
- skin/frontend/base/default/images/layerslider/a12.png +0 -0
- skin/frontend/base/default/images/layerslider/a13.png +0 -0
- skin/frontend/base/default/images/layerslider/a14.png +0 -0
- skin/frontend/base/default/images/layerslider/a15.png +0 -0
- skin/frontend/base/default/images/layerslider/a16.png +0 -0
- skin/frontend/base/default/images/layerslider/a17.png +0 -0
- skin/frontend/base/default/images/layerslider/a18.png +0 -0
- skin/frontend/base/default/images/layerslider/a19.png +0 -0
- skin/frontend/base/default/images/layerslider/a20.png +0 -0
- skin/frontend/base/default/images/layerslider/a21.png +0 -0
- skin/frontend/base/default/images/layerslider/b02.png +0 -0
- skin/frontend/base/default/images/layerslider/b03.png +0 -0
- skin/frontend/base/default/images/layerslider/b05.png +0 -0
- skin/frontend/base/default/images/layerslider/b06.png +0 -0
- skin/frontend/base/default/images/layerslider/b07.png +0 -0
- skin/frontend/base/default/images/layerslider/b10.png +0 -0
- skin/frontend/base/default/images/layerslider/b11.png +0 -0
- skin/frontend/base/default/images/layerslider/b12.png +0 -0
- skin/frontend/base/default/images/layerslider/b13.png +0 -0
- skin/frontend/base/default/images/layerslider/b14.png +0 -0
- skin/frontend/base/default/images/layerslider/b16.png +0 -0
- skin/frontend/base/default/images/layerslider/b17.png +0 -0
- skin/frontend/base/default/images/layerslider/b18.png +0 -0
- skin/frontend/base/default/images/layerslider/b20.png +0 -0
- skin/frontend/base/default/images/layerslider/b21.png +0 -0
- skin/frontend/base/default/images/layerslider/back.jpg +0 -0
- skin/frontend/base/default/images/layerslider/browser-icons.png +0 -0
- skin/frontend/base/default/images/layerslider/close.png +0 -0
- skin/frontend/base/default/images/layerslider/loading.gif +0 -0
- skin/frontend/base/default/images/layerslider/loading2.gif +0 -0
- skin/frontend/base/default/images/layerslider/play.png +0 -0
- skin/frontend/base/default/images/layerslider/t01.png +0 -0
- skin/frontend/base/default/js/layerslider/jquery-1.10.2.min.js +6 -0
- skin/frontend/base/default/js/layerslider/jssor.js +2724 -0
- skin/frontend/base/default/js/layerslider/jssor.slider.min-old.js +2 -0
- skin/frontend/base/default/js/layerslider/jssor.slider.min.js +2 -0
app/code/community/Vsourz/Layerslider/Block/Adminhtml/Layerslider.php
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Vsourz_Layerslider_Block_Adminhtml_Layerslider extends Mage_Adminhtml_Block_Widget_Grid_Container{
|
3 |
+
public function __construct(){
|
4 |
+
$this->_controller = 'adminhtml_layerslider';
|
5 |
+
$this->_blockGroup = 'layerslider';
|
6 |
+
$this->_headerText = Mage::helper('layerslider')->__('Slide Manager');
|
7 |
+
$this->_addButtonLabel = Mage::helper('layerslider')->__('Add Slide');
|
8 |
+
parent::__construct();
|
9 |
+
}
|
10 |
+
}
|
app/code/community/Vsourz/Layerslider/Block/Adminhtml/Layerslider/Edit.php
ADDED
@@ -0,0 +1,43 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Vsourz_Layerslider_Block_Adminhtml_Layerslider_Edit extends Mage_Adminhtml_Block_Widget_Form_Container {
|
3 |
+
public function __construct(){
|
4 |
+
parent::__construct();
|
5 |
+
$this->_objectId = 'id';
|
6 |
+
$this->_blockGroup = 'layerslider';
|
7 |
+
$this->_controller = 'adminhtml_layerslider';
|
8 |
+
$this->_mode = 'edit';
|
9 |
+
$this->_updateButton('save', 'label', Mage::helper('layerslider')->__('Save Slide'));
|
10 |
+
$this->_updateButton('delete', 'label', Mage::helper('layerslider')->__('Delete'));
|
11 |
+
$this->_addButton('saveandcontinue', array(
|
12 |
+
'label' => Mage::helper('layerslider')->__('Save And Continue Edit'),
|
13 |
+
'onclick' => 'saveAndContinueEdit()',
|
14 |
+
'class' => 'save',
|
15 |
+
), -100);
|
16 |
+
|
17 |
+
$this->_formScripts[] ="
|
18 |
+
function toggleEditor(){
|
19 |
+
if (tinyMCE.getInstanceById('form_content') == null) {
|
20 |
+
tinyMCE.execCommand('mceAddControl', false, 'edit_form');
|
21 |
+
} else {
|
22 |
+
tinyMCE.execCommand('mceRemoveControl', false, 'edit_form');
|
23 |
+
}
|
24 |
+
}
|
25 |
+
function saveAndContinueEdit(){
|
26 |
+
editForm.submit($('edit_form').action+'back/edit/');
|
27 |
+
}";
|
28 |
+
}
|
29 |
+
protected function _prepareLayout(){
|
30 |
+
parent::_prepareLayout();
|
31 |
+
if (Mage::getSingleton('cms/wysiwyg_config')->isEnabled()) {
|
32 |
+
$this->getLayout()->getBlock('head')->setCanLoadTinyMce(true);
|
33 |
+
$this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
|
34 |
+
}
|
35 |
+
}
|
36 |
+
public function getHeaderText() {
|
37 |
+
if (Mage::registry('layerslider_data') && Mage::registry('layerslider_data')->getId()) {
|
38 |
+
return Mage::helper('layerslider')->__('Edit Slide "%s"', $this->htmlEscape(Mage::registry('layerslider_data')->getSlideTitle()));
|
39 |
+
} else {
|
40 |
+
return Mage::helper('layerslider')->__('New Slide');
|
41 |
+
}
|
42 |
+
}
|
43 |
+
}
|
app/code/community/Vsourz/Layerslider/Block/Adminhtml/Layerslider/Edit/Form.php
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Vsourz_Layerslider_Block_Adminhtml_Layerslider_Edit_Form extends Mage_Adminhtml_Block_Widget_Form{
|
3 |
+
protected function _prepareForm(){
|
4 |
+
if (Mage::registry('layerslider_data')){
|
5 |
+
$data = Mage::registry('layerslider_data')->getData();
|
6 |
+
}else{
|
7 |
+
$data = array();
|
8 |
+
}
|
9 |
+
$form = new Varien_Data_Form(array(
|
10 |
+
'id' => 'edit_form',
|
11 |
+
'action' => $this->getUrl('*/*/save', array('id' => $this->getRequest()->getParam('id'))),
|
12 |
+
'method' => 'post',
|
13 |
+
'enctype' => 'multipart/form-data'
|
14 |
+
));
|
15 |
+
$form->setUseContainer(true);
|
16 |
+
$this->setForm($form);
|
17 |
+
$form->setValues($data);
|
18 |
+
return parent::_prepareForm();
|
19 |
+
}
|
20 |
+
}
|
app/code/community/Vsourz/Layerslider/Block/Adminhtml/Layerslider/Edit/Tabs.php
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Vsourz_Layerslider_Block_Adminhtml_Layerslider_Edit_Tabs extends Mage_Adminhtml_Block_Widget_Tabs {
|
3 |
+
public function __construct() {
|
4 |
+
parent::__construct();
|
5 |
+
$this->setId('layerslider_tabs');
|
6 |
+
$this->setDestElementId('edit_form'); // this should be same as the form id define above
|
7 |
+
$this->setTitle(Mage::helper('layerslider')->__('Slide Data'));
|
8 |
+
}
|
9 |
+
protected function _beforeToHtml() {
|
10 |
+
$this->addTab('form_section', array(
|
11 |
+
'label' => Mage::helper('layerslider')->__('Slide Basic Information'),
|
12 |
+
'title' => Mage::helper('layerslider')->__('Slide Basic Information'),
|
13 |
+
'content' => $this->getLayout()->createBlock('layerslider/adminhtml_layerslider_edit_tabs_form')->toHtml(),
|
14 |
+
));
|
15 |
+
$this->addTab('content_section', array(
|
16 |
+
'label' => Mage::helper('layerslider')->__('Slide Caption Information'),
|
17 |
+
'title' => Mage::helper('layerslider')->__('Slide Caption Information'),
|
18 |
+
'content' => $this->getLayout()->createBlock('layerslider/adminhtml_layerslider_edit_tabs_content')->toHtml(),
|
19 |
+
));
|
20 |
+
return parent::_beforeToHtml();
|
21 |
+
}
|
22 |
+
}
|
app/code/community/Vsourz/Layerslider/Block/Adminhtml/Layerslider/Edit/Tabs/Content.php
ADDED
@@ -0,0 +1,90 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Vsourz_Layerslider_Block_Adminhtml_Layerslider_Edit_Tabs_Content extends Mage_Adminhtml_Block_Widget_Form{
|
3 |
+
protected function _prepareForm() {
|
4 |
+
if (Mage::registry('layerslider_data')) {
|
5 |
+
$data = Mage::registry('layerslider_data')->getData();
|
6 |
+
} else {
|
7 |
+
$data = array();
|
8 |
+
}
|
9 |
+
$form = new Varien_Data_Form();
|
10 |
+
$this->setForm($form);
|
11 |
+
$fieldset = $form->addFieldset('layerslider_layerslider', array('legend' => Mage::helper('layerslider')->__('Caption Information')));
|
12 |
+
|
13 |
+
$wysiwygConfig = Mage::getSingleton('cms/wysiwyg_config')->getConfig();
|
14 |
+
$wysiwygConfig->addData(array('add_variables' => false,
|
15 |
+
'add_widgets' => false,
|
16 |
+
'add_images' => false,
|
17 |
+
'directives_url' => Mage::getSingleton('adminhtml/url')->getUrl('adminhtml/cms_wysiwyg/directive'),
|
18 |
+
'directives_url_quoted' => preg_quote(Mage::getSingleton('adminhtml/url')->getUrl('adminhtml/cms_wysiwyg/directive')),
|
19 |
+
'widget_window_url' => Mage::getSingleton('adminhtml/url')->getUrl('adminhtml/widget/index'),
|
20 |
+
'files_browser_window_url' => Mage::getSingleton('adminhtml/url')->getUrl('adminhtml/cms_wysiwyg_images/index'),
|
21 |
+
'files_browser_window_width' => (int) Mage::getConfig()->getNode('adminhtml/cms/browser/window_width'),
|
22 |
+
'files_browser_window_height' => (int) Mage::getConfig()->getNode('adminhtml/cms/browser/window_height')
|
23 |
+
));
|
24 |
+
|
25 |
+
$fieldset->addField('slide_captionimg1', 'image', array(
|
26 |
+
'label' => Mage::helper('layerslider')->__('Slide Caption Image1'),
|
27 |
+
'name' => 'slide_captionimg1',
|
28 |
+
'note' => '(*.jpg, *.jpeg, *.png, *.gif)',
|
29 |
+
));
|
30 |
+
|
31 |
+
$fieldset->addField('slide_captionimg2', 'image', array(
|
32 |
+
'label' => Mage::helper('layerslider')->__('Slide Caption Image2'),
|
33 |
+
'name' => 'slide_captionimg2',
|
34 |
+
'note' => '(*.jpg, *.jpeg, *.png, *.gif)',
|
35 |
+
));
|
36 |
+
|
37 |
+
$fieldset->addField('slide_caption1', 'editor', array(
|
38 |
+
'name' => 'slide_caption1',
|
39 |
+
'label' => Mage::helper('layerslider')->__('Slide Caption1'),
|
40 |
+
'title' => Mage::helper('layerslider')->__('Slide Caption1'),
|
41 |
+
'style' => 'width:650px; height:100px;',
|
42 |
+
'config' => $wysiwygConfig,
|
43 |
+
'required' => false,
|
44 |
+
'wysiwyg' => true
|
45 |
+
));
|
46 |
+
|
47 |
+
$fieldset->addField('slide_caption2', 'editor', array(
|
48 |
+
'name' => 'slide_caption2',
|
49 |
+
'label' => Mage::helper('layerslider')->__('Slide Caption2'),
|
50 |
+
'title' => Mage::helper('layerslider')->__('Slide Caption2'),
|
51 |
+
'style' => 'width:650px; height:100px;',
|
52 |
+
'config' => $wysiwygConfig,
|
53 |
+
'required' => false,
|
54 |
+
'wysiwyg' => true
|
55 |
+
));
|
56 |
+
|
57 |
+
$fieldset->addField('slide_caption3', 'editor', array(
|
58 |
+
'name' => 'slide_caption3',
|
59 |
+
'label' => Mage::helper('layerslider')->__('Slide Caption3'),
|
60 |
+
'title' => Mage::helper('layerslider')->__('Slide Caption3'),
|
61 |
+
'style' => 'width:650px; height:100px;',
|
62 |
+
'config' => $wysiwygConfig,
|
63 |
+
'required' => false,
|
64 |
+
'wysiwyg' => true
|
65 |
+
));
|
66 |
+
|
67 |
+
$fieldset->addField('slide_caption4', 'editor', array(
|
68 |
+
'name' => 'slide_caption4',
|
69 |
+
'label' => Mage::helper('layerslider')->__('Slide Caption4'),
|
70 |
+
'title' => Mage::helper('layerslider')->__('Slide Caption4'),
|
71 |
+
'style' => 'width:650px; height:100px;',
|
72 |
+
'config' => $wysiwygConfig,
|
73 |
+
'required' => false,
|
74 |
+
'wysiwyg' => true
|
75 |
+
));
|
76 |
+
|
77 |
+
$fieldset->addField('slide_caption5', 'editor', array(
|
78 |
+
'name' => 'slide_caption5',
|
79 |
+
'label' => Mage::helper('layerslider')->__('Slide Caption5'),
|
80 |
+
'title' => Mage::helper('layerslider')->__('Slide Caption5'),
|
81 |
+
'style' => 'width:650px; height:100px;',
|
82 |
+
'config' => $wysiwygConfig,
|
83 |
+
'required' => false,
|
84 |
+
'wysiwyg' => true
|
85 |
+
));
|
86 |
+
|
87 |
+
$form->setValues($data);
|
88 |
+
return parent::_prepareForm();
|
89 |
+
}
|
90 |
+
}
|
app/code/community/Vsourz/Layerslider/Block/Adminhtml/Layerslider/Edit/Tabs/Form.php
ADDED
@@ -0,0 +1,60 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Vsourz_Layerslider_Block_Adminhtml_Layerslider_Edit_Tabs_Form extends Mage_Adminhtml_Block_Widget_Form{
|
3 |
+
protected function _prepareForm() {
|
4 |
+
if (Mage::registry('layerslider_data')) {
|
5 |
+
$data = Mage::registry('layerslider_data')->getData();
|
6 |
+
} else {
|
7 |
+
$data = array();
|
8 |
+
}
|
9 |
+
$form = new Varien_Data_Form();
|
10 |
+
$this->setForm($form);
|
11 |
+
$fieldset = $form->addFieldset('layerslider_layerslider', array('legend' => Mage::helper('layerslider')->__('Slide Information')));
|
12 |
+
$fieldset->addField('slide_title', 'text', array(
|
13 |
+
'label' => Mage::helper('layerslider')->__('Slide Title'),
|
14 |
+
'class' => 'required-entry',
|
15 |
+
'required' => true,
|
16 |
+
'name' => 'slide_title',
|
17 |
+
));
|
18 |
+
$fieldset->addField('slide_img', 'image', array(
|
19 |
+
'label' => Mage::helper('layerslider')->__('Slide Image'),
|
20 |
+
'class' => 'required-entry required-file',
|
21 |
+
'required' => true,
|
22 |
+
'name' => 'slide_img',
|
23 |
+
'note' => '(*.jpg, *.jpeg, *.png, *.gif)',
|
24 |
+
));
|
25 |
+
$fieldset->addField('slide_url', 'text', array(
|
26 |
+
'label' => Mage::helper('layerslider')->__('Slide URL'),
|
27 |
+
'required' => false,
|
28 |
+
'name' => 'slide_url',
|
29 |
+
));
|
30 |
+
$fieldset->addField('active_from', 'date', array(
|
31 |
+
'label' => Mage::helper('layerslider')->__('Active From'),
|
32 |
+
'tabindex' => 1,
|
33 |
+
'name' => 'active_from',
|
34 |
+
'image' => $this->getSkinUrl('images/grid-cal.gif'),
|
35 |
+
'time' => true,
|
36 |
+
'format' => Mage::app()->getLocale()->getDateTimeFormat(Mage_Core_Model_Locale::FORMAT_TYPE_SHORT)
|
37 |
+
));
|
38 |
+
$fieldset->addField('active_to', 'date', array(
|
39 |
+
'label' => Mage::helper('layerslider')->__('Active To'),
|
40 |
+
'tabindex' => 1,
|
41 |
+
'name' => 'active_to',
|
42 |
+
'image' => $this->getSkinUrl('images/grid-cal.gif'),
|
43 |
+
'time' => true,
|
44 |
+
'format' => Mage::app()->getLocale()->getDateTimeFormat(Mage_Core_Model_Locale::FORMAT_TYPE_SHORT)
|
45 |
+
));
|
46 |
+
$fieldset->addField('status', 'select', array(
|
47 |
+
'label' => Mage::helper('layerslider')->__('Status'),
|
48 |
+
'class' => 'required-entry',
|
49 |
+
'required' => true,
|
50 |
+
'name' => 'status',
|
51 |
+
'value' => '0',
|
52 |
+
'values' => array('0' => 'Disable','1' => 'Enable'),
|
53 |
+
'disabled' => false,
|
54 |
+
'readonly' => false,
|
55 |
+
'tabindex' => 1
|
56 |
+
));
|
57 |
+
$form->setValues($data);
|
58 |
+
return parent::_prepareForm();
|
59 |
+
}
|
60 |
+
}
|
app/code/community/Vsourz/Layerslider/Block/Adminhtml/Layerslider/Grid.php
ADDED
@@ -0,0 +1,79 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Vsourz_Layerslider_Block_Adminhtml_Layerslider_Grid extends Mage_Adminhtml_Block_Widget_Grid{
|
3 |
+
public function __construct(){
|
4 |
+
parent::__construct();
|
5 |
+
$this->setId('layerslider_grid');
|
6 |
+
$this->setDefaultSort('slide_id');
|
7 |
+
$this->setDefaultDir('ASC');
|
8 |
+
$this->setSaveParametersInSession(true);
|
9 |
+
}
|
10 |
+
protected function _prepareCollection(){
|
11 |
+
$collection = Mage::getModel('layerslider/layerslider')->getCollection();
|
12 |
+
$this->setCollection($collection);
|
13 |
+
return parent::_prepareCollection();
|
14 |
+
}
|
15 |
+
protected function _prepareColumns(){
|
16 |
+
$this->addColumn('slide_id', array(
|
17 |
+
'header' => Mage::helper('layerslider')->__('ID'),
|
18 |
+
'align' => 'right',
|
19 |
+
'width' => '10px',
|
20 |
+
'index' => 'slide_id',
|
21 |
+
));
|
22 |
+
$this->addColumn('slide_title', array(
|
23 |
+
'header' => Mage::helper('layerslider')->__('Title'),
|
24 |
+
'align' => 'right',
|
25 |
+
'width' => '100px',
|
26 |
+
'index' => 'slide_title',
|
27 |
+
));
|
28 |
+
$this->addColumn('slide_url', array(
|
29 |
+
'header' => Mage::helper('layerslider')->__('URL'),
|
30 |
+
'align' => 'right',
|
31 |
+
'width' => '100px',
|
32 |
+
'index' => 'slide_url',
|
33 |
+
));
|
34 |
+
$this->addColumn('slide_img', array(
|
35 |
+
'header' => Mage::helper('layerslider')->__('Image'),
|
36 |
+
'align' => 'left',
|
37 |
+
'width' => '250px',
|
38 |
+
'index' => 'slide_img',
|
39 |
+
'renderer' => 'layerslider/adminhtml_layerslider_renderer_image',
|
40 |
+
));
|
41 |
+
$this->addColumn('status', array(
|
42 |
+
'header' => Mage::helper('layerslider')->__('Status'),
|
43 |
+
'align' => 'left',
|
44 |
+
'width' => '10px',
|
45 |
+
'index' => 'status',
|
46 |
+
'renderer' => 'layerslider/adminhtml_layerslider_renderer_status',
|
47 |
+
));
|
48 |
+
$this->addColumn('active_from', array(
|
49 |
+
'header' => Mage::helper('layerslider')->__('active_from'),
|
50 |
+
'align' => 'left',
|
51 |
+
'type' => 'datetime',
|
52 |
+
'width' => '10px',
|
53 |
+
'index' => 'active_from',
|
54 |
+
));
|
55 |
+
$this->addColumn('active_to', array(
|
56 |
+
'header' => Mage::helper('layerslider')->__('active_to'),
|
57 |
+
'type' => 'datetime',
|
58 |
+
'align' => 'left',
|
59 |
+
'width' => '10px',
|
60 |
+
'index' => 'active_to',
|
61 |
+
));
|
62 |
+
|
63 |
+
return parent::_prepareColumns();
|
64 |
+
}
|
65 |
+
protected function _prepareMassaction(){
|
66 |
+
$this->setMassactionIdField('slide_id');
|
67 |
+
$this->getMassactionBlock()->setFormFieldName('id');
|
68 |
+
$this->getMassactionBlock()->addItem('delete', array(
|
69 |
+
'label'=> Mage::helper('layerslider')->__('Delete'),
|
70 |
+
'url' => $this->getUrl('*/*/massDelete', array('' => '')),
|
71 |
+
'confirm' => Mage::helper('layerslider')->__('Are you sure?')
|
72 |
+
));
|
73 |
+
return $this;
|
74 |
+
}
|
75 |
+
public function getRowUrl($row) {
|
76 |
+
return $this->getUrl('*/*/edit', array('id' => $row->getId()));
|
77 |
+
}
|
78 |
+
|
79 |
+
}
|
app/code/community/Vsourz/Layerslider/Block/Adminhtml/Layerslider/Renderer/Image.php
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Vsourz_Layerslider_Block_Adminhtml_Layerslider_Renderer_Image extends
|
3 |
+
Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract {
|
4 |
+
public function render(Varien_Object $row){
|
5 |
+
$value = $row->getData($this->getColumn()->getIndex());
|
6 |
+
return '<img width="200" height="100" src="'.Mage::getBaseUrl('media').DS.$value . '" />';
|
7 |
+
}
|
8 |
+
}
|
app/code/community/Vsourz/Layerslider/Block/Adminhtml/Layerslider/Renderer/Status.php
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Vsourz_Layerslider_Block_Adminhtml_Layerslider_Renderer_Status extends
|
3 |
+
Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract {
|
4 |
+
public function render(Varien_Object $row){
|
5 |
+
$value = $row->getData($this->getColumn()->getIndex());
|
6 |
+
if($value == 1){
|
7 |
+
return "Enabled";
|
8 |
+
}else{
|
9 |
+
return "Disabled";
|
10 |
+
}
|
11 |
+
}
|
12 |
+
}
|
app/code/community/Vsourz/Layerslider/Block/Layerslider.php
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Vsourz_Layerslider_Block_Layerslider extends Mage_Catalog_Block_Product_Abstract{
|
3 |
+
public function getSlides(){
|
4 |
+
$_slideCollection = Mage::getModel("layerslider/layerslider")->getSlideCollection();
|
5 |
+
return $_slideCollection;
|
6 |
+
}
|
7 |
+
}
|
app/code/community/Vsourz/Layerslider/Helper/Data.php
ADDED
@@ -0,0 +1,65 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Vsourz_Layerslider_Helper_Data extends Mage_Core_Helper_Abstract{
|
3 |
+
|
4 |
+
public function writeFile($file, $post, $field){
|
5 |
+
$adminsession = Mage::getSingleton('adminhtml/session');
|
6 |
+
$io = new Varien_Io_File();
|
7 |
+
$io->open(array('path' => Mage::getBaseDir()));
|
8 |
+
if ($io->fileExists($file))
|
9 |
+
{
|
10 |
+
if ($io->isWriteable($file))
|
11 |
+
{
|
12 |
+
try
|
13 |
+
{
|
14 |
+
$io->streamOpen($file);
|
15 |
+
$io->streamWrite($post);
|
16 |
+
|
17 |
+
} catch(Mage_Core_Exception $e)
|
18 |
+
{
|
19 |
+
$adminsession->addError($e->getMessage());
|
20 |
+
}
|
21 |
+
} else {
|
22 |
+
|
23 |
+
$adminsession->addError($file." is not writable. Change permissions to 644 to use this feature.");
|
24 |
+
|
25 |
+
}
|
26 |
+
} else {
|
27 |
+
|
28 |
+
$adminsession->addError($file." does not exist. The file was not saved.");
|
29 |
+
}
|
30 |
+
|
31 |
+
$io->streamClose();
|
32 |
+
}
|
33 |
+
|
34 |
+
public function saveFileContentToConfig($file, $field){
|
35 |
+
$adminsession = Mage::getSingleton('adminhtml/session');
|
36 |
+
$io = new Varien_Io_File();
|
37 |
+
$io->open(array('path' => Mage::getBaseDir()));
|
38 |
+
if ($io->fileExists($file)){
|
39 |
+
try{
|
40 |
+
$contents = $io->read($file);
|
41 |
+
Mage::getModel('core/config')->saveConfig('layerslider'.DS.'files'.DS.$field, $contents);
|
42 |
+
}catch(Mage_Core_Exception $e){
|
43 |
+
$adminsession->addError($e->getMessage());
|
44 |
+
}
|
45 |
+
}else{
|
46 |
+
$adminsession->addError($file." does not exist. Please create this file on your domain root to use this feature.");
|
47 |
+
}
|
48 |
+
$io->streamClose();
|
49 |
+
}
|
50 |
+
|
51 |
+
public function isWriteable($file)
|
52 |
+
{
|
53 |
+
$io = new Varien_Io_File();
|
54 |
+
$io->open(array('path' => Mage::getBaseDir()));
|
55 |
+
return $io->isWriteable($file);
|
56 |
+
}
|
57 |
+
|
58 |
+
public function cssFile(){
|
59 |
+
$pckPath = Mage::getStoreConfig('layerslider/files/packagename');
|
60 |
+
$skinUrl = Mage::getBaseDir().DS."skin".DS;
|
61 |
+
$absPath = "css/layerslider/layerstyle.css";
|
62 |
+
$finalPath = $skinUrl.'frontend/'.$pckPath.'/'.$absPath;
|
63 |
+
return $finalPath;
|
64 |
+
}
|
65 |
+
}
|
app/code/community/Vsourz/Layerslider/Model/Layerslider.php
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Vsourz_Layerslider_Model_Layerslider extends Mage_Core_Model_Abstract{
|
3 |
+
public function _construct(){
|
4 |
+
parent::_construct();
|
5 |
+
$this->_init('layerslider/layerslider');
|
6 |
+
}
|
7 |
+
public function getSlideCollection(){
|
8 |
+
$slideCollection = Mage::getModel('layerslider/layerslider')->getCollection()
|
9 |
+
->addFieldToFilter('status','1')
|
10 |
+
->addFieldToFilter('active_from',
|
11 |
+
array(
|
12 |
+
array('to' => Mage::getModel('core/date')->gmtDate()),
|
13 |
+
array('active_from', 'null'=>'')))
|
14 |
+
->addFieldToFilter('active_to',
|
15 |
+
array(
|
16 |
+
array('from' => Mage::getModel('core/date')->gmtDate()),
|
17 |
+
array('active_to', 'null'=>'')));
|
18 |
+
//echo $slideCollection->getSelect()->__toString();
|
19 |
+
//die;
|
20 |
+
return $slideCollection;
|
21 |
+
}
|
22 |
+
}
|
app/code/community/Vsourz/Layerslider/Model/Observer.php
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Vsourz_Layerslider_Model_Observer extends Mage_Core_Model_Abstract {
|
4 |
+
public function writeToFileOnConfigSave($observer) {
|
5 |
+
$helper = Mage::helper('layerslider'); // loads the helper file
|
6 |
+
$post = Mage::app()->getRequest()->getPost(); // gets all the data of that section
|
7 |
+
$css_post = $post['groups']['files']['fields']['css']['value']; //gets the value of css area
|
8 |
+
$helper->writeFile($helper->cssFile(), $css_post, 'css');
|
9 |
+
|
10 |
+
}
|
11 |
+
public function saveConfigOnConfigLoad(){
|
12 |
+
$helper = Mage::helper('layerslider'); // loads the helper file
|
13 |
+
$helper->saveFileContentToConfig($helper->cssFile(), 'css');
|
14 |
+
}
|
15 |
+
}
|
app/code/community/Vsourz/Layerslider/Model/Resource/Layerslider.php
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Vsourz_Layerslider_Model_Resource_Layerslider extends Mage_Core_Model_Mysql4_Abstract{
|
3 |
+
public function _construct(){
|
4 |
+
$this->_init('layerslider/layerslider','slide_id');
|
5 |
+
}
|
6 |
+
}
|
app/code/community/Vsourz/Layerslider/Model/Resource/Layerslider/Collection.php
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Vsourz_Layerslider_Model_Resource_Layerslider_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract{
|
3 |
+
public function _construct(){
|
4 |
+
$this->_init('layerslider/layerslider');
|
5 |
+
}
|
6 |
+
}
|
app/code/community/Vsourz/Layerslider/Model/Source/Autocenter.php
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Vsourz_Layerslider_Model_Source_Autocenter
|
3 |
+
{
|
4 |
+
public function toOptionArray()
|
5 |
+
{
|
6 |
+
return array(
|
7 |
+
array('value' => '0', 'label' => 'No'),
|
8 |
+
array('value' => '1', 'label' => 'Horizontal'),
|
9 |
+
array('value' => '2', 'label' => 'Vertical'),
|
10 |
+
array('value' => '3', 'label' => 'Both'),
|
11 |
+
);
|
12 |
+
}
|
13 |
+
}
|
app/code/community/Vsourz/Layerslider/Model/Source/Captioneffect.php
ADDED
@@ -0,0 +1,79 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Vsourz_layerslider_Model_Source_Captioneffect
|
3 |
+
{
|
4 |
+
public function toOptionArray()
|
5 |
+
{
|
6 |
+
return array(
|
7 |
+
array('value' => '$FlyDirection:2,$Easing:{$Left:$JssorEasing$.$EaseInOutSine},$ScaleHorizontal:0.6,$Opacity:2', 'label' => 'Right'),
|
8 |
+
|
9 |
+
array('value' => '$FlyDirection:1,$Easing:{$Left:$JssorEasing$.$EaseInOutSine},$ScaleHorizontal:0.6,$Opacity:2', 'label' => 'Left'),
|
10 |
+
|
11 |
+
array('value' => '$FlyDirection:4,$Easing:{$Top:$JssorEasing$.$EaseInOutSine},$ScaleVertical:0.6,$Opacity:2', 'label' => 'Top'),
|
12 |
+
|
13 |
+
array('value' => '$FlyDirection:8,$Easing:{$Top:$JssorEasing$.$EaseInOutSine},$ScaleVertical:0.6,$Opacity:2', 'label' => 'Bottom'),
|
14 |
+
|
15 |
+
array('value' => '$Opacity:2', 'label' => 'Fade'),
|
16 |
+
|
17 |
+
array('value' => '$Rotate:6.25,$FlyDirection:1,$Easing:$JssorEasing$.$EaseLinear,$ScaleHorizontal:0.5,$Opacity:2,$During:{$Left:[0,0.33],$Rotate:[0,0.33]},$Round:{$Rotate:0.25}', 'label' => 'Fade Left'),
|
18 |
+
|
19 |
+
array('value' => '$Rotate:6.25,$FlyDirection:2,$Easing:$JssorEasing$.$EaseLinear,$ScaleHorizontal:0.5,$Opacity:2,$During:{$Left:[0,0.33],$Rotate:[0,0.33]},$Round:{$Rotate:0.25}', 'label' => 'Fade Right'),
|
20 |
+
|
21 |
+
array('value' => '$Rotate:6.25,$FlyDirection:4,$Easing:$JssorEasing$.$EaseLinear,$ScaleHorizontal:0.5,$Opacity:2,$During:{$Left:[0,0.33],$Rotate:[0,0.33]},$Round:{$Rotate:0.25}', 'label' => 'Fade Top'),
|
22 |
+
|
23 |
+
array('value' => '$Rotate:6.25,$FlyDirection:8,$Easing:$JssorEasing$.$EaseLinear,$ScaleVertical:0.5,$Opacity:2,$During:{$Top:[0,0.33],$Rotate:[0,0.33]},$Round:{$Rotate:0.25}', 'label' => 'Fade Bottom'),
|
24 |
+
|
25 |
+
array('value' => '$Clip:3,$FlyDirection:8,$Easing:$JssorEasing$.$EaseInCubic,$ScaleVertical:0.6,$Opacity:2', 'label' => 'B*CLIP'),
|
26 |
+
|
27 |
+
array('value' => '$Clip:3,$Easing:$JssorEasing$.$EaseInOutCubic,$ScaleHorizontal:0.8,$ScaleClip:0.8,$Opacity:2,$During:{$Left:[0.4,0.6],$Clip:[0,0.4],$Opacity:[0.4,0.6]}', 'label' => 'ListHC|L'),
|
28 |
+
|
29 |
+
array('value' => '$Zoom:3,$Rotate:2,$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Rotate:$JssorEasing$.$EaseInWave},$ScaleHorizontal:0.6,$Opacity:2', 'label' => 'L*IW'),
|
30 |
+
|
31 |
+
array('value' => '$Zoom:2,$Rotate:0.25,$FlyDirection:1,$Easing:{$Left:$JssorEasing$.$EaseOutJump,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear,$Rotate:$JssorEasing$.$EaseOutWave},$ScaleHorizontal:0.5,$Opacity:2,$Round:{$Rotate:0.5}', 'label' => 'RTT*JDN1|L'),
|
32 |
+
|
33 |
+
array('value' => '$Rotate:-0.05,$Easing:{$Top:$JssorEasing$.$EaseInOutSine},$ScaleHorizontal:0.6,$Opacity:2', 'label' => 'L*'),
|
34 |
+
|
35 |
+
array('value' => '$Rotate:-1,$FlyDirection:5,$Easing:$JssorEasing$.$EaseLinear,$ScaleHorizontal:0.5,$ScaleVertical:0.5,$Opacity:2,$During:{$Left:[0.67,0.33],$Top:[0,0.33],$Rotate:[0,0.33]},$Round:{$Rotate:0.25}', 'label' => 'L-T*'),
|
36 |
+
|
37 |
+
array('value' => '$Rotate:-1,$FlyDirection:10,$Easing:$JssorEasing$.$EaseLinear,$ScaleHorizontal:0.5,$ScaleVertical:0.5,$Opacity:2,$During:{$Left:[0.67,0.33],$Top:[0,0.33],$Rotate:[0,0.33]},$Round:{$Rotate:0.25}', 'label' => 'L-B*'),
|
38 |
+
|
39 |
+
array('value' => '$Rotate:-1,$FlyDirection:5,$Easing:$JssorEasing$.$EaseLinear,$ScaleHorizontal:0.5,$ScaleVertical:0.5,$Opacity:2,$During:{$Left:[0,0.33],$Top:[0.67,0.33],$Rotate:[0,0.33]},$Round:{$Rotate:0.25}', 'label' => 'T-L*'),
|
40 |
+
|
41 |
+
array('value' => '$Rotate:1,$FlyDirection:6,$Easing:$JssorEasing$.$EaseLinear,$ScaleHorizontal:0.5,$ScaleVertical:0.5,$Opacity:2,$During:{$Left:[0,0.33],$Top:[0.67,0.33],$Rotate:[0,0.33]},$Round:{$Rotate:0.25}', 'label' => 'T-R*'),
|
42 |
+
|
43 |
+
array('value' => '$Rotate:-1,$FlyDirection:9,$Easing:$JssorEasing$.$EaseLinear,$ScaleHorizontal:0.5,$ScaleVertical:0.5,$Opacity:2,$During:{$Left:[0,0.33],$Top:[0.67,0.33],$Rotate:[0,0.33]},$Round:{$Rotate:0.25}', 'label' => 'B-L*'),
|
44 |
+
|
45 |
+
array('value' => '$Rotate:-1,$FlyDirection:10,$Easing:$JssorEasing$.$EaseLinear,$ScaleHorizontal:0.5,$ScaleVertical:0.5,$Opacity:2,$During:{$Left:[0,0.33],$Top:[0.67,0.33],$Rotate:[0,0.33]},$Round:{$Rotate:0.25}', 'label' => 'B-R*'),
|
46 |
+
|
47 |
+
array('value' => '$Rotate:-1,$FlyDirection:6,$Easing:$JssorEasing$.$EaseLinear,$ScaleHorizontal:0.5,$ScaleVertical:0.5,$Opacity:2,$During:{$Left:[0.67,0.33],$Top:[0,0.33],$Rotate:[0,0.33]},$Round:{$Rotate:0.25}', 'label' => 'R-T*'),
|
48 |
+
|
49 |
+
array('value' => '$Rotate:-1,$FlyDirection:10,$Easing:$JssorEasing$.$EaseLinear,$ScaleHorizontal:0.5,$ScaleVertical:0.5,$Opacity:2,$During:{$Left:[0.67,0.33],$Top:[0,0.33],$Rotate:[0,0.33]},$Round:{$Rotate:0.25}', 'label' => 'R-B*'),
|
50 |
+
|
51 |
+
array('value' => '$Zoom:1,$Easing:$JssorEasing$.$EaseInCubic,$Opacity:2', 'label' => 'Zoom'),
|
52 |
+
|
53 |
+
array('value' => '$Zoom:11,$FlyDirection:10,$Easing:{$Left:$JssorEasing$.$EaseOutJump,$Top:$JssorEasing$.$EaseInSine,$Zoom:$JssorEasing$.$EaseInCubic},$ScaleHorizontal:0.6,$ScaleVertical:0.6,$Opacity:2,$Round:{$Left:0.5}', 'label' => 'Zoom With Wave'),
|
54 |
+
|
55 |
+
array('value' => '$Rotate:1,$Easing:{$Opacity:$JssorEasing$.$EaseLinear,$Rotate:$JssorEasing$.$EaseInQuad},$Opacity:2', 'label' => 'Rotate 360'),
|
56 |
+
|
57 |
+
array('value' => '$Zoom:11,$Rotate:0.2,$FlyDirection:6,$Easing:{$Left:$JssorEasing$.$EaseLinear,$Top:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic},$ScaleHorizontal:0.8,$ScaleVertical:0.5,$Opacity:2,$During:{$Top:[0,0.5]}', 'label' => 'Rotate Right Top'),
|
58 |
+
|
59 |
+
array('value' => '$Clip:8,$Move:true,$Easing:{$Clip:$JssorEasing$.$EaseInOutCubic}', 'label' => 'Bottom To Top'),
|
60 |
+
|
61 |
+
array('value' => '$Zoom:1,$FlyDirection:5,$Easing:{$Left:$JssorEasing$.$EaseInOutSine,$Top:$JssorEasing$.$EaseInWave,$Zoom:$JssorEasing$.$EaseInOutQuad},$ScaleHorizontal:0.5,$ScaleVertical:0.3,$Opacity:2,$During:{$Left:[0,0.7],$Top:[0.1,0.7]},$Round:{$Top:0.4}', 'label' => 'Latency'),
|
62 |
+
|
63 |
+
array('value' => '$Zoom:1,$FlyDirection:8,$Easing:{$Top:$JssorEasing$.$EaseOutWave,$Zoom:$JssorEasing$.$EaseOutCubic},$ScaleVertical:0.2,$Opacity:2,$During:{$Top:[0,0.7]},$Round:{$Top:1.3}', 'label' => 'Tortuous | HR'),
|
64 |
+
|
65 |
+
array('value' => '$Zoom:3,$Rotate:0.1,$FlyDirection:6,$Easing:{$Left:$JssorEasing$.$EaseInQuint,$Top:$JssorEasing$.$EaseInWave,$Opacity:$JssorEasing$.$EaseInQuint},$ScaleHorizontal:1,$ScaleVertical:0.1,$Opacity:2', 'label' => 'Spaceship | RT'),
|
66 |
+
|
67 |
+
array('value' => '$Zoom:1,$FlyDirection:9,$Easing:{$Left:$JssorEasing$.$EaseOutWave,$Top:$JssorEasing$.$EaseInExpo},$ScaleHorizontal:0.1,$ScaleVertical:0.5,$Opacity:2,$During:{$Left:[0.3,0.7],$Top:[0,0.7]},$Round:{$Left:1.3}', 'label' => 'Attack | BL'),
|
68 |
+
|
69 |
+
|
70 |
+
array('value' => '$FlyDirection:10,$Easing:{$Left:$JssorEasing$.$EaseLinear,$Top:$JssorEasing$.$EaseInWave},$ScaleHorizontal:0.6,$ScaleVertical:0.3,$Opacity:2,$Round:{$Top:2.5}', 'label' => 'Wave R|R'),
|
71 |
+
|
72 |
+
array('value' => '$FlyDirection:10,$Easing:{$Left:$JssorEasing$.$EaseInJump,$Top:$JssorEasing$.$EaseLinear},$ScaleHorizontal:0.3,$ScaleVertical:0.6,$Opacity:2,$Round:{$Left:1.5}', 'label' => 'Jump'),
|
73 |
+
|
74 |
+
array('value' => '$Clip:3,$Opacity:1.7,$During:{$Clip:[0.5,0.5],$Opacity:[0,0.5]}', 'label' => 'Clip LR|Fade'),
|
75 |
+
|
76 |
+
array('value' => '$Rotate:-1,$FlyDirection:10,$Easing:$JssorEasing$.$EaseLinear,$ScaleHorizontal:0.5,$ScaleVertical:0.5,$Opacity:2,$During:{$Left:[0.67,0.33],$Top:[0,0.33],$Rotate:[0,0.33]},$Round:{$Rotate:0.25}', 'label' => 'Move OUT R|B')
|
77 |
+
);
|
78 |
+
}
|
79 |
+
}
|
app/code/community/Vsourz/Layerslider/Model/Source/Chancetoshow.php
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Vsourz_Layerslider_Model_Source_Chancetoshow
|
3 |
+
{
|
4 |
+
public function toOptionArray()
|
5 |
+
{
|
6 |
+
return array(
|
7 |
+
array('value' => '0', 'label' => 'Never'),
|
8 |
+
array('value' => '1', 'label' => 'On Mouse Over'),
|
9 |
+
array('value' => '2', 'label' => 'Always'),
|
10 |
+
);
|
11 |
+
}
|
12 |
+
}
|
app/code/community/Vsourz/Layerslider/Model/Source/Dragorientation.php
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Vsourz_Layerslider_Model_Source_Dragorientation
|
3 |
+
{
|
4 |
+
public function toOptionArray()
|
5 |
+
{
|
6 |
+
return array(
|
7 |
+
array('value' => '0', 'label' => 'No Drag'),
|
8 |
+
array('value' => '1', 'label' => 'Horizontal'),
|
9 |
+
array('value' => '2', 'label' => 'Vertical'),
|
10 |
+
array('value' => '3', 'label' => 'Either'),
|
11 |
+
);
|
12 |
+
}
|
13 |
+
}
|
app/code/community/Vsourz/Layerslider/Model/Source/Pauseonhover.php
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Vsourz_Layerslider_Model_Source_Pauseonhover
|
3 |
+
{
|
4 |
+
public function toOptionArray()
|
5 |
+
{
|
6 |
+
return array(
|
7 |
+
array('value' => '0', 'label' => 'No Pause'),
|
8 |
+
array('value' => '1', 'label' => 'Pause For Desktop'),
|
9 |
+
array('value' => '2', 'label' => 'Pause For Touch Device'),
|
10 |
+
array('value' => '3', 'label' => 'Pause for Both'),
|
11 |
+
);
|
12 |
+
}
|
13 |
+
}
|
app/code/community/Vsourz/Layerslider/Model/Source/Playmode.php
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Vsourz_Layerslider_Model_Source_Playmode
|
3 |
+
{
|
4 |
+
public function toOptionArray()
|
5 |
+
{
|
6 |
+
return array(
|
7 |
+
array('value' => '0', 'label' => 'No Play'),
|
8 |
+
array('value' => '1', 'label' => 'Chain'),
|
9 |
+
array('value' => '3', 'label' => 'Chain Flatten'),
|
10 |
+
);
|
11 |
+
}
|
12 |
+
}
|
app/code/community/Vsourz/Layerslider/Model/Source/Playorientation.php
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Vsourz_Layerslider_Model_Source_Playorientation
|
3 |
+
{
|
4 |
+
public function toOptionArray()
|
5 |
+
{
|
6 |
+
return array(
|
7 |
+
array('value' => '1', 'label' => 'Horizontal'),
|
8 |
+
array('value' => '2', 'label' => 'Vertical'),
|
9 |
+
array('value' => '5', 'label' => 'Horizontal Reverse'),
|
10 |
+
array('value' => '6', 'label' => 'Vertical Reverse'),
|
11 |
+
);
|
12 |
+
}
|
13 |
+
}
|
app/code/community/Vsourz/Layerslider/Model/Source/Slideeffects.php
ADDED
@@ -0,0 +1,65 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Vsourz_layerslider_Model_Source_Slideeffects
|
3 |
+
{
|
4 |
+
public function toOptionArray()
|
5 |
+
{
|
6 |
+
return array(
|
7 |
+
array('value' => 'random', 'label' => 'Random'),
|
8 |
+
array('value' => '$Duration:1200,$Opacity:2', 'label' => 'Fade'),
|
9 |
+
|
10 |
+
array('value' => '$Duration:500,$FlyDirection:4,$Easing:$JssorEasing$.$EaseInQuad', 'label' => 'Slide Down'),
|
11 |
+
|
12 |
+
array('value' => '$Duration:500,$FlyDirection:8,$Easing:$JssorEasing$.$EaseInQuad', 'label' => 'Slide Up'),
|
13 |
+
|
14 |
+
array('value' => '$Duration:400,$FlyDirection:1,$Easing:$JssorEasing$.$EaseInQuad', 'label' => 'Slide Right'),
|
15 |
+
|
16 |
+
array('value' => '$Duration:400,$FlyDirection:2,$Easing:$JssorEasing$.$EaseInQuad', 'label' => 'Slide Left'),
|
17 |
+
|
18 |
+
array('value' => '$Duration:1200,$FlyDirection:1,$Easing:{$Left:$JssorEasing$.$EaseInOutQuart,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2,$Brother:{$Duration:1200,$FlyDirection:2,$Easing:{$Left:$JssorEasing$.$EaseInOutQuart,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}', 'label' => 'Shift LR'),
|
19 |
+
|
20 |
+
array('value' => '$Duration:1200,$FlyDirection:4,$Easing:{$Top:$JssorEasing$.$EaseInOutQuart,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2,$Brother:{$Duration:1200,$FlyDirection:8,$Easing:{$Top:$JssorEasing$.$EaseInOutQuart,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}', 'label' => 'Shift TB'),
|
21 |
+
|
22 |
+
array('value' => '$Duration:1400,$Zoom:1.5,$FlyDirection:1,$Easing:{$Left:$JssorEasing$.$EaseInWave,$Zoom:$JssorEasing$.$EaseInSine},$ScaleHorizontal:0.25,$Opacity:2,$ZIndex:-10,$Brother:{$Duration:1400,$Zoom:1.5,$FlyDirection:2,$Easing:{$Left:$JssorEasing$.$EaseInWave,$Zoom:$JssorEasing$.$EaseInSine},$ScaleHorizontal:0.25,$Opacity:2,$ZIndex:-10}', 'label' => 'Switch'),
|
23 |
+
|
24 |
+
array('value' => '$Duration:1500,$Cols:2,$FlyDirection:1,$ChessMode:{$Column:3},$Easing:{$Left:$JssorEasing$.$EaseInOutCubic},$ScaleHorizontal:0.5,$Opacity:2,$Brother:{$Duration:1500,$Opacity:2}', 'label' => 'Doors'),
|
25 |
+
|
26 |
+
array('value' => '$Duration:600,$Delay:50,$Cols:8,$Rows:4,$SlideOut:true,$FlyDirection:2,$Formation:$JssorSlideshowFormations$.$FormationZigZag,$Assembly:513,$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad},$Opacity:2', 'label' => 'Float Right Zing Zag'),
|
27 |
+
|
28 |
+
|
29 |
+
array('value' => '$Duration:1000,$Cols:12,$FlyDirection:8,$Formation:$JssorSlideshowFormations$.$FormationStraight,$ChessMode:{$Column:12}', 'label' => 'Vertical Chess Stripe'),
|
30 |
+
|
31 |
+
|
32 |
+
array('value' => '$Duration:1200,$Cols:8,$Rows:4,$Clip:15,$During:{$Top:[0.5,0.5],$Clip:[0,0.5]},$FlyDirection:8,$Formation:$JssorSlideshowFormations$.$FormationStraight,$ChessMode:{$Column:12},$ScaleClip:0.5', 'label' => 'Clip & Ches In'),
|
33 |
+
|
34 |
+
array('value' => '$Duration:1200,$Cols:8,$Rows:4,$Clip:15,$During:{$Top:[0.5,0.5],$Clip:[0,0.5]},$SlideOut:true,$FlyDirection:8,$Formation:$JssorSlideshowFormations$.$FormationStraight,$ChessMode:{$Column:12},$ScaleClip:0.5', 'label' => 'Clip & Ches Out'),
|
35 |
+
|
36 |
+
array('value' => '$Duration:500,$Delay:50,$Cols:12,$FlyDirection:9,$Formation:$JssorSlideshowFormations$.$FormationStraightStairs,$Assembly:260,$Easing:{$Left:$JssorEasing$.$EaseLinear,$Top:$JssorEasing$.$EaseOutWave,$Opacity:$JssorEasing$.$EaseLinear},$ScaleHorizontal:0.2,$ScaleVertical:0.1,$Opacity:2,$Round:{$Top:2}', 'label' => 'Fluter Inside in Column'),
|
37 |
+
|
38 |
+
array('value' => '$Duration:800,$Delay:30,$Cols:12,$SlideOut:true,$FlyDirection:2,$Formation:$JssorSlideshowFormations$.$FormationStraight,$Assembly:260,$Easing:{$Left:$JssorEasing$.$EaseInOutExpo,$Opacity:$JssorEasing$.$EaseInOutQuad},$ScaleHorizontal:0.2,$Opacity:2,$Outside:true,$Round:{$Top:0.5}', 'label' => 'Extrude Out Stripe'),
|
39 |
+
|
40 |
+
|
41 |
+
array('value' => '$Duration:800,$Delay:20,$Cols:10,$FlyDirection:1,$Formation:$JssorSlideshowFormations$.$FormationStraight,$Easing:{$Left:$JssorEasing$.$EaseInOutQuart,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2,$ZIndex:-10,$Brother:{$Duration:1200,$Delay:40,$Cols:10,$FlyDirection:1,$Formation:$JssorSlideshowFormations$.$FormationStraight,$Easing:{$Top:$JssorEasing$.$EaseInOutQuart,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2,$ZIndex:-10,$Shift:-100}', 'label' => 'Return LR'),
|
42 |
+
|
43 |
+
array('value' => '$Duration:1600,$Rows:2,$FlyDirection:1,$ChessMode:{$Row:3},$Easing:{$Left:$JssorEasing$.$EaseInOutQuart,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2,$Brother:{$Duration:1600,$Rows:2,$FlyDirection:2,$ChessMode:{$Row:3},$Easing:{$Left:$JssorEasing$.$EaseInOutQuart,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}', 'label' => 'Chess Replace TB'),
|
44 |
+
|
45 |
+
array('value' => '$Duration:1600,$Cols:2,$FlyDirection:8,$ChessMode:{$Column:12},$Easing:{$Top:$JssorEasing$.$EaseInOutQuart,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2,$Brother:{$Duration:1600,$Cols:2,$FlyDirection:4,$ChessMode:{$Column:12},$Easing:{$Top:$JssorEasing$.$EaseInOutQuart,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}', 'label' => 'Chess Replace LR'),
|
46 |
+
|
47 |
+
array('value' => '$Duration:1000,$Delay:30,$Cols:8,$Rows:4,$Clip:15,$SlideOut:true,$Formation:$JssorSlideshowFormations$.$FormationStraightStairs,$Assembly:2049,$Easing:$JssorEasing$.$EaseOutQuad', 'label' => 'Collapse Stairs'),
|
48 |
+
|
49 |
+
array('value' => '$Duration:800,$Delay:300,$Cols:8,$Rows:4,$Clip:15,$SlideOut:true,$Formation:$JssorSlideshowFormations$.$FormationSquare,$Easing:$JssorEasing$.$EaseOutQuad', 'label' => 'Collapse Square'),
|
50 |
+
|
51 |
+
array('value' => '$Duration:1000,$Delay:30,$Cols:8,$Rows:4,$Clip:15,$Formation:$JssorSlideshowFormations$.$FormationStraightStairs,$Assembly:2050,$Easing:$JssorEasing$.$EaseInQuad', 'label' => 'Expand Stairs'),
|
52 |
+
|
53 |
+
array('value' => '$Duration:1000,$Rows:4,$Clip:4', 'label' => 'Horizontal Stripe'),
|
54 |
+
|
55 |
+
array('value' => '$Duration:1000,$Cols:8,$Clip:1', 'label' => 'Vertical Stripe'),
|
56 |
+
|
57 |
+
array('value' => '$Duration:600,$Delay:50,$Cols:8,$Rows:4,$FlyDirection:6,$Formation:$JssorSlideshowFormations$.$FormationSwirl,$Assembly:264,$Easing:{$Top:$JssorEasing$.$EaseInQuart,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2', 'label' => 'Parabola Swirl in'),
|
58 |
+
|
59 |
+
array('value' => '$Duration:600,$Delay:30,$Cols:8,$Rows:4,$FlyDirection:6,$Formation:$JssorSlideshowFormations$.$FormationStraightStairs,$Easing:{$Left:$JssorEasing$.$EaseInQuart,$Top:$JssorEasing$.$EaseInQuart,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2', 'label' => 'Parabola Stairs in'),
|
60 |
+
|
61 |
+
|
62 |
+
|
63 |
+
);
|
64 |
+
}
|
65 |
+
}
|
app/code/community/Vsourz/Layerslider/Model/Source/Transitionorder.php
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Vsourz_Layerslider_Model_Source_Transitionorder
|
3 |
+
{
|
4 |
+
public function toOptionArray()
|
5 |
+
{
|
6 |
+
return array(
|
7 |
+
array('value' => '0', 'label' => 'Random'),
|
8 |
+
array('value' => '1', 'label' => 'Sequence'),
|
9 |
+
);
|
10 |
+
}
|
11 |
+
}
|
app/code/community/Vsourz/Layerslider/Model/Source/Truefalse.php
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Vsourz_Layerslider_Model_Source_Truefalse
|
3 |
+
{
|
4 |
+
public function toOptionArray()
|
5 |
+
{
|
6 |
+
return array(
|
7 |
+
array('value' => 'true', 'label' => 'True'),
|
8 |
+
array('value' => 'false', 'label' => 'False'),
|
9 |
+
);
|
10 |
+
}
|
11 |
+
}
|
app/code/community/Vsourz/Layerslider/controllers/Adminhtml/LayersliderController.php
ADDED
@@ -0,0 +1,223 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Vsourz_Layerslider_Adminhtml_LayersliderController extends Mage_Adminhtml_Controller_action {
|
3 |
+
protected function _initAction(){
|
4 |
+
$this->loadLayout()->_setActiveMenu('layerslider/layerslider')->_addBreadcrumb(
|
5 |
+
Mage::helper('adminhtml')->__('Layer Slider'),
|
6 |
+
Mage::helper('adminhtml')->__('Slide Manager')
|
7 |
+
);
|
8 |
+
return $this;
|
9 |
+
}
|
10 |
+
public function indexAction(){
|
11 |
+
$this->_initAction()->renderLayout();
|
12 |
+
}
|
13 |
+
public function newAction(){
|
14 |
+
$this->loadLayout();
|
15 |
+
$this->_addContent($this->getLayout()->createBlock('layerslider/adminhtml_layerslider_edit'))->_addLeft($this->getLayout()->createBlock('layerslider/adminhtml_layerslider_edit_tabs'));
|
16 |
+
$this->renderLayout();
|
17 |
+
}
|
18 |
+
public function saveAction(){
|
19 |
+
if ($data = $this->getRequest()->getPost()){
|
20 |
+
// Below _filterDateTime is needed to filter dates in Magento
|
21 |
+
$data = $this->_filterDateTime($data, array('active_from', 'active_to'));
|
22 |
+
$model = Mage::getModel('layerslider/layerslider');
|
23 |
+
$id = $this->getRequest()->getParam('id');
|
24 |
+
foreach ($data as $key => $value){
|
25 |
+
if (is_array($value)){
|
26 |
+
$data[$key] = implode(',',$this->getRequest()->getParam($key));
|
27 |
+
}
|
28 |
+
}
|
29 |
+
if($id){
|
30 |
+
$model->load($id);
|
31 |
+
}
|
32 |
+
//Code to Save Main Banner Image
|
33 |
+
if(isset($_FILES['slide_img']['name']) and (file_exists($_FILES['slide_img']['tmp_name']))) {
|
34 |
+
try{
|
35 |
+
$uploader = new Varien_File_Uploader('slide_img');
|
36 |
+
$uploader->setAllowedExtensions(array('jpg','jpeg','gif','png')); // or pdf or anything
|
37 |
+
$uploader->setAllowRenameFiles(false);
|
38 |
+
// setAllowRenameFiles(true) -> move your file in a folder the magento way
|
39 |
+
$uploader->setFilesDispersion(false);
|
40 |
+
$path = Mage::getBaseDir('media') . DS .'layerslider';
|
41 |
+
$imgName = explode('.',$_FILES['slide_img']['name']);
|
42 |
+
$imgName[0] = $imgName[0].'-'.'slide-img'.'-'.date('Y-m-d H-i-s');
|
43 |
+
$imgName = implode('.',$imgName);
|
44 |
+
$imgName = preg_replace('/\s+/', '-', $imgName);
|
45 |
+
$uploader->save($path, $imgName);
|
46 |
+
$data['slide_img'] = 'layerslider'.DS.$imgName;
|
47 |
+
}catch(Exception $e){
|
48 |
+
|
49 |
+
}
|
50 |
+
}
|
51 |
+
else {
|
52 |
+
if(isset($data['slide_img']['delete']) && $data['slide_img']['delete'] == 1){
|
53 |
+
// delete image file
|
54 |
+
$image = explode(',',$data['slide_img']);
|
55 |
+
unlink(Mage::getBaseDir('media').DS.$image[1]);
|
56 |
+
// set db blank entry
|
57 |
+
$data['slide_img'] = '';
|
58 |
+
}else{
|
59 |
+
unset($data['slide_img']);
|
60 |
+
}
|
61 |
+
}
|
62 |
+
|
63 |
+
//Caption Image 1
|
64 |
+
if(isset($_FILES['slide_captionimg1']['name']) and (file_exists($_FILES['slide_captionimg1']['tmp_name']))) {
|
65 |
+
try{
|
66 |
+
$uploader = new Varien_File_Uploader('slide_captionimg1');
|
67 |
+
$uploader->setAllowedExtensions(array('jpg','jpeg','gif','png')); // or pdf or anything
|
68 |
+
$uploader->setAllowRenameFiles(false);
|
69 |
+
// setAllowRenameFiles(true) -> move your file in a folder the magento way
|
70 |
+
$uploader->setFilesDispersion(false);
|
71 |
+
$path = Mage::getBaseDir('media') . DS .'layerslider';
|
72 |
+
$imgName = explode('.',$_FILES['slide_captionimg1']['name']);
|
73 |
+
$imgName[0] = $imgName[0].'-'.'slide_captionimg1-img'.'-'.date('Y-m-d H-i-s');
|
74 |
+
$imgName = implode('.',$imgName);
|
75 |
+
$imgName = preg_replace('/\s+/', '-', $imgName);
|
76 |
+
$uploader->save($path, $imgName);
|
77 |
+
$data['slide_captionimg1'] = 'layerslider'.DS.$imgName;
|
78 |
+
}catch(Exception $e){
|
79 |
+
|
80 |
+
}
|
81 |
+
}
|
82 |
+
else {
|
83 |
+
if(isset($data['slide_captionimg1']['delete']) && $data['slide_captionimg1']['delete'] == 1){
|
84 |
+
// delete image file
|
85 |
+
$imagecap1 = explode(',',$data['slide_captionimg1']);
|
86 |
+
unlink(Mage::getBaseDir('media').DS.$imagecap1[1]);
|
87 |
+
// set db blank entry
|
88 |
+
$data['slide_captionimg1'] = '';
|
89 |
+
}else{
|
90 |
+
unset($data['slide_captionimg1']);
|
91 |
+
}
|
92 |
+
}
|
93 |
+
|
94 |
+
//Caption Image 2
|
95 |
+
if(isset($_FILES['slide_captionimg2']['name']) and (file_exists($_FILES['slide_captionimg2']['tmp_name']))) {
|
96 |
+
try{
|
97 |
+
$uploader = new Varien_File_Uploader('slide_captionimg2');
|
98 |
+
$uploader->setAllowedExtensions(array('jpg','jpeg','gif','png')); // or pdf or anything
|
99 |
+
$uploader->setAllowRenameFiles(false);
|
100 |
+
// setAllowRenameFiles(true) -> move your file in a folder the magento way
|
101 |
+
$uploader->setFilesDispersion(false);
|
102 |
+
$path = Mage::getBaseDir('media') . DS .'layerslider';
|
103 |
+
$imgName = explode('.',$_FILES['slide_captionimg2']['name']);
|
104 |
+
$imgName[0] = $imgName[0].'-'.'slide_captionimg2'.'-'.date('Y-m-d H-i-s');
|
105 |
+
$imgName = implode('.',$imgName);
|
106 |
+
$imgName = preg_replace('/\s+/', '-', $imgName);
|
107 |
+
$uploader->save($path, $imgName);
|
108 |
+
$data['slide_captionimg2'] = 'layerslider'.DS.$imgName;
|
109 |
+
}catch(Exception $e){
|
110 |
+
|
111 |
+
}
|
112 |
+
}
|
113 |
+
else {
|
114 |
+
if(isset($data['slide_captionimg2']['delete']) && $data['slide_captionimg2']['delete'] == 1){
|
115 |
+
// delete image file
|
116 |
+
$imagecap2 = explode(',',$data['slide_captionimg2']);
|
117 |
+
unlink(Mage::getBaseDir('media').DS.$imagecap2[1]);
|
118 |
+
// set db blank entry
|
119 |
+
$data['slide_captionimg2'] = '';
|
120 |
+
}else{
|
121 |
+
unset($data['slide_captionimg2']);
|
122 |
+
}
|
123 |
+
}
|
124 |
+
|
125 |
+
$model->setData($data);
|
126 |
+
Mage::getSingleton('adminhtml/session')->setFormData($data);
|
127 |
+
try{
|
128 |
+
if ($id){
|
129 |
+
$model->setId($id);
|
130 |
+
}
|
131 |
+
$model->save();
|
132 |
+
if (!$model->getId()){
|
133 |
+
Mage::throwException(Mage::helper('layerslider')->__('Error saving slide details'));
|
134 |
+
}
|
135 |
+
Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('layerslider')->__('Details was successfully saved.'));
|
136 |
+
Mage::getSingleton('adminhtml/session')->setFormData(false);
|
137 |
+
|
138 |
+
// The following line decides if it is a "save" or "save and continue"
|
139 |
+
if ($this->getRequest()->getParam('back')) {
|
140 |
+
$this->_redirect('*/*/edit', array('id' => $model->getId()));
|
141 |
+
}else{
|
142 |
+
$this->_redirect('*/*/');
|
143 |
+
}
|
144 |
+
}catch(Exception $e){
|
145 |
+
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
146 |
+
if ($model && $model->getId()) {
|
147 |
+
$this->_redirect('*/*/edit', array('id' => $model->getId()));
|
148 |
+
} else {
|
149 |
+
$this->_redirect('*/*/');
|
150 |
+
}
|
151 |
+
}
|
152 |
+
return;
|
153 |
+
}
|
154 |
+
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('layerslider')->__('No data found to save'));
|
155 |
+
$this->_redirect('*/*/');
|
156 |
+
}
|
157 |
+
public function editAction(){
|
158 |
+
$id = $this->getRequest()->getParam('id', null);
|
159 |
+
$model = Mage::getModel('layerslider/layerslider');
|
160 |
+
if($id){
|
161 |
+
$model->load((int)$id);
|
162 |
+
if($model->getId()){
|
163 |
+
$data = Mage::getSingleton('adminhtml/session')->getFormData(true);
|
164 |
+
if($data){
|
165 |
+
$model->setData($data)->setId($id);
|
166 |
+
}
|
167 |
+
}else{
|
168 |
+
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('layerslider')->__('slide does not exist'));
|
169 |
+
$this->_redirect('*/*/');
|
170 |
+
}
|
171 |
+
}
|
172 |
+
Mage::register('layerslider_data', $model);
|
173 |
+
$this->_title($this->__('Layerslider'))->_title($this->__('Edit Slide'));
|
174 |
+
$this->loadLayout();
|
175 |
+
$this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
|
176 |
+
$this->_addContent($this->getLayout()->createBlock('layerslider/adminhtml_layerslider_edit'))
|
177 |
+
->_addLeft($this->getLayout()->createBlock('layerslider/adminhtml_layerslider_edit_tabs'));
|
178 |
+
$this->renderLayout();
|
179 |
+
}
|
180 |
+
public function deleteAction(){
|
181 |
+
if ($this->getRequest()->getParam('id') > 0) {
|
182 |
+
try{
|
183 |
+
$model = Mage::getModel('layerslider/layerslider');
|
184 |
+
$id = $this->getRequest()->getParam('id');
|
185 |
+
$objModel = $model->load($id);
|
186 |
+
$path = Mage::getBaseDir('media');
|
187 |
+
unlink($path.DS.$objModel->SlideImg);
|
188 |
+
unlink($path.DS.$objModel->SlideCaptionimg1);
|
189 |
+
unlink($path.DS.$objModel->SlideCaptionimg2);
|
190 |
+
$model->setId($id)->delete();
|
191 |
+
Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('adminhtml')->__('Item was successfully deleted'));
|
192 |
+
$this->_redirect('*/*/');
|
193 |
+
}catch (Exception $e) {
|
194 |
+
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
195 |
+
$this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
|
196 |
+
}
|
197 |
+
}
|
198 |
+
$this->_redirect('*/*/');
|
199 |
+
}
|
200 |
+
public function massDeleteAction(){
|
201 |
+
// Here the id is got from the function _prepareMassAction in Grid.php. ($this->getMassactionBlock()->setFormFieldName('id');)
|
202 |
+
$ids = $this->getRequest()->getParam('id');
|
203 |
+
if(!is_array($ids)) {
|
204 |
+
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('layerslider')->__('Please select slide(s).'));
|
205 |
+
}else{
|
206 |
+
try{
|
207 |
+
$slideModel = Mage::getModel('layerslider/layerslider');
|
208 |
+
foreach($ids as $id){
|
209 |
+
$objModel = $slideModel->load($id);
|
210 |
+
$path = Mage::getBaseDir('media');
|
211 |
+
unlink($path.DS.$objModel->SlideImg);
|
212 |
+
unlink($path.DS.$objModel->SlideCaptionimg1);
|
213 |
+
unlink($path.DS.$objModel->SlideCaptionimg2);
|
214 |
+
$objModel->delete();
|
215 |
+
}
|
216 |
+
Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('layerslider')->__('Total of %d record(s) were deleted.', count($taxIds)));
|
217 |
+
}catch(Exception $e){
|
218 |
+
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
219 |
+
}
|
220 |
+
}
|
221 |
+
$this->_redirect('*/*/index');
|
222 |
+
}
|
223 |
+
}
|
app/code/community/Vsourz/Layerslider/data/layerslider_setup/data-install-0.1.0.php
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$slider = array(
|
3 |
+
array(
|
4 |
+
'slide_title' => 'Slide 1',
|
5 |
+
'slide_url' => '',
|
6 |
+
'slide_img' => 'layerslider/Slide1-slide-img-2015-04-07-09-19-09.jpg',
|
7 |
+
'slide_captionimg1' => 'layerslider/thumb4-slide_captionimg1-img-2015-04-07-10-03-10.png',
|
8 |
+
'slide_caption1' => 'Lorem ipsum dolor sit amet',
|
9 |
+
'slide_caption2' => 'Consectetuer adipiscing elit. ',
|
10 |
+
'slide_caption3' => 'Duis lobortis.',
|
11 |
+
'slide_caption4' => 'Nulla nec velit.',
|
12 |
+
'status' => '1'
|
13 |
+
),
|
14 |
+
array(
|
15 |
+
'slide_title' => 'Slide 2',
|
16 |
+
'slide_url' => '',
|
17 |
+
'slide_img' => 'layerslider/Slide2-slide-img-2015-04-07-09-19-38.jpg',
|
18 |
+
'slide_captionimg1' => 'layerslider/thumb2-slide_captionimg1-img-2015-04-07-06-23-47.png',
|
19 |
+
'slide_caption1' => 'Proin gravida nibh vel velit auctor aliquet.',
|
20 |
+
'slide_caption2' => 'Duis sed odio sit amet nibh',
|
21 |
+
'slide_caption3' => 'Mauris in erat justo.',
|
22 |
+
'slide_caption4' => 'Nullam ac urna eu felis dapibus',
|
23 |
+
'status' => '1'
|
24 |
+
),
|
25 |
+
array(
|
26 |
+
'slide_title' => 'Slide 3',
|
27 |
+
'slide_url' => '',
|
28 |
+
'slide_img' => 'layerslider/Slide3-slide-img-2015-04-07-09-19-57.jpg',
|
29 |
+
'slide_captionimg1' => 'layerslider/thumb1-slide_captionimg1-img-2015-04-07-06-28-35.png',
|
30 |
+
'slide_caption1' => 'Mauris pulvinar erat non massa.',
|
31 |
+
'slide_caption2' => 'Suspendisse tortor turpis.',
|
32 |
+
'slide_caption3' => 'Mauris pulvinar erat non massa.',
|
33 |
+
'slide_caption4' => 'Morbi luctus. Duis lobortis.',
|
34 |
+
'status' => '1'
|
35 |
+
)
|
36 |
+
);
|
37 |
+
foreach ($slider as $slides){
|
38 |
+
Mage::getModel('layerslider/layerslider')->setData($slides)->save();
|
39 |
+
}
|
40 |
+
|
app/code/community/Vsourz/Layerslider/etc/adminhtml.xml
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<menu>
|
4 |
+
<layerslider module="layerslider">
|
5 |
+
<title>Layer Slider</title>
|
6 |
+
<sort_order>90</sort_order>
|
7 |
+
<children>
|
8 |
+
<items module="layerslider">
|
9 |
+
<title>Manage Slides</title>
|
10 |
+
<action>layerslider/adminhtml_layerslider</action>
|
11 |
+
</items>
|
12 |
+
</children>
|
13 |
+
</layerslider>
|
14 |
+
</menu>
|
15 |
+
<acl>
|
16 |
+
<resources>
|
17 |
+
<all>
|
18 |
+
<title>Allow Everything</title>
|
19 |
+
</all>
|
20 |
+
<admin>
|
21 |
+
<children>
|
22 |
+
<vsourz_layerslider>
|
23 |
+
<title>Layer Slider</title>
|
24 |
+
<sort_order>6</sort_order>
|
25 |
+
</vsourz_layerslider>
|
26 |
+
<system>
|
27 |
+
<children>
|
28 |
+
<config>
|
29 |
+
<children>
|
30 |
+
<layerslider translate="title" module="layerslider">
|
31 |
+
<title>Layerslider</title>
|
32 |
+
<sort_order>10</sort_order>
|
33 |
+
</layerslider>
|
34 |
+
</children>
|
35 |
+
</config>
|
36 |
+
</children>
|
37 |
+
</system>
|
38 |
+
</children>
|
39 |
+
</admin>
|
40 |
+
</resources>
|
41 |
+
</acl>
|
42 |
+
</config>
|
app/code/community/Vsourz/Layerslider/etc/config.xml
ADDED
@@ -0,0 +1,167 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<Vsourz_Layerslider>
|
5 |
+
<version>0.1.0</version>
|
6 |
+
</Vsourz_Layerslider>
|
7 |
+
</modules>
|
8 |
+
<frontend>
|
9 |
+
<routers>
|
10 |
+
<layerslider>
|
11 |
+
<use>standard</use>
|
12 |
+
<args>
|
13 |
+
<module>Vsourz_Layerslider</module>
|
14 |
+
<frontName>layerslider</frontName>
|
15 |
+
</args>
|
16 |
+
</layerslider>
|
17 |
+
</routers>
|
18 |
+
<layout>
|
19 |
+
<updates>
|
20 |
+
<layerslider>
|
21 |
+
<file>layerslider.xml</file>
|
22 |
+
</layerslider>
|
23 |
+
</updates>
|
24 |
+
</layout>
|
25 |
+
</frontend>
|
26 |
+
<admin>
|
27 |
+
<routers>
|
28 |
+
<layerslider>
|
29 |
+
<use>admin</use>
|
30 |
+
<args>
|
31 |
+
<module>Vsourz_Layerslider</module>
|
32 |
+
<frontName>layerslider</frontName>
|
33 |
+
</args>
|
34 |
+
</layerslider>
|
35 |
+
</routers>
|
36 |
+
</admin>
|
37 |
+
<adminhtml>
|
38 |
+
<layout>
|
39 |
+
<updates>
|
40 |
+
<layerslider>
|
41 |
+
<file>layerslider.xml</file>
|
42 |
+
</layerslider>
|
43 |
+
</updates>
|
44 |
+
</layout>
|
45 |
+
<events>
|
46 |
+
<admin_system_config_changed_section_layerslider>
|
47 |
+
<observers>
|
48 |
+
<writecss>
|
49 |
+
<type>singleton</type>
|
50 |
+
<class>layerslider/observer</class>
|
51 |
+
<method>writeToFileOnConfigSave</method>
|
52 |
+
</writecss>
|
53 |
+
</observers>
|
54 |
+
</admin_system_config_changed_section_layerslider>
|
55 |
+
<controller_action_predispatch>
|
56 |
+
<observers>
|
57 |
+
<savefileconfig>
|
58 |
+
<type>singleton</type>
|
59 |
+
<class>layerslider/observer</class>
|
60 |
+
<method>saveConfigOnConfigLoad</method>
|
61 |
+
</savefileconfig>
|
62 |
+
</observers>
|
63 |
+
</controller_action_predispatch>
|
64 |
+
</events>
|
65 |
+
</adminhtml>
|
66 |
+
<global>
|
67 |
+
<helpers>
|
68 |
+
<layerslider>
|
69 |
+
<class>Vsourz_Layerslider_Helper</class>
|
70 |
+
</layerslider>
|
71 |
+
</helpers>
|
72 |
+
<blocks>
|
73 |
+
<layerslider>
|
74 |
+
<class>Vsourz_Layerslider_Block</class>
|
75 |
+
</layerslider>
|
76 |
+
</blocks>
|
77 |
+
<models>
|
78 |
+
<layerslider>
|
79 |
+
<class>Vsourz_Layerslider_Model</class>
|
80 |
+
<resourceModel>layerslider_resource</resourceModel>
|
81 |
+
</layerslider>
|
82 |
+
<layerslider_resource>
|
83 |
+
<class>Vsourz_Layerslider_Model_Resource</class>
|
84 |
+
<entities>
|
85 |
+
<layerslider>
|
86 |
+
<table>layerslider</table>
|
87 |
+
</layerslider>
|
88 |
+
</entities>
|
89 |
+
</layerslider_resource>
|
90 |
+
</models>
|
91 |
+
<resources>
|
92 |
+
<layerslider_setup>
|
93 |
+
<setup>
|
94 |
+
<module>Vsourz_Layerslider</module>
|
95 |
+
</setup>
|
96 |
+
<connection>
|
97 |
+
<use>core_setup</use>
|
98 |
+
</connection>
|
99 |
+
</layerslider_setup>
|
100 |
+
<layerslider_write>
|
101 |
+
<connection>
|
102 |
+
<use>core_write</use>
|
103 |
+
</connection>
|
104 |
+
</layerslider_write>
|
105 |
+
<layerslider_read>
|
106 |
+
<connection>
|
107 |
+
<use>core_read</use>
|
108 |
+
</connection>
|
109 |
+
</layerslider_read>
|
110 |
+
</resources>
|
111 |
+
</global>
|
112 |
+
<default>
|
113 |
+
<layerslider>
|
114 |
+
<settings>
|
115 |
+
<loadjs>0</loadjs>
|
116 |
+
<slidelinkurl>1</slidelinkurl>
|
117 |
+
<autoplay>true</autoplay>
|
118 |
+
<autoplayinterval>500</autoplayinterval>
|
119 |
+
<pauseonhover>3</pauseonhover>
|
120 |
+
<arrowkeynav>true</arrowkeynav>
|
121 |
+
<slideduration>500</slideduration>
|
122 |
+
<mindragoffset>20</mindragoffset>
|
123 |
+
<playorientation>1</playorientation>
|
124 |
+
<dragorientation>3</dragorientation>
|
125 |
+
<arrownavigation>2</arrownavigation>
|
126 |
+
<arrowautocenter>2</arrowautocenter>
|
127 |
+
<bulletnavigation>2</bulletnavigation>
|
128 |
+
<bulletautocenter>1</bulletautocenter>
|
129 |
+
<bulletnumber>0</bulletnumber>
|
130 |
+
</settings>
|
131 |
+
<slidesettings>
|
132 |
+
<slideeffects>random</slideeffects>
|
133 |
+
<slideheight>530</slideheight>
|
134 |
+
<slidewidth>1500</slidewidth>
|
135 |
+
<transitionorder>1</transitionorder>
|
136 |
+
</slidesettings>
|
137 |
+
<captionsettings>
|
138 |
+
<playinmode>1</playinmode>
|
139 |
+
<playoutmode>3</playoutmode>
|
140 |
+
<caption1>1</caption1>
|
141 |
+
<captionduration1>500</captionduration1>
|
142 |
+
<captioneffect1>$Clip:3,$FlyDirection:8,$Easing:$JssorEasing$.$EaseInCubic,$ScaleVertical:0.6,$Opacity:2</captioneffect1>
|
143 |
+
<caption2>1</caption2>
|
144 |
+
<captionduration2>500</captionduration2>
|
145 |
+
<captioneffect2>$Zoom:1,$Easing:$JssorEasing$.$EaseInCubic,$Opacity:2</captioneffect2>
|
146 |
+
<caption3>1</caption3>
|
147 |
+
<captionduration3>500</captionduration3>
|
148 |
+
<captioneffect3>$Duration:1400,$Zoom:1.5,$FlyDirection:1,$Easing:{$Left:$JssorEasing$.$EaseInWave,$Zoom:$JssorEasing$.$EaseInSine},$ScaleHorizontal:0.25,$Opacity:2,$ZIndex:-10,$Brother:{$Duration:1400,$Zoom:1.5,$FlyDirection:2,$Easing:{$Left:$JssorEasing$.$EaseInWave,$Zoom:$JssorEasing$.$EaseInSine},$ScaleHorizontal:0.25,$Opacity:2,$ZIndex:-10}</captioneffect3>
|
149 |
+
<caption4>1</caption4>
|
150 |
+
<captionduration4>500</captionduration4>
|
151 |
+
<captioneffect4>$Clip:3,$FlyDirection:8,$Easing:$JssorEasing$.$EaseInCubic,$ScaleVertical:0.6,$Opacity:2</captioneffect4>
|
152 |
+
<caption5>0</caption5>
|
153 |
+
<captionduration5>500</captionduration5>
|
154 |
+
<captioneffect5>l</captioneffect5>
|
155 |
+
<captionimg1>1</captionimg1>
|
156 |
+
<captionimgduration1>500</captionimgduration1>
|
157 |
+
<captionimgeffect1>$Zoom:1,$Easing:$JssorEasing$.$EaseInCubic,$Opacity:2</captionimgeffect1>
|
158 |
+
<captionimg2>1</captionimg2>
|
159 |
+
<captionimgduration2>500</captionimgduration2>
|
160 |
+
<captionimgeffect2>$Zoom:1,$Easing:$JssorEasing$.$EaseInCubic,$Opacity:2</captionimgeffect2>
|
161 |
+
</captionsettings>
|
162 |
+
<files>
|
163 |
+
<packagename>base/default</packagename>
|
164 |
+
</files>
|
165 |
+
</layerslider>
|
166 |
+
</default>
|
167 |
+
</config>
|
app/code/community/Vsourz/Layerslider/etc/system.xml
ADDED
@@ -0,0 +1,547 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<tabs>
|
4 |
+
<layerslider translate="label">
|
5 |
+
<label>Vsourz Layer Slider</label>
|
6 |
+
<sort_order>155</sort_order>
|
7 |
+
</layerslider>
|
8 |
+
</tabs>
|
9 |
+
<sections>
|
10 |
+
<layerslider translate="label">
|
11 |
+
<label>Layer Slider</label>
|
12 |
+
<tab>layerslider</tab>
|
13 |
+
<frontend_type>text</frontend_type>
|
14 |
+
<sort_order>1000</sort_order>
|
15 |
+
<show_in_default>1</show_in_default>
|
16 |
+
<show_in_website>1</show_in_website>
|
17 |
+
<show_in_store>1</show_in_store>
|
18 |
+
<groups>
|
19 |
+
<settings translate="label">
|
20 |
+
<label>General Settings</label>
|
21 |
+
<frontend_type>text</frontend_type>
|
22 |
+
<sort_order>10</sort_order>
|
23 |
+
<show_in_default>1</show_in_default>
|
24 |
+
<show_in_website>1</show_in_website>
|
25 |
+
<show_in_store>1</show_in_store>
|
26 |
+
<fields>
|
27 |
+
<loadjs translate="label">
|
28 |
+
<label>Load JQuery Library</label>
|
29 |
+
<comment><![CDATA[Select YES if JQuery library in not included in your Magento Project]]></comment>
|
30 |
+
<frontend_type>select</frontend_type>
|
31 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
32 |
+
<sort_order>10</sort_order>
|
33 |
+
<show_in_default>1</show_in_default>
|
34 |
+
<show_in_website>1</show_in_website>
|
35 |
+
<show_in_store>1</show_in_store>
|
36 |
+
</loadjs>
|
37 |
+
<slidelinkurl translate="label">
|
38 |
+
<label>Enable Slide Link</label>
|
39 |
+
<comment><![CDATA[If YES it enables link on whole slide]]></comment>
|
40 |
+
<frontend_type>select</frontend_type>
|
41 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
42 |
+
<sort_order>12</sort_order>
|
43 |
+
<show_in_default>1</show_in_default>
|
44 |
+
<show_in_website>1</show_in_website>
|
45 |
+
<show_in_store>1</show_in_store>
|
46 |
+
</slidelinkurl>
|
47 |
+
<autoplay translate="label">
|
48 |
+
<label>Auto Play</label>
|
49 |
+
<comment><![CDATA[Enables and disables the autoplay option]]></comment>
|
50 |
+
<frontend_type>select</frontend_type>
|
51 |
+
<source_model>layerslider/source_truefalse</source_model>
|
52 |
+
<sort_order>15</sort_order>
|
53 |
+
<show_in_default>1</show_in_default>
|
54 |
+
<show_in_website>1</show_in_website>
|
55 |
+
<show_in_store>1</show_in_store>
|
56 |
+
</autoplay>
|
57 |
+
<autoplayinterval translate="label">
|
58 |
+
<label>Autoplay Interval</label>
|
59 |
+
<comment><![CDATA[Time between two slides in milliseconds]]></comment>
|
60 |
+
<frontend_type>text</frontend_type>
|
61 |
+
<sort_order>20</sort_order>
|
62 |
+
<show_in_default>1</show_in_default>
|
63 |
+
<show_in_website>1</show_in_website>
|
64 |
+
<show_in_store>1</show_in_store>
|
65 |
+
<depends>
|
66 |
+
<autoplay>true</autoplay>
|
67 |
+
</depends>
|
68 |
+
</autoplayinterval>
|
69 |
+
<pauseonhover translate="label">
|
70 |
+
<label>Pause on Hover</label>
|
71 |
+
<comment><![CDATA[Pause autoplay when hovered]]></comment>
|
72 |
+
<source_model>layerslider/source_pauseonhover</source_model>
|
73 |
+
<frontend_type>select</frontend_type>
|
74 |
+
<sort_order>25</sort_order>
|
75 |
+
<show_in_default>1</show_in_default>
|
76 |
+
<show_in_website>1</show_in_website>
|
77 |
+
<show_in_store>1</show_in_store>
|
78 |
+
<depends>
|
79 |
+
<autoplay>true</autoplay>
|
80 |
+
</depends>
|
81 |
+
</pauseonhover>
|
82 |
+
<arrowkeynav translate="label">
|
83 |
+
<label>Arrow Key Navigation</label>
|
84 |
+
<comment><![CDATA[Allows keyboard (arrow key) navigation]]></comment>
|
85 |
+
<frontend_type>select</frontend_type>
|
86 |
+
<source_model>layerslider/source_truefalse</source_model>
|
87 |
+
<sort_order>30</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 |
+
</arrowkeynav>
|
92 |
+
<slideduration translate="label">
|
93 |
+
<label>Slide Duration</label>
|
94 |
+
<comment><![CDATA[Time between two slides in milliseconds when clicking on navigation arrow]]></comment>
|
95 |
+
<frontend_type>text</frontend_type>
|
96 |
+
<sort_order>35</sort_order>
|
97 |
+
<show_in_default>1</show_in_default>
|
98 |
+
<show_in_website>1</show_in_website>
|
99 |
+
<show_in_store>1</show_in_store>
|
100 |
+
</slideduration>
|
101 |
+
<mindragoffset translate="label">
|
102 |
+
<label>Minimum Drag Offset</label>
|
103 |
+
<comment><![CDATA[Minimum drag offset to trigger slide. <b>Please don't leave it blank</b>]]></comment>
|
104 |
+
<frontend_type>text</frontend_type>
|
105 |
+
<sort_order>40</sort_order>
|
106 |
+
<show_in_default>1</show_in_default>
|
107 |
+
<show_in_website>1</show_in_website>
|
108 |
+
<show_in_store>1</show_in_store>
|
109 |
+
</mindragoffset>
|
110 |
+
<playorientation translate="label">
|
111 |
+
<label>Play Orientation</label>
|
112 |
+
<comment><![CDATA[Orientation to play slide]]></comment>
|
113 |
+
<frontend_type>select</frontend_type>
|
114 |
+
<source_model>layerslider/source_playorientation</source_model>
|
115 |
+
<sort_order>45</sort_order>
|
116 |
+
<show_in_default>1</show_in_default>
|
117 |
+
<show_in_website>1</show_in_website>
|
118 |
+
<show_in_store>1</show_in_store>
|
119 |
+
</playorientation>
|
120 |
+
<dragorientation translate="label">
|
121 |
+
<label>Drag Orientation</label>
|
122 |
+
<comment><![CDATA[Orientation to drag slide]]></comment>
|
123 |
+
<frontend_type>select</frontend_type>
|
124 |
+
<source_model>layerslider/source_dragorientation</source_model>
|
125 |
+
<sort_order>50</sort_order>
|
126 |
+
<show_in_default>1</show_in_default>
|
127 |
+
<show_in_website>1</show_in_website>
|
128 |
+
<show_in_store>1</show_in_store>
|
129 |
+
</dragorientation>
|
130 |
+
<arrownavigation translate="label">
|
131 |
+
<label>Arrow Navigation</label>
|
132 |
+
<comment><![CDATA[Options to specify and enable arrow navigator]]></comment>
|
133 |
+
<frontend_type>select</frontend_type>
|
134 |
+
<source_model>layerslider/source_chancetoshow</source_model>
|
135 |
+
<sort_order>55</sort_order>
|
136 |
+
<show_in_default>1</show_in_default>
|
137 |
+
<show_in_website>1</show_in_website>
|
138 |
+
<show_in_store>1</show_in_store>
|
139 |
+
</arrownavigation>
|
140 |
+
<arrowautocenter translate="label">
|
141 |
+
<label>Arrow Autocenter</label>
|
142 |
+
<comment><![CDATA[Auto center arrows in parent container]]></comment>
|
143 |
+
<frontend_type>select</frontend_type>
|
144 |
+
<source_model>layerslider/source_autocenter</source_model>
|
145 |
+
<sort_order>60</sort_order>
|
146 |
+
<show_in_default>1</show_in_default>
|
147 |
+
<show_in_website>1</show_in_website>
|
148 |
+
<show_in_store>1</show_in_store>
|
149 |
+
</arrowautocenter>
|
150 |
+
<bulletnavigation translate="label">
|
151 |
+
<label>Bullet Navigation</label>
|
152 |
+
<comment><![CDATA[Options to specify and enable bullet navigator]]></comment>
|
153 |
+
<frontend_type>select</frontend_type>
|
154 |
+
<source_model>layerslider/source_chancetoshow</source_model>
|
155 |
+
<sort_order>60</sort_order>
|
156 |
+
<show_in_default>1</show_in_default>
|
157 |
+
<show_in_website>1</show_in_website>
|
158 |
+
<show_in_store>1</show_in_store>
|
159 |
+
</bulletnavigation>
|
160 |
+
<bulletautocenter translate="label">
|
161 |
+
<label>Bullet Autocenter</label>
|
162 |
+
<comment><![CDATA[Auto center arrows in parent container]]></comment>
|
163 |
+
<frontend_type>select</frontend_type>
|
164 |
+
<source_model>layerslider/source_autocenter</source_model>
|
165 |
+
<sort_order>65</sort_order>
|
166 |
+
<show_in_default>1</show_in_default>
|
167 |
+
<show_in_website>1</show_in_website>
|
168 |
+
<show_in_store>1</show_in_store>
|
169 |
+
</bulletautocenter>
|
170 |
+
<bulletnumber translate="label">
|
171 |
+
<label>Show Bullet Number</label>
|
172 |
+
<comment><![CDATA[Shows Bullet Number if enabled]]></comment>
|
173 |
+
<frontend_type>select</frontend_type>
|
174 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
175 |
+
<sort_order>70</sort_order>
|
176 |
+
<show_in_default>1</show_in_default>
|
177 |
+
<show_in_website>1</show_in_website>
|
178 |
+
<show_in_store>1</show_in_store>
|
179 |
+
</bulletnumber>
|
180 |
+
</fields>
|
181 |
+
</settings>
|
182 |
+
<slidesettings translate="label">
|
183 |
+
<label>Slide Settings</label>
|
184 |
+
<frontend_type>text</frontend_type>
|
185 |
+
<sort_order>20</sort_order>
|
186 |
+
<show_in_default>1</show_in_default>
|
187 |
+
<show_in_website>1</show_in_website>
|
188 |
+
<show_in_store>1</show_in_store>
|
189 |
+
<fields>
|
190 |
+
<slideeffects translate="label">
|
191 |
+
<label>Slide Effects</label>
|
192 |
+
<comment><![CDATA[Effects to be shown during slide show]]></comment>
|
193 |
+
<frontend_type>select</frontend_type>
|
194 |
+
<source_model>layerslider/source_slideeffects</source_model>
|
195 |
+
<sort_order>10</sort_order>
|
196 |
+
<show_in_default>1</show_in_default>
|
197 |
+
<show_in_website>1</show_in_website>
|
198 |
+
<show_in_store>1</show_in_store>
|
199 |
+
</slideeffects>
|
200 |
+
<slideheight translate="label">
|
201 |
+
<label>Slide Height</label>
|
202 |
+
<comment><![CDATA[Height of Slide in px]]></comment>
|
203 |
+
<frontend_type>text</frontend_type>
|
204 |
+
<sort_order>16</sort_order>
|
205 |
+
<show_in_default>1</show_in_default>
|
206 |
+
<show_in_website>1</show_in_website>
|
207 |
+
<show_in_store>1</show_in_store>
|
208 |
+
</slideheight>
|
209 |
+
<slidewidth translate="label">
|
210 |
+
<label>Slide Width</label>
|
211 |
+
<comment><![CDATA[Width of Slide in px]]></comment>
|
212 |
+
<frontend_type>text</frontend_type>
|
213 |
+
<sort_order>17</sort_order>
|
214 |
+
<show_in_default>1</show_in_default>
|
215 |
+
<show_in_website>1</show_in_website>
|
216 |
+
<show_in_store>1</show_in_store>
|
217 |
+
</slidewidth>
|
218 |
+
<transitionorder translate="label">
|
219 |
+
<label>Transition Order</label>
|
220 |
+
<comment><![CDATA[Order in which the transition needs to be done]]></comment>
|
221 |
+
<frontend_type>select</frontend_type>
|
222 |
+
<source_model>layerslider/source_transitionorder</source_model> <sort_order>20</sort_order>
|
223 |
+
<show_in_default>1</show_in_default>
|
224 |
+
<show_in_website>1</show_in_website>
|
225 |
+
<show_in_store>1</show_in_store>
|
226 |
+
</transitionorder>
|
227 |
+
</fields>
|
228 |
+
</slidesettings>
|
229 |
+
<captionsettings translate="label">
|
230 |
+
<label>Caption Settings</label>
|
231 |
+
<frontend_type>text</frontend_type>
|
232 |
+
<sort_order>30</sort_order>
|
233 |
+
<show_in_default>1</show_in_default>
|
234 |
+
<show_in_website>1</show_in_website>
|
235 |
+
<show_in_store>1</show_in_store>
|
236 |
+
<fields>
|
237 |
+
<playinmode translate="label">
|
238 |
+
<label>Play In Mode</label>
|
239 |
+
<comment><![CDATA[Mode of caption transition]]></comment>
|
240 |
+
<frontend_type>select</frontend_type>
|
241 |
+
<source_model>layerslider/source_playmode</source_model> <sort_order>05</sort_order>
|
242 |
+
<show_in_default>1</show_in_default>
|
243 |
+
<show_in_website>1</show_in_website>
|
244 |
+
<show_in_store>1</show_in_store>
|
245 |
+
</playinmode>
|
246 |
+
<playoutmode translate="label">
|
247 |
+
<label>Play Out Mode</label>
|
248 |
+
<comment><![CDATA[Mode of caption transition]]></comment>
|
249 |
+
<frontend_type>select</frontend_type>
|
250 |
+
<source_model>layerslider/source_playmode</source_model> <sort_order>10</sort_order>
|
251 |
+
<show_in_default>1</show_in_default>
|
252 |
+
<show_in_website>1</show_in_website>
|
253 |
+
<show_in_store>1</show_in_store>
|
254 |
+
</playoutmode>
|
255 |
+
<caption1 translate="label">
|
256 |
+
<label>Enable Caption1</label>
|
257 |
+
<frontend_type>select</frontend_type>
|
258 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
259 |
+
<sort_order>15</sort_order>
|
260 |
+
<show_in_default>1</show_in_default>
|
261 |
+
<show_in_website>1</show_in_website>
|
262 |
+
<show_in_store>1</show_in_store>
|
263 |
+
</caption1>
|
264 |
+
<captionduration1 translate="label">
|
265 |
+
<label>Caption1 Duration</label>
|
266 |
+
<comment><![CDATA[Caption Duration in Milliseconds]]></comment>
|
267 |
+
<frontend_type>text</frontend_type>
|
268 |
+
<sort_order>16</sort_order>
|
269 |
+
<show_in_default>1</show_in_default>
|
270 |
+
<show_in_website>1</show_in_website>
|
271 |
+
<show_in_store>1</show_in_store>
|
272 |
+
<depends>
|
273 |
+
<caption1>1</caption1>
|
274 |
+
</depends>
|
275 |
+
</captionduration1>
|
276 |
+
<captioneffect1 translate="label">
|
277 |
+
<label>Caption Effect</label>
|
278 |
+
<comment><![CDATA[Caption Effect]]></comment>
|
279 |
+
<frontend_type>select</frontend_type>
|
280 |
+
<source_model>layerslider/source_captioneffect</source_model> <sort_order>17</sort_order>
|
281 |
+
<show_in_default>1</show_in_default>
|
282 |
+
<show_in_website>1</show_in_website>
|
283 |
+
<show_in_store>1</show_in_store>
|
284 |
+
<depends>
|
285 |
+
<caption1>1</caption1>
|
286 |
+
</depends>
|
287 |
+
</captioneffect1>
|
288 |
+
<caption2 translate="label">
|
289 |
+
<label>Enable Caption2</label>
|
290 |
+
<frontend_type>select</frontend_type>
|
291 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
292 |
+
<sort_order>20</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 |
+
</caption2>
|
297 |
+
<captionduration2 translate="label">
|
298 |
+
<label>Caption2 Duration</label>
|
299 |
+
<comment><![CDATA[Caption Duration in Milliseconds]]></comment>
|
300 |
+
<frontend_type>text</frontend_type>
|
301 |
+
<sort_order>21</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>
|
306 |
+
<caption2>1</caption2>
|
307 |
+
</depends>
|
308 |
+
</captionduration2>
|
309 |
+
<captioneffect2 translate="label">
|
310 |
+
<label>Caption2 Effect</label>
|
311 |
+
<comment><![CDATA[Caption Effect]]></comment>
|
312 |
+
<frontend_type>select</frontend_type>
|
313 |
+
<source_model>layerslider/source_captioneffect</source_model> <sort_order>22</sort_order>
|
314 |
+
<show_in_default>1</show_in_default>
|
315 |
+
<show_in_website>1</show_in_website>
|
316 |
+
<show_in_store>1</show_in_store>
|
317 |
+
<depends>
|
318 |
+
<caption2>1</caption2>
|
319 |
+
</depends>
|
320 |
+
</captioneffect2>
|
321 |
+
<caption3 translate="label">
|
322 |
+
<label>Enable Caption3</label>
|
323 |
+
<frontend_type>select</frontend_type>
|
324 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
325 |
+
<sort_order>25</sort_order>
|
326 |
+
<show_in_default>1</show_in_default>
|
327 |
+
<show_in_website>1</show_in_website>
|
328 |
+
<show_in_store>1</show_in_store>
|
329 |
+
</caption3>
|
330 |
+
<captionduration3 translate="label">
|
331 |
+
<label>Caption3 Duration</label>
|
332 |
+
<comment><![CDATA[Caption Duration in Milliseconds]]></comment>
|
333 |
+
<frontend_type>text</frontend_type>
|
334 |
+
<sort_order>26</sort_order>
|
335 |
+
<show_in_default>1</show_in_default>
|
336 |
+
<show_in_website>1</show_in_website>
|
337 |
+
<show_in_store>1</show_in_store>
|
338 |
+
<depends>
|
339 |
+
<caption3>1</caption3>
|
340 |
+
</depends>
|
341 |
+
</captionduration3>
|
342 |
+
<captioneffect3 translate="label">
|
343 |
+
<label>Caption3 Effect</label>
|
344 |
+
<comment><![CDATA[Caption Effect]]></comment>
|
345 |
+
<frontend_type>select</frontend_type>
|
346 |
+
<source_model>layerslider/source_captioneffect</source_model> <sort_order>27</sort_order>
|
347 |
+
<show_in_default>1</show_in_default>
|
348 |
+
<show_in_website>1</show_in_website>
|
349 |
+
<show_in_store>1</show_in_store>
|
350 |
+
<depends>
|
351 |
+
<caption3>1</caption3>
|
352 |
+
</depends>
|
353 |
+
</captioneffect3>
|
354 |
+
<caption4 translate="label">
|
355 |
+
<label>Enable Caption4</label>
|
356 |
+
<frontend_type>select</frontend_type>
|
357 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
358 |
+
<sort_order>30</sort_order>
|
359 |
+
<show_in_default>1</show_in_default>
|
360 |
+
<show_in_website>1</show_in_website>
|
361 |
+
<show_in_store>1</show_in_store>
|
362 |
+
</caption4>
|
363 |
+
<captionduration4 translate="label">
|
364 |
+
<label>Caption4 Duration</label>
|
365 |
+
<comment><![CDATA[Caption Duration in Milliseconds]]></comment>
|
366 |
+
<frontend_type>text</frontend_type>
|
367 |
+
<sort_order>31</sort_order>
|
368 |
+
<show_in_default>1</show_in_default>
|
369 |
+
<show_in_website>1</show_in_website>
|
370 |
+
<show_in_store>1</show_in_store>
|
371 |
+
<depends>
|
372 |
+
<caption4>1</caption4>
|
373 |
+
</depends>
|
374 |
+
</captionduration4>
|
375 |
+
<captioneffect4 translate="label">
|
376 |
+
<label>Caption4 Effect</label>
|
377 |
+
<comment><![CDATA[Caption Effect]]></comment>
|
378 |
+
<frontend_type>select</frontend_type>
|
379 |
+
<source_model>layerslider/source_captioneffect</source_model> <sort_order>32</sort_order>
|
380 |
+
<show_in_default>1</show_in_default>
|
381 |
+
<show_in_website>1</show_in_website>
|
382 |
+
<show_in_store>1</show_in_store>
|
383 |
+
<depends>
|
384 |
+
<caption4>1</caption4>
|
385 |
+
</depends>
|
386 |
+
</captioneffect4>
|
387 |
+
<caption5 translate="label">
|
388 |
+
<label>Enable Caption5</label>
|
389 |
+
<frontend_type>select</frontend_type>
|
390 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
391 |
+
<sort_order>45</sort_order>
|
392 |
+
<show_in_default>1</show_in_default>
|
393 |
+
<show_in_website>1</show_in_website>
|
394 |
+
<show_in_store>1</show_in_store>
|
395 |
+
</caption5>
|
396 |
+
<captionduration5 translate="label">
|
397 |
+
<label>Caption5 Duration</label>
|
398 |
+
<comment><![CDATA[Caption Duration in Milliseconds]]></comment>
|
399 |
+
<frontend_type>text</frontend_type>
|
400 |
+
<sort_order>46</sort_order>
|
401 |
+
<show_in_default>1</show_in_default>
|
402 |
+
<show_in_website>1</show_in_website>
|
403 |
+
<show_in_store>1</show_in_store>
|
404 |
+
<depends>
|
405 |
+
<caption5>1</caption5>
|
406 |
+
</depends>
|
407 |
+
</captionduration5>
|
408 |
+
<captioneffect5 translate="label">
|
409 |
+
<label>Caption5 Effect</label>
|
410 |
+
<comment><![CDATA[Caption Effect]]></comment>
|
411 |
+
<frontend_type>select</frontend_type>
|
412 |
+
<source_model>layerslider/source_captioneffect</source_model> <sort_order>47</sort_order>
|
413 |
+
<show_in_default>1</show_in_default>
|
414 |
+
<show_in_website>1</show_in_website>
|
415 |
+
<show_in_store>1</show_in_store>
|
416 |
+
<depends>
|
417 |
+
<caption5>1</caption5>
|
418 |
+
</depends>
|
419 |
+
</captioneffect5>
|
420 |
+
<caption5 translate="label">
|
421 |
+
<label>Enable Caption5</label>
|
422 |
+
<frontend_type>select</frontend_type>
|
423 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
424 |
+
<sort_order>45</sort_order>
|
425 |
+
<show_in_default>1</show_in_default>
|
426 |
+
<show_in_website>1</show_in_website>
|
427 |
+
<show_in_store>1</show_in_store>
|
428 |
+
</caption5>
|
429 |
+
<captionduration5 translate="label">
|
430 |
+
<label>Caption5 Duration</label>
|
431 |
+
<comment><![CDATA[Caption Duration in Milliseconds]]></comment>
|
432 |
+
<frontend_type>text</frontend_type>
|
433 |
+
<sort_order>46</sort_order>
|
434 |
+
<show_in_default>1</show_in_default>
|
435 |
+
<show_in_website>1</show_in_website>
|
436 |
+
<show_in_store>1</show_in_store>
|
437 |
+
<depends>
|
438 |
+
<caption5>1</caption5>
|
439 |
+
</depends>
|
440 |
+
</captionduration5>
|
441 |
+
<captioneffect5 translate="label">
|
442 |
+
<label>Caption5 Effect</label>
|
443 |
+
<comment><![CDATA[Caption Effect]]></comment>
|
444 |
+
<frontend_type>select</frontend_type>
|
445 |
+
<source_model>layerslider/source_captioneffect</source_model> <sort_order>47</sort_order>
|
446 |
+
<show_in_default>1</show_in_default>
|
447 |
+
<show_in_website>1</show_in_website>
|
448 |
+
<show_in_store>1</show_in_store>
|
449 |
+
<depends>
|
450 |
+
<caption5>1</caption5>
|
451 |
+
</depends>
|
452 |
+
</captioneffect5>
|
453 |
+
<captionimg1 translate="label">
|
454 |
+
<label>Enable Caption Image1</label>
|
455 |
+
<frontend_type>select</frontend_type>
|
456 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
457 |
+
<sort_order>50</sort_order>
|
458 |
+
<show_in_default>1</show_in_default>
|
459 |
+
<show_in_website>1</show_in_website>
|
460 |
+
<show_in_store>1</show_in_store>
|
461 |
+
</captionimg1>
|
462 |
+
<captionimgduration1 translate="label">
|
463 |
+
<label>CaptionImg1 Duration</label>
|
464 |
+
<comment><![CDATA[Caption Duration in Milliseconds]]></comment>
|
465 |
+
<frontend_type>text</frontend_type>
|
466 |
+
<sort_order>51</sort_order>
|
467 |
+
<show_in_default>1</show_in_default>
|
468 |
+
<show_in_website>1</show_in_website>
|
469 |
+
<show_in_store>1</show_in_store>
|
470 |
+
<depends>
|
471 |
+
<captionimg1>1</captionimg1>
|
472 |
+
</depends>
|
473 |
+
</captionimgduration1>
|
474 |
+
<captionimgeffect1 translate="label">
|
475 |
+
<label>CaptionImg1 Effect</label>
|
476 |
+
<comment><![CDATA[Caption Effect]]></comment>
|
477 |
+
<frontend_type>select</frontend_type>
|
478 |
+
<source_model>layerslider/source_captioneffect</source_model> <sort_order>52</sort_order>
|
479 |
+
<show_in_default>1</show_in_default>
|
480 |
+
<show_in_website>1</show_in_website>
|
481 |
+
<show_in_store>1</show_in_store>
|
482 |
+
<depends>
|
483 |
+
<captionimg1>1</captionimg1>
|
484 |
+
</depends>
|
485 |
+
</captionimgeffect1>
|
486 |
+
<captionimg2 translate="label">
|
487 |
+
<label>Enable Caption Image2</label>
|
488 |
+
<frontend_type>select</frontend_type>
|
489 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
490 |
+
<sort_order>55</sort_order>
|
491 |
+
<show_in_default>1</show_in_default>
|
492 |
+
<show_in_website>1</show_in_website>
|
493 |
+
<show_in_store>1</show_in_store>
|
494 |
+
</captionimg2>
|
495 |
+
<captionimgduration2 translate="label">
|
496 |
+
<label>CaptionImg2 Duration</label>
|
497 |
+
<comment><![CDATA[Caption Duration in Milliseconds]]></comment>
|
498 |
+
<frontend_type>text</frontend_type>
|
499 |
+
<sort_order>56</sort_order>
|
500 |
+
<show_in_default>1</show_in_default>
|
501 |
+
<show_in_website>1</show_in_website>
|
502 |
+
<show_in_store>1</show_in_store>
|
503 |
+
<depends>
|
504 |
+
<captionimg2>1</captionimg2>
|
505 |
+
</depends>
|
506 |
+
</captionimgduration2>
|
507 |
+
<captionimgeffect2 translate="label">
|
508 |
+
<label>CaptionImg2 Effect</label>
|
509 |
+
<comment><![CDATA[Caption Effect]]></comment>
|
510 |
+
<frontend_type>select</frontend_type>
|
511 |
+
<source_model>layerslider/source_captioneffect</source_model> <sort_order>57</sort_order>
|
512 |
+
<show_in_default>1</show_in_default>
|
513 |
+
<show_in_website>1</show_in_website>
|
514 |
+
<show_in_store>1</show_in_store>
|
515 |
+
<depends>
|
516 |
+
<captionimg2>1</captionimg2>
|
517 |
+
</depends>
|
518 |
+
</captionimgeffect2>
|
519 |
+
</fields>
|
520 |
+
</captionsettings>
|
521 |
+
<files>
|
522 |
+
<label>Slider CSS</label>
|
523 |
+
<frontend_type>text</frontend_type>
|
524 |
+
<sort_order>100</sort_order>
|
525 |
+
<show_in_default>1</show_in_default>
|
526 |
+
<comment><![CDATA[<strong>IMPORTANT!</strong><p>To write to your layerstyle.css, you must set permissions to at least 664.</p>]]></comment>
|
527 |
+
<fields>
|
528 |
+
<css translate="label">
|
529 |
+
<label>layerstyle.css</label>
|
530 |
+
<frontend_type>textarea</frontend_type>
|
531 |
+
<sort_order>2</sort_order>
|
532 |
+
<show_in_default>1</show_in_default>
|
533 |
+
<comment>All slider CSS should be inputted over here</comment>
|
534 |
+
</css>
|
535 |
+
<packagename translate="label">
|
536 |
+
<label>Package and Theme name</label>
|
537 |
+
<frontend_type>text</frontend_type>
|
538 |
+
<sort_order>3</sort_order>
|
539 |
+
<show_in_default>1</show_in_default>
|
540 |
+
<comment><![CDATA[Please enter the package name and theme name of your website so css file can be located <strong>for eg: rwd/default</strong>]]></comment>
|
541 |
+
</packagename>
|
542 |
+
</fields>
|
543 |
+
</files>
|
544 |
+
</groups>
|
545 |
+
</layerslider>
|
546 |
+
</sections>
|
547 |
+
</config>
|
app/code/community/Vsourz/Layerslider/sql/layerslider_setup/mysql4-install-0.1.0.php
ADDED
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$installer = $this;
|
3 |
+
$installer->startSetup();
|
4 |
+
$table = $installer->getConnection()
|
5 |
+
->newTable($installer->getTable('layerslider'))
|
6 |
+
->addColumn('slide_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
|
7 |
+
'identity' => true,
|
8 |
+
'unsigned' => true,
|
9 |
+
'nullable' => false,
|
10 |
+
'primary' => true,
|
11 |
+
), 'Slide ID')
|
12 |
+
->addColumn('slide_title', Varien_Db_Ddl_Table::TYPE_TEXT, 256, array(
|
13 |
+
'nullable' => false,
|
14 |
+
), 'Slide Title')
|
15 |
+
->addColumn('slide_url', Varien_Db_Ddl_Table::TYPE_TEXT, 256, array(
|
16 |
+
), 'Slide URL')
|
17 |
+
->addColumn('slide_img', Varien_Db_Ddl_Table::TYPE_TEXT, 256, array(
|
18 |
+
'nullable' => false,
|
19 |
+
), 'Slide Image')
|
20 |
+
->addColumn('slide_caption1', Varien_Db_Ddl_Table::TYPE_TEXT, 500, array(
|
21 |
+
), 'Slide Caption1')
|
22 |
+
->addColumn('slide_caption2', Varien_Db_Ddl_Table::TYPE_TEXT, 500, array(
|
23 |
+
), 'Slide Caption2')
|
24 |
+
->addColumn('slide_caption3', Varien_Db_Ddl_Table::TYPE_TEXT, 500, array(
|
25 |
+
), 'Slide Caption3')
|
26 |
+
->addColumn('slide_caption4', Varien_Db_Ddl_Table::TYPE_TEXT, 500, array(
|
27 |
+
), 'Slide Caption4')
|
28 |
+
->addColumn('slide_caption5', Varien_Db_Ddl_Table::TYPE_TEXT, 500, array(
|
29 |
+
), 'Slide Caption5')
|
30 |
+
->addColumn('slide_captionimg1', Varien_Db_Ddl_Table::TYPE_TEXT, 500, array(
|
31 |
+
), 'Slide CaptionImg1')
|
32 |
+
->addColumn('slide_captionimg2', Varien_Db_Ddl_Table::TYPE_TEXT, 500, array(
|
33 |
+
), 'Slide CaptionImg2')
|
34 |
+
->addColumn('status', Varien_Db_Ddl_Table::TYPE_SMALLINT, null, array(
|
35 |
+
'nullable' => false,
|
36 |
+
'default' => '0',
|
37 |
+
), 'Is Enabled')
|
38 |
+
->addColumn('active_from', Varien_Db_Ddl_Table::TYPE_TIMESTAMP, null, array(
|
39 |
+
), 'Active From Time')
|
40 |
+
->addColumn('active_to', Varien_Db_Ddl_Table::TYPE_TIMESTAMP, null, array(
|
41 |
+
), 'Active To Time');
|
42 |
+
|
43 |
+
$installer->getConnection()->createTable($table);
|
44 |
+
|
45 |
+
$installer->endSetup();
|
app/design/adminhtml/default/default/layout/layerslider.xml
ADDED
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<layout version="0.1.0">
|
3 |
+
<layerslider_adminhtml_layerslider_index>
|
4 |
+
<reference name="content">
|
5 |
+
<block type="layerslider/adminhtml_layerslider" name="layerslider"></block>
|
6 |
+
</reference>
|
7 |
+
</layerslider_adminhtml_layerslider_index>
|
8 |
+
<!-- Below are the necessary JS files for the WYSIWYG editor -->
|
9 |
+
<default>
|
10 |
+
<reference name="head">
|
11 |
+
<action method="setCanLoadExtJs">
|
12 |
+
<flag>1</flag>
|
13 |
+
</action>
|
14 |
+
<action method="addJs">
|
15 |
+
<script>mage/adminhtml/variables.js</script>
|
16 |
+
</action>
|
17 |
+
<action method="addJs">
|
18 |
+
<script>mage/adminhtml/wysiwyg/widget.js</script>
|
19 |
+
</action>
|
20 |
+
<action method="addJs">
|
21 |
+
<script>lib/flex.js</script>
|
22 |
+
</action>
|
23 |
+
<action method="addJs">
|
24 |
+
<script>lib/FABridge.js</script>
|
25 |
+
</action>
|
26 |
+
<action method="addJs">
|
27 |
+
<script>mage/adminhtml/flexuploader.js</script>
|
28 |
+
</action>
|
29 |
+
<action method="addJs">
|
30 |
+
<script>mage/adminhtml/browser.js</script>
|
31 |
+
</action>
|
32 |
+
<action method="addJs">
|
33 |
+
<script>prototype/window.js</script>
|
34 |
+
</action>
|
35 |
+
<action method="addItem">
|
36 |
+
<type>js_css</type>
|
37 |
+
<name>prototype/windows/themes/default.css</name>
|
38 |
+
</action>
|
39 |
+
<action method="addItem">
|
40 |
+
<type>js_css</type>
|
41 |
+
<name>prototype/windows/themes/magento.css</name>
|
42 |
+
</action>
|
43 |
+
<action method="addCss">
|
44 |
+
<stylesheet>lib/prototype/windows/themes/magento.css</stylesheet>
|
45 |
+
</action>
|
46 |
+
</reference>
|
47 |
+
</default>
|
48 |
+
</layout>
|
app/design/frontend/base/default/layout/layerslider.xml
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<layout version="0.1.0">
|
3 |
+
<default>
|
4 |
+
<reference name="head">
|
5 |
+
<action method="addItem" ifconfig="layerslider/settings/loadjs"><type>skin_js</type><name>js/layerslider/jquery-1.10.2.min.js</name></action>
|
6 |
+
<action method="addItem"><type>skin_js</type><name>js/layerslider/jssor.slider.min.js</name></action>
|
7 |
+
<action method="addItem"><type>skin_css</type><name>css/layerslider/layerstyle.css</name></action>
|
8 |
+
</reference>
|
9 |
+
</default>
|
10 |
+
</layout>
|
app/design/frontend/base/default/template/layerslider/layerslider.phtml
ADDED
@@ -0,0 +1,95 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$collection = $this->getSlides();
|
3 |
+
$_slides = $collection->getData();
|
4 |
+
?>
|
5 |
+
|
6 |
+
<?php // Slide Transition Effects Called
|
7 |
+
echo $this->getLayout()->createBlock('core/template')->setTemplate('layerslider/layersliderjs.phtml')->toHtml(); ?>
|
8 |
+
|
9 |
+
<?php //Caption Configuration
|
10 |
+
$captionStatus1 = Mage::getStoreConfig('layerslider/captionsettings/caption1');
|
11 |
+
$captionStatus2 = Mage::getStoreConfig('layerslider/captionsettings/caption2');
|
12 |
+
$captionStatus3 = Mage::getStoreConfig('layerslider/captionsettings/caption3');
|
13 |
+
$captionStatus4 = Mage::getStoreConfig('layerslider/captionsettings/caption4');
|
14 |
+
$captionStatus5 = Mage::getStoreConfig('layerslider/captionsettings/caption5');
|
15 |
+
$captionImg1 = Mage::getStoreConfig('layerslider/captionsettings/captionimg1');
|
16 |
+
$captionImg2 = Mage::getStoreConfig('layerslider/captionsettings/captionimg2');
|
17 |
+
$bulletNumber = Mage::getStoreConfig('layerslider/settings/bulletnumber');
|
18 |
+
$slideLink = Mage::getStoreConfig('layerslider/settings/slidelinkurl');
|
19 |
+
$slideHeight = Mage::getStoreConfig('layerslider/slidesettings/slideheight');
|
20 |
+
$slideWidth = Mage::getStoreConfig('layerslider/slidesettings/slidewidth');
|
21 |
+
?>
|
22 |
+
<div id="slide_parent" style="width:<?php echo $slideWidth;?>px">
|
23 |
+
<div id="slider1_container" class="slide_container" style="height:<?php echo $slideHeight;?>px; width:<?php echo $slideWidth;?>px">
|
24 |
+
<!-- Loading Screen -->
|
25 |
+
<div u="loading" style="position: absolute; top: 0px; left: 0px;">
|
26 |
+
<div style="filter: alpha(opacity=70); opacity:0.7; position: absolute; display: block;
|
27 |
+
|
28 |
+
background-color: #000; top: 0px; left: 0px;width: 100%; height:100%;">
|
29 |
+
</div>
|
30 |
+
<div style="position: absolute; display: block; background: url(img/loading.gif) no-repeat center center;
|
31 |
+
|
32 |
+
top: 0px; left: 0px;width: 100%;height:100%;">
|
33 |
+
</div>
|
34 |
+
</div>
|
35 |
+
<div u="slides" class="slides-inner" style="height:<?php echo $slideHeight;?>px; width:<?php echo $slideWidth;?>px">
|
36 |
+
<!-- Slides Container -->
|
37 |
+
<?php $count = 0; ?>
|
38 |
+
<?php foreach($_slides as $_slide){
|
39 |
+
$count++;
|
40 |
+
$class = "slide-".$count;
|
41 |
+
$mainImg = $_slide['slide_img'];
|
42 |
+
?>
|
43 |
+
<div class="sli <?php echo $class?>" style="height:<?php echo $slideHeight;?>px; width:<?php echo $slideWidth;?>px">
|
44 |
+
<?php if($slideLink == 1 && $_slide[slide_url] != NULL):
|
45 |
+
?><a href="<?php echo $_slide[slide_url] ?>" title=""><?php endif; ?>
|
46 |
+
<img src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).DS. $mainImg?>" alt="<?php echo $_slide['slide_title'] ?>"/>
|
47 |
+
<?php if($slideLink == 1 && $_slide[slide_url] != NULL): ?>
|
48 |
+
</a>
|
49 |
+
<?php endif; ?>
|
50 |
+
<?php if($captionStatus1 == 1 && $_slide['slide_caption1'] != NULL):?>
|
51 |
+
<div u=caption t="caption1" class="cap-tion cap-pos1"><?php echo $_slide['slide_caption1'] ?></div>
|
52 |
+
<?php endif;?>
|
53 |
+
<?php if($captionStatus2 == 1 && $_slide['slide_caption2'] != NULL):?>
|
54 |
+
<div u=caption t="caption2" class="cap-tion cap-pos2"><?php echo $_slide['slide_caption2'] ?></div>
|
55 |
+
<?php endif;?>
|
56 |
+
<?php if($captionStatus3 == 1 && $_slide['slide_caption3'] != NULL):?>
|
57 |
+
<div u=caption t="caption3" class="cap-tion cap-pos3"><?php echo $_slide['slide_caption3'] ?></div>
|
58 |
+
<?php endif;?>
|
59 |
+
<?php if($captionImg1 == 1 && $_slide['slide_captionimg1'] != NULL):?>
|
60 |
+
<div u=caption t="caption-img1" class="cap-tion cap-img1"><img src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA). DS. $_slide['slide_captionimg1'] ?>"/></div>
|
61 |
+
<?php endif;?>
|
62 |
+
<?php if($captionStatus4 == 1 && $_slide['slide_caption4'] != NULL):?>
|
63 |
+
<div u=caption t="caption4" class="cap-tion cap-pos4"><?php echo $_slide['slide_caption4'] ?></div>
|
64 |
+
<?php endif;?>
|
65 |
+
<?php if($captionStatus5 == 1 && $_slide['slide_caption5'] != NULL):?>
|
66 |
+
<div u=caption t="caption5" class="cap-tion cap-pos5"><?php echo $_slide['slide_caption5'] ?></div>
|
67 |
+
<?php endif;?>
|
68 |
+
|
69 |
+
<?php if($captionImg2 == 1 && $_slide['slide_captionimg2'] != NULL):?>
|
70 |
+
<div u=caption t="caption-img2" class="cap-tion cap-img2"><img src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA). DS. $_slide['slide_captionimg2'] ?>"/></div>
|
71 |
+
<?php endif;?>
|
72 |
+
</div>
|
73 |
+
<?php } ?>
|
74 |
+
</div>
|
75 |
+
|
76 |
+
<!-- bullet Start -->
|
77 |
+
<div u="navigator" class="jssorb03">
|
78 |
+
<div u="prototype" style="POSITION: absolute; WIDTH: 23px; HEIGHT: 23px; text-align:center; line-height:23px; color:White; font-size:12px;">
|
79 |
+
<?php if($bulletNumber == 1):?>
|
80 |
+
<NumberTemplate></NumberTemplate>
|
81 |
+
<?php endif; ?>
|
82 |
+
</div>
|
83 |
+
</div>
|
84 |
+
<!-- bullet End -->
|
85 |
+
|
86 |
+
<!-- Arrow Start -->
|
87 |
+
<span u="arrowleft" class="jssora20l" style="width: 55px; height: 55px; top: 123px; left: 50px;">
|
88 |
+
</span>
|
89 |
+
|
90 |
+
<span u="arrowright" class="jssora20r" style="width: 55px; height: 55px; top: 123px; right: 50px">
|
91 |
+
</span>
|
92 |
+
<!-- Arrow End -->
|
93 |
+
|
94 |
+
</div>
|
95 |
+
</div>
|
app/design/frontend/base/default/template/layerslider/layersliderjs.phtml
ADDED
@@ -0,0 +1,264 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// General Settings of the slide show
|
3 |
+
$slideLink = Mage::getStoreConfig('layerslider/settings/slidelinkurl');
|
4 |
+
$autoPlay = Mage::getStoreConfig('layerslider/settings/autoplay');
|
5 |
+
$autoPlayInterval = Mage::getStoreConfig('layerslider/settings/autoplayinterval');
|
6 |
+
$pauseOnHover = Mage::getStoreConfig('layerslider/settings/pauseonhover');
|
7 |
+
$arrowKeyNav = Mage::getStoreConfig('layerslider/settings/arrowkeynav');
|
8 |
+
$slideDuration = Mage::getStoreConfig('layerslider/settings/slideduration');
|
9 |
+
$minDragOffset = Mage::getStoreConfig('layerslider/settings/mindragoffset');
|
10 |
+
$playOrientation = Mage::getStoreConfig('layerslider/settings/playorientation');
|
11 |
+
$dragOrientation = Mage::getStoreConfig('layerslider/settings/dragorientation');
|
12 |
+
$arrowNavigation = Mage::getStoreConfig('layerslider/settings/arrownavigation');
|
13 |
+
$arrowAutoCenter = Mage::getStoreConfig('layerslider/settings/arrowautocenter');
|
14 |
+
$bulletNavigation = Mage::getStoreConfig('layerslider/settings/bulletnavigation');
|
15 |
+
$bulletAutoCenter = Mage::getStoreConfig('layerslider/settings/bulletautocenter');
|
16 |
+
|
17 |
+
//Slide Settings of the slide
|
18 |
+
$slideEffects = Mage::getStoreConfig('layerslider/slidesettings/slideeffects');
|
19 |
+
$autoHeight = Mage::getStoreConfig('layerslider/slidesettings/autoheight');
|
20 |
+
$slideHeight = Mage::getStoreConfig('layerslider/slidesettings/slideheight');
|
21 |
+
$slideWidth = Mage::getStoreConfig('layerslider/slidesettings/slidewidth');
|
22 |
+
$transitionOrder = Mage::getStoreConfig('layerslider/slidesettings/transitionorder');
|
23 |
+
|
24 |
+
//Caption Settings of the slide
|
25 |
+
$playInMode = Mage::getStoreConfig('layerslider/captionsettings/playinmode');
|
26 |
+
$playOutMode = Mage::getStoreConfig('layerslider/captionsettings/playoutmode');
|
27 |
+
|
28 |
+
//caption1
|
29 |
+
$captionStatus1 = Mage::getStoreConfig('layerslider/captionsettings/caption1');
|
30 |
+
$captionDuration1 = Mage::getStoreConfig('layerslider/captionsettings/captionduration1');
|
31 |
+
$captionEffect1 = Mage::getStoreConfig('layerslider/captionsettings/captioneffect1');
|
32 |
+
|
33 |
+
//caption2
|
34 |
+
$captionStatus2 = Mage::getStoreConfig('layerslider/captionsettings/caption2');
|
35 |
+
$captionDuration2 = Mage::getStoreConfig('layerslider/captionsettings/captionduration2');
|
36 |
+
$captionEffect2 = Mage::getStoreConfig('layerslider/captionsettings/captioneffect2');
|
37 |
+
|
38 |
+
//caption3
|
39 |
+
$captionStatus3 = Mage::getStoreConfig('layerslider/captionsettings/caption3');
|
40 |
+
$captionDuration3 = Mage::getStoreConfig('layerslider/captionsettings/captionduration3');
|
41 |
+
$captionEffect3 = Mage::getStoreConfig('layerslider/captionsettings/captioneffect3');
|
42 |
+
|
43 |
+
//caption4
|
44 |
+
$captionStatus4 = Mage::getStoreConfig('layerslider/captionsettings/caption4');
|
45 |
+
$captionDuration4 = Mage::getStoreConfig('layerslider/captionsettings/captionduration4');
|
46 |
+
$captionEffect4 = Mage::getStoreConfig('layerslider/captionsettings/captioneffect4');
|
47 |
+
|
48 |
+
//caption5
|
49 |
+
$captionStatus5 = Mage::getStoreConfig('layerslider/captionsettings/caption5');
|
50 |
+
$captionDuration5 = Mage::getStoreConfig('layerslider/captionsettings/captionduration5');
|
51 |
+
$captionEffect5 = Mage::getStoreConfig('layerslider/captionsettings/captioneffect5');
|
52 |
+
|
53 |
+
//captionimage1
|
54 |
+
$captionImg1 = Mage::getStoreConfig('layerslider/captionsettings/captionimg1');
|
55 |
+
$captionImgDuration1 = Mage::getStoreConfig('layerslider/captionsettings/captionimgduration1');
|
56 |
+
$captionImgEffect1 = Mage::getStoreConfig('layerslider/captionsettings/captionimgeffect1');
|
57 |
+
|
58 |
+
//captionimage2
|
59 |
+
$captionImg2 = Mage::getStoreConfig('layerslider/captionsettings/captionimg2');
|
60 |
+
$captionImgDuration2 = Mage::getStoreConfig('layerslider/captionsettings/captionimgduration2');
|
61 |
+
$captionImgEffect2 = Mage::getStoreConfig('layerslider/captionsettings/captionimgeffect2');
|
62 |
+
|
63 |
+
?>
|
64 |
+
<script type="text/javascript">
|
65 |
+
var $jq = jQuery.noConflict();
|
66 |
+
jQuery(document).ready(function()
|
67 |
+
{
|
68 |
+
var _SlideshowTransitions =
|
69 |
+
[
|
70 |
+
{<?php
|
71 |
+
if($slideEffects!="random")
|
72 |
+
echo $slideEffects;
|
73 |
+
else {
|
74 |
+
?>
|
75 |
+
//Collapse Random
|
76 |
+
$Duration: 1000, $Delay: 80, $Cols: 10, $Rows: 4, $Clip: 15, $SlideOut: true, $Easing: $JssorEasing$.$EaseOutQuad }
|
77 |
+
|
78 |
+
//Fade in LR Chess
|
79 |
+
, { $Duration: 1200, y: 0.3, $Cols: 2, $During: { $Top: [0.3, 0.7] }, $ChessMode: { $Column: 12 }, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Outside: true }
|
80 |
+
|
81 |
+
//Rotate VDouble+ out
|
82 |
+
, { $Duration: 1000, x: -1, y: 2, $Rows: 2, $Zoom: 11, $Rotate: 1, $SlideOut: true, $Assembly: 2049, $ChessMode: { $Row: 15 }, $Easing: { $Left: $JssorEasing$.$EaseInExpo, $Top: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInExpo }, $Opacity: 2, $Round: { $Rotate: 0.85 } }
|
83 |
+
|
84 |
+
////Swing Inside in Stairs
|
85 |
+
, { $Duration: 1200, x: 0.2, y: -0.1, $Delay: 20, $Cols: 10, $Rows: 4, $Clip: 15, $During: { $Left: [0.3, 0.7], $Top: [0.3, 0.7] }, $Formation: $JssorSlideshowFormations$.$FormationStraightStairs, $Assembly: 260, $Easing: { $Left: $JssorEasing$.$EaseInWave, $Top: $JssorEasing$.$EaseInWave, $Clip: $JssorEasing$.$EaseOutQuad }, $Round: { $Left: 1.3, $Top: 2.5} }
|
86 |
+
|
87 |
+
//Zoom HDouble+ out
|
88 |
+
, { $Duration: 1200, x: 4, $Cols: 2, $Zoom: 11, $SlideOut: true, $Assembly: 2049, $ChessMode: { $Column: 15 }, $Easing: { $Left: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 }
|
89 |
+
|
90 |
+
////Dodge Pet Inside in Stairs
|
91 |
+
, { $Duration: 1500, x: 0.2, y: -0.1, $Delay: 20, $Cols: 10, $Rows: 4, $Clip: 15, $During: { $Left: [0.3, 0.7], $Top: [0.3, 0.7] }, $Formation: $JssorSlideshowFormations$.$FormationStraightStairs, $Assembly: 260, $Easing: { $Left: $JssorEasing$.$EaseInWave, $Top: $JssorEasing$.$EaseInWave, $Clip: $JssorEasing$.$EaseOutQuad }, $Round: { $Left: 0.8, $Top: 2.5} }
|
92 |
+
|
93 |
+
//Rotate Zoom+ out BL
|
94 |
+
, { $Duration: 1200, x: 4, y: -4, $Zoom: 11, $Rotate: 1, $SlideOut: true, $Easing: { $Left: $JssorEasing$.$EaseInExpo, $Top: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInExpo }, $Opacity: 2, $Round: { $Rotate: 0.8 } }
|
95 |
+
|
96 |
+
//Dodge Dance Inside in Random
|
97 |
+
, { $Duration: 1500, x: 0.3, y: -0.3, $Delay: 80, $Cols: 10, $Rows: 4, $Clip: 15, $During: { $Left: [0.3, 0.7], $Top: [0.3, 0.7] }, $Easing: { $Left: $JssorEasing$.$EaseInJump, $Top: $JssorEasing$.$EaseInJump, $Clip: $JssorEasing$.$EaseOutQuad }, $Round: { $Left: 0.8, $Top: 2.5 } }
|
98 |
+
|
99 |
+
//Rotate VFork+ out
|
100 |
+
, { $Duration: 1200, x: -3, y: 1, $Rows: 2, $Zoom: 11, $Rotate: 1, $SlideOut: true, $Assembly: 2049, $ChessMode: { $Row: 28 }, $Easing: { $Left: $JssorEasing$.$EaseInExpo, $Top: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInExpo }, $Opacity: 2, $Round: { $Rotate: 0.7 } }
|
101 |
+
|
102 |
+
//Clip and Chess in
|
103 |
+
, { $Duration: 1200, y: -1, $Cols: 10, $Rows: 4, $Clip: 15, $During: { $Top: [0.5, 0.5], $Clip: [0, 0.5] }, $Formation: $JssorSlideshowFormations$.$FormationStraight, $ChessMode: { $Column: 12 }, $ScaleClip: 0.5 }
|
104 |
+
|
105 |
+
////Swing Inside in Swirl
|
106 |
+
, { $Duration: 1200, x: 0.2, y: -0.1, $Delay: 20, $Cols: 10, $Rows: 4, $Clip: 15, $During: { $Left: [0.3, 0.7], $Top: [0.3, 0.7] }, $Formation: $JssorSlideshowFormations$.$FormationSwirl, $Assembly: 260, $Easing: { $Left: $JssorEasing$.$EaseInWave, $Top: $JssorEasing$.$EaseInWave, $Clip: $JssorEasing$.$EaseOutQuad }, $Round: { $Left: 1.3, $Top: 2.5} }
|
107 |
+
|
108 |
+
////Rotate Zoom+ out
|
109 |
+
, { $Duration: 1200, $Zoom: 11, $Rotate: 1, $SlideOut: true, $Easing: { $Zoom: $JssorEasing$.$EaseInCubic, $Rotate: $JssorEasing$.$EaseInCubic }, $Opacity: 2, $Round: { $Rotate: 0.7} }
|
110 |
+
|
111 |
+
////Dodge Pet Inside in ZigZag
|
112 |
+
, { $Duration: 1500, x: 0.2, y: -0.1, $Delay: 20, $Cols: 10, $Rows: 4, $Clip: 15, $During: { $Left: [0.3, 0.7], $Top: [0.3, 0.7] }, $Formation: $JssorSlideshowFormations$.$FormationZigZag, $Assembly: 260, $Easing: { $Left: $JssorEasing$.$EaseInWave, $Top: $JssorEasing$.$EaseInWave, $Clip: $JssorEasing$.$EaseOutQuad }, $Round: { $Left: 0.8, $Top: 2.5} }
|
113 |
+
|
114 |
+
//Rotate Zoom- out TL
|
115 |
+
, { $Duration: 1200, x: 0.5, y: 0.5, $Zoom: 1, $Rotate: 1, $SlideOut: true, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInCubic }, $Opacity: 2, $Round: { $Rotate: 0.5 } }
|
116 |
+
|
117 |
+
//Rotate Zoom- in BR
|
118 |
+
, { $Duration: 1200, x: -0.6, y: -0.6, $Zoom: 1, $Rotate: 1, $During: { $Left: [0.2, 0.8], $Top: [0.2, 0.8], $Zoom: [0.2, 0.8], $Rotate: [0.2, 0.8] }, $Easing: { $Zoom: $JssorEasing$.$EaseSwing, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseSwing }, $Opacity: 2, $Round: { $Rotate: 0.5 } }
|
119 |
+
|
120 |
+
// Wave out Eagle
|
121 |
+
, { $Duration: 1500, y: -0.5, $Delay: 60, $Cols: 24, $SlideOut: true, $Formation: $JssorSlideshowFormations$.$FormationCircle, $Easing: $JssorEasing$.$EaseInWave, $Round: { $Top: 1.5 } }
|
122 |
+
|
123 |
+
//Expand Stairs
|
124 |
+
, { $Duration: 1000, $Delay: 30, $Cols: 10, $Rows: 4, $Clip: 15, $Formation: $JssorSlideshowFormations$.$FormationStraightStairs, $Assembly: 2050, $Easing: $JssorEasing$.$EaseInQuad }
|
125 |
+
|
126 |
+
//Fade Clip out H
|
127 |
+
, { $Duration: 1200, $Delay: 20, $Clip: 3, $SlideOut: true, $Assembly: 260, $Easing: { $Clip: $JssorEasing$.$EaseOutCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2
|
128 |
+
|
129 |
+
////Dodge Pet Inside in Random Chess
|
130 |
+
//, { $Duration: 1500, x: 0.2, y: -0.1, $Delay: 80, $Cols: 10, $Rows: 4, $Clip: 15, $During: { $Left: [0.2, 0.8], $Top: [0.2, 0.8] }, $ChessMode: { $Column: 15, $Row: 15 }, $Easing: { $Left: $JssorEasing$.$EaseInWave, $Top: $JssorEasing$.$EaseInWave, $Clip: $JssorEasing$.$EaseLinear }, $Round: { $Left: 0.8, $Top: 2.5} }
|
131 |
+
<?php
|
132 |
+
}
|
133 |
+
?>}
|
134 |
+
];
|
135 |
+
|
136 |
+
var _CaptionTransitions = [];
|
137 |
+
|
138 |
+
// Caption1
|
139 |
+
<?php if($captionStatus1 == 1):?>
|
140 |
+
_CaptionTransitions["caption1"] = {$Duration:<?php echo $captionDuration1 ?>, <?php echo $captionEffect1 ?>};
|
141 |
+
<?php endif; ?>
|
142 |
+
|
143 |
+
// Caption2
|
144 |
+
<?php if($captionStatus2 == 1):?>
|
145 |
+
_CaptionTransitions["caption2"] = {$Duration:<?php echo $captionDuration2 ?>, <?php echo $captionEffect2 ?>};
|
146 |
+
<?php endif; ?>
|
147 |
+
|
148 |
+
// Caption3
|
149 |
+
<?php if($captionStatus3 == 1):?>
|
150 |
+
_CaptionTransitions["caption3"] = {$Duration:<?php echo $captionDuration3 ?>, <?php echo $captionEffect3 ?>};
|
151 |
+
<?php endif; ?>
|
152 |
+
|
153 |
+
// Caption4
|
154 |
+
<?php if($captionStatus4 == 1):?>
|
155 |
+
_CaptionTransitions["caption4"] = {$Duration:<?php echo $captionDuration4 ?>, <?php echo $captionEffect4 ?>};
|
156 |
+
<?php endif; ?>
|
157 |
+
|
158 |
+
// Caption5
|
159 |
+
<?php if($captionStatus5 == 1):?>
|
160 |
+
_CaptionTransitions["caption5"] = {$Duration:<?php echo $captionDuration5 ?>, <?php echo $captionEffect5 ?>};
|
161 |
+
<?php endif; ?>
|
162 |
+
|
163 |
+
// Caption Image 1
|
164 |
+
<?php if($captionImg1 == 1):?>
|
165 |
+
_CaptionTransitions["caption-img1"] = {$Duration:<?php echo $captionImgDuration1 ?>, <?php echo $captionImgEffect1 ?>};
|
166 |
+
<?php endif; ?>
|
167 |
+
|
168 |
+
// Caption Image 2
|
169 |
+
<?php if($captionImg2 == 1):?>
|
170 |
+
_CaptionTransitions["caption-img2"] = {$Duration:<?php echo $captionImgDuration2 ?>, <?php echo $captionImgEffect2 ?>};
|
171 |
+
<?php endif; ?>
|
172 |
+
|
173 |
+
var options =
|
174 |
+
{
|
175 |
+
<!--------------------------- SLIDE OPTION ------------------------>
|
176 |
+
<!------------- DYNAMIC APPEAR FROM ADMIN START ------------------->
|
177 |
+
$AutoPlay: <?php echo $autoPlay ?>, //[Optional] Whether to auto play, to enable slideshow, this option must be set to true, default value is false
|
178 |
+
|
179 |
+
|
180 |
+
$AutoPlayInterval: <?php echo $autoPlayInterval ?>,//[Optional] Interval (in milliseconds) to go for next slide since the previous stopped if the slider is auto playing, default value is 3000
|
181 |
+
$PauseOnHover: <?php echo $pauseOnHover ?>,//[Optional] Whether to pause when mouse over if a slider is auto playing, 0 no pause, 1 pause for desktop, 2 pause for touch device, 3 pause for desktop and touch device, default value is 1
|
182 |
+
// DYNAMIC PAUSE ON HOVER
|
183 |
+
$ArrowKeyNavigation: <?php echo $arrowKeyNav ?>,//[Optional] Allows keyboard (arrow key) navigation or not, default value is false
|
184 |
+
//$SlideEasing: $JssorEasing$.$EaseOutQuint,//[Optional] Specifies easing for right to left animation, default value is $JssorEasing$.$EaseOutQuad
|
185 |
+
$SlideDuration: <?php echo $slideDuration ?>,//[Optional] Specifies default duration (swipe) for slide in milliseconds, default value is 500
|
186 |
+
$MinDragOffsetToSlide: <?php echo $minDragOffset ?>,//[Optional] Minimum drag offset to trigger slide , default value is 20
|
187 |
+
$DragOrientation:<?php echo $dragOrientation ?>,//[Optional] Orientation to drag slide, 0 no drag, 1 horizental, 2 vertical, 3 either, default value is 1 (Note that the $DragOrientation should be the same as $PlayOrientation when $DisplayPieces is greater than 1, or parking position is not 0)
|
188 |
+
$PlayOrientation: <?php echo $playOrientation ?>,//[Optional] Orientation to play slide (for auto play, navigation), 1 horizental, 2 vertical, 5 horizental reverse, 6 vertical reverse, default value is 1
|
189 |
+
<!------------- DYNAMIC APPEAR FROM ADMIN END ------------------->
|
190 |
+
|
191 |
+
|
192 |
+
$AutoPlaySteps: 1,//[Optional] Steps to go for each navigation request (this options applys only when slideshow disabled), the default value is 1
|
193 |
+
$SlideSpacing: 0,//[Optional] Space between each slide in pixels, default value is 0
|
194 |
+
$DisplayPieces: 1,//[Optional] Number of pieces to display (the slideshow would be disabled if the value is set to greater than 1), the default value is 1
|
195 |
+
$ParkingPosition: 0,//[Optional] The offset position to park slide (this options applys only when slideshow disabled), default value is 0.
|
196 |
+
$UISearchMode: 1,//[Optional] The way (0 parellel, 1 recursive, default value is 1) to search UI components (slides container, loading screen, navigator container, arrow navigator container, thumbnail navigator container etc).
|
197 |
+
|
198 |
+
|
199 |
+
$SlideshowOptions:
|
200 |
+
{
|
201 |
+
|
202 |
+
$Class: $JssorSlideshowRunner$,//[Required] Class to create instance of slideshow
|
203 |
+
$Transitions: _SlideshowTransitions,//[Required] An array of slideshow transitions to play slideshow
|
204 |
+
<!------------- DYNAMIC APPEAR FROM ADMIN START ------------------->
|
205 |
+
$TransitionsOrder:<?php echo $transitionOrder ?>,//[Optional] The way to choose transition to play slide, 1 Sequence, 0 Random
|
206 |
+
$ShowLink: true //[Optional] Whether to bring slide link on top of the slider when slideshow is running, default value is false
|
207 |
+
<!------------- DYNAMIC APPEAR FROM ADMIN END ------------------->
|
208 |
+
},
|
209 |
+
|
210 |
+
$CaptionSliderOptions:
|
211 |
+
{
|
212 |
+
$Class: $JssorCaptionSlider$,//[Required] Class to create instance to animate caption
|
213 |
+
$CaptionTransitions: _CaptionTransitions,//[Required] An array of caption transitions to play caption, see caption transition section at jssor slideshow transition builder
|
214 |
+
<!------------- DYNAMIC APPEAR FROM ADMIN START ------------------->
|
215 |
+
$PlayInMode: <?php echo $playInMode ?>,//[Optional] 0 None (no play), 1 Chain (goes after main slide), 3 Chain Flatten (goes after main slide and flatten all caption animations), default value is 1
|
216 |
+
$PlayOutMode: <?php echo $playOutMode ?> //[Optional] 0 None (no play), 1 Chain (goes before main slide), 3 Chain Flatten (goes before main slide and flatten all caption animations), default value is 1
|
217 |
+
<!------------- DYNAMIC APPEAR FROM ADMIN END ------------------->
|
218 |
+
},
|
219 |
+
|
220 |
+
$ArrowNavigatorOptions:
|
221 |
+
{
|
222 |
+
$Class: $JssorArrowNavigator$,
|
223 |
+
$Transitions: _SlideshowTransitions,
|
224 |
+
<!------------- DYNAMIC APPEAR FROM ADMIN START ------------------->
|
225 |
+
$ChanceToShow: <?php echo $arrowNavigation ?>,//[Required] 0 Never, 1 Mouse Over, 2 Always
|
226 |
+
$AutoCenter: <?php echo $arrowAutoCenter ?>,//[Optional] Auto center arrows in parent container, 0 No, 1 Horizontal, 2 Vertical, 3 Both, default value is 0
|
227 |
+
<!------------- DYNAMIC APPEAR FROM ADMIN END ------------------->
|
228 |
+
$Steps: 1//[Optional] Steps to go for each navigation request, default value is 1
|
229 |
+
},
|
230 |
+
|
231 |
+
$BulletNavigatorOptions:
|
232 |
+
{
|
233 |
+
$Class: $JssorBulletNavigator$,
|
234 |
+
$Transitions: _SlideshowTransitions,
|
235 |
+
<!------------- DYNAMIC APPEAR FROM ADMIN START ------------------->
|
236 |
+
$ChanceToShow: <?php echo $bulletNavigation ?>,//[Required] 0 Never, 1 Mouse Over, 2 Always
|
237 |
+
$AutoCenter: <?php echo $bulletAutoCenter ?>, //[Optional] Auto center navigator in parent container, 0 None, 1 Horizontal, 2 Vertical, 3 Both, default value is 0
|
238 |
+
<!------------- DYNAMIC APPEAR FROM ADMIN END ------------------->
|
239 |
+
$Steps: 1,//[Optional] Steps to go for each navigation request, default value is 1
|
240 |
+
$Lanes: 1,//[Optional] Specify lanes to arrange items, default value is 1
|
241 |
+
$SpacingX: 4,//[Optional] Horizontal space between each item in pixel, default value is 0
|
242 |
+
$SpacingY: 4,//[Optional] Vertical space between each item in pixel, default value is 0
|
243 |
+
$Orientation: 1//[Optional] The orientation of the navigator, 1 horizontal, 2 vertical, default value is 1
|
244 |
+
}
|
245 |
+
};
|
246 |
+
|
247 |
+
|
248 |
+
var jssor_slider1 = new $JssorSlider$("slider1_container", options);
|
249 |
+
function ScaleSlider()
|
250 |
+
{
|
251 |
+
var parentWidth = jssor_slider1.$Elmt.parentNode.clientWidth;
|
252 |
+
if (parentWidth)
|
253 |
+
jssor_slider1.$SetScaleWidth(parentWidth);
|
254 |
+
else
|
255 |
+
$JssorUtils$.$Delay(ScaleSlider, 30);
|
256 |
+
}
|
257 |
+
ScaleSlider();
|
258 |
+
$JssorUtils$.$AddEvent(window, "load", ScaleSlider);
|
259 |
+
if (!navigator.userAgent.match(/(iPhone|iPod|iPad|BlackBerry|IEMobile)/)) {
|
260 |
+
$JssorUtils$.$OnWindowResize(window, ScaleSlider);
|
261 |
+
}
|
262 |
+
})
|
263 |
+
</script>
|
264 |
+
|
app/etc/modules/Vsourz_Layerslider.xml
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* Magento
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
10 |
+
* It is also available through the world-wide-web at this URL:
|
11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
12 |
+
* If you did not receive a copy of the license and are unable to
|
13 |
+
* obtain it through the world-wide-web, please send an email
|
14 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
15 |
+
*
|
16 |
+
* @category Vsourz
|
17 |
+
* @package Vsourz_Layerslider
|
18 |
+
* @copyright Copyright (c) 2014 Vsourz Ltd
|
19 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
20 |
+
*/
|
21 |
+
-->
|
22 |
+
<config>
|
23 |
+
<modules>
|
24 |
+
<Vsourz_Layerslider>
|
25 |
+
<active>true</active>
|
26 |
+
<codePool>community</codePool>
|
27 |
+
</Vsourz_Layerslider>
|
28 |
+
</modules>
|
29 |
+
</config>
|
media/layerslider/banner1-slide-img-2015-04-10-08-43-43.jpg
ADDED
Binary file
|
media/layerslider/banner1_thumb_1-slide_captionimg1-img-2015-04-10-08-43-43.png
ADDED
Binary file
|
media/layerslider/banner1_thumb_2-slide_captionimg2-2015-04-10-08-43-43.png
ADDED
Binary file
|
media/layerslider/banner2-slide-img-2015-04-10-08-48-49.jpg
ADDED
Binary file
|
media/layerslider/banner2_thumb_1-slide_captionimg1-img-2015-04-10-08-48-49.png
ADDED
Binary file
|
media/layerslider/banner2_thumb_2-slide_captionimg2-2015-04-10-08-48-49.png
ADDED
Binary file
|
media/layerslider/banner3-slide-img-2015-04-10-08-49-49.jpg
ADDED
Binary file
|
media/layerslider/banner3_thumb_1-slide_captionimg1-img-2015-04-10-08-50-08.png
ADDED
Binary file
|
media/layerslider/banner3_thumb_2-slide_captionimg2-2015-04-10-08-50-08.png
ADDED
Binary file
|
media/layerslider/slide_5-slide-img-2015-04-20-09-32-44.jpg
ADDED
Binary file
|
package.xml
ADDED
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<package>
|
3 |
+
<name>Vsourz_Digital_Jassor_Slider</name>
|
4 |
+
<version>1.0.0</version>
|
5 |
+
<stability>stable</stability>
|
6 |
+
<license uri="http://opensource.org/licenses/MIT">Massachusetts Institute of Technology License (MITL)</license>
|
7 |
+
<channel>community</channel>
|
8 |
+
<extends/>
|
9 |
+
<summary>Jassor Slider is a Banner Slider built on the top of Jassor Slider JS. The extension is completely manageable from the Magento admin.</summary>
|
10 |
+
<description>Jassor Slider is a Banner Slider built on the top of Jassor Slider JS. The features of the extension are listed below
|
11 |
+

|
12 |
+
Features:
|
13 |
+

|
14 |
+
1. Simple, easy to use interface – perfect for individual users.
|
15 |
+
2. Create Responsive slideshows in seconds
|
16 |
+
3. Unrestricted support for Image slides (supports caption, link, description text, images)
|
17 |
+
4. Full width Slider support
|
18 |
+
5. Fast – only the minimum JavaScript/CSS is included on your page
|
19 |
+
6. Touch + drag navigation
|
20 |
+
7. Auto detect vertical/horizontal drag
|
21 |
+
8. Cross browser support
|
22 |
+
9. Editable CSS from back-end.
|
23 |
+
10. Any html code can be placed inside slide
|
24 |
+
11. Auto enable/disable Slides based on time period.
|
25 |
+
12. Ability to edit CSS from backend.</description>
|
26 |
+
<notes>This is the first release of the extension
|
27 |
+
</notes>
|
28 |
+
<authors><author><name>Vsourz Digital</name><user>MAG002979323</user><email>mehul@vsourz.com</email></author></authors>
|
29 |
+
<date>2015-04-20</date>
|
30 |
+
<time>10:08:36</time>
|
31 |
+
<contents><target name="magecommunity"><dir name="Vsourz"><dir name="Layerslider"><dir name="Block"><dir name="Adminhtml"><dir name="Layerslider"><dir name="Edit"><file name="Form.php" hash="32abfcc61ff1b74f0964687f0dce989b"/><dir name="Tabs"><file name="Content.php" hash="39944e01191e961fcac3e7d81723bf14"/><file name="Form.php" hash="880780c3dae46654c79a9c38328348b9"/></dir><file name="Tabs.php" hash="295252bcda0bfaaa024e1562b09ae1d8"/></dir><file name="Edit.php" hash="bb3933a822eadaa7d701a1f0d4d5533f"/><file name="Grid.php" hash="6344424d67c4269bdcaaf4978e00cff6"/><dir name="Renderer"><file name="Image.php" hash="9a040559fe10828ab8a11ceceed6c10a"/><file name="Status.php" hash="321a2feb0966e8cf9d6c9be6c8cc5586"/></dir></dir><file name="Layerslider.php" hash="32b2eb71d7302ae7868d255f095dc8ac"/></dir><file name="Layerslider.php" hash="d17aaf48432f42ea55f9bb57f90664a7"/></dir><dir name="Helper"><file name="Data.php" hash="580dda4325612cca1dda05b2b28ba5ba"/></dir><dir name="Model"><file name="Layerslider.php" hash="6240d1c15877ee5ee0c082b8aebc993f"/><file name="Observer.php" hash="57de87b2deacb2ed76143b1a1a76a3c7"/><dir name="Resource"><dir name="Layerslider"><file name="Collection.php" hash="27f8b426d95cc3bd7d5ab8eef62b3029"/></dir><file name="Layerslider.php" hash="bdf4bc25c21d0cbbf65260d38db340ec"/></dir><dir name="Source"><file name="Autocenter.php" hash="fd4add353fee7c5a9d52672157e34a6f"/><file name="Captioneffect.php" hash="8a0faa18efd45fa4e0d042f6a3c30f33"/><file name="Chancetoshow.php" hash="b63f6cd800a169635dcf15d9cb610c0a"/><file name="Dragorientation.php" hash="2cf4ed17477227d99c40c7c90c52d89f"/><file name="Pauseonhover.php" hash="ba11c513163b9c7bb0069988a46002af"/><file name="Playmode.php" hash="2fa8c9a3f3b4ade23f511a2cd3296e7a"/><file name="Playorientation.php" hash="fc10e81576ab6bd3e880058ce6628d7f"/><file name="Slideeffects.php" hash="c08b088b284cb6f8c4cee793260fb540"/><file name="Transitionorder.php" hash="c5f3e30cc1a9b4357247d7411a99ba7a"/><file name="Truefalse.php" hash="8a8c88537b92eb7fbc3c5834b4b08d8e"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="LayersliderController.php" hash="6fb748c6d21d3a1cbc13d691654adba9"/></dir></dir><dir name="data"><dir name="layerslider_setup"><file name="data-install-0.1.0.php" hash="926d77a4f5f39afa6bc393503a1163e8"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="63ff1362ae9a80dd4ed135c08822263b"/><file name="config.xml" hash="eb60e3dae1eb074a91486846c68135de"/><file name="system.xml" hash="b8c295e39b61ad5ab47bb3e439f37c4f"/></dir><dir name="sql"><dir name="layerslider_setup"><file name="mysql4-install-0.1.0.php" hash="cbc39f5afbd899482cba823236a4f50c"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Vsourz_Layerslider.xml" hash="9b1479fb0939a1be464929e923b3e0a9"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="layerslider.xml" hash="6a2f3aa82a18b35b0c1dcff13069df7b"/></dir><dir name="template"><dir name="layerslider"><file name="layerslider.phtml" hash="dcd59cc35f7da408ffdd5d9485064107"/><file name="layersliderjs.phtml" hash="c8fcea121103ae4ca489d173cefdb7c0"/></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="layerslider.xml" hash="b8327d0556bf9249e5460d0ff822074e"/></dir></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="layerslider"><file name="layerstyle.css" hash="5493a158daf7755ac00f5e18056220b6"/></dir></dir><dir name="images"><dir name="layerslider"><file name="Icon-Slider-11-No-jQuery.png" hash="16e52d616964bd798288fc1e74c6e0c3"/><file name="Icon-Slider-11-jQuery.png" hash="15bff92c7db6ec59ff57d5e33670eb4c"/><file name="Icon-Slider-12-No-jQuery.png" hash="e57a3a671f3f956c93d0be1603b7bb1b"/><file name="Icon-Slider-12-jQuery.png" hash="6c5ef16053472eb665b03ffa1c01a37e"/><file name="Thumbs.db" hash="12205c89cc5d9b0f63a89748801f5e63"/><file name="a01.png" hash="165e92ca2a2f5512f1aee6e6938dbed9"/><file name="a02.png" hash="40a719c27da43ce578fa4335776b4c94"/><file name="a03.png" hash="a32b0a342a7e39147f4141073e062d5a"/><file name="a04.png" hash="ce16aab1ed6a266f20fba89d4890f0be"/><file name="a06.png" hash="40e35b6aa808010f43c87cbe70979097"/><file name="a07.png" hash="0abbd25a37aab6efdc56cbed9eeaebfc"/><file name="a08.png" hash="aab48326c715bf7c0fbb5fe3e7ac227d"/><file name="a09.png" hash="fcbddd98acb30c56a197d225db62689b"/><file name="a10.png" hash="d29e9a519f757500a906796b0047607b"/><file name="a11.png" hash="f7bcd8df5258346060276b9dbcb0c63a"/><file name="a12.png" hash="bb9fcee03a7288c2083eb15e31f18e1d"/><file name="a13.png" hash="6f8f003e471803fa8a9e3a59fb501dc2"/><file name="a14.png" hash="319a3763300203e71cdc6d0d6018b9d1"/><file name="a15.png" hash="42769308df825815cd93e7666d1fcd7a"/><file name="a16.png" hash="ba0dcd16c7df77f68c673cce6ef039b6"/><file name="a17.png" hash="1c07428693b64ab8c518191026ce2190"/><file name="a18.png" hash="22ac3a6f225b8a359969f82896779d2b"/><file name="a19.png" hash="52a5356cc180db3a671f9afaa0435bbf"/><file name="a20.png" hash="e58807df9c59b27a6713a11e77d21164"/><file name="a21.png" hash="1e1c2f70f23fb1f37c6299211396112a"/><file name="b02.png" hash="09c9466ec8e0816612fc8c68315eb6e7"/><file name="b03.png" hash="66ddc21fc1fad1a9fd04d042e7f442e8"/><file name="b05.png" hash="b5b353c4ec92a0f8be543f33741618f3"/><file name="b06.png" hash="29328f9828cf41682d2c6360d43894fa"/><file name="b07.png" hash="8a67b2fe0c5fdb539d392d2439bc1e12"/><file name="b10.png" hash="8a9db01ca0e484e4f06999f5f5378777"/><file name="b11.png" hash="da5e314946762ba28d750817202c785e"/><file name="b12.png" hash="abd3224eca4a943fb69774d070e07749"/><file name="b13.png" hash="9e6051ba09b5bbaf05d991aca7c23c94"/><file name="b14.png" hash="bb7c35f85f022dd996bcf09d0577a384"/><file name="b16.png" hash="f2c3bd8a1cb20013e9b77269297d72a4"/><file name="b17.png" hash="546339367d2307de546f09b6b2677dbd"/><file name="b18.png" hash="b69563e54ecbb9922af99e830b92cb6d"/><file name="b20.png" hash="8ff048368eda01e34c6e959c4ca129b2"/><file name="b21.png" hash="9aa699b3432dd731e150d79a4601e46b"/><file name="back.jpg" hash="2a78ee8377f2aabd634ef682242c4c39"/><file name="browser-icons.png" hash="f3e43ff2d193a29e25e1d0dcd53e413b"/><file name="close.png" hash="5f601b007af36999f22b1c41447c6e8d"/><file name="loading.gif" hash="dd78ac008009bd821d2bf2da98108854"/><file name="loading2.gif" hash="bd3d5a0aaeb053c4f517c27b3c40b0d4"/><file name="play.png" hash="7913101cec2e046c6da89cceb838de3a"/><file name="t01.png" hash="5c594fe685ea67e734e636fe1623d638"/></dir></dir><dir name="js"><dir name="layerslider"><file name="jquery-1.10.2.min.js" hash="628072e7212db1e8cdacb22b21752cda"/><file name="jssor.js" hash="dd3bfd8831e02a2ea05e3b363d47495f"/><file name="jssor.slider.min-old.js" hash="ed8e3e63ac9c1ff5329e25671aa1de3c"/><file name="jssor.slider.min.js" hash="ed8e3e63ac9c1ff5329e25671aa1de3c"/></dir></dir></dir></dir></dir></target><target name="magemedia"><dir name="layerslider"><file name="banner1-slide-img-2015-04-10-08-43-43.jpg" hash="eaf64d97e56d03dd3f35b94ea5842f8e"/><file name="banner1_thumb_1-slide_captionimg1-img-2015-04-10-08-43-43.png" hash="ba2a53f4aaaf8493cfe1f807055d1bc3"/><file name="banner1_thumb_2-slide_captionimg2-2015-04-10-08-43-43.png" hash="5488dc1889056d8efccff7fd20eba500"/><file name="banner2-slide-img-2015-04-10-08-48-49.jpg" hash="541dec02df908566bf6fd5e82046db48"/><file name="banner2_thumb_1-slide_captionimg1-img-2015-04-10-08-48-49.png" hash="e7a50ff224800a218ffecd14495732a2"/><file name="banner2_thumb_2-slide_captionimg2-2015-04-10-08-48-49.png" hash="b83a2f8c58ad4b5058cd5cea4806516e"/><file name="banner3-slide-img-2015-04-10-08-49-49.jpg" hash="b69cdc9c7e2acd4400ff6603f9788fba"/><file name="banner3_thumb_1-slide_captionimg1-img-2015-04-10-08-50-08.png" hash="525b7dbb534ca34cd3e2b6548f165ffb"/><file name="banner3_thumb_2-slide_captionimg2-2015-04-10-08-50-08.png" hash="c57ac594131470aff8743f0e9de5b3d5"/><file name="slide_5-slide-img-2015-04-20-09-32-44.jpg" hash="2c1a3d5edc712bb1244f0e7a86aafa59"/></dir></target></contents>
|
32 |
+
<compatible/>
|
33 |
+
<dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
|
34 |
+
</package>
|
skin/frontend/base/default/css/layerslider/layerstyle.css
ADDED
@@ -0,0 +1,238 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#slide_parent{
|
2 |
+
max-width:100%;
|
3 |
+
margin: 0 auto;
|
4 |
+
max-height:100%;
|
5 |
+
}
|
6 |
+
|
7 |
+
#slider1_container
|
8 |
+
{
|
9 |
+
position: relative;
|
10 |
+
overflow: hidden;
|
11 |
+
margin:0 auto;
|
12 |
+
margin-bottom:25px;
|
13 |
+
}
|
14 |
+
.slider1 div
|
15 |
+
{
|
16 |
+
position: relative;
|
17 |
+
margin: 0px;
|
18 |
+
padding: 0px;
|
19 |
+
}
|
20 |
+
.slides
|
21 |
+
{
|
22 |
+
cursor: move;
|
23 |
+
position: absolute;
|
24 |
+
left: 0px;
|
25 |
+
top: 0px;
|
26 |
+
overflow:hidden;
|
27 |
+
|
28 |
+
}
|
29 |
+
.slides-inner
|
30 |
+
{
|
31 |
+
cursor: move;
|
32 |
+
position: absolute;
|
33 |
+
left: 0px;
|
34 |
+
top: 0px;
|
35 |
+
overflow: hidden;
|
36 |
+
}
|
37 |
+
.slides-inner a{display:block;}
|
38 |
+
.slides-inner img{max-width:100%; width:100%;}
|
39 |
+
a.captionOrange,
|
40 |
+
A.captionOrange:active,
|
41 |
+
A.captionOrange:visited
|
42 |
+
{
|
43 |
+
color: #ffffff;
|
44 |
+
text-decoration: none;
|
45 |
+
}
|
46 |
+
a.captionOrange:hover
|
47 |
+
{
|
48 |
+
color: #eb5100;
|
49 |
+
text-decoration: underline;
|
50 |
+
background-color: #eeeeee;
|
51 |
+
background-color: rgba(238, 238, 238, 0.7);
|
52 |
+
}
|
53 |
+
.jssorb03 div,
|
54 |
+
.jssorb03 div:hover,
|
55 |
+
.jssorb03 .av
|
56 |
+
{
|
57 |
+
background: url(../../images/layerslider/b02.png) no-repeat;
|
58 |
+
overflow:hidden;
|
59 |
+
cursor: pointer;
|
60 |
+
transition: all 0.4s ease-in-out 0s;
|
61 |
+
-moz-transition: all 0.4s ease-in-out 0s;
|
62 |
+
-webkit-transition: all 0.4s ease-in-out 0s;
|
63 |
+
-o-transition: all 0.4s ease-in-out 0s;
|
64 |
+
}
|
65 |
+
.jssorb03 div
|
66 |
+
{
|
67 |
+
background-position: -5px -4px;
|
68 |
+
}
|
69 |
+
.jssorb03 div:hover, .jssorb03 .av:hover
|
70 |
+
{
|
71 |
+
background-position: -35px -4px;
|
72 |
+
}
|
73 |
+
.jssorb03 .av
|
74 |
+
{
|
75 |
+
background-position: -65px -4px;
|
76 |
+
}
|
77 |
+
.jssorb03 .dn,
|
78 |
+
.jssorb03 .dn:hover
|
79 |
+
{
|
80 |
+
background-position: -95px -4px;
|
81 |
+
}
|
82 |
+
.jssora20l,
|
83 |
+
.jssora20r,
|
84 |
+
.jssora20ldn,
|
85 |
+
.jssora20rdn
|
86 |
+
{
|
87 |
+
position: absolute;
|
88 |
+
cursor: pointer;
|
89 |
+
display: block;
|
90 |
+
background: url(../../images/layerslider/a03.png) no-repeat;
|
91 |
+
overflow:hidden;
|
92 |
+
transition: all 0.4s ease-in-out 0s;
|
93 |
+
-moz-transition: all 0.4s ease-in-out 0s;
|
94 |
+
-webkit-transition: all 0.4s ease-in-out 0s;
|
95 |
+
-o-transition: all 0.4s ease-in-out 0s;
|
96 |
+
}
|
97 |
+
.jssora20l
|
98 |
+
{
|
99 |
+
background-position: -3px -33px;
|
100 |
+
width: 55px;
|
101 |
+
height: 55px;
|
102 |
+
top: 123px;
|
103 |
+
left: 20px;
|
104 |
+
}
|
105 |
+
.jssora20r
|
106 |
+
{
|
107 |
+
background-position: -63px -33px;
|
108 |
+
width: 55px;
|
109 |
+
height: 55px;
|
110 |
+
top: 123px;
|
111 |
+
right: 20px;
|
112 |
+
}
|
113 |
+
.jssora20l:hover { background-position: -123px -33px; }
|
114 |
+
.jssora20r:hover { background-position: -183px -33px; }
|
115 |
+
.jssora20ldn { background-position: -243px -33px; }
|
116 |
+
.jssora20rdn { background-position: -303px -33px; }
|
117 |
+
.jssorb03
|
118 |
+
{
|
119 |
+
position: absolute;
|
120 |
+
bottom: 20px;
|
121 |
+
left: 6px;
|
122 |
+
}
|
123 |
+
/**********************************
|
124 |
+
Caption Wise Css
|
125 |
+
**********************************/
|
126 |
+
.cap-tion
|
127 |
+
{
|
128 |
+
position:absolute;
|
129 |
+
line-height: normal;
|
130 |
+
font-size:30px;
|
131 |
+
color:#fff;
|
132 |
+
text-shadow:2px 2px 2px rgba(0, 0, 0, 0.5)
|
133 |
+
}
|
134 |
+
.cap-pos1
|
135 |
+
{
|
136 |
+
top:100px;
|
137 |
+
left:150px;
|
138 |
+
}
|
139 |
+
.cap-pos2
|
140 |
+
{
|
141 |
+
top:150px;
|
142 |
+
left:150px;
|
143 |
+
}
|
144 |
+
.cap-pos3{
|
145 |
+
top:200px;
|
146 |
+
left:150px;
|
147 |
+
}
|
148 |
+
.cap-pos4{
|
149 |
+
left:150px;
|
150 |
+
top:250px;
|
151 |
+
}
|
152 |
+
.cap-pos5{
|
153 |
+
left:150px;
|
154 |
+
top:300px;
|
155 |
+
}
|
156 |
+
.cap-img1
|
157 |
+
{
|
158 |
+
left:auto;
|
159 |
+
top:100px;
|
160 |
+
right:400px;
|
161 |
+
}
|
162 |
+
.cap-img2
|
163 |
+
{
|
164 |
+
left:auto;
|
165 |
+
top:100px;
|
166 |
+
right:150px;
|
167 |
+
}
|
168 |
+
/******* Slide 1 *******/
|
169 |
+
.slide-1 .cap-img1
|
170 |
+
{
|
171 |
+
top:50px;
|
172 |
+
right:450px;
|
173 |
+
}
|
174 |
+
/*********** Override Position **********/
|
175 |
+
/***** Slide 2 *******/
|
176 |
+
.slide-2 .cap-pos1
|
177 |
+
{
|
178 |
+
background:rgba(255,255,255,0.6);
|
179 |
+
color:#333;
|
180 |
+
padding:5px 15px;
|
181 |
+
left:150px;
|
182 |
+
top:100px;
|
183 |
+
}
|
184 |
+
.slide-2 .cap-pos2
|
185 |
+
{
|
186 |
+
background:rgba(255,255,255,0.6);
|
187 |
+
color:#333;
|
188 |
+
padding:5px 15px;
|
189 |
+
left:150px;
|
190 |
+
top:200px;
|
191 |
+
}
|
192 |
+
.slide-2 .cap-pos3
|
193 |
+
{
|
194 |
+
background:rgba(255,255,255,0.6);
|
195 |
+
color:#333;
|
196 |
+
padding:5px 15px;
|
197 |
+
left:150px;
|
198 |
+
top:300px;
|
199 |
+
}
|
200 |
+
.slide-2 .cap-pos4
|
201 |
+
{
|
202 |
+
left: auto;
|
203 |
+
right: 147px;
|
204 |
+
top:20px;
|
205 |
+
background:rgba(255,255,255,0.6);
|
206 |
+
color:#333;
|
207 |
+
text-align:center;
|
208 |
+
padding:15px;
|
209 |
+
box-sizing:border-box;
|
210 |
+
-webkit-box-sizing:border-box;
|
211 |
+
font-size:18px;
|
212 |
+
}
|
213 |
+
.slide-2 .cap-pos5
|
214 |
+
{
|
215 |
+
right:130px;
|
216 |
+
left:auto;
|
217 |
+
background:rgba(255,255,255,0.6);
|
218 |
+
color:#333;
|
219 |
+
padding:7px 15px;
|
220 |
+
top:auto;
|
221 |
+
bottom:5px;
|
222 |
+
}
|
223 |
+
.slide-2 .cap-img1
|
224 |
+
{
|
225 |
+
top:90px;
|
226 |
+
right:150px;
|
227 |
+
}
|
228 |
+
|
229 |
+
|
230 |
+
/******* Slide 3 *******/
|
231 |
+
.slide-3 .cap-img1{left:15%;top:0;right:auto;}
|
232 |
+
.slide-3 .cap-pos1,
|
233 |
+
.slide-3 .cap-pos2,
|
234 |
+
.slide-3 .cap-pos3,
|
235 |
+
.slide-3 .cap-pos4,
|
236 |
+
.slide-3 .cap-pos5{
|
237 |
+
left:600px;
|
238 |
+
}
|
skin/frontend/base/default/images/layerslider/Icon-Slider-11-No-jQuery.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/Icon-Slider-11-jQuery.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/Icon-Slider-12-No-jQuery.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/Icon-Slider-12-jQuery.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/Thumbs.db
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/a01.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/a02.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/a03.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/a04.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/a06.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/a07.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/a08.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/a09.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/a10.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/a11.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/a12.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/a13.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/a14.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/a15.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/a16.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/a17.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/a18.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/a19.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/a20.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/a21.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/b02.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/b03.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/b05.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/b06.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/b07.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/b10.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/b11.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/b12.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/b13.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/b14.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/b16.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/b17.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/b18.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/b20.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/b21.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/back.jpg
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/browser-icons.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/close.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/loading.gif
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/loading2.gif
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/play.png
ADDED
Binary file
|
skin/frontend/base/default/images/layerslider/t01.png
ADDED
Binary file
|
skin/frontend/base/default/js/layerslider/jquery-1.10.2.min.js
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license
|
2 |
+
//@ sourceMappingURL=jquery-1.10.2.min.map
|
3 |
+
*/
|
4 |
+
(function(e,t){var n,r,i=typeof t,o=e.location,a=e.document,s=a.documentElement,l=e.jQuery,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={jquery: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.jquery?(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:"jQuery"+(f+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=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
|
5 |
+
}({});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.jquery?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=/ jQuery\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);
|
6 |
+
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.jquery&&!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.jquery)?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.jQuery=e.$=x,"function"==typeof define&&define.amd&&define("jquery",[],function(){return x}))})(window);
|
skin/frontend/base/default/js/layerslider/jssor.js
ADDED
@@ -0,0 +1,2724 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* Jssor 19.0
|
3 |
+
* http://www.jssor.com/
|
4 |
+
*
|
5 |
+
* Licensed under the MIT license:
|
6 |
+
* http://www.opensource.org/licenses/MIT
|
7 |
+
*
|
8 |
+
* TERMS OF USE - Jssor
|
9 |
+
*
|
10 |
+
* Copyright 2014 Jssor
|
11 |
+
*
|
12 |
+
* Permission is hereby granted, free of charge, to any person obtaining
|
13 |
+
* a copy of this software and associated documentation files (the
|
14 |
+
* "Software"), to deal in the Software without restriction, including
|
15 |
+
* without limitation the rights to use, copy, modify, merge, publish,
|
16 |
+
* distribute, sublicense, and/or sell copies of the Software, and to
|
17 |
+
* permit persons to whom the Software is furnished to do so, subject to
|
18 |
+
* the following conditions:
|
19 |
+
*
|
20 |
+
* The above copyright notice and this permission notice shall be
|
21 |
+
* included in all copies or substantial portions of the Software.
|
22 |
+
*
|
23 |
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
24 |
+
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
25 |
+
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
26 |
+
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
27 |
+
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
28 |
+
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
29 |
+
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
30 |
+
*/
|
31 |
+
|
32 |
+
/*! Jssor */
|
33 |
+
|
34 |
+
//$JssorDebug$
|
35 |
+
var $JssorDebug$ = new function () {
|
36 |
+
|
37 |
+
this.$DebugMode = true;
|
38 |
+
|
39 |
+
// Methods
|
40 |
+
|
41 |
+
this.$Log = function (msg, important) {
|
42 |
+
var console = window.console || {};
|
43 |
+
var debug = this.$DebugMode;
|
44 |
+
|
45 |
+
if (debug && console.log) {
|
46 |
+
console.log(msg);
|
47 |
+
} else if (debug && important) {
|
48 |
+
alert(msg);
|
49 |
+
}
|
50 |
+
};
|
51 |
+
|
52 |
+
this.$Error = function (msg, e) {
|
53 |
+
var console = window.console || {};
|
54 |
+
var debug = this.$DebugMode;
|
55 |
+
|
56 |
+
if (debug && console.error) {
|
57 |
+
console.error(msg);
|
58 |
+
} else if (debug) {
|
59 |
+
alert(msg);
|
60 |
+
}
|
61 |
+
|
62 |
+
if (debug) {
|
63 |
+
// since we're debugging, fail fast by crashing
|
64 |
+
throw e || new Error(msg);
|
65 |
+
}
|
66 |
+
};
|
67 |
+
|
68 |
+
this.$Fail = function (msg) {
|
69 |
+
throw new Error(msg);
|
70 |
+
};
|
71 |
+
|
72 |
+
this.$Assert = function (value, msg) {
|
73 |
+
var debug = this.$DebugMode;
|
74 |
+
if (debug) {
|
75 |
+
if (!value)
|
76 |
+
throw new Error("Assert failed " + msg || "");
|
77 |
+
}
|
78 |
+
};
|
79 |
+
|
80 |
+
this.$Trace = function (msg) {
|
81 |
+
var console = window.console || {};
|
82 |
+
var debug = this.$DebugMode;
|
83 |
+
|
84 |
+
if (debug && console.log) {
|
85 |
+
console.log(msg);
|
86 |
+
}
|
87 |
+
};
|
88 |
+
|
89 |
+
this.$Execute = function (func) {
|
90 |
+
var debug = this.$DebugMode;
|
91 |
+
if (debug)
|
92 |
+
func();
|
93 |
+
};
|
94 |
+
|
95 |
+
this.$LiveStamp = function (obj, id) {
|
96 |
+
var debug = this.$DebugMode;
|
97 |
+
if (debug) {
|
98 |
+
var stamp = document.createElement("DIV");
|
99 |
+
stamp.setAttribute("id", id);
|
100 |
+
|
101 |
+
obj.$Live = stamp;
|
102 |
+
}
|
103 |
+
};
|
104 |
+
|
105 |
+
this.$C_AbstractProperty = function () {
|
106 |
+
/// <summary>
|
107 |
+
/// Tells compiler the property is abstract, it should be implemented by subclass.
|
108 |
+
/// </summary>
|
109 |
+
|
110 |
+
throw new Error("The property is abstract, it should be implemented by subclass.");
|
111 |
+
};
|
112 |
+
|
113 |
+
this.$C_AbstractMethod = function () {
|
114 |
+
/// <summary>
|
115 |
+
/// Tells compiler the method is abstract, it should be implemented by subclass.
|
116 |
+
/// </summary>
|
117 |
+
|
118 |
+
throw new Error("The method is abstract, it should be implemented by subclass.");
|
119 |
+
};
|
120 |
+
|
121 |
+
function C_AbstractClass(instance) {
|
122 |
+
/// <summary>
|
123 |
+
/// Tells compiler the class is abstract, it should be implemented by subclass.
|
124 |
+
/// </summary>
|
125 |
+
|
126 |
+
if (instance.constructor === C_AbstractClass.caller)
|
127 |
+
throw new Error("Cannot create instance of an abstract class.");
|
128 |
+
}
|
129 |
+
|
130 |
+
this.$C_AbstractClass = C_AbstractClass;
|
131 |
+
};
|
132 |
+
|
133 |
+
//$JssorEasing$
|
134 |
+
var $JssorEasing$ = window.$JssorEasing$ = {
|
135 |
+
$EaseLinear: function (t) {
|
136 |
+
return t;
|
137 |
+
},
|
138 |
+
$EaseGoBack: function (t) {
|
139 |
+
return 1 - Math.abs((t *= 2) - 1);
|
140 |
+
},
|
141 |
+
$EaseSwing: function (t) {
|
142 |
+
return -Math.cos(t * Math.PI) / 2 + .5;
|
143 |
+
},
|
144 |
+
$EaseInQuad: function (t) {
|
145 |
+
return t * t;
|
146 |
+
},
|
147 |
+
$EaseOutQuad: function (t) {
|
148 |
+
return -t * (t - 2);
|
149 |
+
},
|
150 |
+
$EaseInOutQuad: function (t) {
|
151 |
+
return (t *= 2) < 1 ? 1 / 2 * t * t : -1 / 2 * (--t * (t - 2) - 1);
|
152 |
+
},
|
153 |
+
$EaseInCubic: function (t) {
|
154 |
+
return t * t * t;
|
155 |
+
},
|
156 |
+
$EaseOutCubic: function (t) {
|
157 |
+
return (t -= 1) * t * t + 1;
|
158 |
+
},
|
159 |
+
$EaseInOutCubic: function (t) {
|
160 |
+
return (t *= 2) < 1 ? 1 / 2 * t * t * t : 1 / 2 * ((t -= 2) * t * t + 2);
|
161 |
+
},
|
162 |
+
$EaseInQuart: function (t) {
|
163 |
+
return t * t * t * t;
|
164 |
+
},
|
165 |
+
$EaseOutQuart: function (t) {
|
166 |
+
return -((t -= 1) * t * t * t - 1);
|
167 |
+
},
|
168 |
+
$EaseInOutQuart: function (t) {
|
169 |
+
return (t *= 2) < 1 ? 1 / 2 * t * t * t * t : -1 / 2 * ((t -= 2) * t * t * t - 2);
|
170 |
+
},
|
171 |
+
$EaseInQuint: function (t) {
|
172 |
+
return t * t * t * t * t;
|
173 |
+
},
|
174 |
+
$EaseOutQuint: function (t) {
|
175 |
+
return (t -= 1) * t * t * t * t + 1;
|
176 |
+
},
|
177 |
+
$EaseInOutQuint: function (t) {
|
178 |
+
return (t *= 2) < 1 ? 1 / 2 * t * t * t * t * t : 1 / 2 * ((t -= 2) * t * t * t * t + 2);
|
179 |
+
},
|
180 |
+
$EaseInSine: function (t) {
|
181 |
+
return 1 - Math.cos(t * Math.PI / 2);
|
182 |
+
},
|
183 |
+
$EaseOutSine: function (t) {
|
184 |
+
return Math.sin(t * Math.PI / 2);
|
185 |
+
},
|
186 |
+
$EaseInOutSine: function (t) {
|
187 |
+
return -1 / 2 * (Math.cos(Math.PI * t) - 1);
|
188 |
+
},
|
189 |
+
$EaseInExpo: function (t) {
|
190 |
+
return t == 0 ? 0 : Math.pow(2, 10 * (t - 1));
|
191 |
+
},
|
192 |
+
$EaseOutExpo: function (t) {
|
193 |
+
return t == 1 ? 1 : -Math.pow(2, -10 * t) + 1;
|
194 |
+
},
|
195 |
+
$EaseInOutExpo: function (t) {
|
196 |
+
return t == 0 || t == 1 ? t : (t *= 2) < 1 ? 1 / 2 * Math.pow(2, 10 * (t - 1)) : 1 / 2 * (-Math.pow(2, -10 * --t) + 2);
|
197 |
+
},
|
198 |
+
$EaseInCirc: function (t) {
|
199 |
+
return -(Math.sqrt(1 - t * t) - 1);
|
200 |
+
},
|
201 |
+
$EaseOutCirc: function (t) {
|
202 |
+
return Math.sqrt(1 - (t -= 1) * t);
|
203 |
+
},
|
204 |
+
$EaseInOutCirc: function (t) {
|
205 |
+
return (t *= 2) < 1 ? -1 / 2 * (Math.sqrt(1 - t * t) - 1) : 1 / 2 * (Math.sqrt(1 - (t -= 2) * t) + 1);
|
206 |
+
},
|
207 |
+
$EaseInElastic: function (t) {
|
208 |
+
if (!t || t == 1)
|
209 |
+
return t;
|
210 |
+
var p = .3, s = .075;
|
211 |
+
return -(Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * 2 * Math.PI / p));
|
212 |
+
},
|
213 |
+
$EaseOutElastic: function (t) {
|
214 |
+
if (!t || t == 1)
|
215 |
+
return t;
|
216 |
+
var p = .3, s = .075;
|
217 |
+
return Math.pow(2, -10 * t) * Math.sin((t - s) * 2 * Math.PI / p) + 1;
|
218 |
+
},
|
219 |
+
$EaseInOutElastic: function (t) {
|
220 |
+
if (!t || t == 1)
|
221 |
+
return t;
|
222 |
+
var p = .45, s = .1125;
|
223 |
+
return (t *= 2) < 1 ? -.5 * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * 2 * Math.PI / p) : Math.pow(2, -10 * (t -= 1)) * Math.sin((t - s) * 2 * Math.PI / p) * .5 + 1;
|
224 |
+
},
|
225 |
+
$EaseInBack: function (t) {
|
226 |
+
var s = 1.70158;
|
227 |
+
return t * t * ((s + 1) * t - s);
|
228 |
+
},
|
229 |
+
$EaseOutBack: function (t) {
|
230 |
+
var s = 1.70158;
|
231 |
+
return (t -= 1) * t * ((s + 1) * t + s) + 1;
|
232 |
+
},
|
233 |
+
$EaseInOutBack: function (t) {
|
234 |
+
var s = 1.70158;
|
235 |
+
return (t *= 2) < 1 ? 1 / 2 * t * t * (((s *= 1.525) + 1) * t - s) : 1 / 2 * ((t -= 2) * t * (((s *= 1.525) + 1) * t + s) + 2);
|
236 |
+
},
|
237 |
+
$EaseInBounce: function (t) {
|
238 |
+
return 1 - $JssorEasing$.$EaseOutBounce(1 - t)
|
239 |
+
},
|
240 |
+
$EaseOutBounce: function (t) {
|
241 |
+
return t < 1 / 2.75 ? 7.5625 * t * t : t < 2 / 2.75 ? 7.5625 * (t -= 1.5 / 2.75) * t + .75 : t < 2.5 / 2.75 ? 7.5625 * (t -= 2.25 / 2.75) * t + .9375 : 7.5625 * (t -= 2.625 / 2.75) * t + .984375;
|
242 |
+
},
|
243 |
+
$EaseInOutBounce: function (t) {
|
244 |
+
return t < 1 / 2 ? $JssorEasing$.$EaseInBounce(t * 2) * .5 : $JssorEasing$.$EaseOutBounce(t * 2 - 1) * .5 + .5;
|
245 |
+
},
|
246 |
+
$EaseInWave: function (t) {
|
247 |
+
return 1 - Math.cos(t * Math.PI * 2)
|
248 |
+
},
|
249 |
+
$EaseOutWave: function (t) {
|
250 |
+
return Math.sin(t * Math.PI * 2);
|
251 |
+
},
|
252 |
+
$EaseOutJump: function (t) {
|
253 |
+
return 1 - (((t *= 2) < 1) ? (t = 1 - t) * t * t : (t -= 1) * t * t);
|
254 |
+
},
|
255 |
+
$EaseInJump: function (t) {
|
256 |
+
return ((t *= 2) < 1) ? t * t * t : (t = 2 - t) * t * t;
|
257 |
+
}
|
258 |
+
};
|
259 |
+
|
260 |
+
var $JssorDirection$ = window.$JssorDirection$ = {
|
261 |
+
$TO_LEFT: 0x0001,
|
262 |
+
$TO_RIGHT: 0x0002,
|
263 |
+
$TO_TOP: 0x0004,
|
264 |
+
$TO_BOTTOM: 0x0008,
|
265 |
+
$HORIZONTAL: 0x0003,
|
266 |
+
$VERTICAL: 0x000C,
|
267 |
+
//$LEFTRIGHT: 0x0003,
|
268 |
+
//$TOPBOTOM: 0x000C,
|
269 |
+
//$TOPLEFT: 0x0005,
|
270 |
+
//$TOPRIGHT: 0x0006,
|
271 |
+
//$BOTTOMLEFT: 0x0009,
|
272 |
+
//$BOTTOMRIGHT: 0x000A,
|
273 |
+
//$AROUND: 0x000F,
|
274 |
+
|
275 |
+
$GetDirectionHorizontal: function (direction) {
|
276 |
+
return direction & 0x0003;
|
277 |
+
},
|
278 |
+
$GetDirectionVertical: function (direction) {
|
279 |
+
return direction & 0x000C;
|
280 |
+
},
|
281 |
+
//$ChessHorizontal: function (direction) {
|
282 |
+
// return (~direction & 0x0003) + (direction & 0x000C);
|
283 |
+
//},
|
284 |
+
//$ChessVertical: function (direction) {
|
285 |
+
// return (~direction & 0x000C) + (direction & 0x0003);
|
286 |
+
//},
|
287 |
+
//$IsToLeft: function (direction) {
|
288 |
+
// return (direction & 0x0003) == 0x0001;
|
289 |
+
//},
|
290 |
+
//$IsToRight: function (direction) {
|
291 |
+
// return (direction & 0x0003) == 0x0002;
|
292 |
+
//},
|
293 |
+
//$IsToTop: function (direction) {
|
294 |
+
// return (direction & 0x000C) == 0x0004;
|
295 |
+
//},
|
296 |
+
//$IsToBottom: function (direction) {
|
297 |
+
// return (direction & 0x000C) == 0x0008;
|
298 |
+
//},
|
299 |
+
$IsHorizontal: function (direction) {
|
300 |
+
return direction & 0x0003;
|
301 |
+
},
|
302 |
+
$IsVertical: function (direction) {
|
303 |
+
return direction & 0x000C;
|
304 |
+
}
|
305 |
+
};
|
306 |
+
|
307 |
+
var $JssorKeyCode$ = {
|
308 |
+
$BACKSPACE: 8,
|
309 |
+
$COMMA: 188,
|
310 |
+
$DELETE: 46,
|
311 |
+
$DOWN: 40,
|
312 |
+
$END: 35,
|
313 |
+
$ENTER: 13,
|
314 |
+
$ESCAPE: 27,
|
315 |
+
$HOME: 36,
|
316 |
+
$LEFT: 37,
|
317 |
+
$NUMPAD_ADD: 107,
|
318 |
+
$NUMPAD_DECIMAL: 110,
|
319 |
+
$NUMPAD_DIVIDE: 111,
|
320 |
+
$NUMPAD_ENTER: 108,
|
321 |
+
$NUMPAD_MULTIPLY: 106,
|
322 |
+
$NUMPAD_SUBTRACT: 109,
|
323 |
+
$PAGE_DOWN: 34,
|
324 |
+
$PAGE_UP: 33,
|
325 |
+
$PERIOD: 190,
|
326 |
+
$RIGHT: 39,
|
327 |
+
$SPACE: 32,
|
328 |
+
$TAB: 9,
|
329 |
+
$UP: 38
|
330 |
+
};
|
331 |
+
|
332 |
+
// $Jssor$ is a static class, so make it singleton instance
|
333 |
+
var $Jssor$ = window.$Jssor$ = new function () {
|
334 |
+
var _This = this;
|
335 |
+
|
336 |
+
//#region Constants
|
337 |
+
var REGEX_WHITESPACE_GLOBAL = /\S+/g;
|
338 |
+
var ROWSER_UNKNOWN = 0;
|
339 |
+
var BROWSER_IE = 1;
|
340 |
+
var BROWSER_FIREFOX = 2;
|
341 |
+
var BROWSER_SAFARI = 3;
|
342 |
+
var BROWSER_CHROME = 4;
|
343 |
+
var BROWSER_OPERA = 5;
|
344 |
+
//var arrActiveX = ["Msxml2.XMLHTTP", "Msxml3.XMLHTTP", "Microsoft.XMLHTTP"];
|
345 |
+
//#endregion
|
346 |
+
|
347 |
+
//#region Variables
|
348 |
+
var _Device;
|
349 |
+
var _Browser = 0;
|
350 |
+
var _BrowserRuntimeVersion = 0;
|
351 |
+
var _BrowserEngineVersion = 0;
|
352 |
+
var _BrowserJavascriptVersion = 0;
|
353 |
+
var _WebkitVersion = 0;
|
354 |
+
|
355 |
+
var _Navigator = navigator;
|
356 |
+
var _AppName = _Navigator.appName;
|
357 |
+
var _AppVersion = _Navigator.appVersion;
|
358 |
+
var _UserAgent = _Navigator.userAgent;
|
359 |
+
|
360 |
+
var _DocElmt = document.documentElement;
|
361 |
+
var _TransformProperty;
|
362 |
+
//#endregion
|
363 |
+
|
364 |
+
function Device() {
|
365 |
+
if (!_Device) {
|
366 |
+
_Device = {
|
367 |
+
$Evt_Down: "mousedown",
|
368 |
+
$Evt_Move: "mousemove",
|
369 |
+
$Evt_Up: "mouseup"
|
370 |
+
};
|
371 |
+
var msPrefix;
|
372 |
+
if ((_Navigator.pointerEnabled || (msPrefix = _Navigator.msPointerEnabled)) && _UserAgent.match(/iemobile/i)) {
|
373 |
+
_Device = {
|
374 |
+
$Evt_Down: msPrefix ? "MSPointerDown" : "pointerdown",
|
375 |
+
$Evt_Move: msPrefix ? "MSPointerMove" : "pointermove",
|
376 |
+
$Evt_Up: msPrefix ? "MSPointerUp" : "pointerup",
|
377 |
+
$Evt_Cancel: msPrefix ? "MSPointerCancel" : "pointercancel",
|
378 |
+
$TouchActionAttr: msPrefix ? "msTouchAction" : "touchAction",
|
379 |
+
$Touchable: true
|
380 |
+
};
|
381 |
+
}
|
382 |
+
else if ("ontouchstart" in window || "createTouch" in document) {
|
383 |
+
_Device = {
|
384 |
+
$Evt_Down: "touchstart",
|
385 |
+
$Evt_Move: "touchmove",
|
386 |
+
$Evt_Up: "touchend",
|
387 |
+
$Evt_Cancel: "touchcancel",
|
388 |
+
$Touchable: true,
|
389 |
+
$TouchOnly: true
|
390 |
+
};
|
391 |
+
}
|
392 |
+
}
|
393 |
+
|
394 |
+
return _Device;
|
395 |
+
}
|
396 |
+
|
397 |
+
function DetectBrowser(browser) {
|
398 |
+
if (!_Browser) {
|
399 |
+
if (_AppName == "Microsoft Internet Explorer" &&
|
400 |
+
!!window.attachEvent && !!window.ActiveXObject) {
|
401 |
+
|
402 |
+
var ieOffset = _UserAgent.indexOf("MSIE");
|
403 |
+
_Browser = BROWSER_IE;
|
404 |
+
_BrowserEngineVersion = ParseFloat(_UserAgent.substring(ieOffset + 5, _UserAgent.indexOf(";", ieOffset)));
|
405 |
+
|
406 |
+
//check IE javascript version
|
407 |
+
/*@cc_on
|
408 |
+
_BrowserJavascriptVersion = @_jscript_version;
|
409 |
+
@*/
|
410 |
+
|
411 |
+
// update: for intranet sites and compat view list sites, IE sends
|
412 |
+
// an IE7 User-Agent to the server to be interoperable, and even if
|
413 |
+
// the page requests a later IE version, IE will still report the
|
414 |
+
// IE7 UA to JS. we should be robust to self
|
415 |
+
//var docMode = document.documentMode;
|
416 |
+
//if (typeof docMode !== "undefined") {
|
417 |
+
// _BrowserRuntimeVersion = docMode;
|
418 |
+
//}
|
419 |
+
|
420 |
+
_BrowserRuntimeVersion = document.documentMode || _BrowserEngineVersion;
|
421 |
+
|
422 |
+
}
|
423 |
+
else if (_AppName == "Netscape" && !!window.addEventListener) {
|
424 |
+
|
425 |
+
var ffOffset = _UserAgent.indexOf("Firefox");
|
426 |
+
var saOffset = _UserAgent.indexOf("Safari");
|
427 |
+
var chOffset = _UserAgent.indexOf("Chrome");
|
428 |
+
var webkitOffset = _UserAgent.indexOf("AppleWebKit");
|
429 |
+
|
430 |
+
if (ffOffset >= 0) {
|
431 |
+
_Browser = BROWSER_FIREFOX;
|
432 |
+
_BrowserRuntimeVersion = ParseFloat(_UserAgent.substring(ffOffset + 8));
|
433 |
+
}
|
434 |
+
else if (saOffset >= 0) {
|
435 |
+
var slash = _UserAgent.substring(0, saOffset).lastIndexOf("/");
|
436 |
+
_Browser = (chOffset >= 0) ? BROWSER_CHROME : BROWSER_SAFARI;
|
437 |
+
_BrowserRuntimeVersion = ParseFloat(_UserAgent.substring(slash + 1, saOffset));
|
438 |
+
}
|
439 |
+
else {
|
440 |
+
//(/Trident.*rv[ :]*11\./i
|
441 |
+
var match = /Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/i.exec(_UserAgent);
|
442 |
+
if (match) {
|
443 |
+
_Browser = BROWSER_IE;
|
444 |
+
_BrowserRuntimeVersion = _BrowserEngineVersion = ParseFloat(match[1]);
|
445 |
+
}
|
446 |
+
}
|
447 |
+
|
448 |
+
if (webkitOffset >= 0)
|
449 |
+
_WebkitVersion = ParseFloat(_UserAgent.substring(webkitOffset + 12));
|
450 |
+
}
|
451 |
+
else {
|
452 |
+
var match = /(opera)(?:.*version|)[ \/]([\w.]+)/i.exec(_UserAgent);
|
453 |
+
if (match) {
|
454 |
+
_Browser = BROWSER_OPERA;
|
455 |
+
_BrowserRuntimeVersion = ParseFloat(match[2]);
|
456 |
+
}
|
457 |
+
}
|
458 |
+
}
|
459 |
+
|
460 |
+
return browser == _Browser;
|
461 |
+
}
|
462 |
+
|
463 |
+
function IsBrowserIE() {
|
464 |
+
return DetectBrowser(BROWSER_IE);
|
465 |
+
}
|
466 |
+
|
467 |
+
function IsBrowserIeQuirks() {
|
468 |
+
return IsBrowserIE() && (_BrowserRuntimeVersion < 6 || document.compatMode == "BackCompat"); //Composite to "CSS1Compat"
|
469 |
+
}
|
470 |
+
|
471 |
+
function IsBrowserFireFox() {
|
472 |
+
return DetectBrowser(BROWSER_FIREFOX);
|
473 |
+
}
|
474 |
+
|
475 |
+
function IsBrowserSafari() {
|
476 |
+
return DetectBrowser(BROWSER_SAFARI);
|
477 |
+
}
|
478 |
+
|
479 |
+
function IsBrowserChrome() {
|
480 |
+
return DetectBrowser(BROWSER_CHROME);
|
481 |
+
}
|
482 |
+
|
483 |
+
function IsBrowserOpera() {
|
484 |
+
return DetectBrowser(BROWSER_OPERA);
|
485 |
+
}
|
486 |
+
|
487 |
+
function IsBrowserBadTransform() {
|
488 |
+
return IsBrowserSafari() && (_WebkitVersion > 534) && (_WebkitVersion < 535);
|
489 |
+
}
|
490 |
+
|
491 |
+
function IsBrowserIe9Earlier() {
|
492 |
+
return IsBrowserIE() && _BrowserRuntimeVersion < 9;
|
493 |
+
}
|
494 |
+
|
495 |
+
function GetTransformProperty(elmt) {
|
496 |
+
|
497 |
+
if (!_TransformProperty) {
|
498 |
+
// Note that in some versions of IE9 it is critical that
|
499 |
+
// msTransform appear in this list before MozTransform
|
500 |
+
|
501 |
+
each(['transform', 'WebkitTransform', 'msTransform', 'MozTransform', 'OTransform'], function (property) {
|
502 |
+
if (elmt.style[property] != undefined) {
|
503 |
+
_TransformProperty = property;
|
504 |
+
return true;
|
505 |
+
}
|
506 |
+
});
|
507 |
+
|
508 |
+
_TransformProperty = _TransformProperty || "transform";
|
509 |
+
}
|
510 |
+
|
511 |
+
return _TransformProperty;
|
512 |
+
}
|
513 |
+
|
514 |
+
// Helpers
|
515 |
+
function getOffsetParent(elmt, isFixed) {
|
516 |
+
// IE and Opera "fixed" position elements don't have offset parents.
|
517 |
+
// regardless, if it's fixed, its offset parent is the body.
|
518 |
+
if (isFixed && elmt != document.body) {
|
519 |
+
return document.body;
|
520 |
+
} else {
|
521 |
+
return elmt.offsetParent;
|
522 |
+
}
|
523 |
+
}
|
524 |
+
|
525 |
+
function toString(obj) {
|
526 |
+
return Object.prototype.toString.call(obj);
|
527 |
+
}
|
528 |
+
|
529 |
+
// [[Class]] -> type pairs
|
530 |
+
var class2type;
|
531 |
+
|
532 |
+
function each(object, callback) {
|
533 |
+
if (toString(object) == "[object Array]") {
|
534 |
+
for (var i = 0; i < object.length; i++) {
|
535 |
+
if (callback(object[i], i, object)) {
|
536 |
+
return true;
|
537 |
+
}
|
538 |
+
}
|
539 |
+
}
|
540 |
+
else {
|
541 |
+
for (var name in object) {
|
542 |
+
if (callback(object[name], name, object)) {
|
543 |
+
return true;
|
544 |
+
}
|
545 |
+
}
|
546 |
+
}
|
547 |
+
}
|
548 |
+
|
549 |
+
function GetClass2Type() {
|
550 |
+
if (!class2type) {
|
551 |
+
class2type = {};
|
552 |
+
each(["Boolean", "Number", "String", "Function", "Array", "Date", "RegExp", "Object"], function (name) {
|
553 |
+
class2type["[object " + name + "]"] = name.toLowerCase();
|
554 |
+
});
|
555 |
+
}
|
556 |
+
|
557 |
+
return class2type;
|
558 |
+
}
|
559 |
+
|
560 |
+
function type(obj) {
|
561 |
+
return obj == null ? String(obj) : GetClass2Type()[toString(obj)] || "object";
|
562 |
+
}
|
563 |
+
|
564 |
+
function isPlainObject(obj) {
|
565 |
+
// Must be an Object.
|
566 |
+
// Because of IE, we also have to check the presence of the constructor property.
|
567 |
+
// Make sure that DOM nodes and window objects don't pass through, as well
|
568 |
+
if (!obj || type(obj) !== "object" || obj.nodeType || _This.$IsWindow(obj)) {
|
569 |
+
return false;
|
570 |
+
}
|
571 |
+
|
572 |
+
var hasOwn = Object.prototype.hasOwnProperty;
|
573 |
+
|
574 |
+
try {
|
575 |
+
// Not own constructor property must be Object
|
576 |
+
if (obj.constructor &&
|
577 |
+
!hasOwn.call(obj, "constructor") &&
|
578 |
+
!hasOwn.call(obj.constructor.prototype, "isPrototypeOf")) {
|
579 |
+
return false;
|
580 |
+
}
|
581 |
+
} catch (e) {
|
582 |
+
// IE8,9 Will throw exceptions on certain host objects #9897
|
583 |
+
return false;
|
584 |
+
}
|
585 |
+
|
586 |
+
// Own properties are enumerated firstly, so to speed up,
|
587 |
+
// if last one is own, then all properties are own.
|
588 |
+
|
589 |
+
var key;
|
590 |
+
for (key in obj) { }
|
591 |
+
|
592 |
+
return key === undefined || hasOwn.call(obj, key);
|
593 |
+
}
|
594 |
+
|
595 |
+
function Point(x, y) {
|
596 |
+
return { x: x, y: y };
|
597 |
+
}
|
598 |
+
|
599 |
+
function Delay(code, delay) {
|
600 |
+
setTimeout(code, delay || 0);
|
601 |
+
}
|
602 |
+
|
603 |
+
function RemoveByReg(str, reg) {
|
604 |
+
var m = reg.exec(str);
|
605 |
+
|
606 |
+
if (m) {
|
607 |
+
var header = str.substr(0, m.index);
|
608 |
+
var tailer = str.substr(m.lastIndex + 1, str.length - (m.lastIndex + 1));
|
609 |
+
str = header + tailer;
|
610 |
+
}
|
611 |
+
|
612 |
+
return str;
|
613 |
+
}
|
614 |
+
|
615 |
+
function BuildNewCss(oldCss, removeRegs, replaceValue) {
|
616 |
+
var css = (!oldCss || oldCss == "inherit") ? "" : oldCss;
|
617 |
+
|
618 |
+
each(removeRegs, function (removeReg) {
|
619 |
+
var m = removeReg.exec(css);
|
620 |
+
|
621 |
+
if (m) {
|
622 |
+
var header = css.substr(0, m.index);
|
623 |
+
var tailer = css.substr(m.lastIndex + 1, css.length - (m.lastIndex + 1));
|
624 |
+
css = header + tailer;
|
625 |
+
}
|
626 |
+
});
|
627 |
+
|
628 |
+
css = replaceValue + (css.indexOf(" ") != 0 ? " " : "") + css;
|
629 |
+
|
630 |
+
return css;
|
631 |
+
}
|
632 |
+
|
633 |
+
function SetStyleFilterIE(elmt, value) {
|
634 |
+
if (_BrowserRuntimeVersion < 9) {
|
635 |
+
elmt.style.filter = value;
|
636 |
+
}
|
637 |
+
}
|
638 |
+
|
639 |
+
function SetStyleMatrixIE(elmt, matrix, offset) {
|
640 |
+
//matrix is not for ie9+ running in ie8- mode
|
641 |
+
if (_BrowserJavascriptVersion < 9) {
|
642 |
+
var oldFilterValue = elmt.style.filter;
|
643 |
+
var matrixReg = new RegExp(/[\s]*progid:DXImageTransform\.Microsoft\.Matrix\([^\)]*\)/g);
|
644 |
+
var matrixValue = matrix ? "progid:DXImageTransform.Microsoft.Matrix(" + "M11=" + matrix[0][0] + ", M12=" + matrix[0][1] + ", M21=" + matrix[1][0] + ", M22=" + matrix[1][1] + ", SizingMethod='auto expand')" : "";
|
645 |
+
|
646 |
+
var newFilterValue = BuildNewCss(oldFilterValue, [matrixReg], matrixValue);
|
647 |
+
|
648 |
+
SetStyleFilterIE(elmt, newFilterValue);
|
649 |
+
|
650 |
+
_This.$CssMarginTop(elmt, offset.y);
|
651 |
+
_This.$CssMarginLeft(elmt, offset.x);
|
652 |
+
}
|
653 |
+
}
|
654 |
+
|
655 |
+
// Methods
|
656 |
+
|
657 |
+
_This.$Device = Device;
|
658 |
+
|
659 |
+
_This.$IsBrowserIE = IsBrowserIE;
|
660 |
+
|
661 |
+
_This.$IsBrowserIeQuirks = IsBrowserIeQuirks;
|
662 |
+
|
663 |
+
_This.$IsBrowserFireFox = IsBrowserFireFox;
|
664 |
+
|
665 |
+
_This.$IsBrowserSafari = IsBrowserSafari;
|
666 |
+
|
667 |
+
_This.$IsBrowserChrome = IsBrowserChrome;
|
668 |
+
|
669 |
+
_This.$IsBrowserOpera = IsBrowserOpera;
|
670 |
+
|
671 |
+
_This.$IsBrowserBadTransform = IsBrowserBadTransform;
|
672 |
+
|
673 |
+
_This.$IsBrowserIe9Earlier = IsBrowserIe9Earlier;
|
674 |
+
|
675 |
+
_This.$BrowserVersion = function () {
|
676 |
+
return _BrowserRuntimeVersion;
|
677 |
+
};
|
678 |
+
|
679 |
+
_This.$BrowserEngineVersion = function () {
|
680 |
+
return _BrowserEngineVersion || _BrowserRuntimeVersion;
|
681 |
+
};
|
682 |
+
|
683 |
+
_This.$WebKitVersion = function () {
|
684 |
+
DetectBrowser();
|
685 |
+
|
686 |
+
return _WebkitVersion;
|
687 |
+
};
|
688 |
+
|
689 |
+
_This.$Delay = Delay;
|
690 |
+
|
691 |
+
_This.$Inherit = function (instance, baseClass) {
|
692 |
+
baseClass.call(instance);
|
693 |
+
return Extend({}, instance);
|
694 |
+
};
|
695 |
+
|
696 |
+
function Construct(instance) {
|
697 |
+
instance.constructor === Construct.caller && instance.$Construct && instance.$Construct.apply(instance, Construct.caller.arguments);
|
698 |
+
}
|
699 |
+
|
700 |
+
_This.$Construct = Construct;
|
701 |
+
|
702 |
+
_This.$GetElement = function (elmt) {
|
703 |
+
if (_This.$IsString(elmt)) {
|
704 |
+
elmt = document.getElementById(elmt);
|
705 |
+
}
|
706 |
+
|
707 |
+
return elmt;
|
708 |
+
};
|
709 |
+
|
710 |
+
function GetEvent(event) {
|
711 |
+
return event || window.event;
|
712 |
+
}
|
713 |
+
|
714 |
+
_This.$GetEvent = GetEvent;
|
715 |
+
|
716 |
+
_This.$EventSrc = function (event) {
|
717 |
+
event = GetEvent(event);
|
718 |
+
return event.target || event.srcElement || document;
|
719 |
+
};
|
720 |
+
|
721 |
+
_This.$EventTarget = function (event) {
|
722 |
+
event = GetEvent(event);
|
723 |
+
return event.relatedTarget || event.toElement;
|
724 |
+
};
|
725 |
+
|
726 |
+
_This.$EvtWhich = function (event) {
|
727 |
+
event = GetEvent(event);
|
728 |
+
return event.which || [0, 1, 3, 0, 2][event.button] || event.charCode || event.keyCode;
|
729 |
+
};
|
730 |
+
|
731 |
+
_This.$MousePosition = function (event) {
|
732 |
+
event = GetEvent(event);
|
733 |
+
//var body = document.body;
|
734 |
+
|
735 |
+
return {
|
736 |
+
x: event.pageX || event.clientX/* + (_DocElmt.scrollLeft || body.scrollLeft || 0) - (_DocElmt.clientLeft || body.clientLeft || 0)*/ || 0,
|
737 |
+
y: event.pageY || event.clientY/* + (_DocElmt.scrollTop || body.scrollTop || 0) - (_DocElmt.clientTop || body.clientTop || 0)*/ || 0
|
738 |
+
};
|
739 |
+
};
|
740 |
+
|
741 |
+
_This.$PageScroll = function () {
|
742 |
+
var body = document.body;
|
743 |
+
|
744 |
+
return {
|
745 |
+
x: (window.pageXOffset || _DocElmt.scrollLeft || body.scrollLeft || 0) - (_DocElmt.clientLeft || body.clientLeft || 0),
|
746 |
+
y: (window.pageYOffset || _DocElmt.scrollTop || body.scrollTop || 0) - (_DocElmt.clientTop || body.clientTop || 0)
|
747 |
+
};
|
748 |
+
};
|
749 |
+
|
750 |
+
_This.$WindowSize = function () {
|
751 |
+
var body = document.body;
|
752 |
+
|
753 |
+
return {
|
754 |
+
x: body.clientWidth || _DocElmt.clientWidth,
|
755 |
+
y: body.clientHeight || _DocElmt.clientHeight
|
756 |
+
};
|
757 |
+
};
|
758 |
+
|
759 |
+
//_This.$GetElementPosition = function (elmt) {
|
760 |
+
// elmt = _This.$GetElement(elmt);
|
761 |
+
// var result = Point();
|
762 |
+
|
763 |
+
// // technique from:
|
764 |
+
// // http://www.quirksmode.org/js/findpos.html
|
765 |
+
// // with special check for "fixed" elements.
|
766 |
+
|
767 |
+
// while (elmt) {
|
768 |
+
// result.x += elmt.offsetLeft;
|
769 |
+
// result.y += elmt.offsetTop;
|
770 |
+
|
771 |
+
// var isFixed = _This.$GetElementStyle(elmt).position == "fixed";
|
772 |
+
|
773 |
+
// if (isFixed) {
|
774 |
+
// result = result.$Plus(_This.$PageScroll(window));
|
775 |
+
// }
|
776 |
+
|
777 |
+
// elmt = getOffsetParent(elmt, isFixed);
|
778 |
+
// }
|
779 |
+
|
780 |
+
// return result;
|
781 |
+
//};
|
782 |
+
|
783 |
+
//_This.$GetMouseScroll = function (event) {
|
784 |
+
// event = GetEvent(event);
|
785 |
+
// var delta = 0; // default value
|
786 |
+
|
787 |
+
// // technique from:
|
788 |
+
// // http://blog.paranoidferret.com/index.php/2007/10/31/javascript-tutorial-the-scroll-wheel/
|
789 |
+
|
790 |
+
// if (typeof (event.wheelDelta) == "number") {
|
791 |
+
// delta = event.wheelDelta;
|
792 |
+
// } else if (typeof (event.detail) == "number") {
|
793 |
+
// delta = event.detail * -1;
|
794 |
+
// } else {
|
795 |
+
// $JssorDebug$.$Fail("Unknown event mouse scroll, no known technique.");
|
796 |
+
// }
|
797 |
+
|
798 |
+
// // normalize value to [-1, 1]
|
799 |
+
// return delta ? delta / Math.abs(delta) : 0;
|
800 |
+
//};
|
801 |
+
|
802 |
+
//_This.$MakeAjaxRequest = function (url, callback) {
|
803 |
+
// var async = typeof (callback) == "function";
|
804 |
+
// var req = null;
|
805 |
+
|
806 |
+
// if (async) {
|
807 |
+
// var actual = callback;
|
808 |
+
// var callback = function () {
|
809 |
+
// Delay($Jssor$.$CreateCallback(null, actual, req), 1);
|
810 |
+
// };
|
811 |
+
// }
|
812 |
+
|
813 |
+
// if (window.ActiveXObject) {
|
814 |
+
// for (var i = 0; i < arrActiveX.length; i++) {
|
815 |
+
// try {
|
816 |
+
// req = new ActiveXObject(arrActiveX[i]);
|
817 |
+
// break;
|
818 |
+
// } catch (e) {
|
819 |
+
// continue;
|
820 |
+
// }
|
821 |
+
// }
|
822 |
+
// } else if (window.XMLHttpRequest) {
|
823 |
+
// req = new XMLHttpRequest();
|
824 |
+
// }
|
825 |
+
|
826 |
+
// if (!req) {
|
827 |
+
// $JssorDebug$.$Fail("Browser doesn't support XMLHttpRequest.");
|
828 |
+
// }
|
829 |
+
|
830 |
+
// if (async) {
|
831 |
+
// req.onreadystatechange = function () {
|
832 |
+
// if (req.readyState == 4) {
|
833 |
+
// // prevent memory leaks by breaking circular reference now
|
834 |
+
// req.onreadystatechange = new Function();
|
835 |
+
// callback();
|
836 |
+
// }
|
837 |
+
// };
|
838 |
+
// }
|
839 |
+
|
840 |
+
// try {
|
841 |
+
// req.open("GET", url, async);
|
842 |
+
// req.send(null);
|
843 |
+
// } catch (e) {
|
844 |
+
// $JssorDebug$.$Log(e.name + " while making AJAX request: " + e.message);
|
845 |
+
|
846 |
+
// req.onreadystatechange = null;
|
847 |
+
// req = null;
|
848 |
+
|
849 |
+
// if (async) {
|
850 |
+
// callback();
|
851 |
+
// }
|
852 |
+
// }
|
853 |
+
|
854 |
+
// return async ? null : req;
|
855 |
+
//};
|
856 |
+
|
857 |
+
//_This.$ParseXml = function (string) {
|
858 |
+
// var xmlDoc = null;
|
859 |
+
|
860 |
+
// if (window.ActiveXObject) {
|
861 |
+
// try {
|
862 |
+
// xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
|
863 |
+
// xmlDoc.async = false;
|
864 |
+
// xmlDoc.loadXML(string);
|
865 |
+
// } catch (e) {
|
866 |
+
// $JssorDebug$.$Log(e.name + " while parsing XML (ActiveX): " + e.message);
|
867 |
+
// }
|
868 |
+
// } else if (window.DOMParser) {
|
869 |
+
// try {
|
870 |
+
// var parser = new DOMParser();
|
871 |
+
// xmlDoc = parser.parseFromString(string, "text/xml");
|
872 |
+
// } catch (e) {
|
873 |
+
// $JssorDebug$.$Log(e.name + " while parsing XML (DOMParser): " + e.message);
|
874 |
+
// }
|
875 |
+
// } else {
|
876 |
+
// $JssorDebug$.$Fail("Browser doesn't support XML DOM.");
|
877 |
+
// }
|
878 |
+
|
879 |
+
// return xmlDoc;
|
880 |
+
//};
|
881 |
+
|
882 |
+
function Css(elmt, name, value) {
|
883 |
+
/// <summary>
|
884 |
+
/// access css
|
885 |
+
/// $Jssor$.$Css(elmt, name); //get css value
|
886 |
+
/// $Jssor$.$Css(elmt, name, value); //set css value
|
887 |
+
/// </summary>
|
888 |
+
/// <param name="elmt" type="HTMLElement">
|
889 |
+
/// the element to access css
|
890 |
+
/// </param>
|
891 |
+
/// <param name="name" type="String">
|
892 |
+
/// the name of css property
|
893 |
+
/// </param>
|
894 |
+
/// <param name="value" optional="true">
|
895 |
+
/// the value to set
|
896 |
+
/// </param>
|
897 |
+
if (value != undefined) {
|
898 |
+
elmt.style[name] = value;
|
899 |
+
}
|
900 |
+
else {
|
901 |
+
var style = elmt.currentStyle || elmt.style;
|
902 |
+
value = style[name];
|
903 |
+
|
904 |
+
if (value == "" && window.getComputedStyle) {
|
905 |
+
style = elmt.ownerDocument.defaultView.getComputedStyle(elmt, null);
|
906 |
+
|
907 |
+
style && (value = style.getPropertyValue(name) || style[name]);
|
908 |
+
}
|
909 |
+
|
910 |
+
return value;
|
911 |
+
}
|
912 |
+
}
|
913 |
+
|
914 |
+
function CssN(elmt, name, value, isDimensional) {
|
915 |
+
/// <summary>
|
916 |
+
/// access css as numeric
|
917 |
+
/// $Jssor$.$CssN(elmt, name); //get css value
|
918 |
+
/// $Jssor$.$CssN(elmt, name, value); //set css value
|
919 |
+
/// </summary>
|
920 |
+
/// <param name="elmt" type="HTMLElement">
|
921 |
+
/// the element to access css
|
922 |
+
/// </param>
|
923 |
+
/// <param name="name" type="String">
|
924 |
+
/// the name of css property
|
925 |
+
/// </param>
|
926 |
+
/// <param name="value" type="Number" optional="true">
|
927 |
+
/// the value to set
|
928 |
+
/// </param>
|
929 |
+
if (value != undefined) {
|
930 |
+
isDimensional && (value += "px");
|
931 |
+
Css(elmt, name, value);
|
932 |
+
}
|
933 |
+
else {
|
934 |
+
return ParseFloat(Css(elmt, name));
|
935 |
+
}
|
936 |
+
}
|
937 |
+
|
938 |
+
function CssP(elmt, name, value) {
|
939 |
+
/// <summary>
|
940 |
+
/// access css in pixel as numeric, like 'top', 'left', 'width', 'height'
|
941 |
+
/// $Jssor$.$CssP(elmt, name); //get css value
|
942 |
+
/// $Jssor$.$CssP(elmt, name, value); //set css value
|
943 |
+
/// </summary>
|
944 |
+
/// <param name="elmt" type="HTMLElement">
|
945 |
+
/// the element to access css
|
946 |
+
/// </param>
|
947 |
+
/// <param name="name" type="String">
|
948 |
+
/// the name of css property
|
949 |
+
/// </param>
|
950 |
+
/// <param name="value" type="Number" optional="true">
|
951 |
+
/// the value to set
|
952 |
+
/// </param>
|
953 |
+
return CssN(elmt, name, value, true);
|
954 |
+
}
|
955 |
+
|
956 |
+
function CssProxy(name, numericOrDimension) {
|
957 |
+
/// <summary>
|
958 |
+
/// create proxy to access css, CssProxy(name[, numericOrDimension]);
|
959 |
+
/// </summary>
|
960 |
+
/// <param name="elmt" type="HTMLElement">
|
961 |
+
/// the element to access css
|
962 |
+
/// </param>
|
963 |
+
/// <param name="numericOrDimension" type="Number" optional="true">
|
964 |
+
/// not set: access original css, 1: access css as numeric, 2: access css in pixel as numeric
|
965 |
+
/// </param>
|
966 |
+
var isDimensional = numericOrDimension & 2;
|
967 |
+
var cssAccessor = numericOrDimension ? CssN : Css;
|
968 |
+
return function (elmt, value) {
|
969 |
+
return cssAccessor(elmt, name, value, isDimensional);
|
970 |
+
};
|
971 |
+
}
|
972 |
+
|
973 |
+
function GetStyleOpacity(elmt) {
|
974 |
+
if (IsBrowserIE() && _BrowserEngineVersion < 9) {
|
975 |
+
var match = /opacity=([^)]*)/.exec(elmt.style.filter || "");
|
976 |
+
return match ? (ParseFloat(match[1]) / 100) : 1;
|
977 |
+
}
|
978 |
+
else
|
979 |
+
return ParseFloat(elmt.style.opacity || "1");
|
980 |
+
}
|
981 |
+
|
982 |
+
function SetStyleOpacity(elmt, opacity, ie9EarlierForce) {
|
983 |
+
|
984 |
+
if (IsBrowserIE() && _BrowserEngineVersion < 9) {
|
985 |
+
//var filterName = "filter"; // _BrowserEngineVersion < 8 ? "filter" : "-ms-filter";
|
986 |
+
var finalFilter = elmt.style.filter || "";
|
987 |
+
|
988 |
+
// for CSS filter browsers (IE), remove alpha filter if it's unnecessary.
|
989 |
+
// update: doing _This always since IE9 beta seems to have broken the
|
990 |
+
// behavior if we rely on the programmatic filters collection.
|
991 |
+
var alphaReg = new RegExp(/[\s]*alpha\([^\)]*\)/g);
|
992 |
+
|
993 |
+
// important: note the lazy star! _This protects against
|
994 |
+
// multiple filters; we don't want to delete the other ones.
|
995 |
+
// update: also trimming extra whitespace around filter.
|
996 |
+
|
997 |
+
var ieOpacity = Math.round(100 * opacity);
|
998 |
+
var alphaFilter = "";
|
999 |
+
if (ieOpacity < 100 || ie9EarlierForce) {
|
1000 |
+
alphaFilter = "alpha(opacity=" + ieOpacity + ") ";
|
1001 |
+
}
|
1002 |
+
|
1003 |
+
var newFilterValue = BuildNewCss(finalFilter, [alphaReg], alphaFilter);
|
1004 |
+
|
1005 |
+
SetStyleFilterIE(elmt, newFilterValue);
|
1006 |
+
}
|
1007 |
+
else {
|
1008 |
+
elmt.style.opacity = opacity == 1 ? "" : Math.round(opacity * 100) / 100;
|
1009 |
+
}
|
1010 |
+
}
|
1011 |
+
|
1012 |
+
function SetStyleTransformInternal(elmt, transform) {
|
1013 |
+
var rotate = transform.$Rotate || 0;
|
1014 |
+
var scale = transform.$Scale == undefined ? 1 : transform.$Scale;
|
1015 |
+
|
1016 |
+
if (IsBrowserIe9Earlier()) {
|
1017 |
+
var matrix = _This.$CreateMatrix(rotate / 180 * Math.PI, scale, scale);
|
1018 |
+
SetStyleMatrixIE(elmt, (!rotate && scale == 1) ? null : matrix, _This.$GetMatrixOffset(matrix, transform.$OriginalWidth, transform.$OriginalHeight));
|
1019 |
+
}
|
1020 |
+
else {
|
1021 |
+
//rotate(15deg) scale(.5) translateZ(0)
|
1022 |
+
var transformProperty = GetTransformProperty(elmt);
|
1023 |
+
if (transformProperty) {
|
1024 |
+
var transformValue = "rotate(" + rotate % 360 + "deg) scale(" + scale + ")";
|
1025 |
+
|
1026 |
+
//needed for touch device, no need for desktop device
|
1027 |
+
if (IsBrowserChrome() && _WebkitVersion > 535 && "ontouchstart" in window)
|
1028 |
+
transformValue += " perspective(2000px)";
|
1029 |
+
|
1030 |
+
elmt.style[transformProperty] = transformValue;
|
1031 |
+
}
|
1032 |
+
}
|
1033 |
+
}
|
1034 |
+
|
1035 |
+
_This.$SetStyleTransform = function (elmt, transform) {
|
1036 |
+
if (IsBrowserBadTransform()) {
|
1037 |
+
Delay(_This.$CreateCallback(null, SetStyleTransformInternal, elmt, transform));
|
1038 |
+
}
|
1039 |
+
else {
|
1040 |
+
SetStyleTransformInternal(elmt, transform);
|
1041 |
+
}
|
1042 |
+
};
|
1043 |
+
|
1044 |
+
_This.$SetStyleTransformOrigin = function (elmt, transformOrigin) {
|
1045 |
+
var transformProperty = GetTransformProperty(elmt);
|
1046 |
+
|
1047 |
+
if (transformProperty)
|
1048 |
+
elmt.style[transformProperty + "Origin"] = transformOrigin;
|
1049 |
+
};
|
1050 |
+
|
1051 |
+
_This.$CssScale = function (elmt, scale) {
|
1052 |
+
|
1053 |
+
if (IsBrowserIE() && _BrowserEngineVersion < 9 || (_BrowserEngineVersion < 10 && IsBrowserIeQuirks())) {
|
1054 |
+
elmt.style.zoom = (scale == 1) ? "" : scale;
|
1055 |
+
}
|
1056 |
+
else {
|
1057 |
+
var transformProperty = GetTransformProperty(elmt);
|
1058 |
+
|
1059 |
+
if (transformProperty) {
|
1060 |
+
//rotate(15deg) scale(.5)
|
1061 |
+
var transformValue = "scale(" + scale + ")";
|
1062 |
+
|
1063 |
+
var oldTransformValue = elmt.style[transformProperty];
|
1064 |
+
var scaleReg = new RegExp(/[\s]*scale\(.*?\)/g);
|
1065 |
+
|
1066 |
+
var newTransformValue = BuildNewCss(oldTransformValue, [scaleReg], transformValue);
|
1067 |
+
|
1068 |
+
elmt.style[transformProperty] = newTransformValue;
|
1069 |
+
}
|
1070 |
+
}
|
1071 |
+
};
|
1072 |
+
|
1073 |
+
_This.$EnableHWA = function (elmt) {
|
1074 |
+
if (!elmt.style[GetTransformProperty(elmt)] || elmt.style[GetTransformProperty(elmt)] == "none")
|
1075 |
+
elmt.style[GetTransformProperty(elmt)] = "perspective(2000px)";
|
1076 |
+
};
|
1077 |
+
|
1078 |
+
_This.$DisableHWA = function (elmt) {
|
1079 |
+
elmt.style[GetTransformProperty(elmt)] = "none";
|
1080 |
+
};
|
1081 |
+
|
1082 |
+
var ie8OffsetWidth = 0;
|
1083 |
+
var ie8OffsetHeight = 0;
|
1084 |
+
|
1085 |
+
_This.$WindowResizeFilter = function (window, handler) {
|
1086 |
+
return IsBrowserIe9Earlier() ? function () {
|
1087 |
+
|
1088 |
+
var trigger = true;
|
1089 |
+
|
1090 |
+
var checkElement = (IsBrowserIeQuirks() ? window.document.body : window.document.documentElement);
|
1091 |
+
if (checkElement) {
|
1092 |
+
var widthChange = checkElement.offsetWidth - ie8OffsetWidth;
|
1093 |
+
var heightChange = checkElement.offsetHeight - ie8OffsetHeight;
|
1094 |
+
if (widthChange || heightChange) {
|
1095 |
+
ie8OffsetWidth += widthChange;
|
1096 |
+
ie8OffsetHeight += heightChange;
|
1097 |
+
}
|
1098 |
+
else
|
1099 |
+
trigger = false;
|
1100 |
+
}
|
1101 |
+
|
1102 |
+
trigger && handler();
|
1103 |
+
|
1104 |
+
} : handler;
|
1105 |
+
};
|
1106 |
+
|
1107 |
+
_This.$MouseOverOutFilter = function (handler, target) {
|
1108 |
+
/// <param name="target" type="HTMLDomElement">
|
1109 |
+
/// The target element to detect mouse over/out events. (for ie < 9 compatibility)
|
1110 |
+
/// </param>
|
1111 |
+
|
1112 |
+
$JssorDebug$.$Execute(function () {
|
1113 |
+
if (!target) {
|
1114 |
+
throw new Error("Null reference, parameter \"target\".");
|
1115 |
+
}
|
1116 |
+
});
|
1117 |
+
|
1118 |
+
return function (event) {
|
1119 |
+
event = GetEvent(event);
|
1120 |
+
|
1121 |
+
var eventName = event.type;
|
1122 |
+
var related = event.relatedTarget || (eventName == "mouseout" ? event.toElement : event.fromElement);
|
1123 |
+
|
1124 |
+
if (!related || (related !== target && !_This.$IsChild(target, related))) {
|
1125 |
+
handler(event);
|
1126 |
+
}
|
1127 |
+
};
|
1128 |
+
};
|
1129 |
+
|
1130 |
+
_This.$AddEvent = function (elmt, eventName, handler, useCapture) {
|
1131 |
+
elmt = _This.$GetElement(elmt);
|
1132 |
+
|
1133 |
+
$JssorDebug$.$Execute(function () {
|
1134 |
+
if (!elmt) {
|
1135 |
+
$JssorDebug$.$Fail("Parameter 'elmt' not specified.");
|
1136 |
+
}
|
1137 |
+
|
1138 |
+
if (!handler) {
|
1139 |
+
$JssorDebug$.$Fail("Parameter 'handler' not specified.");
|
1140 |
+
}
|
1141 |
+
|
1142 |
+
if (!elmt.addEventListener && !elmt.attachEvent) {
|
1143 |
+
$JssorDebug$.$Fail("Unable to attach event handler, no known technique.");
|
1144 |
+
}
|
1145 |
+
});
|
1146 |
+
|
1147 |
+
// technique from:
|
1148 |
+
// http://blog.paranoidferret.com/index.php/2007/08/10/javascript-working-with-events/
|
1149 |
+
|
1150 |
+
if (elmt.addEventListener) {
|
1151 |
+
if (eventName == "mousewheel") {
|
1152 |
+
elmt.addEventListener("DOMMouseScroll", handler, useCapture);
|
1153 |
+
}
|
1154 |
+
// we are still going to add the mousewheel -- not a mistake!
|
1155 |
+
// _This is for opera, since it uses onmousewheel but needs addEventListener.
|
1156 |
+
elmt.addEventListener(eventName, handler, useCapture);
|
1157 |
+
}
|
1158 |
+
else if (elmt.attachEvent) {
|
1159 |
+
elmt.attachEvent("on" + eventName, handler);
|
1160 |
+
if (useCapture && elmt.setCapture) {
|
1161 |
+
elmt.setCapture();
|
1162 |
+
}
|
1163 |
+
}
|
1164 |
+
};
|
1165 |
+
|
1166 |
+
_This.$RemoveEvent = function (elmt, eventName, handler, useCapture) {
|
1167 |
+
elmt = _This.$GetElement(elmt);
|
1168 |
+
|
1169 |
+
// technique from:
|
1170 |
+
// http://blog.paranoidferret.com/index.php/2007/08/10/javascript-working-with-events/
|
1171 |
+
|
1172 |
+
if (elmt.removeEventListener) {
|
1173 |
+
if (eventName == "mousewheel") {
|
1174 |
+
elmt.removeEventListener("DOMMouseScroll", handler, useCapture);
|
1175 |
+
}
|
1176 |
+
// we are still going to remove the mousewheel -- not a mistake!
|
1177 |
+
// _This is for opera, since it uses onmousewheel but needs removeEventListener.
|
1178 |
+
elmt.removeEventListener(eventName, handler, useCapture);
|
1179 |
+
}
|
1180 |
+
else if (elmt.detachEvent) {
|
1181 |
+
elmt.detachEvent("on" + eventName, handler);
|
1182 |
+
if (useCapture && elmt.releaseCapture) {
|
1183 |
+
elmt.releaseCapture();
|
1184 |
+
}
|
1185 |
+
}
|
1186 |
+
};
|
1187 |
+
|
1188 |
+
_This.$FireEvent = function (elmt, eventName) {
|
1189 |
+
//var document = elmt.document;
|
1190 |
+
|
1191 |
+
$JssorDebug$.$Execute(function () {
|
1192 |
+
if (!document.createEvent && !document.createEventObject) {
|
1193 |
+
$JssorDebug$.$Fail("Unable to fire event, no known technique.");
|
1194 |
+
}
|
1195 |
+
|
1196 |
+
if (!elmt.dispatchEvent && !elmt.fireEvent) {
|
1197 |
+
$JssorDebug$.$Fail("Unable to fire event, no known technique.");
|
1198 |
+
}
|
1199 |
+
});
|
1200 |
+
|
1201 |
+
var evento;
|
1202 |
+
|
1203 |
+
if (document.createEvent) {
|
1204 |
+
evento = document.createEvent("HTMLEvents");
|
1205 |
+
evento.initEvent(eventName, false, false);
|
1206 |
+
elmt.dispatchEvent(evento);
|
1207 |
+
}
|
1208 |
+
else {
|
1209 |
+
var ieEventName = "on" + eventName;
|
1210 |
+
evento = document.createEventObject();
|
1211 |
+
|
1212 |
+
elmt.fireEvent(ieEventName, evento);
|
1213 |
+
}
|
1214 |
+
};
|
1215 |
+
|
1216 |
+
_This.$CancelEvent = function (event) {
|
1217 |
+
event = GetEvent(event);
|
1218 |
+
|
1219 |
+
// technique from:
|
1220 |
+
// http://blog.paranoidferret.com/index.php/2007/08/10/javascript-working-with-events/
|
1221 |
+
|
1222 |
+
if (event.preventDefault) {
|
1223 |
+
event.preventDefault(); // W3C for preventing default
|
1224 |
+
}
|
1225 |
+
|
1226 |
+
event.cancel = true; // legacy for preventing default
|
1227 |
+
event.returnValue = false; // IE for preventing default
|
1228 |
+
};
|
1229 |
+
|
1230 |
+
_This.$StopEvent = function (event) {
|
1231 |
+
event = GetEvent(event);
|
1232 |
+
|
1233 |
+
// technique from:
|
1234 |
+
// http://blog.paranoidferret.com/index.php/2007/08/10/javascript-working-with-events/
|
1235 |
+
|
1236 |
+
if (event.stopPropagation) {
|
1237 |
+
event.stopPropagation(); // W3C for stopping propagation
|
1238 |
+
}
|
1239 |
+
|
1240 |
+
event.cancelBubble = true; // IE for stopping propagation
|
1241 |
+
};
|
1242 |
+
|
1243 |
+
_This.$CreateCallback = function (object, method) {
|
1244 |
+
// create callback args
|
1245 |
+
var initialArgs = [].slice.call(arguments, 2);
|
1246 |
+
|
1247 |
+
// create closure to apply method
|
1248 |
+
var callback = function () {
|
1249 |
+
// concatenate new args, but make a copy of initialArgs first
|
1250 |
+
var args = initialArgs.concat([].slice.call(arguments, 0));
|
1251 |
+
|
1252 |
+
return method.apply(object, args);
|
1253 |
+
};
|
1254 |
+
|
1255 |
+
//$JssorDebug$.$LiveStamp(callback, "callback_" + ($Jssor$.$GetNow() & 0xFFFFFF));
|
1256 |
+
|
1257 |
+
return callback;
|
1258 |
+
};
|
1259 |
+
|
1260 |
+
_This.$InnerText = function (elmt, text) {
|
1261 |
+
if (text == undefined)
|
1262 |
+
return elmt.textContent || elmt.innerText;
|
1263 |
+
|
1264 |
+
var textNode = document.createTextNode(text);
|
1265 |
+
_This.$Empty(elmt);
|
1266 |
+
elmt.appendChild(textNode);
|
1267 |
+
};
|
1268 |
+
|
1269 |
+
_This.$InnerHtml = function (elmt, html) {
|
1270 |
+
if (html == undefined)
|
1271 |
+
return elmt.innerHTML;
|
1272 |
+
|
1273 |
+
elmt.innerHTML = html;
|
1274 |
+
};
|
1275 |
+
|
1276 |
+
_This.$GetClientRect = function (elmt) {
|
1277 |
+
var rect = elmt.getBoundingClientRect();
|
1278 |
+
|
1279 |
+
return { x: rect.left, y: rect.top, w: rect.right - rect.left, h: rect.bottom - rect.top };
|
1280 |
+
};
|
1281 |
+
|
1282 |
+
_This.$ClearInnerHtml = function (elmt) {
|
1283 |
+
elmt.innerHTML = "";
|
1284 |
+
};
|
1285 |
+
|
1286 |
+
_This.$EncodeHtml = function (text) {
|
1287 |
+
var div = _This.$CreateDiv();
|
1288 |
+
_This.$InnerText(div, text);
|
1289 |
+
return _This.$InnerHtml(div);
|
1290 |
+
};
|
1291 |
+
|
1292 |
+
_This.$DecodeHtml = function (html) {
|
1293 |
+
var div = _This.$CreateDiv();
|
1294 |
+
_This.$InnerHtml(div, html);
|
1295 |
+
return _This.$InnerText(div);
|
1296 |
+
};
|
1297 |
+
|
1298 |
+
_This.$SelectElement = function (elmt) {
|
1299 |
+
var userSelection;
|
1300 |
+
if (window.getSelection) {
|
1301 |
+
//W3C default
|
1302 |
+
userSelection = window.getSelection();
|
1303 |
+
}
|
1304 |
+
var theRange = null;
|
1305 |
+
if (document.createRange) {
|
1306 |
+
theRange = document.createRange();
|
1307 |
+
theRange.selectNode(elmt);
|
1308 |
+
}
|
1309 |
+
else {
|
1310 |
+
theRange = document.body.createTextRange();
|
1311 |
+
theRange.moveToElementText(elmt);
|
1312 |
+
theRange.select();
|
1313 |
+
}
|
1314 |
+
//set user selection
|
1315 |
+
if (userSelection)
|
1316 |
+
userSelection.addRange(theRange);
|
1317 |
+
};
|
1318 |
+
|
1319 |
+
_This.$DeselectElements = function () {
|
1320 |
+
if (document.selection) {
|
1321 |
+
document.selection.empty();
|
1322 |
+
} else if (window.getSelection) {
|
1323 |
+
window.getSelection().removeAllRanges();
|
1324 |
+
}
|
1325 |
+
};
|
1326 |
+
|
1327 |
+
_This.$Children = function (elmt, includeAll) {
|
1328 |
+
var children = [];
|
1329 |
+
|
1330 |
+
for (var tmpEl = elmt.firstChild; tmpEl; tmpEl = tmpEl.nextSibling) {
|
1331 |
+
if (includeAll || tmpEl.nodeType == 1) {
|
1332 |
+
children.push(tmpEl);
|
1333 |
+
}
|
1334 |
+
}
|
1335 |
+
|
1336 |
+
return children;
|
1337 |
+
};
|
1338 |
+
|
1339 |
+
function FindChild(elmt, attrValue, noDeep, attrName) {
|
1340 |
+
attrName = attrName || "u";
|
1341 |
+
|
1342 |
+
for (elmt = elmt ? elmt.firstChild : null; elmt; elmt = elmt.nextSibling) {
|
1343 |
+
if (elmt.nodeType == 1) {
|
1344 |
+
if (AttributeEx(elmt, attrName) == attrValue)
|
1345 |
+
return elmt;
|
1346 |
+
|
1347 |
+
if (!noDeep) {
|
1348 |
+
var childRet = FindChild(elmt, attrValue, noDeep, attrName);
|
1349 |
+
if (childRet)
|
1350 |
+
return childRet;
|
1351 |
+
}
|
1352 |
+
}
|
1353 |
+
}
|
1354 |
+
}
|
1355 |
+
|
1356 |
+
_This.$FindChild = FindChild;
|
1357 |
+
|
1358 |
+
function FindChildren(elmt, attrValue, noDeep, attrName) {
|
1359 |
+
attrName = attrName || "u";
|
1360 |
+
|
1361 |
+
var ret = [];
|
1362 |
+
|
1363 |
+
for (elmt = elmt ? elmt.firstChild : null; elmt; elmt = elmt.nextSibling) {
|
1364 |
+
if (elmt.nodeType == 1) {
|
1365 |
+
if (AttributeEx(elmt, attrName) == attrValue)
|
1366 |
+
ret.push(elmt);
|
1367 |
+
|
1368 |
+
if (!noDeep) {
|
1369 |
+
var childRet = FindChildren(elmt, attrValue, noDeep, attrName);
|
1370 |
+
if (childRet.length)
|
1371 |
+
ret = ret.concat(childRet);
|
1372 |
+
}
|
1373 |
+
}
|
1374 |
+
}
|
1375 |
+
|
1376 |
+
return ret;
|
1377 |
+
}
|
1378 |
+
|
1379 |
+
_This.$FindChildren = FindChildren;
|
1380 |
+
|
1381 |
+
function FindChildByTag(elmt, tagName, noDeep) {
|
1382 |
+
|
1383 |
+
for (elmt = elmt ? elmt.firstChild : null; elmt; elmt = elmt.nextSibling) {
|
1384 |
+
if (elmt.nodeType == 1) {
|
1385 |
+
if (elmt.tagName == tagName)
|
1386 |
+
return elmt;
|
1387 |
+
|
1388 |
+
if (!noDeep) {
|
1389 |
+
var childRet = FindChildByTag(elmt, tagName, noDeep);
|
1390 |
+
if (childRet)
|
1391 |
+
return childRet;
|
1392 |
+
}
|
1393 |
+
}
|
1394 |
+
}
|
1395 |
+
}
|
1396 |
+
|
1397 |
+
_This.$FindChildByTag = FindChildByTag;
|
1398 |
+
|
1399 |
+
function FindChildrenByTag(elmt, tagName, noDeep) {
|
1400 |
+
var ret = [];
|
1401 |
+
|
1402 |
+
for (elmt = elmt ? elmt.firstChild : null; elmt; elmt = elmt.nextSibling) {
|
1403 |
+
if (elmt.nodeType == 1) {
|
1404 |
+
if (!tagName || elmt.tagName == tagName)
|
1405 |
+
ret.push(elmt);
|
1406 |
+
|
1407 |
+
if (!noDeep) {
|
1408 |
+
var childRet = FindChildrenByTag(elmt, tagName, noDeep);
|
1409 |
+
if (childRet.length)
|
1410 |
+
ret = ret.concat(childRet);
|
1411 |
+
}
|
1412 |
+
}
|
1413 |
+
}
|
1414 |
+
|
1415 |
+
return ret;
|
1416 |
+
}
|
1417 |
+
|
1418 |
+
_This.$FindChildrenByTag = FindChildrenByTag;
|
1419 |
+
|
1420 |
+
_This.$GetElementsByTag = function (elmt, tagName) {
|
1421 |
+
return elmt.getElementsByTagName(tagName);
|
1422 |
+
};
|
1423 |
+
|
1424 |
+
function Extend(target) {
|
1425 |
+
for (var i = 1; i < arguments.length; i++) {
|
1426 |
+
|
1427 |
+
var options = arguments[i];
|
1428 |
+
|
1429 |
+
// Only deal with non-null/undefined values
|
1430 |
+
if (options) {
|
1431 |
+
// Extend the base object
|
1432 |
+
for (var name in options) {
|
1433 |
+
target[name] = options[name];
|
1434 |
+
}
|
1435 |
+
}
|
1436 |
+
}
|
1437 |
+
|
1438 |
+
// Return the modified object
|
1439 |
+
return target;
|
1440 |
+
}
|
1441 |
+
|
1442 |
+
_This.$Extend = Extend;
|
1443 |
+
|
1444 |
+
function Unextend(target, options) {
|
1445 |
+
$JssorDebug$.$Assert(options);
|
1446 |
+
|
1447 |
+
var unextended = {};
|
1448 |
+
|
1449 |
+
// Extend the base object
|
1450 |
+
for (var name in target) {
|
1451 |
+
if (target[name] !== options[name]) {
|
1452 |
+
unextended[name] = target[name];
|
1453 |
+
}
|
1454 |
+
}
|
1455 |
+
|
1456 |
+
// Return the modified object
|
1457 |
+
return unextended;
|
1458 |
+
}
|
1459 |
+
|
1460 |
+
_This.$Unextend = Unextend;
|
1461 |
+
|
1462 |
+
_This.$IsUndefined = function (obj) {
|
1463 |
+
return type(obj) == "undefined";
|
1464 |
+
};
|
1465 |
+
|
1466 |
+
_This.$IsFunction = function (obj) {
|
1467 |
+
return type(obj) == "function";
|
1468 |
+
};
|
1469 |
+
|
1470 |
+
_This.$IsArray = function (obj) {
|
1471 |
+
return type(obj) == "array";
|
1472 |
+
};
|
1473 |
+
|
1474 |
+
_This.$IsString = function (obj) {
|
1475 |
+
return type(obj) == "string";
|
1476 |
+
};
|
1477 |
+
|
1478 |
+
_This.$IsNumeric = function (obj) {
|
1479 |
+
return !isNaN(ParseFloat(obj)) && isFinite(obj);
|
1480 |
+
};
|
1481 |
+
|
1482 |
+
_This.$IsWindow = function (obj) {
|
1483 |
+
return obj && obj == obj.window;
|
1484 |
+
};
|
1485 |
+
|
1486 |
+
_This.$Type = type;
|
1487 |
+
|
1488 |
+
// args is for internal usage only
|
1489 |
+
_This.$Each = each;
|
1490 |
+
|
1491 |
+
_This.$IsPlainObject = isPlainObject;
|
1492 |
+
|
1493 |
+
function CreateElement(tagName) {
|
1494 |
+
return document.createElement(tagName);
|
1495 |
+
}
|
1496 |
+
|
1497 |
+
_This.$CreateElement = CreateElement;
|
1498 |
+
|
1499 |
+
_This.$CreateDiv = function () {
|
1500 |
+
return CreateElement("DIV", document);
|
1501 |
+
};
|
1502 |
+
|
1503 |
+
_This.$CreateSpan = function () {
|
1504 |
+
return CreateElement("SPAN", document);
|
1505 |
+
};
|
1506 |
+
|
1507 |
+
_This.$EmptyFunction = function () { };
|
1508 |
+
|
1509 |
+
function Attribute(elmt, name, value) {
|
1510 |
+
if (value == undefined)
|
1511 |
+
return elmt.getAttribute(name);
|
1512 |
+
|
1513 |
+
elmt.setAttribute(name, value);
|
1514 |
+
}
|
1515 |
+
|
1516 |
+
function AttributeEx(elmt, name) {
|
1517 |
+
return Attribute(elmt, name) || Attribute(elmt, "data-" + name);
|
1518 |
+
}
|
1519 |
+
|
1520 |
+
_This.$Attribute = Attribute;
|
1521 |
+
_This.$AttributeEx = AttributeEx;
|
1522 |
+
|
1523 |
+
function ClassName(elmt, className) {
|
1524 |
+
if (className == undefined)
|
1525 |
+
return elmt.className;
|
1526 |
+
|
1527 |
+
elmt.className = className;
|
1528 |
+
}
|
1529 |
+
|
1530 |
+
_This.$ClassName = ClassName;
|
1531 |
+
|
1532 |
+
function ToHash(array) {
|
1533 |
+
var hash = {};
|
1534 |
+
|
1535 |
+
each(array, function (item) {
|
1536 |
+
hash[item] = item;
|
1537 |
+
});
|
1538 |
+
|
1539 |
+
return hash;
|
1540 |
+
}
|
1541 |
+
|
1542 |
+
function Split(str, separator) {
|
1543 |
+
return str.match(separator || REGEX_WHITESPACE_GLOBAL);
|
1544 |
+
}
|
1545 |
+
|
1546 |
+
function StringToHashObject(str, regExp) {
|
1547 |
+
return ToHash(Split(str || "", regExp));
|
1548 |
+
}
|
1549 |
+
|
1550 |
+
_This.$ToHash = ToHash;
|
1551 |
+
_This.$Split = Split;
|
1552 |
+
|
1553 |
+
function Join(separator, strings) {
|
1554 |
+
/// <param name="separator" type="String">
|
1555 |
+
/// </param>
|
1556 |
+
/// <param name="strings" type="Array" value="['1']">
|
1557 |
+
/// </param>
|
1558 |
+
|
1559 |
+
var joined = "";
|
1560 |
+
|
1561 |
+
each(strings, function (str) {
|
1562 |
+
joined && (joined += separator);
|
1563 |
+
joined += str;
|
1564 |
+
});
|
1565 |
+
|
1566 |
+
return joined;
|
1567 |
+
}
|
1568 |
+
|
1569 |
+
function ReplaceClass(elmt, oldClassName, newClassName) {
|
1570 |
+
ClassName(elmt, Join(" ", Extend(Unextend(StringToHashObject(ClassName(elmt)), StringToHashObject(oldClassName)), StringToHashObject(newClassName))));
|
1571 |
+
}
|
1572 |
+
|
1573 |
+
_This.$Join = Join;
|
1574 |
+
|
1575 |
+
_This.$AddClass = function (elmt, className) {
|
1576 |
+
ReplaceClass(elmt, null, className);
|
1577 |
+
};
|
1578 |
+
|
1579 |
+
_This.$RemoveClass = ReplaceClass;
|
1580 |
+
|
1581 |
+
_This.$ReplaceClass = ReplaceClass;
|
1582 |
+
|
1583 |
+
_This.$ParentNode = function (elmt) {
|
1584 |
+
return elmt.parentNode;
|
1585 |
+
};
|
1586 |
+
|
1587 |
+
_This.$HideElement = function (elmt) {
|
1588 |
+
_This.$CssDisplay(elmt, "none");
|
1589 |
+
};
|
1590 |
+
|
1591 |
+
_This.$EnableElement = function (elmt, notEnable) {
|
1592 |
+
if (notEnable) {
|
1593 |
+
_This.$Attribute(elmt, "disabled", true);
|
1594 |
+
}
|
1595 |
+
else {
|
1596 |
+
_This.$RemoveAttribute(elmt, "disabled");
|
1597 |
+
}
|
1598 |
+
};
|
1599 |
+
|
1600 |
+
_This.$HideElements = function (elmts) {
|
1601 |
+
for (var i = 0; i < elmts.length; i++) {
|
1602 |
+
_This.$HideElement(elmts[i]);
|
1603 |
+
}
|
1604 |
+
};
|
1605 |
+
|
1606 |
+
_This.$ShowElement = function (elmt, hide) {
|
1607 |
+
_This.$CssDisplay(elmt, hide ? "none" : "");
|
1608 |
+
};
|
1609 |
+
|
1610 |
+
_This.$ShowElements = function (elmts, hide) {
|
1611 |
+
for (var i = 0; i < elmts.length; i++) {
|
1612 |
+
_This.$ShowElement(elmts[i], hide);
|
1613 |
+
}
|
1614 |
+
};
|
1615 |
+
|
1616 |
+
_This.$RemoveAttribute = function (elmt, attrbuteName) {
|
1617 |
+
elmt.removeAttribute(attrbuteName);
|
1618 |
+
};
|
1619 |
+
|
1620 |
+
_This.$CanClearClip = function () {
|
1621 |
+
return IsBrowserIE() && _BrowserRuntimeVersion < 10;
|
1622 |
+
};
|
1623 |
+
|
1624 |
+
_This.$SetStyleClip = function (elmt, clip) {
|
1625 |
+
if (clip) {
|
1626 |
+
elmt.style.clip = "rect(" + Math.round(clip.$Top) + "px " + Math.round(clip.$Right) + "px " + Math.round(clip.$Bottom) + "px " + Math.round(clip.$Left) + "px)";
|
1627 |
+
}
|
1628 |
+
else {
|
1629 |
+
var cssText = elmt.style.cssText;
|
1630 |
+
var clipRegs = [
|
1631 |
+
new RegExp(/[\s]*clip: rect\(.*?\)[;]?/i),
|
1632 |
+
new RegExp(/[\s]*cliptop: .*?[;]?/i),
|
1633 |
+
new RegExp(/[\s]*clipright: .*?[;]?/i),
|
1634 |
+
new RegExp(/[\s]*clipbottom: .*?[;]?/i),
|
1635 |
+
new RegExp(/[\s]*clipleft: .*?[;]?/i)
|
1636 |
+
];
|
1637 |
+
|
1638 |
+
var newCssText = BuildNewCss(cssText, clipRegs, "");
|
1639 |
+
|
1640 |
+
$Jssor$.$CssCssText(elmt, newCssText);
|
1641 |
+
}
|
1642 |
+
};
|
1643 |
+
|
1644 |
+
_This.$GetNow = function () {
|
1645 |
+
return new Date().getTime();
|
1646 |
+
};
|
1647 |
+
|
1648 |
+
_This.$AppendChild = function (elmt, child) {
|
1649 |
+
elmt.appendChild(child);
|
1650 |
+
};
|
1651 |
+
|
1652 |
+
_This.$AppendChildren = function (elmt, children) {
|
1653 |
+
each(children, function (child) {
|
1654 |
+
_This.$AppendChild(elmt, child);
|
1655 |
+
});
|
1656 |
+
};
|
1657 |
+
|
1658 |
+
_This.$InsertBefore = function (newNode, refNode, pNode) {
|
1659 |
+
/// <summary>
|
1660 |
+
/// Insert a node before a reference node
|
1661 |
+
/// </summary>
|
1662 |
+
/// <param name="newNode" type="HTMLElement">
|
1663 |
+
/// A new node to insert
|
1664 |
+
/// </param>
|
1665 |
+
/// <param name="refNode" type="HTMLElement">
|
1666 |
+
/// The reference node to insert a new node before
|
1667 |
+
/// </param>
|
1668 |
+
/// <param name="pNode" type="HTMLElement" optional="true">
|
1669 |
+
/// The parent node to insert node to
|
1670 |
+
/// </param>
|
1671 |
+
|
1672 |
+
(pNode || refNode.parentNode).insertBefore(newNode, refNode);
|
1673 |
+
};
|
1674 |
+
|
1675 |
+
_This.$InsertAfter = function (newNode, refNode, pNode) {
|
1676 |
+
/// <summary>
|
1677 |
+
/// Insert a node after a reference node
|
1678 |
+
/// </summary>
|
1679 |
+
/// <param name="newNode" type="HTMLElement">
|
1680 |
+
/// A new node to insert
|
1681 |
+
/// </param>
|
1682 |
+
/// <param name="refNode" type="HTMLElement">
|
1683 |
+
/// The reference node to insert a new node after
|
1684 |
+
/// </param>
|
1685 |
+
/// <param name="pNode" type="HTMLElement" optional="true">
|
1686 |
+
/// The parent node to insert node to
|
1687 |
+
/// </param>
|
1688 |
+
|
1689 |
+
_This.$InsertBefore(newNode, refNode.nextSibling, pNode || refNode.parentNode);
|
1690 |
+
};
|
1691 |
+
|
1692 |
+
_This.$InsertAdjacentHtml = function (elmt, where, html) {
|
1693 |
+
elmt.insertAdjacentHTML(where, html);
|
1694 |
+
};
|
1695 |
+
|
1696 |
+
_This.$RemoveElement = function (elmt, pNode) {
|
1697 |
+
/// <summary>
|
1698 |
+
/// Remove element from parent node
|
1699 |
+
/// </summary>
|
1700 |
+
/// <param name="elmt" type="HTMLElement">
|
1701 |
+
/// The element to remove
|
1702 |
+
/// </param>
|
1703 |
+
/// <param name="pNode" type="HTMLElement" optional="true">
|
1704 |
+
/// The parent node to remove elment from
|
1705 |
+
/// </param>
|
1706 |
+
(pNode || elmt.parentNode).removeChild(elmt);
|
1707 |
+
};
|
1708 |
+
|
1709 |
+
_This.$RemoveElements = function (elmts, pNode) {
|
1710 |
+
each(elmts, function (elmt) {
|
1711 |
+
_This.$RemoveElement(elmt, pNode);
|
1712 |
+
});
|
1713 |
+
};
|
1714 |
+
|
1715 |
+
_This.$Empty = function (elmt) {
|
1716 |
+
_This.$RemoveElements(_This.$Children(elmt, true), elmt);
|
1717 |
+
};
|
1718 |
+
|
1719 |
+
_This.$ParseInt = function (str, radix) {
|
1720 |
+
return parseInt(str, radix || 10);
|
1721 |
+
};
|
1722 |
+
|
1723 |
+
var ParseFloat = parseFloat;
|
1724 |
+
|
1725 |
+
_This.$ParseFloat = ParseFloat;
|
1726 |
+
|
1727 |
+
_This.$IsChild = function (elmtA, elmtB) {
|
1728 |
+
var body = document.body;
|
1729 |
+
|
1730 |
+
while (elmtB && elmtA !== elmtB && body !== elmtB) {
|
1731 |
+
try {
|
1732 |
+
elmtB = elmtB.parentNode;
|
1733 |
+
} catch (e) {
|
1734 |
+
// Firefox sometimes fires events for XUL elements, which throws
|
1735 |
+
// a "permission denied" error. so this is not a child.
|
1736 |
+
return false;
|
1737 |
+
}
|
1738 |
+
}
|
1739 |
+
|
1740 |
+
return elmtA === elmtB;
|
1741 |
+
};
|
1742 |
+
|
1743 |
+
function CloneNode(elmt, noDeep, keepId) {
|
1744 |
+
var clone = elmt.cloneNode(!noDeep);
|
1745 |
+
if (!keepId) {
|
1746 |
+
_This.$RemoveAttribute(clone, "id");
|
1747 |
+
}
|
1748 |
+
|
1749 |
+
return clone;
|
1750 |
+
}
|
1751 |
+
|
1752 |
+
_This.$CloneNode = CloneNode;
|
1753 |
+
|
1754 |
+
_This.$LoadImage = function (src, callback) {
|
1755 |
+
var image = new Image();
|
1756 |
+
|
1757 |
+
function LoadImageCompleteHandler(event, abort) {
|
1758 |
+
_This.$RemoveEvent(image, "load", LoadImageCompleteHandler);
|
1759 |
+
_This.$RemoveEvent(image, "abort", ErrorOrAbortHandler);
|
1760 |
+
_This.$RemoveEvent(image, "error", ErrorOrAbortHandler);
|
1761 |
+
|
1762 |
+
if (callback)
|
1763 |
+
callback(image, abort);
|
1764 |
+
}
|
1765 |
+
|
1766 |
+
function ErrorOrAbortHandler(event) {
|
1767 |
+
LoadImageCompleteHandler(event, true);
|
1768 |
+
}
|
1769 |
+
|
1770 |
+
if (IsBrowserOpera() && _BrowserRuntimeVersion < 11.6 || !src) {
|
1771 |
+
LoadImageCompleteHandler(!src);
|
1772 |
+
}
|
1773 |
+
else {
|
1774 |
+
|
1775 |
+
_This.$AddEvent(image, "load", LoadImageCompleteHandler);
|
1776 |
+
_This.$AddEvent(image, "abort", ErrorOrAbortHandler);
|
1777 |
+
_This.$AddEvent(image, "error", ErrorOrAbortHandler);
|
1778 |
+
|
1779 |
+
image.src = src;
|
1780 |
+
}
|
1781 |
+
};
|
1782 |
+
|
1783 |
+
_This.$LoadImages = function (imageElmts, mainImageElmt, callback) {
|
1784 |
+
|
1785 |
+
var _ImageLoading = imageElmts.length + 1;
|
1786 |
+
|
1787 |
+
function LoadImageCompleteEventHandler(image, abort) {
|
1788 |
+
|
1789 |
+
_ImageLoading--;
|
1790 |
+
if (mainImageElmt && image && image.src == mainImageElmt.src)
|
1791 |
+
mainImageElmt = image;
|
1792 |
+
!_ImageLoading && callback && callback(mainImageElmt);
|
1793 |
+
}
|
1794 |
+
|
1795 |
+
each(imageElmts, function (imageElmt) {
|
1796 |
+
_This.$LoadImage(imageElmt.src, LoadImageCompleteEventHandler);
|
1797 |
+
});
|
1798 |
+
|
1799 |
+
LoadImageCompleteEventHandler();
|
1800 |
+
};
|
1801 |
+
|
1802 |
+
_This.$BuildElement = function (template, tagName, replacer, createCopy) {
|
1803 |
+
if (createCopy)
|
1804 |
+
template = CloneNode(template);
|
1805 |
+
|
1806 |
+
var templateHolders = FindChildren(template, tagName);
|
1807 |
+
if (!templateHolders.length)
|
1808 |
+
templateHolders = $Jssor$.$GetElementsByTag(template, tagName);
|
1809 |
+
|
1810 |
+
for (var j = templateHolders.length - 1; j > -1; j--) {
|
1811 |
+
var templateHolder = templateHolders[j];
|
1812 |
+
var replaceItem = CloneNode(replacer);
|
1813 |
+
ClassName(replaceItem, ClassName(templateHolder));
|
1814 |
+
$Jssor$.$CssCssText(replaceItem, templateHolder.style.cssText);
|
1815 |
+
|
1816 |
+
$Jssor$.$InsertBefore(replaceItem, templateHolder);
|
1817 |
+
$Jssor$.$RemoveElement(templateHolder);
|
1818 |
+
}
|
1819 |
+
|
1820 |
+
return template;
|
1821 |
+
};
|
1822 |
+
|
1823 |
+
function JssorButtonEx(elmt) {
|
1824 |
+
var _Self = this;
|
1825 |
+
|
1826 |
+
var _OriginClassName = "";
|
1827 |
+
var _ToggleClassSuffixes = ["av", "pv", "ds", "dn"];
|
1828 |
+
var _ToggleClasses = [];
|
1829 |
+
var _ToggleClassName;
|
1830 |
+
|
1831 |
+
var _IsMouseDown = 0; //class name 'dn'
|
1832 |
+
var _IsSelected = 0; //class name 1(active): 'av', 2(passive): 'pv'
|
1833 |
+
var _IsDisabled = 0; //class name 'ds'
|
1834 |
+
|
1835 |
+
function Highlight() {
|
1836 |
+
ReplaceClass(elmt, _ToggleClassName, _ToggleClasses[_IsDisabled || _IsMouseDown || (_IsSelected & 2) || _IsSelected]);
|
1837 |
+
}
|
1838 |
+
|
1839 |
+
function MouseUpOrCancelEventHandler(event) {
|
1840 |
+
_IsMouseDown = 0;
|
1841 |
+
|
1842 |
+
Highlight();
|
1843 |
+
|
1844 |
+
_This.$RemoveEvent(document, Device().$Evt_Up, MouseUpOrCancelEventHandler);
|
1845 |
+
Device().$Evt_Cancel && _This.$RemoveEvent(document, Device().$Evt_Cancel, MouseUpOrCancelEventHandler);
|
1846 |
+
}
|
1847 |
+
|
1848 |
+
function MouseDownEventHandler(event) {
|
1849 |
+
if (_IsDisabled) {
|
1850 |
+
_This.$CancelEvent(event);
|
1851 |
+
}
|
1852 |
+
else {
|
1853 |
+
|
1854 |
+
_IsMouseDown = 4;
|
1855 |
+
|
1856 |
+
Highlight();
|
1857 |
+
|
1858 |
+
_This.$AddEvent(document, Device().$Evt_Up, MouseUpOrCancelEventHandler);
|
1859 |
+
Device().$Evt_Cancel && _This.$AddEvent(document, Device().$Evt_Cancel, MouseUpOrCancelEventHandler);
|
1860 |
+
}
|
1861 |
+
}
|
1862 |
+
|
1863 |
+
_Self.$Selected = function (activate) {
|
1864 |
+
if (activate != undefined) {
|
1865 |
+
_IsSelected = (activate & 2) || (activate & 1);
|
1866 |
+
|
1867 |
+
Highlight();
|
1868 |
+
}
|
1869 |
+
else {
|
1870 |
+
return _IsSelected;
|
1871 |
+
}
|
1872 |
+
};
|
1873 |
+
|
1874 |
+
_Self.$Enable = function (enable) {
|
1875 |
+
if (enable == undefined) {
|
1876 |
+
return !_IsDisabled;
|
1877 |
+
}
|
1878 |
+
|
1879 |
+
_IsDisabled = enable ? 0 : 3;
|
1880 |
+
|
1881 |
+
Highlight();
|
1882 |
+
};
|
1883 |
+
|
1884 |
+
//JssorButtonEx Constructor
|
1885 |
+
{
|
1886 |
+
elmt = _This.$GetElement(elmt);
|
1887 |
+
|
1888 |
+
var originalClassNameArray = $Jssor$.$Split(ClassName(elmt));
|
1889 |
+
if (originalClassNameArray)
|
1890 |
+
_OriginClassName = originalClassNameArray.shift();
|
1891 |
+
|
1892 |
+
each(_ToggleClassSuffixes, function (toggleClassSuffix) {
|
1893 |
+
_ToggleClasses.push(_OriginClassName +toggleClassSuffix);
|
1894 |
+
});
|
1895 |
+
|
1896 |
+
_ToggleClassName = Join(" ", _ToggleClasses);
|
1897 |
+
|
1898 |
+
_ToggleClasses.unshift("");
|
1899 |
+
|
1900 |
+
$Jssor$.$AddEvent(elmt, Device().$Evt_Down, MouseDownEventHandler);
|
1901 |
+
}
|
1902 |
+
}
|
1903 |
+
|
1904 |
+
_This.$Buttonize = function (elmt) {
|
1905 |
+
return new JssorButtonEx(elmt);
|
1906 |
+
};
|
1907 |
+
|
1908 |
+
_This.$Css = Css;
|
1909 |
+
_This.$CssN = CssN;
|
1910 |
+
_This.$CssP = CssP;
|
1911 |
+
|
1912 |
+
_This.$CssOverflow = CssProxy("overflow");
|
1913 |
+
|
1914 |
+
_This.$CssTop = CssProxy("top", 2);
|
1915 |
+
_This.$CssLeft = CssProxy("left", 2);
|
1916 |
+
_This.$CssWidth = CssProxy("width", 2);
|
1917 |
+
_This.$CssHeight = CssProxy("height", 2);
|
1918 |
+
_This.$CssMarginLeft = CssProxy("marginLeft", 2);
|
1919 |
+
_This.$CssMarginTop = CssProxy("marginTop", 2);
|
1920 |
+
_This.$CssPosition = CssProxy("position");
|
1921 |
+
_This.$CssDisplay = CssProxy("display");
|
1922 |
+
_This.$CssZIndex = CssProxy("zIndex", 1);
|
1923 |
+
_This.$CssFloat = function (elmt, floatValue) {
|
1924 |
+
return Css(elmt, IsBrowserIE() ? "styleFloat" : "cssFloat", floatValue);
|
1925 |
+
};
|
1926 |
+
_This.$CssOpacity = function (elmt, opacity, ie9EarlierForce) {
|
1927 |
+
if (opacity != undefined) {
|
1928 |
+
SetStyleOpacity(elmt, opacity, ie9EarlierForce);
|
1929 |
+
}
|
1930 |
+
else {
|
1931 |
+
return GetStyleOpacity(elmt);
|
1932 |
+
}
|
1933 |
+
};
|
1934 |
+
|
1935 |
+
_This.$CssCssText = function (elmt, text) {
|
1936 |
+
if (text != undefined) {
|
1937 |
+
elmt.style.cssText = text;
|
1938 |
+
}
|
1939 |
+
else {
|
1940 |
+
return elmt.style.cssText;
|
1941 |
+
}
|
1942 |
+
};
|
1943 |
+
|
1944 |
+
var _StyleGetter = {
|
1945 |
+
$Opacity: _This.$CssOpacity,
|
1946 |
+
$Top: _This.$CssTop,
|
1947 |
+
$Left: _This.$CssLeft,
|
1948 |
+
$Width: _This.$CssWidth,
|
1949 |
+
$Height: _This.$CssHeight,
|
1950 |
+
$Position: _This.$CssPosition,
|
1951 |
+
$Display: _This.$CssDisplay,
|
1952 |
+
$ZIndex: _This.$CssZIndex
|
1953 |
+
};
|
1954 |
+
|
1955 |
+
var _StyleSetterReserved;
|
1956 |
+
|
1957 |
+
function StyleSetter() {
|
1958 |
+
if (!_StyleSetterReserved) {
|
1959 |
+
_StyleSetterReserved = Extend({
|
1960 |
+
$MarginTop: _This.$CssMarginTop,
|
1961 |
+
$MarginLeft: _This.$CssMarginLeft,
|
1962 |
+
$Clip: _This.$SetStyleClip,
|
1963 |
+
$Transform: _This.$SetStyleTransform
|
1964 |
+
}, _StyleGetter);
|
1965 |
+
}
|
1966 |
+
return _StyleSetterReserved;
|
1967 |
+
}
|
1968 |
+
|
1969 |
+
function StyleSetterEx() {
|
1970 |
+
StyleSetter();
|
1971 |
+
|
1972 |
+
//For Compression Only
|
1973 |
+
_StyleSetterReserved.$Transform = _StyleSetterReserved.$Transform;
|
1974 |
+
|
1975 |
+
return _StyleSetterReserved;
|
1976 |
+
}
|
1977 |
+
|
1978 |
+
_This.$StyleSetter = StyleSetter;
|
1979 |
+
|
1980 |
+
_This.$StyleSetterEx = StyleSetterEx;
|
1981 |
+
|
1982 |
+
_This.$GetStyles = function (elmt, originStyles) {
|
1983 |
+
StyleSetter();
|
1984 |
+
|
1985 |
+
var styles = {};
|
1986 |
+
|
1987 |
+
each(originStyles, function (value, key) {
|
1988 |
+
if (_StyleGetter[key]) {
|
1989 |
+
styles[key] = _StyleGetter[key](elmt);
|
1990 |
+
}
|
1991 |
+
});
|
1992 |
+
|
1993 |
+
return styles;
|
1994 |
+
};
|
1995 |
+
|
1996 |
+
_This.$SetStyles = function (elmt, styles) {
|
1997 |
+
var styleSetter = StyleSetter();
|
1998 |
+
|
1999 |
+
each(styles, function (value, key) {
|
2000 |
+
styleSetter[key] && styleSetter[key](elmt, value);
|
2001 |
+
});
|
2002 |
+
};
|
2003 |
+
|
2004 |
+
_This.$SetStylesEx = function (elmt, styles) {
|
2005 |
+
StyleSetterEx();
|
2006 |
+
|
2007 |
+
_This.$SetStyles(elmt, styles);
|
2008 |
+
};
|
2009 |
+
|
2010 |
+
var $JssorMatrix$ = new function () {
|
2011 |
+
var _ThisMatrix = this;
|
2012 |
+
|
2013 |
+
function Multiply(ma, mb) {
|
2014 |
+
var acs = ma[0].length;
|
2015 |
+
var rows = ma.length;
|
2016 |
+
var cols = mb[0].length;
|
2017 |
+
|
2018 |
+
var matrix = [];
|
2019 |
+
|
2020 |
+
for (var r = 0; r < rows; r++) {
|
2021 |
+
var row = matrix[r] = [];
|
2022 |
+
for (var c = 0; c < cols; c++) {
|
2023 |
+
var unitValue = 0;
|
2024 |
+
|
2025 |
+
for (var ac = 0; ac < acs; ac++) {
|
2026 |
+
unitValue += ma[r][ac] * mb[ac][c];
|
2027 |
+
}
|
2028 |
+
|
2029 |
+
row[c] = unitValue;
|
2030 |
+
}
|
2031 |
+
}
|
2032 |
+
|
2033 |
+
return matrix;
|
2034 |
+
}
|
2035 |
+
|
2036 |
+
_ThisMatrix.$ScaleX = function (matrix, sx) {
|
2037 |
+
return _ThisMatrix.$ScaleXY(matrix, sx, 0);
|
2038 |
+
};
|
2039 |
+
|
2040 |
+
_ThisMatrix.$ScaleY = function (matrix, sy) {
|
2041 |
+
return _ThisMatrix.$ScaleXY(matrix, 0, sy);
|
2042 |
+
};
|
2043 |
+
|
2044 |
+
_ThisMatrix.$ScaleXY = function (matrix, sx, sy) {
|
2045 |
+
return Multiply(matrix, [[sx, 0], [0, sy]]);
|
2046 |
+
};
|
2047 |
+
|
2048 |
+
_ThisMatrix.$TransformPoint = function (matrix, p) {
|
2049 |
+
var pMatrix = Multiply(matrix, [[p.x], [p.y]]);
|
2050 |
+
|
2051 |
+
return Point(pMatrix[0][0], pMatrix[1][0]);
|
2052 |
+
};
|
2053 |
+
};
|
2054 |
+
|
2055 |
+
_This.$CreateMatrix = function (alpha, scaleX, scaleY) {
|
2056 |
+
var cos = Math.cos(alpha);
|
2057 |
+
var sin = Math.sin(alpha);
|
2058 |
+
//var r11 = cos;
|
2059 |
+
//var r21 = sin;
|
2060 |
+
//var r12 = -sin;
|
2061 |
+
//var r22 = cos;
|
2062 |
+
|
2063 |
+
//var m11 = cos * scaleX;
|
2064 |
+
//var m12 = -sin * scaleY;
|
2065 |
+
//var m21 = sin * scaleX;
|
2066 |
+
//var m22 = cos * scaleY;
|
2067 |
+
|
2068 |
+
return [[cos * scaleX, -sin * scaleY], [sin * scaleX, cos * scaleY]];
|
2069 |
+
};
|
2070 |
+
|
2071 |
+
_This.$GetMatrixOffset = function (matrix, width, height) {
|
2072 |
+
var p1 = $JssorMatrix$.$TransformPoint(matrix, Point(-width / 2, -height / 2));
|
2073 |
+
var p2 = $JssorMatrix$.$TransformPoint(matrix, Point(width / 2, -height / 2));
|
2074 |
+
var p3 = $JssorMatrix$.$TransformPoint(matrix, Point(width / 2, height / 2));
|
2075 |
+
var p4 = $JssorMatrix$.$TransformPoint(matrix, Point(-width / 2, height / 2));
|
2076 |
+
|
2077 |
+
return Point(Math.min(p1.x, p2.x, p3.x, p4.x) + width / 2, Math.min(p1.y, p2.y, p3.y, p4.y) + height / 2);
|
2078 |
+
};
|
2079 |
+
|
2080 |
+
_This.$Cast = function (fromStyles, difStyles, interPosition, easings, durings, rounds, options) {
|
2081 |
+
|
2082 |
+
var currentStyles = difStyles;
|
2083 |
+
|
2084 |
+
if (fromStyles) {
|
2085 |
+
currentStyles = {};
|
2086 |
+
|
2087 |
+
for (var key in difStyles) {
|
2088 |
+
|
2089 |
+
var round = rounds[key] || 1;
|
2090 |
+
var during = durings[key] || [0, 1];
|
2091 |
+
var propertyInterPosition = (interPosition - during[0]) / during[1];
|
2092 |
+
propertyInterPosition = Math.min(Math.max(propertyInterPosition, 0), 1);
|
2093 |
+
propertyInterPosition = propertyInterPosition * round;
|
2094 |
+
var floorPosition = Math.floor(propertyInterPosition);
|
2095 |
+
if (propertyInterPosition != floorPosition)
|
2096 |
+
propertyInterPosition -= floorPosition;
|
2097 |
+
|
2098 |
+
var easing = easings[key] || easings.$Default || $JssorEasing$.$EaseSwing;
|
2099 |
+
var easingValue = easing(propertyInterPosition);
|
2100 |
+
var currentPropertyValue;
|
2101 |
+
var value = fromStyles[key];
|
2102 |
+
var toValue = difStyles[key];
|
2103 |
+
var difValue = difStyles[key];
|
2104 |
+
|
2105 |
+
if ($Jssor$.$IsNumeric(difValue)) {
|
2106 |
+
currentPropertyValue = value + difValue * easingValue;
|
2107 |
+
}
|
2108 |
+
else {
|
2109 |
+
currentPropertyValue = $Jssor$.$Extend({ $Offset: {} }, fromStyles[key]);
|
2110 |
+
|
2111 |
+
$Jssor$.$Each(difValue.$Offset, function (rectX, n) {
|
2112 |
+
var offsetValue = rectX * easingValue;
|
2113 |
+
currentPropertyValue.$Offset[n] = offsetValue;
|
2114 |
+
currentPropertyValue[n] += offsetValue;
|
2115 |
+
});
|
2116 |
+
}
|
2117 |
+
currentStyles[key] = currentPropertyValue;
|
2118 |
+
}
|
2119 |
+
|
2120 |
+
if (difStyles.$Zoom || difStyles.$Rotate) {
|
2121 |
+
currentStyles.$Transform = { $Rotate: currentStyles.$Rotate || 0, $Scale: currentStyles.$Zoom, $OriginalWidth: options.$OriginalWidth, $OriginalHeight: options.$OriginalHeight };
|
2122 |
+
}
|
2123 |
+
}
|
2124 |
+
|
2125 |
+
if (difStyles.$Clip && options.$Move) {
|
2126 |
+
var styleFrameNClipOffset = currentStyles.$Clip.$Offset;
|
2127 |
+
|
2128 |
+
var offsetY = (styleFrameNClipOffset.$Top || 0) + (styleFrameNClipOffset.$Bottom || 0);
|
2129 |
+
var offsetX = (styleFrameNClipOffset.$Left || 0) + (styleFrameNClipOffset.$Right || 0);
|
2130 |
+
|
2131 |
+
currentStyles.$Left = (currentStyles.$Left || 0) + offsetX;
|
2132 |
+
currentStyles.$Top = (currentStyles.$Top || 0) + offsetY;
|
2133 |
+
currentStyles.$Clip.$Left -= offsetX;
|
2134 |
+
currentStyles.$Clip.$Right -= offsetX;
|
2135 |
+
currentStyles.$Clip.$Top -= offsetY;
|
2136 |
+
currentStyles.$Clip.$Bottom -= offsetY;
|
2137 |
+
}
|
2138 |
+
|
2139 |
+
if (currentStyles.$Clip && $Jssor$.$CanClearClip() && !currentStyles.$Clip.$Top && !currentStyles.$Clip.$Left && (currentStyles.$Clip.$Right == options.$OriginalWidth) && (currentStyles.$Clip.$Bottom == options.$OriginalHeight))
|
2140 |
+
currentStyles.$Clip = null;
|
2141 |
+
|
2142 |
+
return currentStyles;
|
2143 |
+
};
|
2144 |
+
};
|
2145 |
+
|
2146 |
+
//$JssorObject$
|
2147 |
+
function $JssorObject$() {
|
2148 |
+
var _ThisObject = this;
|
2149 |
+
// Fields
|
2150 |
+
|
2151 |
+
var _Listeners = []; // dictionary of eventName --> array of handlers
|
2152 |
+
var _Listenees = [];
|
2153 |
+
|
2154 |
+
// Private Methods
|
2155 |
+
function AddListener(eventName, handler) {
|
2156 |
+
|
2157 |
+
$JssorDebug$.$Execute(function () {
|
2158 |
+
if (eventName == undefined || eventName == null)
|
2159 |
+
throw new Error("param 'eventName' is null or empty.");
|
2160 |
+
|
2161 |
+
if (typeof (handler) != "function") {
|
2162 |
+
throw "param 'handler' must be a function.";
|
2163 |
+
}
|
2164 |
+
|
2165 |
+
$Jssor$.$Each(_Listeners, function (listener) {
|
2166 |
+
if (listener.$EventName == eventName && listener.$Handler === handler) {
|
2167 |
+
throw new Error("The handler listened to the event already, cannot listen to the same event of the same object with the same handler twice.");
|
2168 |
+
}
|
2169 |
+
});
|
2170 |
+
});
|
2171 |
+
|
2172 |
+
_Listeners.push({ $EventName: eventName, $Handler: handler });
|
2173 |
+
}
|
2174 |
+
|
2175 |
+
function RemoveListener(eventName, handler) {
|
2176 |
+
|
2177 |
+
$JssorDebug$.$Execute(function () {
|
2178 |
+
if (eventName == undefined || eventName == null)
|
2179 |
+
throw new Error("param 'eventName' is null or empty.");
|
2180 |
+
|
2181 |
+
if (typeof (handler) != "function") {
|
2182 |
+
throw "param 'handler' must be a function.";
|
2183 |
+
}
|
2184 |
+
});
|
2185 |
+
|
2186 |
+
$Jssor$.$Each(_Listeners, function (listener, index) {
|
2187 |
+
if (listener.$EventName == eventName && listener.$Handler === handler) {
|
2188 |
+
_Listeners.splice(index, 1);
|
2189 |
+
}
|
2190 |
+
});
|
2191 |
+
}
|
2192 |
+
|
2193 |
+
function ClearListeners() {
|
2194 |
+
_Listeners = [];
|
2195 |
+
}
|
2196 |
+
|
2197 |
+
function ClearListenees() {
|
2198 |
+
|
2199 |
+
$Jssor$.$Each(_Listenees, function (listenee) {
|
2200 |
+
$Jssor$.$RemoveEvent(listenee.$Obj, listenee.$EventName, listenee.$Handler);
|
2201 |
+
});
|
2202 |
+
|
2203 |
+
_Listenees = [];
|
2204 |
+
}
|
2205 |
+
|
2206 |
+
//Protected Methods
|
2207 |
+
_ThisObject.$Listen = function (obj, eventName, handler, useCapture) {
|
2208 |
+
|
2209 |
+
$JssorDebug$.$Execute(function () {
|
2210 |
+
if (!obj)
|
2211 |
+
throw new Error("param 'obj' is null or empty.");
|
2212 |
+
|
2213 |
+
if (eventName == undefined || eventName == null)
|
2214 |
+
throw new Error("param 'eventName' is null or empty.");
|
2215 |
+
|
2216 |
+
if (typeof (handler) != "function") {
|
2217 |
+
throw "param 'handler' must be a function.";
|
2218 |
+
}
|
2219 |
+
|
2220 |
+
$Jssor$.$Each(_Listenees, function (listenee) {
|
2221 |
+
if (listenee.$Obj === obj && listenee.$EventName == eventName && listenee.$Handler === handler) {
|
2222 |
+
throw new Error("The handler listened to the event already, cannot listen to the same event of the same object with the same handler twice.");
|
2223 |
+
}
|
2224 |
+
});
|
2225 |
+
});
|
2226 |
+
|
2227 |
+
$Jssor$.$AddEvent(obj, eventName, handler, useCapture);
|
2228 |
+
_Listenees.push({ $Obj: obj, $EventName: eventName, $Handler: handler });
|
2229 |
+
};
|
2230 |
+
|
2231 |
+
_ThisObject.$Unlisten = function (obj, eventName, handler) {
|
2232 |
+
|
2233 |
+
$JssorDebug$.$Execute(function () {
|
2234 |
+
if (!obj)
|
2235 |
+
throw new Error("param 'obj' is null or empty.");
|
2236 |
+
|
2237 |
+
if (eventName == undefined || eventName == null)
|
2238 |
+
throw new Error("param 'eventName' is null or empty.");
|
2239 |
+
|
2240 |
+
if (typeof (handler) != "function") {
|
2241 |
+
throw "param 'handler' must be a function.";
|
2242 |
+
}
|
2243 |
+
});
|
2244 |
+
|
2245 |
+
$Jssor$.$Each(_Listenees, function (listenee, index) {
|
2246 |
+
if (listenee.$Obj === obj && listenee.$EventName == eventName && listenee.$Handler === handler) {
|
2247 |
+
$Jssor$.$RemoveEvent(obj, eventName, handler);
|
2248 |
+
_Listenees.splice(index, 1);
|
2249 |
+
}
|
2250 |
+
});
|
2251 |
+
};
|
2252 |
+
|
2253 |
+
_ThisObject.$UnlistenAll = ClearListenees;
|
2254 |
+
|
2255 |
+
// Public Methods
|
2256 |
+
_ThisObject.$On = _ThisObject.addEventListener = AddListener;
|
2257 |
+
|
2258 |
+
_ThisObject.$Off = _ThisObject.removeEventListener = RemoveListener;
|
2259 |
+
|
2260 |
+
_ThisObject.$TriggerEvent = function (eventName) {
|
2261 |
+
|
2262 |
+
var args = [].slice.call(arguments, 1);
|
2263 |
+
|
2264 |
+
$Jssor$.$Each(_Listeners, function (listener) {
|
2265 |
+
listener.$EventName == eventName && listener.$Handler.apply(window, args);
|
2266 |
+
});
|
2267 |
+
};
|
2268 |
+
|
2269 |
+
_ThisObject.$Destroy = function () {
|
2270 |
+
ClearListenees();
|
2271 |
+
ClearListeners();
|
2272 |
+
|
2273 |
+
for (var name in _ThisObject)
|
2274 |
+
delete _ThisObject[name];
|
2275 |
+
};
|
2276 |
+
|
2277 |
+
$JssorDebug$.$C_AbstractClass(_ThisObject);
|
2278 |
+
};
|
2279 |
+
|
2280 |
+
function $JssorAnimator$(delay, duration, options, elmt, fromStyles, difStyles) {
|
2281 |
+
delay = delay || 0;
|
2282 |
+
|
2283 |
+
var _ThisAnimator = this;
|
2284 |
+
var _AutoPlay;
|
2285 |
+
var _Hiden;
|
2286 |
+
var _CombineMode;
|
2287 |
+
var _PlayToPosition;
|
2288 |
+
var _PlayDirection;
|
2289 |
+
var _NoStop;
|
2290 |
+
var _TimeStampLastFrame = 0;
|
2291 |
+
|
2292 |
+
var _SubEasings;
|
2293 |
+
var _SubRounds;
|
2294 |
+
var _SubDurings;
|
2295 |
+
var _Callback;
|
2296 |
+
|
2297 |
+
var _Shift = 0;
|
2298 |
+
var _Position_Current = 0;
|
2299 |
+
var _Position_Display = 0;
|
2300 |
+
var _Hooked;
|
2301 |
+
|
2302 |
+
var _Position_InnerBegin = delay;
|
2303 |
+
var _Position_InnerEnd = delay + duration;
|
2304 |
+
var _Position_OuterBegin;
|
2305 |
+
var _Position_OuterEnd;
|
2306 |
+
var _LoopLength;
|
2307 |
+
|
2308 |
+
var _NestedAnimators = [];
|
2309 |
+
var _StyleSetter;
|
2310 |
+
|
2311 |
+
function GetPositionRange(position, begin, end) {
|
2312 |
+
var range = 0;
|
2313 |
+
|
2314 |
+
if (position < begin)
|
2315 |
+
range = -1;
|
2316 |
+
|
2317 |
+
else if (position > end)
|
2318 |
+
range = 1;
|
2319 |
+
|
2320 |
+
return range;
|
2321 |
+
}
|
2322 |
+
|
2323 |
+
function GetInnerPositionRange(position) {
|
2324 |
+
return GetPositionRange(position, _Position_InnerBegin, _Position_InnerEnd);
|
2325 |
+
}
|
2326 |
+
|
2327 |
+
function GetOuterPositionRange(position) {
|
2328 |
+
return GetPositionRange(position, _Position_OuterBegin, _Position_OuterEnd);
|
2329 |
+
}
|
2330 |
+
|
2331 |
+
function Shift(offset) {
|
2332 |
+
_Position_OuterBegin += offset;
|
2333 |
+
_Position_OuterEnd += offset;
|
2334 |
+
_Position_InnerBegin += offset;
|
2335 |
+
_Position_InnerEnd += offset;
|
2336 |
+
|
2337 |
+
_Position_Current += offset;
|
2338 |
+
_Position_Display += offset;
|
2339 |
+
|
2340 |
+
_Shift = offset;
|
2341 |
+
}
|
2342 |
+
|
2343 |
+
function Locate(position, relative) {
|
2344 |
+
var offset = position - _Position_OuterBegin + delay * relative;
|
2345 |
+
|
2346 |
+
Shift(offset);
|
2347 |
+
|
2348 |
+
//$JssorDebug$.$Execute(function () {
|
2349 |
+
// _ThisAnimator.$Position_InnerBegin = _Position_InnerBegin;
|
2350 |
+
// _ThisAnimator.$Position_InnerEnd = _Position_InnerEnd;
|
2351 |
+
// _ThisAnimator.$Position_OuterBegin = _Position_OuterBegin;
|
2352 |
+
// _ThisAnimator.$Position_OuterEnd = _Position_OuterEnd;
|
2353 |
+
//});
|
2354 |
+
|
2355 |
+
return _Position_OuterEnd;
|
2356 |
+
}
|
2357 |
+
|
2358 |
+
function GoToPosition(positionOuter, force) {
|
2359 |
+
var trimedPositionOuter = positionOuter;
|
2360 |
+
|
2361 |
+
if (_LoopLength && (trimedPositionOuter >= _Position_OuterEnd || trimedPositionOuter <= _Position_OuterBegin)) {
|
2362 |
+
trimedPositionOuter = ((trimedPositionOuter - _Position_OuterBegin) % _LoopLength + _LoopLength) % _LoopLength + _Position_OuterBegin;
|
2363 |
+
}
|
2364 |
+
|
2365 |
+
if (!_Hooked || _NoStop || force || _Position_Current != trimedPositionOuter) {
|
2366 |
+
|
2367 |
+
var positionToDisplay = Math.min(trimedPositionOuter, _Position_OuterEnd);
|
2368 |
+
positionToDisplay = Math.max(positionToDisplay, _Position_OuterBegin);
|
2369 |
+
|
2370 |
+
if (!_Hooked || _NoStop || force || positionToDisplay != _Position_Display) {
|
2371 |
+
if (difStyles) {
|
2372 |
+
|
2373 |
+
var interPosition = (positionToDisplay - _Position_InnerBegin) / (duration || 1);
|
2374 |
+
|
2375 |
+
if (options.$Reverse)
|
2376 |
+
interPosition = 1 - interPosition;
|
2377 |
+
|
2378 |
+
var currentStyles = $Jssor$.$Cast(fromStyles, difStyles, interPosition, _SubEasings, _SubDurings, _SubRounds, options);
|
2379 |
+
|
2380 |
+
$Jssor$.$Each(currentStyles, function (value, key) {
|
2381 |
+
_StyleSetter[key] && _StyleSetter[key](elmt, value);
|
2382 |
+
});
|
2383 |
+
}
|
2384 |
+
|
2385 |
+
_ThisAnimator.$OnInnerOffsetChange(_Position_Display - _Position_InnerBegin, positionToDisplay - _Position_InnerBegin);
|
2386 |
+
}
|
2387 |
+
|
2388 |
+
_Position_Display = positionToDisplay;
|
2389 |
+
|
2390 |
+
$Jssor$.$Each(_NestedAnimators, function (animator, i) {
|
2391 |
+
var nestedAnimator = positionOuter < _Position_Current ? _NestedAnimators[_NestedAnimators.length - i - 1] : animator;
|
2392 |
+
nestedAnimator.$GoToPosition(positionOuter - _Shift, force);
|
2393 |
+
});
|
2394 |
+
|
2395 |
+
var positionOld = _Position_Current;
|
2396 |
+
var positionNew = positionOuter;
|
2397 |
+
|
2398 |
+
_Position_Current = trimedPositionOuter;
|
2399 |
+
_Hooked = true;
|
2400 |
+
|
2401 |
+
_ThisAnimator.$OnPositionChange(positionOld, positionNew);
|
2402 |
+
}
|
2403 |
+
}
|
2404 |
+
|
2405 |
+
function Join(animator, combineMode, noExpand) {
|
2406 |
+
/// <summary>
|
2407 |
+
/// Combine another animator as nested animator
|
2408 |
+
/// </summary>
|
2409 |
+
/// <param name="animator" type="$JssorAnimator$">
|
2410 |
+
/// An instance of $JssorAnimator$
|
2411 |
+
/// </param>
|
2412 |
+
/// <param name="combineMode" type="int">
|
2413 |
+
/// 0: parallel - place the animator parallel to this animator.
|
2414 |
+
/// 1: chain - chain the animator at the _Position_InnerEnd of this animator.
|
2415 |
+
/// </param>
|
2416 |
+
$JssorDebug$.$Execute(function () {
|
2417 |
+
if (combineMode !== 0 && combineMode !== 1)
|
2418 |
+
$JssorDebug$.$Fail("Argument out of range, the value of 'combineMode' should be either 0 or 1.");
|
2419 |
+
});
|
2420 |
+
|
2421 |
+
if (combineMode)
|
2422 |
+
animator.$Locate(_Position_OuterEnd, 1);
|
2423 |
+
|
2424 |
+
!noExpand && (_Position_OuterEnd = Math.max(_Position_OuterEnd, animator.$GetPosition_OuterEnd() + _Shift));
|
2425 |
+
_NestedAnimators.push(animator);
|
2426 |
+
}
|
2427 |
+
|
2428 |
+
var RequestAnimationFrame = window.requestAnimationFrame
|
2429 |
+
|| window.webkitRequestAnimationFrame
|
2430 |
+
|| window.mozRequestAnimationFrame
|
2431 |
+
|| window.msRequestAnimationFrame;
|
2432 |
+
|
2433 |
+
if ($Jssor$.$IsBrowserSafari() && $Jssor$.$BrowserVersion() < 7) {
|
2434 |
+
RequestAnimationFrame = null;
|
2435 |
+
|
2436 |
+
$JssorDebug$.$Log("Custom animation frame for safari before 7.");
|
2437 |
+
}
|
2438 |
+
|
2439 |
+
RequestAnimationFrame = RequestAnimationFrame || function (callback) {
|
2440 |
+
$Jssor$.$Delay(callback, options.$Interval);
|
2441 |
+
};
|
2442 |
+
|
2443 |
+
function ShowFrame() {
|
2444 |
+
if (_AutoPlay) {
|
2445 |
+
var now = $Jssor$.$GetNow();
|
2446 |
+
var timeOffset = Math.min(now - _TimeStampLastFrame, options.$IntervalMax);
|
2447 |
+
var timePosition = _Position_Current + timeOffset * _PlayDirection;
|
2448 |
+
_TimeStampLastFrame = now;
|
2449 |
+
|
2450 |
+
if (timePosition * _PlayDirection >= _PlayToPosition * _PlayDirection)
|
2451 |
+
timePosition = _PlayToPosition;
|
2452 |
+
|
2453 |
+
GoToPosition(timePosition);
|
2454 |
+
|
2455 |
+
if (!_NoStop && timePosition * _PlayDirection >= _PlayToPosition * _PlayDirection) {
|
2456 |
+
Stop(_Callback);
|
2457 |
+
}
|
2458 |
+
else {
|
2459 |
+
RequestAnimationFrame(ShowFrame);
|
2460 |
+
}
|
2461 |
+
}
|
2462 |
+
}
|
2463 |
+
|
2464 |
+
function PlayToPosition(toPosition, callback, noStop) {
|
2465 |
+
if (!_AutoPlay) {
|
2466 |
+
_AutoPlay = true;
|
2467 |
+
_NoStop = noStop
|
2468 |
+
_Callback = callback;
|
2469 |
+
toPosition = Math.max(toPosition, _Position_OuterBegin);
|
2470 |
+
toPosition = Math.min(toPosition, _Position_OuterEnd);
|
2471 |
+
_PlayToPosition = toPosition;
|
2472 |
+
_PlayDirection = _PlayToPosition < _Position_Current ? -1 : 1;
|
2473 |
+
_ThisAnimator.$OnStart();
|
2474 |
+
_TimeStampLastFrame = $Jssor$.$GetNow();
|
2475 |
+
RequestAnimationFrame(ShowFrame);
|
2476 |
+
}
|
2477 |
+
}
|
2478 |
+
|
2479 |
+
function Stop(callback) {
|
2480 |
+
if (_AutoPlay) {
|
2481 |
+
_NoStop = _AutoPlay = _Callback = false;
|
2482 |
+
_ThisAnimator.$OnStop();
|
2483 |
+
|
2484 |
+
if (callback)
|
2485 |
+
callback();
|
2486 |
+
}
|
2487 |
+
}
|
2488 |
+
|
2489 |
+
_ThisAnimator.$Play = function (positionLength, callback, noStop) {
|
2490 |
+
PlayToPosition(positionLength ? _Position_Current + positionLength : _Position_OuterEnd, callback, noStop);
|
2491 |
+
};
|
2492 |
+
|
2493 |
+
_ThisAnimator.$PlayToPosition = PlayToPosition;
|
2494 |
+
|
2495 |
+
_ThisAnimator.$PlayToBegin = function (callback, noStop) {
|
2496 |
+
PlayToPosition(_Position_OuterBegin, callback, noStop);
|
2497 |
+
};
|
2498 |
+
|
2499 |
+
_ThisAnimator.$PlayToEnd = function (callback, noStop) {
|
2500 |
+
PlayToPosition(_Position_OuterEnd, callback, noStop);
|
2501 |
+
};
|
2502 |
+
|
2503 |
+
_ThisAnimator.$Stop = Stop;
|
2504 |
+
|
2505 |
+
_ThisAnimator.$Continue = function (toPosition) {
|
2506 |
+
PlayToPosition(toPosition);
|
2507 |
+
};
|
2508 |
+
|
2509 |
+
_ThisAnimator.$GetPosition = function () {
|
2510 |
+
return _Position_Current;
|
2511 |
+
};
|
2512 |
+
|
2513 |
+
_ThisAnimator.$GetPlayToPosition = function () {
|
2514 |
+
return _PlayToPosition;
|
2515 |
+
};
|
2516 |
+
|
2517 |
+
_ThisAnimator.$GetPosition_Display = function () {
|
2518 |
+
return _Position_Display;
|
2519 |
+
};
|
2520 |
+
|
2521 |
+
_ThisAnimator.$GoToPosition = GoToPosition;
|
2522 |
+
|
2523 |
+
_ThisAnimator.$GoToBegin = function () {
|
2524 |
+
GoToPosition(_Position_OuterBegin, true);
|
2525 |
+
};
|
2526 |
+
|
2527 |
+
_ThisAnimator.$GoToEnd = function () {
|
2528 |
+
GoToPosition(_Position_OuterEnd, true);
|
2529 |
+
};
|
2530 |
+
|
2531 |
+
_ThisAnimator.$Move = function (offset) {
|
2532 |
+
GoToPosition(_Position_Current + offset);
|
2533 |
+
};
|
2534 |
+
|
2535 |
+
_ThisAnimator.$CombineMode = function () {
|
2536 |
+
return _CombineMode;
|
2537 |
+
};
|
2538 |
+
|
2539 |
+
_ThisAnimator.$GetDuration = function () {
|
2540 |
+
return duration;
|
2541 |
+
};
|
2542 |
+
|
2543 |
+
_ThisAnimator.$IsPlaying = function () {
|
2544 |
+
return _AutoPlay;
|
2545 |
+
};
|
2546 |
+
|
2547 |
+
_ThisAnimator.$IsOnTheWay = function () {
|
2548 |
+
return _Position_Current > _Position_InnerBegin && _Position_Current <= _Position_InnerEnd;
|
2549 |
+
};
|
2550 |
+
|
2551 |
+
_ThisAnimator.$SetLoopLength = function (length) {
|
2552 |
+
_LoopLength = length;
|
2553 |
+
};
|
2554 |
+
|
2555 |
+
_ThisAnimator.$Locate = Locate;
|
2556 |
+
|
2557 |
+
_ThisAnimator.$Shift = Shift;
|
2558 |
+
|
2559 |
+
_ThisAnimator.$Join = Join;
|
2560 |
+
|
2561 |
+
_ThisAnimator.$Combine = function (animator) {
|
2562 |
+
/// <summary>
|
2563 |
+
/// Combine another animator parallel to this animator
|
2564 |
+
/// </summary>
|
2565 |
+
/// <param name="animator" type="$JssorAnimator$">
|
2566 |
+
/// An instance of $JssorAnimator$
|
2567 |
+
/// </param>
|
2568 |
+
Join(animator, 0);
|
2569 |
+
};
|
2570 |
+
|
2571 |
+
_ThisAnimator.$Chain = function (animator) {
|
2572 |
+
/// <summary>
|
2573 |
+
/// Chain another animator at the _Position_InnerEnd of this animator
|
2574 |
+
/// </summary>
|
2575 |
+
/// <param name="animator" type="$JssorAnimator$">
|
2576 |
+
/// An instance of $JssorAnimator$
|
2577 |
+
/// </param>
|
2578 |
+
Join(animator, 1);
|
2579 |
+
};
|
2580 |
+
|
2581 |
+
_ThisAnimator.$GetPosition_InnerBegin = function () {
|
2582 |
+
/// <summary>
|
2583 |
+
/// Internal member function, do not use it.
|
2584 |
+
/// </summary>
|
2585 |
+
/// <private />
|
2586 |
+
/// <returns type="int" />
|
2587 |
+
return _Position_InnerBegin;
|
2588 |
+
};
|
2589 |
+
|
2590 |
+
_ThisAnimator.$GetPosition_InnerEnd = function () {
|
2591 |
+
/// <summary>
|
2592 |
+
/// Internal member function, do not use it.
|
2593 |
+
/// </summary>
|
2594 |
+
/// <private />
|
2595 |
+
/// <returns type="int" />
|
2596 |
+
return _Position_InnerEnd;
|
2597 |
+
};
|
2598 |
+
|
2599 |
+
_ThisAnimator.$GetPosition_OuterBegin = function () {
|
2600 |
+
/// <summary>
|
2601 |
+
/// Internal member function, do not use it.
|
2602 |
+
/// </summary>
|
2603 |
+
/// <private />
|
2604 |
+
/// <returns type="int" />
|
2605 |
+
return _Position_OuterBegin;
|
2606 |
+
};
|
2607 |
+
|
2608 |
+
_ThisAnimator.$GetPosition_OuterEnd = function () {
|
2609 |
+
/// <summary>
|
2610 |
+
/// Internal member function, do not use it.
|
2611 |
+
/// </summary>
|
2612 |
+
/// <private />
|
2613 |
+
/// <returns type="int" />
|
2614 |
+
return _Position_OuterEnd;
|
2615 |
+
};
|
2616 |
+
|
2617 |
+
_ThisAnimator.$OnPositionChange = _ThisAnimator.$OnStart = _ThisAnimator.$OnStop = _ThisAnimator.$OnInnerOffsetChange = $Jssor$.$EmptyFunction;
|
2618 |
+
_ThisAnimator.$Version = $Jssor$.$GetNow();
|
2619 |
+
|
2620 |
+
//Constructor 1
|
2621 |
+
{
|
2622 |
+
options = $Jssor$.$Extend({
|
2623 |
+
$Interval: 16,
|
2624 |
+
$IntervalMax: 50
|
2625 |
+
}, options);
|
2626 |
+
|
2627 |
+
//Sodo statement, for development time intellisence only
|
2628 |
+
$JssorDebug$.$Execute(function () {
|
2629 |
+
options = $Jssor$.$Extend({
|
2630 |
+
$LoopLength: undefined,
|
2631 |
+
$Setter: undefined,
|
2632 |
+
$Easing: undefined
|
2633 |
+
}, options);
|
2634 |
+
});
|
2635 |
+
|
2636 |
+
_LoopLength = options.$LoopLength;
|
2637 |
+
|
2638 |
+
_StyleSetter = $Jssor$.$Extend({}, $Jssor$.$StyleSetter(), options.$Setter);
|
2639 |
+
|
2640 |
+
_Position_OuterBegin = _Position_InnerBegin = delay;
|
2641 |
+
_Position_OuterEnd = _Position_InnerEnd = delay + duration;
|
2642 |
+
|
2643 |
+
_SubRounds = options.$Round || {};
|
2644 |
+
_SubDurings = options.$During || {};
|
2645 |
+
_SubEasings = $Jssor$.$Extend({ $Default: $Jssor$.$IsFunction(options.$Easing) && options.$Easing || $JssorEasing$.$EaseSwing }, options.$Easing);
|
2646 |
+
}
|
2647 |
+
};
|
2648 |
+
|
2649 |
+
function $JssorPlayerClass$() {
|
2650 |
+
|
2651 |
+
var _ThisPlayer = this;
|
2652 |
+
var _PlayerControllers = [];
|
2653 |
+
|
2654 |
+
function PlayerController(playerElement) {
|
2655 |
+
var _SelfPlayerController = this;
|
2656 |
+
var _PlayerInstance;
|
2657 |
+
var _PlayerInstantces = [];
|
2658 |
+
|
2659 |
+
function OnPlayerInstanceDataAvailable(event) {
|
2660 |
+
var srcElement = $Jssor$.$EventSrc(event);
|
2661 |
+
_PlayerInstance = srcElement.pInstance;
|
2662 |
+
|
2663 |
+
$Jssor$.$RemoveEvent(srcElement, "dataavailable", OnPlayerInstanceDataAvailable);
|
2664 |
+
$Jssor$.$Each(_PlayerInstantces, function (playerInstance) {
|
2665 |
+
if (playerInstance != _PlayerInstance) {
|
2666 |
+
playerInstance.$Remove();
|
2667 |
+
}
|
2668 |
+
});
|
2669 |
+
|
2670 |
+
playerElement.pTagName = _PlayerInstance.tagName;
|
2671 |
+
_PlayerInstantces = null;
|
2672 |
+
}
|
2673 |
+
|
2674 |
+
function HandlePlayerInstance(playerInstanceElement) {
|
2675 |
+
var playerHandler;
|
2676 |
+
|
2677 |
+
if (!playerInstanceElement.pInstance) {
|
2678 |
+
var playerHandlerAttribute = $Jssor$.$AttributeEx(playerInstanceElement, "pHandler");
|
2679 |
+
|
2680 |
+
if ($JssorPlayer$[playerHandlerAttribute]) {
|
2681 |
+
$Jssor$.$AddEvent(playerInstanceElement, "dataavailable", OnPlayerInstanceDataAvailable);
|
2682 |
+
playerHandler = new $JssorPlayer$[playerHandlerAttribute](playerElement, playerInstanceElement);
|
2683 |
+
_PlayerInstantces.push(playerHandler);
|
2684 |
+
|
2685 |
+
$JssorDebug$.$Execute(function () {
|
2686 |
+
if ($Jssor$.$Type(playerHandler.$Remove) != "function") {
|
2687 |
+
$JssorDebug$.$Fail("'pRemove' interface not implemented for player handler '" + playerHandlerAttribute + "'.");
|
2688 |
+
}
|
2689 |
+
});
|
2690 |
+
}
|
2691 |
+
}
|
2692 |
+
|
2693 |
+
return playerHandler;
|
2694 |
+
}
|
2695 |
+
|
2696 |
+
_SelfPlayerController.$InitPlayerController = function () {
|
2697 |
+
if (!playerElement.pInstance && !HandlePlayerInstance(playerElement)) {
|
2698 |
+
|
2699 |
+
var playerInstanceElements = $Jssor$.$Children(playerElement);
|
2700 |
+
|
2701 |
+
$Jssor$.$Each(playerInstanceElements, function (playerInstanceElement) {
|
2702 |
+
HandlePlayerInstance(playerInstanceElement);
|
2703 |
+
});
|
2704 |
+
}
|
2705 |
+
};
|
2706 |
+
}
|
2707 |
+
|
2708 |
+
_ThisPlayer.$EVT_SWITCH = 21;
|
2709 |
+
|
2710 |
+
_ThisPlayer.$FetchPlayers = function (elmt) {
|
2711 |
+
elmt = elmt || document.body;
|
2712 |
+
|
2713 |
+
var playerElements = $Jssor$.$FindChildren(elmt, "player");
|
2714 |
+
|
2715 |
+
$Jssor$.$Each(playerElements, function (playerElement) {
|
2716 |
+
if (!_PlayerControllers[playerElement.pId]) {
|
2717 |
+
playerElement.pId = _PlayerControllers.length;
|
2718 |
+
_PlayerControllers.push(new PlayerController(playerElement));
|
2719 |
+
}
|
2720 |
+
var playerController = _PlayerControllers[playerElement.pId];
|
2721 |
+
playerController.$InitPlayerController();
|
2722 |
+
});
|
2723 |
+
};
|
2724 |
+
}
|
skin/frontend/base/default/js/layerslider/jssor.slider.min-old.js
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
1 |
+
(function(g,f,b,e,c,d,o){/*! Jssor */
|
2 |
+
$Jssor$=g.$Jssor$=g.$Jssor$||{};new(function(){this.$DebugMode=c;this.$Log=function(c,d){var a=g.console||{},b=this.$DebugMode;if(b&&a.log)a.log(c);else b&&d&&alert(c)};this.$Error=function(b,d){var c=g.console||{},a=this.$DebugMode;if(a&&c.error)c.error(b);else a&&alert(b);if(a)throw d||new Error(b);};this.$Fail=function(a){throw new Error(a);};this.$Assert=function(b,c){var a=this.$DebugMode;if(a)if(!b)throw new Error("Assert failed "+c||"");};this.$Trace=function(c){var a=g.console||{},b=this.$DebugMode;b&&a.log&&a.log(c)};this.$Execute=function(b){var a=this.$DebugMode;a&&b()};this.$LiveStamp=function(b,c){var a=f.createElement("DIV");a.setAttribute("id",c);b.$Live=a}});var m=function(){var b=this,a={};b.$On=b.addEventListener=function(b,c){if(typeof c!="function")return;if(!a[b])a[b]=[];a[b].push(c)};b.$Off=b.removeEventListener=function(e,d){var b=a[e];if(typeof d!="function")return;else if(!b)return;for(var c=0;c<b.length;c++)if(d==b[c]){b.splice(c,1);return}};b.$ClearEventListeners=function(b){if(a[b])delete a[b]};b.$TriggerEvent=function(e){var c=a[e],d=[];if(!c)return;for(var b=1;b<arguments.length;b++)d.push(arguments[b]);for(var b=0;b<c.length;b++)try{c[b].apply(g,d)}catch(f){}}},h;(function(){h=function(a,b){this.x=typeof a=="number"?a:0;this.y=typeof b=="number"?b:0};var a=h.prototype;a.$Plus=function(a){return new h(this.x+a.x,this.y+a.y)};a.$Minus=function(a){return new h(this.x-a.x,this.y-a.y)};a.$Times=function(a){return new h(this.x*a,this.y*a)};a.$Divide=function(a){return new h(this.x/a,this.y/a)};a.$Negate=function(){return new h(-this.x,-this.y)};a.$DistanceTo=function(a){return b.sqrt(b.pow(this.x-a.x,2)+b.pow(this.y-a.y,2))};a.$Apply=function(a){return new h(a(this.x),a(this.y))};a.$Equals=function(a){return a instanceof h&&this.x===a.x&&this.y===a.y};a.$ToString=function(){return"("+this.x+","+this.y+")"}})();var l=g.$JssorEasing$={$EaseLinear:function(a){return a},$EaseGoBack:function(a){return 1-b.abs(2-1)},$EaseSwing:function(a){return-b.cos(a*b.PI)/2+.5},$EaseInQuad:function(a){return a*a},$EaseOutQuad:function(a){return-a*(a-2)},$EaseInOutQuad:function(a){return(a*=2)<1?1/2*a*a:-1/2*(--a*(a-2)-1)},$EaseInCubic:function(a){return a*a*a},$EaseOutCubic:function(a){return(a-=1)*a*a+1},$EaseInOutCubic:function(a){return(a*=2)<1?1/2*a*a*a:1/2*((a-=2)*a*a+2)},$EaseInQuart:function(a){return a*a*a*a},$EaseOutQuart:function(a){return-((a-=1)*a*a*a-1)},$EaseInOutQuart:function(a){return(a*=2)<1?1/2*a*a*a*a:-1/2*((a-=2)*a*a*a-2)},$EaseInQuint:function(a){return a*a*a*a*a},$EaseOutQuint:function(a){return(a-=1)*a*a*a*a+1},$EaseInOutQuint:function(a){return(a*=2)<1?1/2*a*a*a*a*a:1/2*((a-=2)*a*a*a*a+2)},$EaseInSine:function(a){return 1-b.cos(a*b.PI/2)},$EaseOutSine:function(a){return b.sin(a*b.PI/2)},$EaseInOutSine:function(a){return-1/2*(b.cos(b.PI*a)-1)},$EaseInExpo:function(a){return a==0?0:b.pow(2,10*(a-1))},$EaseOutExpo:function(a){return a==1?1:-b.pow(2,-10*a)+1},$EaseInOutExpo:function(a){return a==0||a==1?a:(a*=2)<1?1/2*b.pow(2,10*(a-1)):1/2*(-b.pow(2,-10*--a)+2)},$EaseInCirc:function(a){return-(b.sqrt(1-a*a)-1)},$EaseOutCirc:function(a){return b.sqrt(1-(a-=1)*a)},$EaseInOutCirc:function(a){return(a*=2)<1?-1/2*(b.sqrt(1-a*a)-1):1/2*(b.sqrt(1-(a-=2)*a)+1)},$EaseInElastic:function(a){if(!a||a==1)return a;var c=.3,d=.075;return-(b.pow(2,10*(a-=1))*b.sin((a-d)*2*b.PI/c))},$EaseOutElastic:function(a){if(!a||a==1)return a;var c=.3,d=.075;return b.pow(2,-10*a)*b.sin((a-d)*2*b.PI/c)+1},$EaseInOutElastic:function(a){if(!a||a==1)return a;var c=.45,d=.1125;return(a*=2)<1?-.5*b.pow(2,10*(a-=1))*b.sin((a-d)*2*b.PI/c):b.pow(2,-10*(a-=1))*b.sin((a-d)*2*b.PI/c)*.5+1},$EaseInBack:function(a){var b=1.70158;return a*a*((b+1)*a-b)},$EaseOutBack:function(a){var b=1.70158;return(a-=1)*a*((b+1)*a+b)+1},$EaseInOutBack:function(a){var b=1.70158;return(a*=2)<1?1/2*a*a*(((b*=1.525)+1)*a-b):1/2*((a-=2)*a*(((b*=1.525)+1)*a+b)+2)},$EaseInBounce:function(a){return 1-l.$EaseOutBounce(1-a)},$EaseOutBounce:function(a){return a<1/2.75?7.5625*a*a:a<2/2.75?7.5625*(a-=1.5/2.75)*a+.75:a<2.5/2.75?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375},$EaseInOutBounce:function(a){return a<1/2?l.$EaseInBounce(a*2)*.5:l.$EaseOutBounce(a*2-1)*.5+.5},$EaseInWave:function(a){return 1-b.cos(a*b.PI*2)},$EaseOutWave:function(a){return b.sin(a*b.PI*2)},$EaseOutJump:function(a){return 1-((a*=2)<1?(a=1-a)*a*a:(a-=1)*a*a)},$EaseInJump:function(a){return(a*=2)<1?a*a*a:(a=2-a)*a*a}},i=g.$JssorDirection$={$TO_LEFT:1,$TO_RIGHT:2,$TO_TOP:4,$TO_BOTTOM:8,$HORIZONTAL:3,$VERTICAL:12,$LEFTRIGHT:3,$TOPBOTOM:12,$TOPLEFT:5,$TOPRIGHT:6,$BOTTOMLEFT:9,$BOTTOMRIGHT:10,$AROUND:15,$GetDirectionHorizontal:function(a){return a&3},$GetDirectionVertical:function(a){return a&12},$ChessHorizontal:function(a){return(~a&3)+(a&12)},$ChessVertical:function(a){return(~a&12)+(a&3)},$IsToLeft:function(a){return(a&3)==1},$IsToRight:function(a){return(a&3)==2},$IsToTop:function(a){return(a&12)==4},$IsToBottom:function(a){return(a&12)==8},$IsHorizontal:function(a){return(a&3)>0},$IsVertical:function(a){return(a&12)>0}},r={$BACKSPACE:8,$COMMA:188,$DELETE:46,$DOWN:40,$END:35,$ENTER:13,$ESCAPE:27,$HOME:36,$LEFT:37,$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,$SPACE:32,$TAB:9,$UP:38},p,n={$UNKNOWN:0,$IE:1,$FIREFOX:2,$SAFARI:3,$CHROME:4,$OPERA:5},z=1,v=2,x=3,w=4,y=5,j,a=g.$JssorUtils$=new function(){var i=this,m=n.$UNKNOWN,j=0,s=0,T=0,B=0,fb=navigator.appName,k=navigator.userAgent;function F(){if(!m)if(fb=="Microsoft Internet Explorer"&&!!g.attachEvent&&!!g.ActiveXObject){var d=k.indexOf("MSIE");m=n.$IE;s=parseFloat(k.substring(d+5,k.indexOf(";",d)));/*@cc_on T=@_jscript_version@*/;j=f.documentMode||s}else if(fb=="Netscape"&&!!g.addEventListener){var c=k.indexOf("Firefox"),a=k.indexOf("Safari"),h=k.indexOf("Chrome"),b=k.indexOf("AppleWebKit");if(c>=0){m=n.$FIREFOX;j=parseFloat(k.substring(c+8))}else if(a>=0){var i=k.substring(0,a).lastIndexOf("/");m=h>=0?n.$CHROME:n.$SAFARI;j=parseFloat(k.substring(i+1,a))}if(b>=0)B=parseFloat(k.substring(b+12))}else{var e=/(opera)(?:.*version|)[ \/]([\w.]+)/i.exec(k);if(e){m=n.$OPERA;j=parseFloat(e[2])}}}function r(){F();return m==z}function I(){return r()&&(j<6||f.compatMode=="BackCompat")}function Z(){F();return m==v}function O(){F();return m==x}function lb(){F();return m==w}function nb(){F();return m==y}function V(){return O()&&B>534&&B<535}function hb(){return O()&&B<535}function A(){return r()&&j<9}var D;function t(a){if(!D){q(["transform","WebkitTransform","msTransform","MozTransform","OTransform"],function(b){if(!i.$IsUndefined(a.style[b])){D=b;return c}});D=D||"transform"}return D}function jb(a,b){return b&&a!=f.body?f.body:a.offsetParent}function db(a){return Object.prototype.toString.call(a)}var L;function q(a,c){if(db(a)=="[object Array]"){for(var b=0;b<a.length;b++)if(c(a[b],b,a))break}else for(var d in a)if(c(a[d],d,a))break}function ob(){if(!L){L={};q(["Boolean","Number","String","Function","Array","Date","RegExp","Object"],function(a){L["[object "+a+"]"]=a.toLowerCase()})}return L}function C(a){return a==e?String(a):ob()[db(a)]||"object"}function pb(a){if(!a||C(a)!=="object"||a.nodeType||i.$IsWindow(a))return d;var b=Object.prototype.hasOwnProperty;try{if(a.constructor&&!b.call(a,"constructor")&&!b.call(a.constructor.prototype,"isPrototypeOf"))return d}catch(e){return d}var c;for(c in a);return c===o||b.call(a,c)}function eb(b,a){setTimeout(b,a||0)}function K(b,d,c){var a=!b||b=="inherit"?"":b;q(d,function(c){var b=c.exec(a);if(b){var d=a.substr(0,b.index),e=a.substr(b.lastIndex+1,a.length-(b.lastIndex+1));a=d+e}});a=c+(a.indexOf(" ")!=0?" ":"")+a;return a}function ab(b,a){if(j<9)b.style.filter=a}function ib(b,a,c){if(T<9){var e=b.style.filter,g=new RegExp(/[\s]*progid:DXImageTransform\.Microsoft\.Matrix\([^\)]*\)/g),f=a?"progid:DXImageTransform.Microsoft.Matrix(M11="+a[0][0]+", M12="+a[0][1]+", M21="+a[1][0]+", M22="+a[1][1]+", SizingMethod='auto expand')":"",d=K(e,[g],f);ab(b,d);i.$CssMarginTop(b,c.y);i.$CssMarginLeft(b,c.x)}}i.$IsBrowserIE=r;i.$IsBrowserIeQuirks=I;i.$IsBrowserFireFox=Z;i.$IsBrowserSafari=O;i.$IsBrowserChrome=lb;i.$IsBrowserOpera=nb;i.$IsBrowserBadTransform=V;i.$IsBrowserSafeHWA=hb;i.$IsBrowserIe9Earlier=A;i.$GetBrowserVersion=function(){return j};i.$GetBrowserEngineVersion=function(){return s||j};i.$GetWebKitVersion=function(){return B};i.$Delay=eb;i.$GetElement=function(a){if(i.$IsString(a))a=f.getElementById(a);return a};i.$GetElementPosition=function(a){a=i.$GetElement(a);var b=new h;while(a){b.x+=a.offsetLeft;b.y+=a.offsetTop;var c=i.$GetElementStyle(a).position=="fixed";if(c)b=b.$Plus(i.$GetPageScroll(g));a=jb(a,c)}return b};i.$GetElementSize=function(a){a=i.$GetElement(a);return new h(a.clientWidth,a.clientHeight)};i.$GetEvent=function(a){return a?a:g.event};i.$GetEventSrcElement=function(a){a=i.$GetEvent(a);return a.target||a.srcElement||f};i.$GetEventDstElement=function(a){a=i.$GetEvent(a);return a.relatedTarget||a.toElement};i.$GetMousePosition=function(a){a=i.$GetEvent(a);var b=new h;if(a.type=="DOMMouseScroll"&&Z()&&j<3){b.x=a.screenX;b.y=a.screenY}else if(typeof a.pageX=="number"){b.x=a.pageX;b.y=a.pageY}else if(typeof a.clientX=="number"){b.x=a.clientX+f.body.scrollLeft+f.documentElement.scrollLeft;b.y=a.clientY+f.body.scrollTop+f.documentElement.scrollTop}return b};i.$GetMouseScroll=function(a){a=i.$GetEvent(a);var c=0;if(typeof a.wheelDelta=="number")c=a.wheelDelta;else if(typeof a.detail=="number")c=a.detail*-1;return c?c/b.abs(c):0};i.$GetPageScroll=function(b){var a=new h,c=b.document.documentElement||{},d=b.document.body||{};if(typeof b.pageXOffset=="number"){a.x=b.pageXOffset;a.y=b.pageYOffset}else if(d.scrollLeft||d.scrollTop){a.x=d.scrollLeft;a.y=d.scrollTop}else if(c.scrollLeft||c.scrollTop){a.x=c.scrollLeft;a.y=c.scrollTop}return a};i.$GetWindowSize=function(c){var a=new h,b=I()?c.document.body:c.document.documentElement;a.x=b.clientWidth;a.y=b.clientHeight;return a};function G(c,d,a){if(a!=o)c.style[d]=a;else{var b=c.currentStyle||c.style;a=b[d];if(a==""&&g.getComputedStyle){b=c.ownerDocument.defaultView.getComputedStyle(c,e);b&&(a=b.getPropertyValue(d)||b[d])}return a}}function Q(b,c,a,d){if(a!=o){d&&(a+="px");G(b,c,a)}else return parseFloat(G(b,c))}function rb(b,d,a){return Q(b,d,a,c)}function l(d,a){var b=a&2,c=a?Q:G;return function(e,a){return c(e,d,a,b)}}function kb(b){if(r()&&s<9){var a=/opacity=([^)]*)/.exec(b.style.filter||"");return a?parseFloat(a[1])/100:1}else return parseFloat(b.style.opacity||"1")}function mb(c,a,f){if(r()&&s<9){var h=c.style.filter||"",i=new RegExp(/[\s]*alpha\([^\)]*\)/g),e=b.round(100*a),d="";if(e<100||f)d="alpha(opacity="+e+") ";var g=K(h,[i],d);ab(c,g)}else c.style.opacity=a==1?"":b.round(a*100)/100}function S(g,c){var f=c.$Rotate||0,d=c.$Scale==o?1:c.$Scale;if(A()){var k=i.$CreateMatrix(f/180*b.PI,d,d);ib(g,!f&&d==1?e:k,i.$GetMatrixOffset(k,c.$OriginalWidth,c.$OriginalHeight))}else{var h=t(g);if(h){var j="rotate("+f%360+"deg) scale("+d+")";if(a.$IsBrowserChrome()&&B>535)j+=" perspective(2000px)";g.style[h]=j}}}i.$SetStyleTransform=function(b,a){if(V())eb(i.$CreateCallback(e,S,b,a));else S(b,a)};i.$SetStyleTransformOrigin=function(b,c){var a=t(b);if(a)b.style[a+"Origin"]=c};i.$SetStyleScale=function(a,c){if(r()&&s<9||s<10&&I())a.style.zoom=c==1?"":c;else{var b=t(a);if(b){var f="scale("+c+")",e=a.style[b],g=new RegExp(/[\s]*scale\(.*?\)/g),d=K(e,[g],f);a.style[b]=d}}};i.$EnableHWA=function(a){if(!a.style[t(a)]||a.style[t(a)]=="none")a.style[t(a)]="perspective(2000px)"};i.$DisableHWA=function(a){a.style[t(a)]="none"};var cb=0,bb=0,H;function gb(g){var f=c,a=I()?g.document.body:g.document.documentElement;if(a){var e=a.offsetWidth-cb,b=a.offsetHeight-bb;if(e||b){cb+=e;bb+=b}else f=d}f&&q(H,function(a){a()})}i.$OnWindowResize=function(b,a){if(r()&&s<9)if(!H){H=[a];a=i.$CreateCallback(e,gb,b)}else{H.push(a);return}i.$AddEvent(b,"resize",a)};i.$AddEvent=function(a,c,d,b){a=i.$GetElement(a);if(a.addEventListener){c=="mousewheel"&&a.addEventListener("DOMMouseScroll",d,b);a.addEventListener(c,d,b)}else if(a.attachEvent){a.attachEvent("on"+c,d);b&&a.setCapture&&a.setCapture()}};i.$RemoveEvent=function(a,c,d,b){a=i.$GetElement(a);if(a.removeEventListener){c=="mousewheel"&&a.removeEventListener("DOMMouseScroll",d,b);a.removeEventListener(c,d,b)}else if(a.detachEvent){a.detachEvent("on"+c,d);b&&a.releaseCapture&&a.releaseCapture()}};i.$FireEvent=function(c,b){var a;if(f.createEvent){a=f.createEvent("HTMLEvents");a.initEvent(b,d,d);c.dispatchEvent(a)}else{var e="on"+b;a=f.createEventObject();c.fireEvent(e,a)}};i.$AddEventBrowserMouseUp=function(b,a){i.$AddEvent(A()?f:g,"mouseup",b,a)};i.$RemoveEventBrowserMouseUp=function(b,a){i.$RemoveEvent(A()?f:g,"mouseup",b,a)};i.$AddEventBrowserMouseDown=function(b,a){i.$AddEvent(A()?f:g,"mousedown",b,a)};i.$RemoveEventBrowserMouseDown=function(b,a){i.$RemoveEvent(A()?f:g,"mousedown",b,a)};i.$CancelEvent=function(a){a=i.$GetEvent(a);a.preventDefault&&a.preventDefault();a.cancel=c;a.returnValue=d};i.$StopEvent=function(a){a=i.$GetEvent(a);a.stopPropagation&&a.stopPropagation();a.cancelBubble=c};i.$CreateCallback=function(e,d){for(var b=[],a=2;a<arguments.length;a++)b.push(arguments[a]);var c=function(){for(var c=b.concat([]),a=0;a<arguments.length;a++)c.push(arguments[a]);return d.apply(e,c)};return c};var M;i.$FreeElement=function(b){if(!M)M=i.$CreateDivElement();if(b){a.$AppendChild(M,b);a.$ClearInnerHtml(M)}};i.$SetInnerText=function(a,c){var b=f.createTextNode(c);i.$ClearInnerHtml(a);a.appendChild(b)};i.$GetInnerText=function(a){return a.textContent||a.innerText};i.$GetInnerHtml=function(a){return a.innerHTML};i.$SetInnerHtml=function(a,b){a.innerHTML=b};i.$ClearInnerHtml=function(a){a.innerHTML=""};i.$EncodeHtml=function(b){var a=i.$CreateDivElement();i.$SetInnerText(a,b);return i.$GetInnerHtml(a)};i.$DecodeHtml=function(b){var a=i.$CreateDivElement();i.$SetInnerHtml(a,b);return i.$GetInnerText(a)};i.$SelectElement=function(c){var b;if(g.getSelection)b=g.getSelection();var a=e;if(f.createRange){a=f.createRange();a.selectNode(c)}else{a=f.body.createTextRange();a.moveToElementText(c);a.select()}b&&b.addRange(a)};i.$DeselectElements=function(){if(f.selection)f.selection.empty();else g.getSelection&&g.getSelection().removeAllRanges()};i.$GetChildren=function(c){for(var b=[],a=c.firstChild;a;a=a.nextSibling)a.nodeType==1&&b.push(a);return b};function R(a,c,b,f){if(!b)b="u";for(a=a?a.firstChild:e;a;a=a.nextSibling)if(a.nodeType==1){if(i.$GetAttributeEx(a,b)==c)return a;if(f){var d=R(a,c,b,f);if(d)return d}}}i.$FindFirstChildByAttribute=R;function W(a,c,d){for(a=a?a.firstChild:e;a;a=a.nextSibling)if(a.nodeType==1){if(a.tagName==c)return a;if(d){var b=W(a,c,d);if(b)return b}}}i.$FindFirstChildByTag=W;function X(a,d,g){var b=[];for(a=a?a.firstChild:e;a;a=a.nextSibling)if(a.nodeType==1){(!d||a.tagName==d)&&b.push(a);if(g){var f=X(a,d,c);if(f.length)b=b.concat(f)}}return b}i.$FindChildrenByTag=X;i.$GetElementsByTagName=function(b,a){return b.getElementsByTagName(a)};i.$Extend=function(c){for(var b=1;b<arguments.length;b++){var a=arguments[b];if(a)for(var d in a)c[d]=a[d]}return c};i.$Unextend=function(b,d){var c={};for(var a in b)if(b[a]!=d[a])c[a]=b[a];return c};i.$IsUndefined=function(a){return C(a)=="undefined"};i.$IsFunction=function(a){return C(a)=="function"};i.$IsArray=Array.isArray||function(a){return C(a)=="array"};i.$IsString=function(a){return C(a)=="string"};i.$IsNumeric=function(a){return!isNaN(parseFloat(a))&&isFinite(a)};i.$IsWindow=function(a){return a!=e&&a==a.window};i.$Type=C;i.$Each=q;i.$IsPlainObject=pb;i.$CreateDivElement=function(a){return i.$CreateElement("DIV",a)};i.$CreateSpanElement=function(a){return i.$CreateElement("SPAN",a)};i.$CreateElement=function(b,a){a=a||f;return a.createElement(b)};i.$EmptyFunction=function(){};i.$GetAttribute=function(a,b){return a.getAttribute(b)};i.$GetAttributeEx=function(a,b){return i.$GetAttribute(a,b)||i.$GetAttribute(a,"data-"+b)};i.$SetAttribute=function(b,c,a){b.setAttribute(c,a)};i.$GetClassName=function(a){return a.className};i.$SetClassName=function(b,a){b.className=a||""};i.$GetParentNode=function(a){return a.parentNode};i.$HideElement=function(a){i.$CssDisplay(a,"none")};i.$HideElements=function(b){for(var a=0;a<b.length;a++)i.$HideElement(b[a])};i.$ShowElement=function(a,b){i.$CssDisplay(a,b==d?"none":"")};i.$ShowElements=function(b){for(var a=0;a<b.length;a++)i.$ShowElement(b[a])};i.$RemoveAttribute=function(b,a){b.removeAttribute(a)};i.$CanClearClip=function(){return r()&&j<10};i.$SetStyleClip=function(d,c){if(c)d.style.clip="rect("+b.round(c.$Top)+"px "+b.round(c.$Right)+"px "+b.round(c.$Bottom)+"px "+b.round(c.$Left)+"px)";else{var g=d.style.cssText,f=[new RegExp(/[\s]*clip: rect\(.*?\)[;]?/i),new RegExp(/[\s]*cliptop: .*?[;]?/i),new RegExp(/[\s]*clipright: .*?[;]?/i),new RegExp(/[\s]*clipbottom: .*?[;]?/i),new RegExp(/[\s]*clipleft: .*?[;]?/i)],e=K(g,f,"");a.$CssCssText(d,e)}};i.$GetNow=function(){return+new Date};i.$AppendChild=function(b,a){b.appendChild(a)};i.$AppendChildren=function(b,a){q(a,function(a){i.$AppendChild(b,a)})};i.$InsertBefore=function(c,b,a){c.insertBefore(b,a)};i.$InsertAdjacentHtml=function(b,a,c){b.insertAdjacentHTML(a,c)};i.$RemoveChild=function(b,a){b.removeChild(a)};i.$RemoveChildren=function(b,a){q(a,function(a){i.$RemoveChild(b,a)})};i.$ClearChildren=function(a){i.$RemoveChildren(a,i.$GetChildren(a))};i.$ParseInt=function(b,a){return parseInt(b,a||10)};i.$ParseFloat=function(a){return parseFloat(a)};i.$IsChild=function(b,a){var c=f.body;while(a&&b!=a&&c!=a)try{a=a.parentNode}catch(e){return d}return b==a};i.$ToLowerCase=function(a){if(a)a=a.toLowerCase();return a};i.$CloneNode=function(b,a){return b.cloneNode(a)};function N(b,a,c){a.onload=e;a.abort=e;b&&b(a,c)}i.$LoadImage=function(d,b){if(i.$IsBrowserOpera()&&j<11.6||!d)N(b,e);else{var a=new Image;a.onload=i.$CreateCallback(e,N,b,a);a.onabort=i.$CreateCallback(e,N,b,a,c);a.src=d}};i.$LoadImages=function(e,b,f){var d=e.length+1;function c(a){d--;if(b&&a&&a.src==b.src)b=a;!d&&f&&f(b)}a.$Each(e,function(b){a.$LoadImage(b.src,c)});c()};i.$BuildElement=function(d,k,j,i){if(i)d=a.$CloneNode(d,c);for(var h=a.$GetElementsByTagName(d,k),f=h.length-1;f>-1;f--){var b=h[f],e=a.$CloneNode(j,c);a.$SetClassName(e,a.$GetClassName(b));a.$CssCssText(e,b.style.cssText);var g=a.$GetParentNode(b);a.$InsertBefore(g,e,b);a.$RemoveChild(g,b)}return d};var E;function qb(b){var g=this,h,e,j;function f(){var c=h;if(e)c+="dn";else if(j)c+="av";a.$SetClassName(b,c)}function k(){E.push(g);e=c;f()}g.$MouseUp=function(){e=d;f()};g.$Activate=function(a){j=a;f()};b=i.$GetElement(b);if(!E){i.$AddEventBrowserMouseUp(function(){var a=E;E=[];q(a,function(a){a.$MouseUp()})});E=[]}h=i.$GetClassName(b);a.$AddEvent(b,"mousedown",k)}i.$Buttonize=function(a){return new qb(a)};i.$Css=G;i.$CssN=Q;i.$CssP=rb;i.$CssOverflow=l("overflow");i.$CssTop=l("top",2);i.$CssLeft=l("left",2);i.$CssWidth=l("width",2);i.$CssHeight=l("height",2);i.$CssMarginLeft=l("marginLeft",2);i.$CssMarginTop=l("marginTop",2);i.$CssPosition=l("position");i.$CssDisplay=l("display");i.$CssZIndex=l("zIndex",1);i.$CssFloat=function(b,a){return G(b,r()?"styleFloat":"cssFloat",a)};i.$CssOpacity=function(b,a,c){if(a!=o)mb(b,a,c);else return kb(b)};i.$CssCssText=function(a,b){if(b!=o)a.style.cssText=b;else return a.style.cssText};var P={$Opacity:i.$CssOpacity,$Top:i.$CssTop,$Left:i.$CssLeft,$Width:i.$CssWidth,$Height:i.$CssHeight,$Position:i.$CssPosition,$Display:i.$CssDisplay,$ZIndex:i.$CssZIndex},u;function J(){if(!u)u=i.$Extend({$MarginTop:i.$CssMarginTop,$MarginLeft:i.$CssMarginLeft,$Clip:i.$SetStyleClip,$Transform:i.$SetStyleTransform},P);return u}function Y(){J();u.$Transform=u.$Transform;return u}i.$GetStyleSetter=J;i.$GetStyleSetterEx=Y;i.$GetStyles=function(c,b){J();var a={};q(b,function(d,b){if(P[b])a[b]=P[b](c)});return a};i.$SetStyles=function(c,b){var a=J();q(b,function(d,b){a[b]&&a[b](c,d)})};i.$SetStylesEx=function(b,a){Y();i.$SetStyles(b,a)};p=new function(){var a=this;function b(d,g){for(var j=d[0].length,i=d.length,h=g[0].length,f=[],c=0;c<i;c++)for(var k=f[c]=[],b=0;b<h;b++){for(var e=0,a=0;a<j;a++)e+=d[c][a]*g[a][b];k[b]=e}return f}a.$ScaleX=function(b,c){return a.$ScaleXY(b,c,0)};a.$ScaleY=function(b,c){return a.$ScaleXY(b,0,c)};a.$ScaleXY=function(a,c,d){return b(a,[[c,0],[0,d]])};a.$TransformPoint=function(d,c){var a=b(d,[[c.x],[c.y]]);return new h(a[0][0],a[1][0])}};i.$CreateMatrix=function(d,a,c){var e=b.cos(d),f=b.sin(d);return[[e*a,-f*c],[f*a,e*c]]};i.$GetMatrixOffset=function(d,c,a){var e=p.$TransformPoint(d,new h(-c/2,-a/2)),f=p.$TransformPoint(d,new h(c/2,-a/2)),g=p.$TransformPoint(d,new h(c/2,a/2)),i=p.$TransformPoint(d,new h(-c/2,a/2));return new h(b.min(e.x,f.x,g.x,i.x)+c/2,b.min(e.y,f.y,g.y,i.y)+a/2)}};j=function(n,m,g,O,z,x){n=n||0;var f=this,r,K,o,p,y,A=0,C,M,L,D,j=0,t=0,E,k=n,s=n+m,i,h,q,u=[],B;function I(b){i+=b;h+=b;k+=b;s+=b;j+=b;t+=b;a.$Each(u,function(a){a,a.$Shift(b)})}function N(a,b){var c=a-i+n*b;I(c);return h}function w(w,G){var n=w;if(q&&(n>=h||n<=i))n=((n-i)%q+q)%q+i;if(!E||y||G||j!=n){var p=b.min(n,h);p=b.max(p,i);if(!E||y||G||p!=t){if(x){var d=x;if(z){var s=(p-k)/(m||1);if(g.$Optimize&&a.$IsBrowserChrome()&&m)s=b.round(s*m/16)/m*16;if(g.$Reverse)s=1-s;d={};for(var o in x){var R=M[o]||1,J=L[o]||[0,1],l=(s-J[0])/J[1];l=b.min(b.max(l,0),1);l=l*R;var H=b.floor(l);if(l!=H)l-=H;var Q=C[o]||C.$Default,I=Q(l),r,K=z[o],F=x[o];if(a.$IsNumeric(F))r=K+(F-K)*I;else{r=a.$Extend({$Offset:{}},z[o]);a.$Each(F.$Offset,function(c,b){var a=c*I;r.$Offset[b]=a;r[b]+=a})}d[o]=r}}if(z.$Zoom)d.$Transform={$Rotate:d.$Rotate||0,$Scale:d.$Zoom,$OriginalWidth:g.$OriginalWidth,$OriginalHeight:g.$OriginalHeight};if(x.$Clip&&g.$Move){var v=d.$Clip.$Offset,D=(v.$Top||0)+(v.$Bottom||0),A=(v.$Left||0)+(v.$Right||0);d.$Left=(d.$Left||0)+A;d.$Top=(d.$Top||0)+D;d.$Clip.$Left-=A;d.$Clip.$Right-=A;d.$Clip.$Top-=D;d.$Clip.$Bottom-=D}if(d.$Clip&&a.$CanClearClip()&&!d.$Clip.$Top&&!d.$Clip.$Left&&d.$Clip.$Right==g.$OriginalWidth&&d.$Clip.$Bottom==g.$OriginalHeight)d.$Clip=e;a.$Each(d,function(b,a){B[a]&&B[a](O,b)})}f.$OnInnerOffsetChange(t-k,p-k)}t=p;a.$Each(u,function(b,c){var a=w<j?u[u.length-c-1]:b;a.$GoToPosition(w,G)});var P=j,N=w;j=n;E=c;f.$OnPositionChange(P,N)}}function F(a,c){c&&a.$Locate(h,1);h=b.max(h,a.$GetPosition_OuterEnd());u.push(a)}function H(){if(r){var d=a.$GetNow(),e=b.min(d-A,a.$IsBrowserOpera()?80:20),c=j+e*p;A=d;if(c*p>=o*p)c=o;w(c);if(!y&&c*p>=o*p)J(D);else a.$Delay(H,g.$Interval)}}function v(d,e,g){if(!r){r=c;y=g;D=e;d=b.max(d,i);d=b.min(d,h);o=d;p=o<j?-1:1;f.$OnStart();A=a.$GetNow();H()}}function J(a){if(r){y=r=D=d;f.$OnStop();a&&a()}}f.$Play=function(a,b,c){v(a?j+a:h,b,c)};f.$PlayToPosition=function(b,a,c){v(b,a,c)};f.$PlayToBegin=function(a,b){v(i,a,b)};f.$PlayToEnd=function(a,b){v(h,a,b)};f.$Stop=function(){J()};f.$Continue=function(a){v(a)};f.$GetPosition=function(){return j};f.$GetPlayToPosition=function(){return o};f.$GetPosition_Display=function(){return t};f.$GoToPosition=w;f.$GoToBegin=function(){w(i,c)};f.$GoToEnd=function(){w(h,c)};f.$Move=function(a){w(j+a)};f.$CombineMode=function(){return K};f.$GetDuration=function(){return m};f.$IsPlaying=function(){return r};f.$IsOnTheWay=function(){return j>k&&j<=s};f.$SetLoopLength=function(a){q=a};f.$Locate=N;f.$Shift=I;f.$Join=F;f.$Combine=function(a){F(a,0)};f.$Chain=function(a){F(a,1)};f.$GetPosition_InnerBegin=function(){return k};f.$GetPosition_InnerEnd=function(){return s};f.$GetPosition_OuterBegin=function(){return i};f.$GetPosition_OuterEnd=function(){return h};f.$OnPositionChange=a.$EmptyFunction;f.$OnStart=a.$EmptyFunction;f.$OnStop=a.$EmptyFunction;f.$OnInnerOffsetChange=a.$EmptyFunction;f.$Version=a.$GetNow();g=a.$Extend({$Interval:16},g);q=g.$LoopLength;B=a.$Extend({},a.$GetStyleSetter(),g.$Setter);i=k=n;h=s=n+m;var M=g.$Round||{},L=g.$During||{};C=a.$Extend({$Default:a.$IsFunction(g.$Easing)&&g.$Easing||l.$EaseSwing},g.$Easing)};var s,k=g.$JssorSlideshowFormations$={};new function(){var p=0,o=1,w=2,v=3,I=1,H=2,J=4,G=8,O=256,P=512,N=1024,M=2048,z=M+I,y=M+H,E=P+I,C=P+H,D=O+J,A=O+G,B=N+J,F=N+G;function S(a){return(a&H)==H}function T(a){return(a&J)==J}function x(b,a,c){c.push(a);b[a]=b[a]||[];b[a].push(c)}k.$FormationStraight=function(f){for(var d=f.$Cols,e=f.$Rows,k=f.$Assembly,l=f.$Count,j=[],a=0,b=0,h=d-1,i=e-1,g=l-1,c,b=0;b<e;b++)for(a=0;a<d;a++){switch(k){case z:c=g-(a*e+(i-b));break;case B:c=g-(b*d+(h-a));break;case E:c=g-(a*e+b);case D:c=g-(b*d+a);break;case y:c=a*e+b;break;case A:c=b*d+(h-a);break;case C:c=a*e+(i-b);break;default:c=b*d+a}x(j,c,[b,a])}return j};k.$FormationSwirl=function(e){var l=e.$Cols,m=e.$Rows,r=e.$Assembly,k=e.$Count,q=[],n=[],i=0,a=0,b=0,f=l-1,g=m-1,h,d,j=0;switch(r){case z:a=f;b=0;d=[w,o,v,p];break;case B:a=0;b=g;d=[p,v,o,w];break;case E:a=f;b=g;d=[v,o,w,p];break;case D:a=f;b=g;d=[o,v,p,w];break;case y:a=0;b=0;d=[w,p,v,o];break;case A:a=f;b=0;d=[o,w,p,v];break;case C:a=0;b=g;d=[v,p,w,o];break;default:a=0;b=0;d=[p,w,o,v]}i=0;while(i<k){h=b+","+a;if(a>=0&&a<l&&b>=0&&b<m&&!n[h]){n[h]=c;x(q,i++,[b,a])}else switch(d[j++%d.length]){case p:a--;break;case w:b--;break;case o:a++;break;case v:b++}switch(d[j%d.length]){case p:a++;break;case w:b++;break;case o:a--;break;case v:b--}}return q};k.$FormationZigZag=function(d){var k=d.$Cols,l=d.$Rows,n=d.$Assembly,j=d.$Count,h=[],i=0,a=0,b=0,e=k-1,f=l-1,m,c,g=0;switch(n){case z:a=e;b=0;c=[w,o,v,o];break;case B:a=0;b=f;c=[p,v,o,v];break;case E:a=e;b=f;c=[v,o,w,o];break;case D:a=e;b=f;c=[o,v,p,v];break;case y:a=0;b=0;c=[w,p,v,p];break;case A:a=e;b=0;c=[o,w,p,w];break;case C:a=0;b=f;c=[v,p,w,p];break;default:a=0;b=0;c=[p,w,o,w]}i=0;while(i<j){m=b+","+a;if(a>=0&&a<k&&b>=0&&b<l&&typeof h[m]=="undefined"){x(h,i++,[b,a]);switch(c[g%c.length]){case p:a++;break;case w:b++;break;case o:a--;break;case v:b--}}else{switch(c[g++%c.length]){case p:a--;break;case w:b--;break;case o:a++;break;case v:b++}switch(c[g++%c.length]){case p:a++;break;case w:b++;break;case o:a--;break;case v:b--}}}return h};k.$FormationStraightStairs=function(h){var l=h.$Cols,m=h.$Rows,e=h.$Assembly,k=h.$Count,i=[],j=0,c=0,d=0,f=l-1,g=m-1,o=k-1;switch(e){case z:case C:case E:case y:var a=0,b=0;break;case A:case B:case D:case F:var a=f,b=0;break;default:e=F;var a=f,b=0}c=a;d=b;while(j<k){if(T(e)||S(e))x(i,o-j++,[d,c]);else x(i,j++,[d,c]);switch(e){case z:case C:c--;d++;break;case E:case y:c++;d--;break;case A:case B:c--;d--;break;case F:case D:default:c++;d++}if(c<0||d<0||c>f||d>g){switch(e){case z:case C:a++;break;case A:case B:case E:case y:b++;break;case F:case D:default:a--}if(a<0||b<0||a>f||b>g){switch(e){case z:case C:a=f;b++;break;case E:case y:b=g;a++;break;case A:case B:b=g;a--;break;case F:case D:default:a=0;b++}if(b>g)b=g;else if(b<0)b=0;else if(a>f)a=f;else if(a<0)a=0}d=b;c=a}}return i};k.$FormationSquare=function(h){var a=h.$Cols||1,c=h.$Rows||1,i=[],d,e,f,g,j;f=a<c?(c-a)/2:0;g=a>c?(a-c)/2:0;j=b.round(b.max(a/2,c/2))+1;for(d=0;d<a;d++)for(e=0;e<c;e++)x(i,j-b.min(d+1+f,e+1+g,a-d+f,c-e+g),[e,d]);return i};k.$FormationRectangle=function(f){var d=f.$Cols||1,e=f.$Rows||1,g=[],a,c,h;h=b.round(b.min(d/2,e/2))+1;for(a=0;a<d;a++)for(c=0;c<e;c++)x(g,h-b.min(a+1,c+1,d-a,e-c),[c,a]);return g};k.$FormationRandom=function(d){for(var e=[],a,c=0;c<d.$Rows;c++)for(a=0;a<d.$Cols;a++)x(e,b.ceil(1e5*b.random())%13,[c,a]);return e};k.$FormationCircle=function(d){for(var e=d.$Cols||1,f=d.$Rows||1,g=[],a,h=e/2-.5,i=f/2-.5,c=0;c<e;c++)for(a=0;a<f;a++)x(g,b.round(b.sqrt(b.pow(c-h,2)+b.pow(a-i,2))),[a,c]);return g};k.$FormationCross=function(d){for(var e=d.$Cols||1,f=d.$Rows||1,g=[],a,h=e/2-.5,i=f/2-.5,c=0;c<e;c++)for(a=0;a<f;a++)x(g,b.round(b.min(b.abs(c-h),b.abs(a-i))),[a,c]);return g};k.$FormationRectangleCross=function(f){for(var g=f.$Cols||1,h=f.$Rows||1,i=[],a,d=g/2-.5,e=h/2-.5,j=b.max(d,e)+1,c=0;c<g;c++)for(a=0;a<h;a++)x(i,b.round(j-b.max(d-b.abs(c-d),e-b.abs(a-e)))-1,[a,c]);return i};function Q(a){var b=a.$Formation(a);return a.$Reverse?b.reverse():b}function K(g,f){var e={$Interval:f,$Duration:1,$Delay:0,$Cols:1,$Rows:1,$Opacity:0,$Zoom:0,$Clip:0,$Move:d,$SlideOut:d,$FlyDirection:0,$Reverse:d,$Formation:k.$FormationRandom,$Assembly:F,$ChessMode:{$Column:0,$Row:0},$Easing:l.$EaseSwing,$Round:{},$Blocks:[],$During:{}};a.$Extend(e,g);e.$Count=e.$Cols*e.$Rows;if(a.$IsFunction(e.$Easing))e.$Easing={$Default:e.$Easing};e.$FramesCount=b.ceil(e.$Duration/e.$Interval);e.$EasingInstance=R(e);e.$GetBlocks=function(b,a){b/=e.$Cols;a/=e.$Rows;var f=b+"x"+a;if(!e.$Blocks[f]){e.$Blocks[f]={$Width:b,$Height:a};for(var c=0;c<e.$Cols;c++)for(var d=0;d<e.$Rows;d++)e.$Blocks[f][d+","+c]={$Top:d*a,$Right:c*b+b,$Bottom:d*a+a,$Left:c*b}}return e.$Blocks[f]};if(e.$Brother){e.$Brother=K(e.$Brother,f);e.$SlideOut=c}return e}function R(d){var c=d.$Easing;if(!c.$Default)c.$Default=l.$EaseSwing;var e=d.$FramesCount,f=c.$Cache;if(!f){var g=a.$Extend({},d.$Easing,d.$Round);f=c.$Cache={};a.$Each(g,function(n,l){var g=c[l]||c.$Default,j=d.$Round[l]||1;if(!a.$IsArray(g.$Cache))g.$Cache=[];var h=g.$Cache[e]=g.$Cache[e]||[];if(!h[j]){h[j]=[0];for(var k=1;k<=e;k++){var i=k/e*j,m=b.floor(i);if(i!=m)i-=m;h[j][k]=g(i)}}f[l]=h})}return f}function L(D,k,f,y,m,l){var B=this,v,w={},p={},o=[],h,g,t,r=f.$ChessMode.$Column||0,s=f.$ChessMode.$Row||0,j=f.$GetBlocks(m,l),q=Q(f),E=q.length-1,u=f.$Duration+f.$Delay*E,z=y+u,n=f.$SlideOut,A;z+=a.$IsBrowserChrome()?260:50;B.$EndTime=z;B.$ShowFrame=function(c){c-=y;var d=c<u;if(d||A){A=d;if(!n)c=u-c;var e=b.ceil(c/f.$Interval);a.$Each(p,function(c,f){var d=b.max(e,c.$Min);d=b.min(d,c.length-1);if(c.$LastFrameIndex!=d){if(!c.$LastFrameIndex&&!n)a.$ShowElement(o[f]);else d==c.$Max&&n&&a.$HideElement(o[f]);c.$LastFrameIndex=d;a.$SetStylesEx(o[f],c[d])}})}};function x(b){a.$DisableHWA(b);var c=a.$GetChildren(b);a.$Each(c,function(a){x(a)})}k=a.$CloneNode(k,c);x(k);if(a.$IsBrowserIe9Earlier()){var F=!k["no-image"],C=a.$FindChildrenByTag(k,e,c);a.$Each(C,function(b){(F||b["jssor-slider"])&&a.$CssOpacity(b,a.$CssOpacity(b),c)})}a.$Each(q,function(e,k){a.$Each(e,function(N){var S=N[0],R=N[1],z=S+","+R,u=d,x=d,A=d;if(r&&R%2){if(i.$IsHorizontal(r))u=!u;if(i.$IsVertical(r))x=!x;if(r&16)A=!A}if(s&&S%2){if(i.$IsHorizontal(s))u=!u;if(i.$IsVertical(s))x=!x;if(s&16)A=!A}f.$Top=f.$Top||f.$Clip&4;f.$Bottom=f.$Bottom||f.$Clip&8;f.$Left=f.$Left||f.$Clip&1;f.$Right=f.$Right||f.$Clip&2;var G=x?f.$Bottom:f.$Top,D=x?f.$Top:f.$Bottom,F=u?f.$Right:f.$Left,E=u?f.$Left:f.$Right;f.$Clip=G||D||F||E;t={};g={$Top:0,$Left:0,$Opacity:1,$Width:m,$Height:l};h=a.$Extend({},g);v=a.$Extend({},j[z]);if(f.$Opacity)g.$Opacity=2-f.$Opacity;if(f.$ZIndex){g.$ZIndex=f.$ZIndex;h.$ZIndex=0}var Q=f.$Cols*f.$Rows>1||f.$Clip;if(f.$Zoom||f.$Rotate){var P=c;if(a.$IsBrowserIE()&&a.$GetBrowserEngineVersion()<9)if(f.$Cols*f.$Rows>1)P=d;else Q=d;if(P){g.$Zoom=f.$Zoom?f.$Zoom-1:1;h.$Zoom=1;if(a.$IsBrowserIe9Earlier()||a.$IsBrowserOpera())g.$Zoom=b.min(g.$Zoom,2);var K=f.$Rotate;if(K==c)K=1;g.$Rotate=K*360*(A?-1:1);h.$Rotate=0}}if(Q){if(f.$Clip){var y=f.$ScaleClip||1,o=v.$Offset={};if(G&&D){o.$Top=j.$Height/2*y;o.$Bottom=-o.$Top}else if(G)o.$Bottom=-j.$Height*y;else if(D)o.$Top=j.$Height*y;if(F&&E){o.$Left=j.$Width/2*y;o.$Right=-o.$Left}else if(F)o.$Right=-j.$Width*y;else if(E)o.$Left=j.$Width*y}t.$Clip=v;h.$Clip=j[z]}if(f.$FlyDirection){var q=f.$FlyDirection;if(!u)q=i.$ChessHorizontal(q);if(!x)q=i.$ChessVertical(q);var M=f.$ScaleHorizontal||1,O=f.$ScaleVertical||1;if(i.$IsToLeft(q))g.$Left+=m*M;else if(i.$IsToRight(q))g.$Left-=m*M;if(i.$IsToTop(q))g.$Top+=l*O;else if(i.$IsToBottom(q))g.$Top-=l*O}a.$Each(g,function(b,c){if(a.$IsNumeric(b))if(b!=h[c])t[c]=b-h[c]});w[z]=n?h:g;var L=b.round(k*f.$Delay/f.$Interval);p[z]=new Array(L);p[z].$Min=L;for(var C=f.$FramesCount,J=0;J<=C;J++){var e={};a.$Each(t,function(g,c){var m=f.$EasingInstance[c]||f.$EasingInstance.$Default,l=m[f.$Round[c]||1],k=f.$During[c]||[0,1],d=(J/C-k[0])/k[1]*C;d=b.round(b.min(C,b.max(d,0)));var j=l[d];if(a.$IsNumeric(g))e[c]=h[c]+g*j;else{var i=e[c]=a.$Extend({},h[c]);i.$Offset=[];a.$Each(g.$Offset,function(c,b){var a=c*j;i.$Offset[b]=a;i[b]+=a})}});if(h.$Zoom)e.$Transform={$Rotate:e.$Rotate||0,$Scale:e.$Zoom,$OriginalWidth:m,$OriginalHeight:l};if(e.$Clip&&f.$Move){var B=e.$Clip.$Offset,I=(B.$Top||0)+(B.$Bottom||0),H=(B.$Left||0)+(B.$Right||0);e.$Left=(e.$Left||0)+H;e.$Top=(e.$Top||0)+I;e.$Clip.$Left-=H;e.$Clip.$Right-=H;e.$Clip.$Top-=I;e.$Clip.$Bottom-=I}e.$ZIndex=e.$ZIndex||1;p[z].push(e)}})});q.reverse();a.$Each(q,function(b){a.$Each(b,function(d){var g=d[0],f=d[1],e=g+","+f,b=k;if(f||g)b=a.$CloneNode(k,c);a.$SetStyles(b,w[e]);a.$CssOverflow(b,"hidden");a.$CssPosition(b,"absolute");D.$AddClipElement(b);o[e]=b;a.$ShowElement(b,n)})})}g.$JssorSlideshowRunner$=function(h,l,i,n,p){var d=this,o,f,c,s=0,r=n.$TransitionsOrder,k,g=16;function q(){var a=this,b=0;j.call(a,0,o);a.$OnPositionChange=function(d,a){if(a-b>g){b=a;c&&c.$ShowFrame(a);f&&f.$ShowFrame(a)}};a.$Transition=k}d.$GetTransition=function(f){var c=0,e=n.$Transitions,d=e.length;if(r){if(d>f&&(a.$IsBrowserChrome()||a.$IsBrowserSafari()||a.$IsBrowserFireFox()))d-=d%f;c=s++%d}else c=b.floor(b.random()*d);e[c]&&(e[c].$Index=c);return e[c]};d.$Initialize=function(w,x,n,p,a){k=a;a=K(a,g);var m=p.$Item,j=n.$Item;m["no-image"]=!p.$Image;j["no-image"]=!n.$Image;var q=m,r=j,v=a,e=a.$Brother||K({},g);if(!a.$SlideOut){q=j;r=m}var s=e.$Shift||0;f=new L(h,r,e,b.max(s-e.$Interval,0),l,i);c=new L(h,q,v,b.max(e.$Interval-s,0),l,i);f.$ShowFrame(0);c.$ShowFrame(0);o=b.max(f.$EndTime,c.$EndTime);d.$Index=w};d.$Clear=function(){h.$Clear();f=e;c=e};d.$GetProcessor=function(){var a=e;if(c)a=new q;return a};if(a.$IsBrowserIe9Earlier()||a.$IsBrowserOpera()||p&&a.$GetWebKitVersion<537)g=32;m.call(d);j.call(d,-1e7,1e7)};function n(o,ec){var i=this;function zc(){var a=this;j.call(a,-1e8,2e8);a.$GetCurrentSlideInfo=function(){var c=a.$GetPosition_Display(),d=b.floor(c),f=u(d),e=c-b.floor(c);return{$Index:f,$VirtualIndex:d,$Position:e}};a.$OnPositionChange=function(d,a){var e=b.floor(a);if(e!=a&&a>d)e++;Rb(e,c);i.$TriggerEvent(n.$EVT_POSITION_CHANGE,u(a),u(d),a,d)}}function yc(){var b=this;j.call(b,0,0,{$LoopLength:s});a.$Each(C,function(a){K&1&&a.$SetLoopLength(s);b.$Chain(a);a.$Shift(hb/Zb)})}function xc(){var a=this,b=Qb.$Elmt;j.call(a,-1,2,{$Easing:l.$EaseLinear,$Setter:{$Position:Xb},$LoopLength:s},b,{$Position:1},{$Position:-1});a.$Wrapper=b}function mc(o,m){var a=this,f,g,h,l,b;j.call(a,-1e8,2e8);a.$OnStart=function(){R=c;V=e;i.$TriggerEvent(n.$EVT_SWIPE_START,u(y.$GetPosition()),y.$GetPosition())};a.$OnStop=function(){R=d;l=d;var a=y.$GetCurrentSlideInfo();i.$TriggerEvent(n.$EVT_SWIPE_END,u(y.$GetPosition()),y.$GetPosition());!a.$Position&&Bc(a.$VirtualIndex,p)};a.$OnPositionChange=function(d,c){var a;if(l)a=b;else{a=g;if(h)a=k.$SlideEasing(c/h)*(g-f)+f}y.$GoToPosition(a)};a.$PlayCarousel=function(b,d,c,e){f=b;g=d;h=c;y.$GoToPosition(b);a.$GoToPosition(0);a.$PlayToPosition(c,e)};a.$StandBy=function(d){l=c;b=d;a.$Play(d,e,c)};a.$SetStandByPosition=function(a){b=a};a.$MoveCarouselTo=function(a){y.$GoToPosition(a)};y=new zc;y.$Combine(o);y.$Combine(m)}function nc(){var c=this,b=Wb();a.$CssZIndex(b,0);c.$Elmt=b;c.$AddClipElement=function(c){a.$AppendChild(b,c);a.$ShowElement(b)};c.$Clear=function(){a.$HideElement(b);a.$ClearInnerHtml(b)}}function wc(q,o){var f=this,t,x,K,y,g,z=[],R,r,X,I,P,F,l,v,h,hb;j.call(f,-w,w+1,{$SlideItemAnimator:c});function E(a){x&&x.$Revert();t&&t.$Revert();W(q,a);F=c;t=new N.$Class(q,N,1);x=new N.$Class(q,N);x.$GoToBegin();t.$GoToBegin()}function Z(){t.$Version<N.$Version&&E()}function L(o,q,m){if(!I){I=c;if(g&&m){var e=m.width,b=m.height,l=e,j=b;if(e&&b&&k.$FillMode){if(k.$FillMode&3&&(!(k.$FillMode&4)||e>J||b>H)){var h=d,p=J/H*b/e;if(k.$FillMode&1)h=p>1;else if(k.$FillMode&2)h=p<1;l=h?e*H/b:J;j=h?H:b*J/e}a.$CssWidth(g,l);a.$CssHeight(g,j);a.$CssTop(g,(H-j)/2);a.$CssLeft(g,(J-l)/2)}a.$CssPosition(g,"absolute");i.$TriggerEvent(n.$EVT_LOAD_END,cc)}}a.$HideElement(q);o&&o(f)}function Y(b,c,d,e){if(e==V&&p==o&&S)if(!Ac){var a=u(b);A.$Initialize(a,o,c,f,d);c.$HideContentForSlideshow();ab.$Locate(a,1);ab.$GoToPosition(a);B.$PlayCarousel(b,b,0)}}function cb(b){if(b==V&&p==o){if(!l){var a=e;if(A)if(A.$Index==o)a=A.$GetProcessor();else A.$Clear();Z();l=new uc(o,a,f.$GetCaptionSliderIn(),f.$GetCaptionSliderOut());l.$SetPlayer(h)}!l.$IsPlaying()&&l.$Replay()}}function Q(d,c){if(d==o){if(d!=c)C[c]&&C[c].$ParkOut();h&&h.$Enable();var j=V=a.$GetNow();f.$LoadImage(a.$CreateCallback(e,cb,j))}else{var i=b.abs(o-d),g=w+k.$LazyLoading;(!P||i<=g||s-i<=g)&&f.$LoadImage()}}function fb(){if(p==o&&l){l.$Stop();h&&h.$Quit();h&&h.$Disable();l.$OpenSlideshowPanel()}}function gb(){p==o&&l&&l.$Stop()}function O(b){if(U)a.$CancelEvent(b);else i.$TriggerEvent(n.$EVT_CLICK,o,b)}function M(){h=v.pInstance;l&&l.$SetPlayer(h)}f.$LoadImage=function(d,b){b=b||y;if(z.length&&!I){a.$ShowElement(b);if(!X){X=c;i.$TriggerEvent(n.$EVT_LOAD_START);a.$Each(z,function(b){if(!b.src){b.src=a.$GetAttributeEx(b,"src2");a.$CssDisplay(b,b["display-origin"])}})}a.$LoadImages(z,g,a.$CreateCallback(e,L,d,b))}else L(d,b)};f.$GoForNextSlide=function(){if(A){var b=A.$GetTransition(s);if(b){var f=V=a.$GetNow(),c=o+1*Vb,d=C[u(c)];return d.$LoadImage(a.$CreateCallback(e,Y,c,d,b,f),y)}}bb(p+k.$AutoPlaySteps*Vb)};f.$TryActivate=function(){Q(o,o)};f.$ParkOut=function(){h&&h.$Quit();h&&h.$Disable();f.$UnhideContentForSlideshow();l&&l.$Abort();l=e;E()};f.$StampSlideItemElements=function(a){a=hb+"_"+a};f.$HideContentForSlideshow=function(){a.$HideElement(q)};f.$UnhideContentForSlideshow=function(){a.$ShowElement(q)};f.$EnablePlayer=function(){h&&h.$Enable()};function W(b,f,e){if(b["jssor-slider"])return;e=e||0;if(!F){if(b.tagName=="IMG"){z.push(b);if(!b.src){P=c;b["display-origin"]=a.$CssDisplay(b);a.$HideElement(b)}}a.$IsBrowserIe9Earlier()&&a.$CssZIndex(b,(a.$CssZIndex(b)||0)+1);if(k.$HWA&&a.$GetWebKitVersion()>0)(!G||a.$GetWebKitVersion()<534||!eb)&&a.$EnableHWA(b)}var h=a.$GetChildren(b);a.$Each(h,function(h){var j=a.$GetAttributeEx(h,"u");if(j=="player"&&!v){v=h;if(v.pInstance)M();else a.$AddEvent(v,"dataavailable",M)}if(j=="caption"){if(!a.$IsBrowserIE()&&!f){var i=a.$CloneNode(h,c);a.$InsertBefore(b,i,h);a.$RemoveChild(b,h);h=i;f=c}}else if(!F&&!e&&!g&&a.$GetAttributeEx(h,"u")=="image"){g=h;if(g){if(g.tagName=="A"){R=g;a.$SetStyles(R,T);r=a.$CloneNode(g,d);a.$AddEvent(r,"click",O);a.$SetStyles(r,T);a.$CssDisplay(r,"block");a.$CssOpacity(r,0);a.$Css(r,"backgroundColor","#000");g=a.$FindFirstChildByTag(g,"IMG")}g.border=0;a.$SetStyles(g,T)}}W(h,f,e+1)})}f.$OnInnerOffsetChange=function(c,b){var a=w-b;Xb(K,a)};f.$GetCaptionSliderIn=function(){return t};f.$GetCaptionSliderOut=function(){return x};f.$Index=o;m.call(f);var D=a.$FindFirstChildByAttribute(q,"thumb");if(D){f.$Thumb=a.$CloneNode(D,c);a.$RemoveAttribute(D,"id");a.$HideElement(D)}a.$ShowElement(q);y=a.$CloneNode(db,c);a.$CssZIndex(y,1e3);a.$AddEvent(q,"click",O);E(c);f.$Image=g;f.$Link=r;f.$Item=q;f.$Wrapper=K=q;a.$AppendChild(K,y);i.$On(203,Q);i.$On(22,gb);i.$On(24,fb)}function uc(g,r,v,u){var b=this,m=0,x=0,o,h,e,f,l,s,w,t,q=C[g];j.call(b,0,0);function y(){a.$ClearChildren(O);dc&&l&&q.$Link&&a.$AppendChild(O,q.$Link);a.$ShowElement(O,l||!q.$Image)}function z(){if(s){s=d;i.$TriggerEvent(n.$EVT_ROLLBACK_END,g,e,m,h,e,f);b.$GoToPosition(h)}b.$Replay()}function B(a){t=a;b.$Stop();b.$Replay()}b.$Replay=function(){var a=b.$GetPosition_Display();if(!I&&!R&&!t&&p==g){if(!a){if(o&&!l){l=c;b.$OpenSlideshowPanel(c);i.$TriggerEvent(n.$EVT_SLIDESHOW_START,g,m,x,o,f)}y()}var d,k=n.$EVT_STATE_CHANGE;if(a!=f)if(a==e)d=f;else if(a==h)d=e;else if(!a)d=h;else if(a>e){s=c;d=e;k=n.$EVT_ROLLBACK_START}else d=b.$GetPlayToPosition();i.$TriggerEvent(k,g,a,m,h,e,f);var j=S&&(!Tb||Z);if(a==f)j&&q.$GoForNextSlide();else(j||a!=e)&&b.$PlayToPosition(d,z)}};b.$Abort=function(){A&&A.$Index==g&&A.$Clear();var a=b.$GetPosition_Display();a<f&&i.$TriggerEvent(n.$EVT_STATE_CHANGE,g,-a-1,m,h,e,f)};b.$OpenSlideshowPanel=function(b){r&&a.$CssOverflow(jb,b&&r.$Transition.$Outside?"":"hidden")};b.$OnInnerOffsetChange=function(b,a){if(l&&a>=o){l=d;y();q.$UnhideContentForSlideshow();A.$Clear();i.$TriggerEvent(n.$EVT_SLIDESHOW_END,g,m,x,o,f)}i.$TriggerEvent(n.$EVT_PROGRESS_CHANGE,g,a,m,h,e,f)};b.$SetPlayer=function(a){if(a&&!w){w=a;a.$On($JssorPlayer$.$EVT_SWITCH,B)}};r&&b.$Chain(r);o=b.$GetPosition_OuterEnd();b.$GetPosition_OuterEnd();b.$Chain(v);h=v.$GetPosition_OuterEnd();e=h+k.$AutoPlayInterval;u.$Shift(e);b.$Combine(u);f=b.$GetPosition_OuterEnd()}function Xb(c,g){var f=x>0?x:ib,d=Ab*g*(f&1),e=Bb*g*(f>>1&1);if(!a.$IsBrowserChrome()){d=b.round(d);e=b.round(e)}if(a.$IsBrowserIE()&&a.$GetBrowserVersion()>=10&&a.$GetBrowserVersion()<11)c.style.msTransform="translate("+d+"px, "+e+"px)";else if(a.$IsBrowserChrome()&&a.$GetBrowserVersion()>=30&&a.$GetBrowserVersion()<34){c.style.WebkitTransition="transform 0s";c.style.WebkitTransform="translate3d("+d+"px, "+e+"px, 0px) perspective(2000px)"}else{a.$CssLeft(c,d);a.$CssTop(c,e)}}function sc(c){U=0;var b=a.$GetEventSrcElement(c).tagName;!L&&b!="INPUT"&&b!="TEXTAREA"&&qc()&&rc(c)}function rc(b){qb=R;I=c;zb=d;V=e;a.$AddEvent(f,ob,ac);a.$GetNow();Ib=B.$GetPlayToPosition();B.$Stop();if(!qb)x=0;if(G){var h=b.touches[0];ub=h.clientX;vb=h.clientY}else{var g=a.$GetMousePosition(b);ub=g.x;vb=g.y;a.$CancelEvent(b)}E=0;cb=0;gb=0;D=y.$GetPosition();i.$TriggerEvent(n.$EVT_DRAG_START,u(D),D,b)}function ac(e){if(I&&(!a.$IsBrowserIe9Earlier()||e.button)){var f;if(G){var m=e.touches;if(m&&m.length>0)f=new h(m[0].clientX,m[0].clientY)}else f=a.$GetMousePosition(e);if(f){var k=f.x-ub,l=f.y-vb;if(b.floor(D)!=D)x=x||ib&L;if((k||l)&&!x){if(L==3)if(b.abs(l)>b.abs(k))x=2;else x=1;else x=L;if(G&&x==1&&b.abs(l)-b.abs(k)>3)zb=c}if(x){var d=l,j=Bb;if(x==1){d=k;j=Ab}if(!(K&1)){if(d>0){var g=j*p,i=d-g;if(i>0)d=g+b.sqrt(i)*5}if(d<0){var g=j*(s-w-p),i=-d-g;if(i>0)d=-g-b.sqrt(i)*5}}if(E-cb<-2)gb=1;else if(E-cb>2)gb=0;cb=E;E=d;sb=D-E/j/(nb||1);if(E&&x&&!zb){a.$CancelEvent(e);if(!R)B.$StandBy(sb);else B.$SetStandByPosition(sb)}else a.$IsBrowserIe9Earlier()&&a.$CancelEvent(e)}}}else Eb(e)}function Eb(h){oc();if(I){I=d;a.$GetNow();a.$RemoveEvent(f,ob,ac);U=E;U&&a.$CancelEvent(h);B.$Stop();var e=y.$GetPosition();i.$TriggerEvent(n.$EVT_DRAG_END,u(e),e,u(D),D,h);var c=b.floor(D);if(b.abs(E)>=k.$MinDragOffsetToSlide){c=b.floor(e);c+=gb}if(!(K&1))c=b.min(s-w,b.max(c,0));var g=b.abs(c-e);g=1-b.pow(1-g,5);if(!U&&qb)B.$Continue(Ib);else if(e==c){tb.$EnablePlayer();tb.$TryActivate()}else B.$PlayCarousel(e,c,g*Sb)}}function lc(a){C[p];p=u(a);tb=C[p];Rb(a);return p}function Bc(a,b){x=0;lc(a);i.$TriggerEvent(n.$EVT_PARK,u(a),b)}function Rb(b,c){xb=b;a.$Each(Q,function(a){a.$SetCurrentIndex(u(b),b,c)})}function qc(){var b=n.$DragRegistry||0,a=P;if(G)a&1&&(a&=1);n.$DragRegistry|=a;return L=a&~b}function oc(){if(L){n.$DragRegistry&=~P;L=0}}function Wb(){var b=a.$CreateDivElement();a.$SetStyles(b,T);a.$CssPosition(b,"absolute");return b}function u(a){return(a%s+s)%s}function ic(a,c){if(c)if(!K){a=b.min(b.max(a+xb,0),s-w);c=d}else if(K&2){a=u(a+xb);c=d}bb(a,k.$SlideDuration,c)}function yb(){a.$Each(Q,function(a){a.$Show(a.$Options.$ChanceToShow>Z)})}function gc(b){b=a.$GetEvent(b);var c=b.target?b.target:b.srcElement,d=b.relatedTarget?b.relatedTarget:b.toElement;if(!a.$IsChild(o,c)||a.$IsChild(o,d))return;Z=1;yb();C[p].$TryActivate()}function fc(){Z=0;yb()}function hc(){T={$Width:J,$Height:H,$Top:0,$Left:0};a.$Each(X,function(b){a.$SetStyles(b,T);a.$CssPosition(b,"absolute");a.$CssOverflow(b,"hidden");a.$HideElement(b)});a.$SetStyles(db,T)}function lb(b,a){bb(b,a,c)}function bb(h,g,l){if(Ob&&(!I||k.$NaviQuitDrag)){R=c;I=d;B.$Stop();if(a.$IsUndefined(g))g=Sb;var f=Fb.$GetPosition_Display(),e=h;if(l){e=f+h;if(h>0)e=b.ceil(e);else e=b.floor(e)}if(!(K&1)){e=u(e);e=b.max(0,b.min(e,s-w))}var j=(e-f)%s;e=f+j;var i=f==e?0:g*b.abs(j);i=b.min(i,g*w*1.5);B.$PlayCarousel(f,e,i||1)}}i.$PlayTo=bb;i.$GoTo=function(a){bb(a,1)};i.$Next=function(){lb(1)};i.$Prev=function(){lb(-1)};i.$Pause=function(){S=d};i.$Play=function(){if(!S){S=c;C[p]&&C[p].$TryActivate()}};i.$SetSlideshowTransitions=function(a){k.$SlideshowOptions.$Transitions=a};i.$SetCaptionTransitions=function(b){N.$CaptionTransitions=b;N.$Version=a.$GetNow()};i.$SlidesCount=function(){return X.length};i.$CurrentIndex=function(){return p};i.$IsAutoPlaying=function(){return S};i.$IsDragging=function(){return I};i.$IsSliding=function(){return R};i.$IsMouseOver=function(){return!Z};i.$LastDragSucceded=function(){return U};i.$GetOriginalWidth=function(){return a.$CssWidth(v||o)};i.$GetOriginalHeight=function(){return a.$CssHeight(v||o)};i.$GetScaleWidth=function(){return a.$CssWidth(o)};i.$GetScaleHeight=function(){return a.$CssHeight(o)};i.$SetScaleWidth=function(c){if(!v){var b=a.$CreateDivElement(f);a.$CssCssText(b,a.$CssCssText(o));a.$SetClassName(b,a.$GetClassName(o));a.$CssPosition(b,"relative");a.$CssTop(b,0);a.$CssLeft(b,0);a.$CssOverflow(b,"visible");v=a.$CreateDivElement(f);a.$CssPosition(v,"absolute");a.$CssTop(v,0);a.$CssLeft(v,0);a.$CssWidth(v,a.$CssWidth(o));a.$CssHeight(v,a.$CssHeight(o));a.$SetStyleTransformOrigin(v,"0 0");a.$AppendChild(v,b);var g=a.$GetChildren(o);a.$AppendChild(o,v);a.$Css(o,"backgroundImage","");var e={navigator:Y&&Y.$Scale==d,arrowleft:M&&M.$Scale==d,arrowright:M&&M.$Scale==d,thumbnavigator:F&&F.$Scale==d,thumbwrapper:F&&F.$Scale==d};a.$Each(g,function(c){a.$AppendChild(e[a.$GetAttributeEx(c,"u")]?o:b,c)});a.$ShowElement(b);a.$ShowElement(v)}nb=c/a.$CssWidth(v);a.$SetStyleScale(v,nb);a.$CssWidth(o,c);a.$CssHeight(o,nb*a.$CssHeight(v));a.$Each(Q,function(a){a.$Relocate()})};i.$GetVirtualIndex=function(a){var d=b.ceil(u(hb/Zb)),c=u(a-p+d);if(c>w){if(a-p>s/2)a-=s;else if(a-p<=-s/2)a+=s}else a=p+c-d;return a};m.call(this);i.$Elmt=o=a.$GetElement(o);var k=a.$Extend({$FillMode:0,$LazyLoading:1,$StartIndex:0,$AutoPlay:d,$Loop:1,$HWA:c,$NaviQuitDrag:c,$AutoPlaySteps:1,$AutoPlayInterval:3e3,$PauseOnHover:1,$SlideDuration:500,$SlideEasing:l.$EaseOutQuad,$MinDragOffsetToSlide:20,$SlideSpacing:0,$DisplayPieces:1,$ParkingPosition:0,$UISearchMode:1,$PlayOrientation:1,$DragOrientation:1},ec),ib=k.$PlayOrientation&3,Vb=(k.$PlayOrientation&4)/-4||1,fb=k.$SlideshowOptions,N=a.$Extend({$Class:t,$PlayInMode:1,$PlayOutMode:1},k.$CaptionSliderOptions),Y=k.$BulletNavigatorOptions,M=k.$ArrowNavigatorOptions,F=k.$ThumbnailNavigatorOptions,W=k.$UISearchMode,v,z=a.$FindFirstChildByAttribute(o,"slides",e,W),db=a.$FindFirstChildByAttribute(o,"loading",e,W)||a.$CreateDivElement(f),Kb=a.$FindFirstChildByAttribute(o,"navigator",e,W),bc=a.$FindFirstChildByAttribute(o,"arrowleft",e,W),Yb=a.$FindFirstChildByAttribute(o,"arrowright",e,W),Hb=a.$FindFirstChildByAttribute(o,"thumbnavigator",e,W),kc=a.$CssWidth(z),jc=a.$CssHeight(z),T,X=[],tc=a.$GetChildren(z);a.$Each(tc,function(b){b.tagName=="DIV"&&!a.$GetAttributeEx(b,"u")&&X.push(b)});var p=-1,xb,tb,s=X.length,J=k.$SlideWidth||kc,H=k.$SlideHeight||jc,Ub=k.$SlideSpacing,Ab=J+Ub,Bb=H+Ub,Zb=ib&1?Ab:Bb,w=b.min(k.$DisplayPieces,s),jb,x,L,zb,G,Q=[],Nb,Pb,Mb,dc,Ac,S,Tb=k.$PauseOnHover,Sb=k.$SlideDuration,rb,eb,hb,Ob=w<s,K=Ob?k.$Loop:0,P,U,Z=1,R,I,V,ub=0,vb=0,E,cb,gb,Fb,y,ab,B,Qb=new nc,nb;S=k.$AutoPlay;i.$Options=ec;hc();o["jssor-slider"]=c;a.$CssZIndex(z,a.$CssZIndex(z)||0);a.$CssPosition(z,"absolute");jb=a.$CloneNode(z);a.$InsertBefore(a.$GetParentNode(z),jb,z);if(fb){dc=fb.$ShowLink;rb=fb.$Class;eb=w==1&&s>1&&rb&&(!a.$IsBrowserIE()||a.$GetBrowserVersion()>=8)}hb=eb||w>=s||!(K&1)?0:k.$ParkingPosition;P=(w>1||hb?ib:-1)&k.$DragOrientation;var wb=z,C=[],A,O,Db="mousedown",ob="mousemove",Gb="mouseup",mb,D,qb,Ib,sb;if(g.navigator.msPointerEnabled){Db="MSPointerDown";ob="MSPointerMove";Gb="MSPointerUp";mb="MSPointerCancel";if(P){var Cb="none";if(P==1)Cb="pan-y";else if(P==2)Cb="pan-x";a.$SetAttribute(wb.style,"-ms-touch-action",Cb)}}else if("ontouchstart"in g||"createTouch"in f){G=c;Db="touchstart";ob="touchmove";Gb="touchend";mb="touchcancel"}ab=new xc;if(eb)A=new rb(Qb,J,H,fb,G);a.$AppendChild(jb,ab.$Wrapper);a.$CssOverflow(z,"hidden");O=Wb();a.$Css(O,"backgroundColor","#000");a.$CssOpacity(O,0);a.$InsertBefore(wb,O,wb.firstChild);for(var pb=0;pb<X.length;pb++){var vc=X[pb],cc=new wc(vc,pb);C.push(cc)}a.$HideElement(db);Fb=new yc;B=new mc(Fb,ab);if(P){a.$AddEvent(z,Db,sc);a.$AddEvent(f,Gb,Eb);mb&&a.$AddEvent(f,mb,Eb)}Tb&=G?2:1;if(Kb&&Y){Nb=new Y.$Class(Kb,Y);Q.push(Nb)}if(M&&bc&&Yb){Pb=new M.$Class(bc,Yb,M);Q.push(Pb)}if(Hb&&F){F.$StartIndex=k.$StartIndex;Mb=new F.$Class(Hb,F);Q.push(Mb)}a.$Each(Q,function(a){a.$Reset(s,C,db);a.$On(q.$NAVIGATIONREQUEST,ic)});i.$SetScaleWidth(i.$GetOriginalWidth());a.$AddEvent(o,"mouseout",gc);a.$AddEvent(o,"mouseover",fc);yb();k.$ArrowKeyNavigation&&a.$AddEvent(f,"keydown",function(a){if(a.keyCode==r.$LEFT)lb(-1);else a.keyCode==r.$RIGHT&&lb(1)});var kb=k.$StartIndex;if(!(K&1))kb=b.max(0,b.min(kb,s-w));B.$PlayCarousel(kb,kb,0)}n.$EVT_CLICK=21;n.$EVT_DRAG_START=22;n.$EVT_DRAG_END=23;n.$EVT_SWIPE_START=24;n.$EVT_SWIPE_END=25;n.$EVT_LOAD_START=26;n.$EVT_LOAD_END=27;n.$EVT_POSITION_CHANGE=202;n.$EVT_PARK=203;n.$EVT_SLIDESHOW_START=206;n.$EVT_SLIDESHOW_END=207;n.$EVT_PROGRESS_CHANGE=208;n.$EVT_STATE_CHANGE=209;n.$EVT_ROLLBACK_START=210;n.$EVT_ROLLBACK_END=211;g.$JssorSlider$=s=n};var q={$NAVIGATIONREQUEST:1,$INDEXCHANGE:2,$RESET:3};g.$JssorBulletNavigator$=function(f,D){var h=this;m.call(h);f=a.$GetElement(f);var t,u,s,r,l=0,g,n,k,y,z,j,i,p,o,C=[],A=[];function x(a){a!=-1&&A[a].$Activate(a==l)}function v(a){h.$TriggerEvent(q.$NAVIGATIONREQUEST,a*n)}h.$Elmt=f;h.$GetCurrentIndex=function(){return r};h.$SetCurrentIndex=function(a){if(a!=r){var d=l,c=b.floor(a/n);l=c;r=a;x(d);x(c)}};h.$Show=function(b){a.$ShowElement(f,b)};var B;h.$Relocate=function(){if(!B||g.$Scale==d){g.$AutoCenter&1&&a.$CssLeft(f,(a.$CssWidth(a.$GetParentNode(f))-u)/2);g.$AutoCenter&2&&a.$CssTop(f,(a.$CssHeight(a.$GetParentNode(f))-s)/2);B=c}};var w;h.$Reset=function(D){if(!w){t=b.ceil(D/n);l=0;var q=p+y,r=o+z,m=b.ceil(t/k)-1;u=p+q*(!j?m:k-1);s=o+r*(j?m:k-1);a.$CssWidth(f,u);a.$CssHeight(f,s);for(var d=0;d<t;d++){var B=a.$CreateSpanElement();a.$SetInnerText(B,d+1);var h=a.$BuildElement(i,"NumberTemplate",B,c);a.$CssPosition(h,"absolute");var x=d%(m+1);a.$CssLeft(h,!j?q*x:d%k*q);a.$CssTop(h,j?r*x:b.floor(d/(m+1))*r);a.$AppendChild(f,h);C[d]=h;g.$ActionMode&1&&a.$AddEvent(h,"click",a.$CreateCallback(e,v,d));g.$ActionMode&2&&a.$AddEvent(h,"mouseover",a.$CreateCallback(e,v,d));A[d]=a.$Buttonize(h)}w=c}};h.$Options=g=a.$Extend({$SpacingX:0,$SpacingY:0,$Orientation:1,$ActionMode:1},D);i=a.$FindFirstChildByAttribute(f,"prototype");p=a.$CssWidth(i);o=a.$CssHeight(i);a.$RemoveChild(f,i);n=g.$Steps||1;k=g.$Lanes||1;y=g.$SpacingX;z=g.$SpacingY;j=g.$Orientation-1};g.$JssorArrowNavigator$=function(b,g,s){var f=this;m.call(f);var i,h,j,p=a.$GetParentNode(b),o=a.$CssWidth(b),l=a.$CssHeight(b);function k(a){f.$TriggerEvent(q.$NAVIGATIONREQUEST,a,c)}f.$GetCurrentIndex=function(){return i};f.$SetCurrentIndex=function(b,a,c){if(c)i=a;else i=b};f.$Show=function(c){a.$ShowElement(b,c);a.$ShowElement(g,c)};var r;f.$Relocate=function(){if(!r||h.$Scale==d){var f=a.$CssWidth(p),e=a.$CssHeight(p);if(h.$AutoCenter&1){a.$CssLeft(b,(f-o)/2);a.$CssLeft(g,(f-o)/2)}if(h.$AutoCenter&2){a.$CssTop(b,(e-l)/2);a.$CssTop(g,(e-l)/2)}r=c}};var n;f.$Reset=function(d){i=0;if(!n){a.$AddEvent(b,"click",a.$CreateCallback(e,k,-j));a.$AddEvent(g,"click",a.$CreateCallback(e,k,j));a.$Buttonize(b);a.$Buttonize(g);n=c}};f.$Options=h=a.$Extend({$Steps:1},s);j=h.$Steps};g.$JssorThumbnailNavigator$=function(i,A){var h=this,x,l,e,u=[],y,w,f,n,o,t,r,k,p,g,j;m.call(h);i=a.$GetElement(i);function z(n,d){var g=this,b,m,k;function o(){m.$Activate(l==d)}function i(){if(!p.$LastDragSucceded()){var a=f-d%f,b=p.$GetVirtualIndex((d+a)/f-1),c=b*f+f-a;h.$TriggerEvent(q.$NAVIGATIONREQUEST,c)}}g.$Index=d;g.$Highlight=o;k=n.$Thumb||n.$Image||a.$CreateDivElement();g.$Wrapper=b=a.$BuildElement(j,"ThumbnailTemplate",k,c);m=a.$Buttonize(b);e.$ActionMode&1&&a.$AddEvent(b,"click",i);e.$ActionMode&2&&a.$AddEvent(b,"mouseover",i)}h.$GetCurrentIndex=function(){return l};h.$SetCurrentIndex=function(c,d,e){var a=l;l=c;a!=-1&&u[a].$Highlight();u[c].$Highlight();!e&&p.$PlayTo(p.$GetVirtualIndex(b.floor(d/f)))};h.$Show=function(b){a.$ShowElement(i,b)};h.$Relocate=a.$EmptyFunction;var v;h.$Reset=function(F,D){if(!v){x=F;b.ceil(x/f);l=-1;k=b.min(k,D.length);var h=e.$Orientation&1,q=t+(t+n)*(f-1)*(1-h),m=r+(r+o)*(f-1)*h,C=q+(q+n)*(k-1)*h,A=m+(m+o)*(k-1)*(1-h);a.$CssPosition(g,"absolute");a.$CssOverflow(g,"hidden");e.$AutoCenter&1&&a.$CssLeft(g,(y-C)/2);e.$AutoCenter&2&&a.$CssTop(g,(w-A)/2);a.$CssWidth(g,C);a.$CssHeight(g,A);var j=[];a.$Each(D,function(l,e){var i=new z(l,e),d=i.$Wrapper,c=b.floor(e/f),k=e%f;a.$CssLeft(d,(t+n)*k*(1-h));a.$CssTop(d,(r+o)*k*h);if(!j[c]){j[c]=a.$CreateDivElement();a.$AppendChild(g,j[c])}a.$AppendChild(j[c],d);u.push(i)});var E=a.$Extend({$AutoPlay:d,$NaviQuitDrag:d,$SlideWidth:q,$SlideHeight:m,$SlideSpacing:n*h+o*(1-h),$MinDragOffsetToSlide:12,$SlideDuration:200,$PauseOnHover:1,$PlayOrientation:e.$Orientation,$DragOrientation:e.$DisableDrag?0:e.$Orientation},e);p=new s(i,E);v=c}};h.$Options=e=a.$Extend({$SpacingX:3,$SpacingY:3,$DisplayPieces:1,$Orientation:1,$AutoCenter:3,$ActionMode:1},A);y=a.$CssWidth(i);w=a.$CssHeight(i);g=a.$FindFirstChildByAttribute(i,"slides");j=a.$FindFirstChildByAttribute(g,"prototype");t=a.$CssWidth(j);r=a.$CssHeight(j);a.$RemoveChild(g,j);f=e.$Lanes||1;n=e.$SpacingX;o=e.$SpacingY;k=e.$DisplayPieces};function t(){j.call(this,0,0);this.$Revert=a.$EmptyFunction}g.$JssorCaptionSlider$=function(q,k,g){var d=this,h,o=g?k.$PlayInMode:k.$PlayOutMode,f=k.$CaptionTransitions,p={$Transition:"t",$Delay:"d",$Duration:"du",$ScaleHorizontal:"x",$ScaleVertical:"y",$Rotate:"r",$Zoom:"z",$Opacity:"f",$BeginTime:"b"},e={$Default:function(b,a){if(!isNaN(a.$Value))b=a.$Value;else b*=a.$Percent;return b},$Opacity:function(b,a){return this.$Default(b-1,a)}};e.$Zoom=e.$Opacity;j.call(d,0,0);function m(r,l){var k=[],i,j=[],c=[];function h(c,d){var b={};a.$Each(p,function(g,h){var e=a.$GetAttributeEx(c,g+(d||""));if(e){var f={};if(g=="t")f.$Value=e;else if(e.indexOf("%")+1)f.$Percent=a.$ParseFloat(e)/100;else f.$Value=a.$ParseFloat(e);b[h]=f}});return b}function n(){return f[b.floor(b.random()*f.length)]}function d(g){var h;if(g=="*")h=n();else if(g){var e=f[a.$ParseInt(g)]||f[g];if(a.$IsArray(e)){if(g!=i){i=g;c[g]=0;j[g]=e[b.floor(b.random()*e.length)]}else c[g]++;e=j[g];if(a.$IsArray(e)){e=e.length&&e[c[g]%e.length];if(a.$IsArray(e))e=e[b.floor(b.random()*e.length)]}}h=e;if(a.$IsString(h))h=d(h)}return h}var q=a.$GetChildren(r);a.$Each(q,function(b){var c=[];c.$Elmt=b;var f=a.$GetAttributeEx(b,"u")=="caption";a.$Each(g?[0,3]:[2],function(k,n){if(f){var j,g;if(k!=2||!a.$GetAttributeEx(b,"t3")){g=h(b,k);if(k==2&&!g.$Transition){g.$Delay=g.$Delay||{$Value:0};g=a.$Extend(h(b,0),g)}}if(g&&g.$Transition){j=d(g.$Transition.$Value);if(j){var i=a.$Extend({$Delay:0,$ScaleHorizontal:1,$ScaleVertical:1},j);a.$Each(g,function(c,a){var b=(e[a]||e.$Default).apply(e,[i[a],g[a]]);if(!isNaN(b))i[a]=b});if(!n)if(g.$BeginTime)i.$BeginTime=g.$BeginTime.$Value||0;else if(o&2)i.$BeginTime=0}}c.push(i)}if(l%2&&!n)c.$Children=m(b,l+1)});k.push(c)});return k}function n(E,d,F){var h={$Easing:d.$Easing,$Round:d.$Round,$During:d.$During,$Reverse:g&&!F,$Optimize:c},k=E,y=a.$GetParentNode(E),o=a.$CssWidth(k),n=a.$CssHeight(k),u=a.$CssWidth(y),t=a.$CssHeight(y),f={},l={},m=d.$ScaleClip||1;if(d.$Opacity)f.$Opacity=2-d.$Opacity;h.$OriginalWidth=o;h.$OriginalHeight=n;if(d.$Zoom||d.$Rotate){f.$Zoom=d.$Zoom?d.$Zoom-1:1;if(a.$IsBrowserIe9Earlier()||a.$IsBrowserOpera())f.$Zoom=b.min(f.$Zoom,2);l.$Zoom=1;var s=d.$Rotate||0;if(s==c)s=1;f.$Rotate=s*360;l.$Rotate=0}else if(d.$Clip){var z={$Top:0,$Right:o,$Bottom:n,$Left:0},D=a.$Extend({},z),e=D.$Offset={},C=d.$Clip&4,v=d.$Clip&8,A=d.$Clip&1,x=d.$Clip&2;if(C&&v){e.$Top=n/2*m;e.$Bottom=-e.$Top}else if(C)e.$Bottom=-n*m;else if(v)e.$Top=n*m;if(A&&x){e.$Left=o/2*m;e.$Right=-e.$Left}else if(A)e.$Right=-o*m;else if(x)e.$Left=o*m;h.$Move=d.$Move;f.$Clip=D;l.$Clip=z}var p=d.$FlyDirection,q=0,r=0,w=d.$ScaleHorizontal,B=d.$ScaleVertical;if(i.$IsToLeft(p))q-=u*w;else if(i.$IsToRight(p))q+=u*w;if(i.$IsToTop(p))r-=t*B;else if(i.$IsToBottom(p))r+=t*B;if(q||r||h.$Move){f.$Left=q+a.$CssLeft(k);f.$Top=r+a.$CssTop(k)}var G=d.$Duration;l=a.$Extend(l,a.$GetStyles(k,f));h.$Setter=a.$GetStyleSetterEx();return new j(d.$Delay,G,h,k,l,f)}function l(b,c){a.$Each(c,function(c){var f,i=c.$Elmt,e=c[0],j=c[1];if(e){f=n(i,e);b=f.$Locate(a.$IsUndefined(e.$BeginTime)?b:e.$BeginTime,1)}b=l(b,c.$Children);if(j){var g=n(i,j,1);g.$Locate(b,1);d.$Combine(g);h.$Combine(g)}f&&d.$Combine(f)});return b}d.$Revert=function(){d.$GoToPosition(d.$GetPosition_OuterEnd()*(g||0));h.$GoToBegin()};h=new j(0,0);l(0,o?m(q,1):[])}})(window,document,Math,null,true,false)
|
skin/frontend/base/default/js/layerslider/jssor.slider.min.js
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
1 |
+
(function(g,f,b,e,c,d,o){/*! Jssor */
|
2 |
+
$Jssor$=g.$Jssor$=g.$Jssor$||{};new(function(){this.$DebugMode=c;this.$Log=function(c,d){var a=g.console||{},b=this.$DebugMode;if(b&&a.log)a.log(c);else b&&d&&alert(c)};this.$Error=function(b,d){var c=g.console||{},a=this.$DebugMode;if(a&&c.error)c.error(b);else a&&alert(b);if(a)throw d||new Error(b);};this.$Fail=function(a){throw new Error(a);};this.$Assert=function(b,c){var a=this.$DebugMode;if(a)if(!b)throw new Error("Assert failed "+c||"");};this.$Trace=function(c){var a=g.console||{},b=this.$DebugMode;b&&a.log&&a.log(c)};this.$Execute=function(b){var a=this.$DebugMode;a&&b()};this.$LiveStamp=function(b,c){var a=f.createElement("DIV");a.setAttribute("id",c);b.$Live=a}});var m=function(){var b=this,a={};b.$On=b.addEventListener=function(b,c){if(typeof c!="function")return;if(!a[b])a[b]=[];a[b].push(c)};b.$Off=b.removeEventListener=function(e,d){var b=a[e];if(typeof d!="function")return;else if(!b)return;for(var c=0;c<b.length;c++)if(d==b[c]){b.splice(c,1);return}};b.$ClearEventListeners=function(b){if(a[b])delete a[b]};b.$TriggerEvent=function(e){var c=a[e],d=[];if(!c)return;for(var b=1;b<arguments.length;b++)d.push(arguments[b]);for(var b=0;b<c.length;b++)try{c[b].apply(g,d)}catch(f){}}},h;(function(){h=function(a,b){this.x=typeof a=="number"?a:0;this.y=typeof b=="number"?b:0};var a=h.prototype;a.$Plus=function(a){return new h(this.x+a.x,this.y+a.y)};a.$Minus=function(a){return new h(this.x-a.x,this.y-a.y)};a.$Times=function(a){return new h(this.x*a,this.y*a)};a.$Divide=function(a){return new h(this.x/a,this.y/a)};a.$Negate=function(){return new h(-this.x,-this.y)};a.$DistanceTo=function(a){return b.sqrt(b.pow(this.x-a.x,2)+b.pow(this.y-a.y,2))};a.$Apply=function(a){return new h(a(this.x),a(this.y))};a.$Equals=function(a){return a instanceof h&&this.x===a.x&&this.y===a.y};a.$ToString=function(){return"("+this.x+","+this.y+")"}})();var l=g.$JssorEasing$={$EaseLinear:function(a){return a},$EaseGoBack:function(a){return 1-b.abs(2-1)},$EaseSwing:function(a){return-b.cos(a*b.PI)/2+.5},$EaseInQuad:function(a){return a*a},$EaseOutQuad:function(a){return-a*(a-2)},$EaseInOutQuad:function(a){return(a*=2)<1?1/2*a*a:-1/2*(--a*(a-2)-1)},$EaseInCubic:function(a){return a*a*a},$EaseOutCubic:function(a){return(a-=1)*a*a+1},$EaseInOutCubic:function(a){return(a*=2)<1?1/2*a*a*a:1/2*((a-=2)*a*a+2)},$EaseInQuart:function(a){return a*a*a*a},$EaseOutQuart:function(a){return-((a-=1)*a*a*a-1)},$EaseInOutQuart:function(a){return(a*=2)<1?1/2*a*a*a*a:-1/2*((a-=2)*a*a*a-2)},$EaseInQuint:function(a){return a*a*a*a*a},$EaseOutQuint:function(a){return(a-=1)*a*a*a*a+1},$EaseInOutQuint:function(a){return(a*=2)<1?1/2*a*a*a*a*a:1/2*((a-=2)*a*a*a*a+2)},$EaseInSine:function(a){return 1-b.cos(a*b.PI/2)},$EaseOutSine:function(a){return b.sin(a*b.PI/2)},$EaseInOutSine:function(a){return-1/2*(b.cos(b.PI*a)-1)},$EaseInExpo:function(a){return a==0?0:b.pow(2,10*(a-1))},$EaseOutExpo:function(a){return a==1?1:-b.pow(2,-10*a)+1},$EaseInOutExpo:function(a){return a==0||a==1?a:(a*=2)<1?1/2*b.pow(2,10*(a-1)):1/2*(-b.pow(2,-10*--a)+2)},$EaseInCirc:function(a){return-(b.sqrt(1-a*a)-1)},$EaseOutCirc:function(a){return b.sqrt(1-(a-=1)*a)},$EaseInOutCirc:function(a){return(a*=2)<1?-1/2*(b.sqrt(1-a*a)-1):1/2*(b.sqrt(1-(a-=2)*a)+1)},$EaseInElastic:function(a){if(!a||a==1)return a;var c=.3,d=.075;return-(b.pow(2,10*(a-=1))*b.sin((a-d)*2*b.PI/c))},$EaseOutElastic:function(a){if(!a||a==1)return a;var c=.3,d=.075;return b.pow(2,-10*a)*b.sin((a-d)*2*b.PI/c)+1},$EaseInOutElastic:function(a){if(!a||a==1)return a;var c=.45,d=.1125;return(a*=2)<1?-.5*b.pow(2,10*(a-=1))*b.sin((a-d)*2*b.PI/c):b.pow(2,-10*(a-=1))*b.sin((a-d)*2*b.PI/c)*.5+1},$EaseInBack:function(a){var b=1.70158;return a*a*((b+1)*a-b)},$EaseOutBack:function(a){var b=1.70158;return(a-=1)*a*((b+1)*a+b)+1},$EaseInOutBack:function(a){var b=1.70158;return(a*=2)<1?1/2*a*a*(((b*=1.525)+1)*a-b):1/2*((a-=2)*a*(((b*=1.525)+1)*a+b)+2)},$EaseInBounce:function(a){return 1-l.$EaseOutBounce(1-a)},$EaseOutBounce:function(a){return a<1/2.75?7.5625*a*a:a<2/2.75?7.5625*(a-=1.5/2.75)*a+.75:a<2.5/2.75?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375},$EaseInOutBounce:function(a){return a<1/2?l.$EaseInBounce(a*2)*.5:l.$EaseOutBounce(a*2-1)*.5+.5},$EaseInWave:function(a){return 1-b.cos(a*b.PI*2)},$EaseOutWave:function(a){return b.sin(a*b.PI*2)},$EaseOutJump:function(a){return 1-((a*=2)<1?(a=1-a)*a*a:(a-=1)*a*a)},$EaseInJump:function(a){return(a*=2)<1?a*a*a:(a=2-a)*a*a}},i=g.$JssorDirection$={$TO_LEFT:1,$TO_RIGHT:2,$TO_TOP:4,$TO_BOTTOM:8,$HORIZONTAL:3,$VERTICAL:12,$LEFTRIGHT:3,$TOPBOTOM:12,$TOPLEFT:5,$TOPRIGHT:6,$BOTTOMLEFT:9,$BOTTOMRIGHT:10,$AROUND:15,$GetDirectionHorizontal:function(a){return a&3},$GetDirectionVertical:function(a){return a&12},$ChessHorizontal:function(a){return(~a&3)+(a&12)},$ChessVertical:function(a){return(~a&12)+(a&3)},$IsToLeft:function(a){return(a&3)==1},$IsToRight:function(a){return(a&3)==2},$IsToTop:function(a){return(a&12)==4},$IsToBottom:function(a){return(a&12)==8},$IsHorizontal:function(a){return(a&3)>0},$IsVertical:function(a){return(a&12)>0}},r={$BACKSPACE:8,$COMMA:188,$DELETE:46,$DOWN:40,$END:35,$ENTER:13,$ESCAPE:27,$HOME:36,$LEFT:37,$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,$SPACE:32,$TAB:9,$UP:38},p,n={$UNKNOWN:0,$IE:1,$FIREFOX:2,$SAFARI:3,$CHROME:4,$OPERA:5},z=1,v=2,x=3,w=4,y=5,j,a=g.$JssorUtils$=new function(){var i=this,m=n.$UNKNOWN,j=0,s=0,T=0,B=0,fb=navigator.appName,k=navigator.userAgent;function F(){if(!m)if(fb=="Microsoft Internet Explorer"&&!!g.attachEvent&&!!g.ActiveXObject){var d=k.indexOf("MSIE");m=n.$IE;s=parseFloat(k.substring(d+5,k.indexOf(";",d)));/*@cc_on T=@_jscript_version@*/;j=f.documentMode||s}else if(fb=="Netscape"&&!!g.addEventListener){var c=k.indexOf("Firefox"),a=k.indexOf("Safari"),h=k.indexOf("Chrome"),b=k.indexOf("AppleWebKit");if(c>=0){m=n.$FIREFOX;j=parseFloat(k.substring(c+8))}else if(a>=0){var i=k.substring(0,a).lastIndexOf("/");m=h>=0?n.$CHROME:n.$SAFARI;j=parseFloat(k.substring(i+1,a))}if(b>=0)B=parseFloat(k.substring(b+12))}else{var e=/(opera)(?:.*version|)[ \/]([\w.]+)/i.exec(k);if(e){m=n.$OPERA;j=parseFloat(e[2])}}}function r(){F();return m==z}function I(){return r()&&(j<6||f.compatMode=="BackCompat")}function Z(){F();return m==v}function O(){F();return m==x}function lb(){F();return m==w}function nb(){F();return m==y}function V(){return O()&&B>534&&B<535}function hb(){return O()&&B<535}function A(){return r()&&j<9}var D;function t(a){if(!D){q(["transform","WebkitTransform","msTransform","MozTransform","OTransform"],function(b){if(!i.$IsUndefined(a.style[b])){D=b;return c}});D=D||"transform"}return D}function jb(a,b){return b&&a!=f.body?f.body:a.offsetParent}function db(a){return Object.prototype.toString.call(a)}var L;function q(a,c){if(db(a)=="[object Array]"){for(var b=0;b<a.length;b++)if(c(a[b],b,a))break}else for(var d in a)if(c(a[d],d,a))break}function ob(){if(!L){L={};q(["Boolean","Number","String","Function","Array","Date","RegExp","Object"],function(a){L["[object "+a+"]"]=a.toLowerCase()})}return L}function C(a){return a==e?String(a):ob()[db(a)]||"object"}function pb(a){if(!a||C(a)!=="object"||a.nodeType||i.$IsWindow(a))return d;var b=Object.prototype.hasOwnProperty;try{if(a.constructor&&!b.call(a,"constructor")&&!b.call(a.constructor.prototype,"isPrototypeOf"))return d}catch(e){return d}var c;for(c in a);return c===o||b.call(a,c)}function eb(b,a){setTimeout(b,a||0)}function K(b,d,c){var a=!b||b=="inherit"?"":b;q(d,function(c){var b=c.exec(a);if(b){var d=a.substr(0,b.index),e=a.substr(b.lastIndex+1,a.length-(b.lastIndex+1));a=d+e}});a=c+(a.indexOf(" ")!=0?" ":"")+a;return a}function ab(b,a){if(j<9)b.style.filter=a}function ib(b,a,c){if(T<9){var e=b.style.filter,g=new RegExp(/[\s]*progid:DXImageTransform\.Microsoft\.Matrix\([^\)]*\)/g),f=a?"progid:DXImageTransform.Microsoft.Matrix(M11="+a[0][0]+", M12="+a[0][1]+", M21="+a[1][0]+", M22="+a[1][1]+", SizingMethod='auto expand')":"",d=K(e,[g],f);ab(b,d);i.$CssMarginTop(b,c.y);i.$CssMarginLeft(b,c.x)}}i.$IsBrowserIE=r;i.$IsBrowserIeQuirks=I;i.$IsBrowserFireFox=Z;i.$IsBrowserSafari=O;i.$IsBrowserChrome=lb;i.$IsBrowserOpera=nb;i.$IsBrowserBadTransform=V;i.$IsBrowserSafeHWA=hb;i.$IsBrowserIe9Earlier=A;i.$GetBrowserVersion=function(){return j};i.$GetBrowserEngineVersion=function(){return s||j};i.$GetWebKitVersion=function(){return B};i.$Delay=eb;i.$GetElement=function(a){if(i.$IsString(a))a=f.getElementById(a);return a};i.$GetElementPosition=function(a){a=i.$GetElement(a);var b=new h;while(a){b.x+=a.offsetLeft;b.y+=a.offsetTop;var c=i.$GetElementStyle(a).position=="fixed";if(c)b=b.$Plus(i.$GetPageScroll(g));a=jb(a,c)}return b};i.$GetElementSize=function(a){a=i.$GetElement(a);return new h(a.clientWidth,a.clientHeight)};i.$GetEvent=function(a){return a?a:g.event};i.$GetEventSrcElement=function(a){a=i.$GetEvent(a);return a.target||a.srcElement||f};i.$GetEventDstElement=function(a){a=i.$GetEvent(a);return a.relatedTarget||a.toElement};i.$GetMousePosition=function(a){a=i.$GetEvent(a);var b=new h;if(a.type=="DOMMouseScroll"&&Z()&&j<3){b.x=a.screenX;b.y=a.screenY}else if(typeof a.pageX=="number"){b.x=a.pageX;b.y=a.pageY}else if(typeof a.clientX=="number"){b.x=a.clientX+f.body.scrollLeft+f.documentElement.scrollLeft;b.y=a.clientY+f.body.scrollTop+f.documentElement.scrollTop}return b};i.$GetMouseScroll=function(a){a=i.$GetEvent(a);var c=0;if(typeof a.wheelDelta=="number")c=a.wheelDelta;else if(typeof a.detail=="number")c=a.detail*-1;return c?c/b.abs(c):0};i.$GetPageScroll=function(b){var a=new h,c=b.document.documentElement||{},d=b.document.body||{};if(typeof b.pageXOffset=="number"){a.x=b.pageXOffset;a.y=b.pageYOffset}else if(d.scrollLeft||d.scrollTop){a.x=d.scrollLeft;a.y=d.scrollTop}else if(c.scrollLeft||c.scrollTop){a.x=c.scrollLeft;a.y=c.scrollTop}return a};i.$GetWindowSize=function(c){var a=new h,b=I()?c.document.body:c.document.documentElement;a.x=b.clientWidth;a.y=b.clientHeight;return a};function G(c,d,a){if(a!=o)c.style[d]=a;else{var b=c.currentStyle||c.style;a=b[d];if(a==""&&g.getComputedStyle){b=c.ownerDocument.defaultView.getComputedStyle(c,e);b&&(a=b.getPropertyValue(d)||b[d])}return a}}function Q(b,c,a,d){if(a!=o){d&&(a+="px");G(b,c,a)}else return parseFloat(G(b,c))}function rb(b,d,a){return Q(b,d,a,c)}function l(d,a){var b=a&2,c=a?Q:G;return function(e,a){return c(e,d,a,b)}}function kb(b){if(r()&&s<9){var a=/opacity=([^)]*)/.exec(b.style.filter||"");return a?parseFloat(a[1])/100:1}else return parseFloat(b.style.opacity||"1")}function mb(c,a,f){if(r()&&s<9){var h=c.style.filter||"",i=new RegExp(/[\s]*alpha\([^\)]*\)/g),e=b.round(100*a),d="";if(e<100||f)d="alpha(opacity="+e+") ";var g=K(h,[i],d);ab(c,g)}else c.style.opacity=a==1?"":b.round(a*100)/100}function S(g,c){var f=c.$Rotate||0,d=c.$Scale==o?1:c.$Scale;if(A()){var k=i.$CreateMatrix(f/180*b.PI,d,d);ib(g,!f&&d==1?e:k,i.$GetMatrixOffset(k,c.$OriginalWidth,c.$OriginalHeight))}else{var h=t(g);if(h){var j="rotate("+f%360+"deg) scale("+d+")";if(a.$IsBrowserChrome()&&B>535)j+=" perspective(2000px)";g.style[h]=j}}}i.$SetStyleTransform=function(b,a){if(V())eb(i.$CreateCallback(e,S,b,a));else S(b,a)};i.$SetStyleTransformOrigin=function(b,c){var a=t(b);if(a)b.style[a+"Origin"]=c};i.$SetStyleScale=function(a,c){if(r()&&s<9||s<10&&I())a.style.zoom=c==1?"":c;else{var b=t(a);if(b){var f="scale("+c+")",e=a.style[b],g=new RegExp(/[\s]*scale\(.*?\)/g),d=K(e,[g],f);a.style[b]=d}}};i.$EnableHWA=function(a){if(!a.style[t(a)]||a.style[t(a)]=="none")a.style[t(a)]="perspective(2000px)"};i.$DisableHWA=function(a){a.style[t(a)]="none"};var cb=0,bb=0,H;function gb(g){var f=c,a=I()?g.document.body:g.document.documentElement;if(a){var e=a.offsetWidth-cb,b=a.offsetHeight-bb;if(e||b){cb+=e;bb+=b}else f=d}f&&q(H,function(a){a()})}i.$OnWindowResize=function(b,a){if(r()&&s<9)if(!H){H=[a];a=i.$CreateCallback(e,gb,b)}else{H.push(a);return}i.$AddEvent(b,"resize",a)};i.$AddEvent=function(a,c,d,b){a=i.$GetElement(a);if(a.addEventListener){c=="mousewheel"&&a.addEventListener("DOMMouseScroll",d,b);a.addEventListener(c,d,b)}else if(a.attachEvent){a.attachEvent("on"+c,d);b&&a.setCapture&&a.setCapture()}};i.$RemoveEvent=function(a,c,d,b){a=i.$GetElement(a);if(a.removeEventListener){c=="mousewheel"&&a.removeEventListener("DOMMouseScroll",d,b);a.removeEventListener(c,d,b)}else if(a.detachEvent){a.detachEvent("on"+c,d);b&&a.releaseCapture&&a.releaseCapture()}};i.$FireEvent=function(c,b){var a;if(f.createEvent){a=f.createEvent("HTMLEvents");a.initEvent(b,d,d);c.dispatchEvent(a)}else{var e="on"+b;a=f.createEventObject();c.fireEvent(e,a)}};i.$AddEventBrowserMouseUp=function(b,a){i.$AddEvent(A()?f:g,"mouseup",b,a)};i.$RemoveEventBrowserMouseUp=function(b,a){i.$RemoveEvent(A()?f:g,"mouseup",b,a)};i.$AddEventBrowserMouseDown=function(b,a){i.$AddEvent(A()?f:g,"mousedown",b,a)};i.$RemoveEventBrowserMouseDown=function(b,a){i.$RemoveEvent(A()?f:g,"mousedown",b,a)};i.$CancelEvent=function(a){a=i.$GetEvent(a);a.preventDefault&&a.preventDefault();a.cancel=c;a.returnValue=d};i.$StopEvent=function(a){a=i.$GetEvent(a);a.stopPropagation&&a.stopPropagation();a.cancelBubble=c};i.$CreateCallback=function(e,d){for(var b=[],a=2;a<arguments.length;a++)b.push(arguments[a]);var c=function(){for(var c=b.concat([]),a=0;a<arguments.length;a++)c.push(arguments[a]);return d.apply(e,c)};return c};var M;i.$FreeElement=function(b){if(!M)M=i.$CreateDivElement();if(b){a.$AppendChild(M,b);a.$ClearInnerHtml(M)}};i.$SetInnerText=function(a,c){var b=f.createTextNode(c);i.$ClearInnerHtml(a);a.appendChild(b)};i.$GetInnerText=function(a){return a.textContent||a.innerText};i.$GetInnerHtml=function(a){return a.innerHTML};i.$SetInnerHtml=function(a,b){a.innerHTML=b};i.$ClearInnerHtml=function(a){a.innerHTML=""};i.$EncodeHtml=function(b){var a=i.$CreateDivElement();i.$SetInnerText(a,b);return i.$GetInnerHtml(a)};i.$DecodeHtml=function(b){var a=i.$CreateDivElement();i.$SetInnerHtml(a,b);return i.$GetInnerText(a)};i.$SelectElement=function(c){var b;if(g.getSelection)b=g.getSelection();var a=e;if(f.createRange){a=f.createRange();a.selectNode(c)}else{a=f.body.createTextRange();a.moveToElementText(c);a.select()}b&&b.addRange(a)};i.$DeselectElements=function(){if(f.selection)f.selection.empty();else g.getSelection&&g.getSelection().removeAllRanges()};i.$GetChildren=function(c){for(var b=[],a=c.firstChild;a;a=a.nextSibling)a.nodeType==1&&b.push(a);return b};function R(a,c,b,f){if(!b)b="u";for(a=a?a.firstChild:e;a;a=a.nextSibling)if(a.nodeType==1){if(i.$GetAttributeEx(a,b)==c)return a;if(f){var d=R(a,c,b,f);if(d)return d}}}i.$FindFirstChildByAttribute=R;function W(a,c,d){for(a=a?a.firstChild:e;a;a=a.nextSibling)if(a.nodeType==1){if(a.tagName==c)return a;if(d){var b=W(a,c,d);if(b)return b}}}i.$FindFirstChildByTag=W;function X(a,d,g){var b=[];for(a=a?a.firstChild:e;a;a=a.nextSibling)if(a.nodeType==1){(!d||a.tagName==d)&&b.push(a);if(g){var f=X(a,d,c);if(f.length)b=b.concat(f)}}return b}i.$FindChildrenByTag=X;i.$GetElementsByTagName=function(b,a){return b.getElementsByTagName(a)};i.$Extend=function(c){for(var b=1;b<arguments.length;b++){var a=arguments[b];if(a)for(var d in a)c[d]=a[d]}return c};i.$Unextend=function(b,d){var c={};for(var a in b)if(b[a]!=d[a])c[a]=b[a];return c};i.$IsUndefined=function(a){return C(a)=="undefined"};i.$IsFunction=function(a){return C(a)=="function"};i.$IsArray=Array.isArray||function(a){return C(a)=="array"};i.$IsString=function(a){return C(a)=="string"};i.$IsNumeric=function(a){return!isNaN(parseFloat(a))&&isFinite(a)};i.$IsWindow=function(a){return a!=e&&a==a.window};i.$Type=C;i.$Each=q;i.$IsPlainObject=pb;i.$CreateDivElement=function(a){return i.$CreateElement("DIV",a)};i.$CreateSpanElement=function(a){return i.$CreateElement("SPAN",a)};i.$CreateElement=function(b,a){a=a||f;return a.createElement(b)};i.$EmptyFunction=function(){};i.$GetAttribute=function(a,b){return a.getAttribute(b)};i.$GetAttributeEx=function(a,b){return i.$GetAttribute(a,b)||i.$GetAttribute(a,"data-"+b)};i.$SetAttribute=function(b,c,a){b.setAttribute(c,a)};i.$GetClassName=function(a){return a.className};i.$SetClassName=function(b,a){b.className=a||""};i.$GetParentNode=function(a){return a.parentNode};i.$HideElement=function(a){i.$CssDisplay(a,"none")};i.$HideElements=function(b){for(var a=0;a<b.length;a++)i.$HideElement(b[a])};i.$ShowElement=function(a,b){i.$CssDisplay(a,b==d?"none":"")};i.$ShowElements=function(b){for(var a=0;a<b.length;a++)i.$ShowElement(b[a])};i.$RemoveAttribute=function(b,a){b.removeAttribute(a)};i.$CanClearClip=function(){return r()&&j<10};i.$SetStyleClip=function(d,c){if(c)d.style.clip="rect("+b.round(c.$Top)+"px "+b.round(c.$Right)+"px "+b.round(c.$Bottom)+"px "+b.round(c.$Left)+"px)";else{var g=d.style.cssText,f=[new RegExp(/[\s]*clip: rect\(.*?\)[;]?/i),new RegExp(/[\s]*cliptop: .*?[;]?/i),new RegExp(/[\s]*clipright: .*?[;]?/i),new RegExp(/[\s]*clipbottom: .*?[;]?/i),new RegExp(/[\s]*clipleft: .*?[;]?/i)],e=K(g,f,"");a.$CssCssText(d,e)}};i.$GetNow=function(){return+new Date};i.$AppendChild=function(b,a){b.appendChild(a)};i.$AppendChildren=function(b,a){q(a,function(a){i.$AppendChild(b,a)})};i.$InsertBefore=function(c,b,a){c.insertBefore(b,a)};i.$InsertAdjacentHtml=function(b,a,c){b.insertAdjacentHTML(a,c)};i.$RemoveChild=function(b,a){b.removeChild(a)};i.$RemoveChildren=function(b,a){q(a,function(a){i.$RemoveChild(b,a)})};i.$ClearChildren=function(a){i.$RemoveChildren(a,i.$GetChildren(a))};i.$ParseInt=function(b,a){return parseInt(b,a||10)};i.$ParseFloat=function(a){return parseFloat(a)};i.$IsChild=function(b,a){var c=f.body;while(a&&b!=a&&c!=a)try{a=a.parentNode}catch(e){return d}return b==a};i.$ToLowerCase=function(a){if(a)a=a.toLowerCase();return a};i.$CloneNode=function(b,a){return b.cloneNode(a)};function N(b,a,c){a.onload=e;a.abort=e;b&&b(a,c)}i.$LoadImage=function(d,b){if(i.$IsBrowserOpera()&&j<11.6||!d)N(b,e);else{var a=new Image;a.onload=i.$CreateCallback(e,N,b,a);a.onabort=i.$CreateCallback(e,N,b,a,c);a.src=d}};i.$LoadImages=function(e,b,f){var d=e.length+1;function c(a){d--;if(b&&a&&a.src==b.src)b=a;!d&&f&&f(b)}a.$Each(e,function(b){a.$LoadImage(b.src,c)});c()};i.$BuildElement=function(d,k,j,i){if(i)d=a.$CloneNode(d,c);for(var h=a.$GetElementsByTagName(d,k),f=h.length-1;f>-1;f--){var b=h[f],e=a.$CloneNode(j,c);a.$SetClassName(e,a.$GetClassName(b));a.$CssCssText(e,b.style.cssText);var g=a.$GetParentNode(b);a.$InsertBefore(g,e,b);a.$RemoveChild(g,b)}return d};var E;function qb(b){var g=this,h,e,j;function f(){var c=h;if(e)c+="dn";else if(j)c+="av";a.$SetClassName(b,c)}function k(){E.push(g);e=c;f()}g.$MouseUp=function(){e=d;f()};g.$Activate=function(a){j=a;f()};b=i.$GetElement(b);if(!E){i.$AddEventBrowserMouseUp(function(){var a=E;E=[];q(a,function(a){a.$MouseUp()})});E=[]}h=i.$GetClassName(b);a.$AddEvent(b,"mousedown",k)}i.$Buttonize=function(a){return new qb(a)};i.$Css=G;i.$CssN=Q;i.$CssP=rb;i.$CssOverflow=l("overflow");i.$CssTop=l("top",2);i.$CssLeft=l("left",2);i.$CssWidth=l("width",2);i.$CssHeight=l("height",2);i.$CssMarginLeft=l("marginLeft",2);i.$CssMarginTop=l("marginTop",2);i.$CssPosition=l("position");i.$CssDisplay=l("display");i.$CssZIndex=l("zIndex",1);i.$CssFloat=function(b,a){return G(b,r()?"styleFloat":"cssFloat",a)};i.$CssOpacity=function(b,a,c){if(a!=o)mb(b,a,c);else return kb(b)};i.$CssCssText=function(a,b){if(b!=o)a.style.cssText=b;else return a.style.cssText};var P={$Opacity:i.$CssOpacity,$Top:i.$CssTop,$Left:i.$CssLeft,$Width:i.$CssWidth,$Height:i.$CssHeight,$Position:i.$CssPosition,$Display:i.$CssDisplay,$ZIndex:i.$CssZIndex},u;function J(){if(!u)u=i.$Extend({$MarginTop:i.$CssMarginTop,$MarginLeft:i.$CssMarginLeft,$Clip:i.$SetStyleClip,$Transform:i.$SetStyleTransform},P);return u}function Y(){J();u.$Transform=u.$Transform;return u}i.$GetStyleSetter=J;i.$GetStyleSetterEx=Y;i.$GetStyles=function(c,b){J();var a={};q(b,function(d,b){if(P[b])a[b]=P[b](c)});return a};i.$SetStyles=function(c,b){var a=J();q(b,function(d,b){a[b]&&a[b](c,d)})};i.$SetStylesEx=function(b,a){Y();i.$SetStyles(b,a)};p=new function(){var a=this;function b(d,g){for(var j=d[0].length,i=d.length,h=g[0].length,f=[],c=0;c<i;c++)for(var k=f[c]=[],b=0;b<h;b++){for(var e=0,a=0;a<j;a++)e+=d[c][a]*g[a][b];k[b]=e}return f}a.$ScaleX=function(b,c){return a.$ScaleXY(b,c,0)};a.$ScaleY=function(b,c){return a.$ScaleXY(b,0,c)};a.$ScaleXY=function(a,c,d){return b(a,[[c,0],[0,d]])};a.$TransformPoint=function(d,c){var a=b(d,[[c.x],[c.y]]);return new h(a[0][0],a[1][0])}};i.$CreateMatrix=function(d,a,c){var e=b.cos(d),f=b.sin(d);return[[e*a,-f*c],[f*a,e*c]]};i.$GetMatrixOffset=function(d,c,a){var e=p.$TransformPoint(d,new h(-c/2,-a/2)),f=p.$TransformPoint(d,new h(c/2,-a/2)),g=p.$TransformPoint(d,new h(c/2,a/2)),i=p.$TransformPoint(d,new h(-c/2,a/2));return new h(b.min(e.x,f.x,g.x,i.x)+c/2,b.min(e.y,f.y,g.y,i.y)+a/2)}};j=function(n,m,g,O,z,x){n=n||0;var f=this,r,K,o,p,y,A=0,C,M,L,D,j=0,t=0,E,k=n,s=n+m,i,h,q,u=[],B;function I(b){i+=b;h+=b;k+=b;s+=b;j+=b;t+=b;a.$Each(u,function(a){a,a.$Shift(b)})}function N(a,b){var c=a-i+n*b;I(c);return h}function w(w,G){var n=w;if(q&&(n>=h||n<=i))n=((n-i)%q+q)%q+i;if(!E||y||G||j!=n){var p=b.min(n,h);p=b.max(p,i);if(!E||y||G||p!=t){if(x){var d=x;if(z){var s=(p-k)/(m||1);if(g.$Optimize&&a.$IsBrowserChrome()&&m)s=b.round(s*m/16)/m*16;if(g.$Reverse)s=1-s;d={};for(var o in x){var R=M[o]||1,J=L[o]||[0,1],l=(s-J[0])/J[1];l=b.min(b.max(l,0),1);l=l*R;var H=b.floor(l);if(l!=H)l-=H;var Q=C[o]||C.$Default,I=Q(l),r,K=z[o],F=x[o];if(a.$IsNumeric(F))r=K+(F-K)*I;else{r=a.$Extend({$Offset:{}},z[o]);a.$Each(F.$Offset,function(c,b){var a=c*I;r.$Offset[b]=a;r[b]+=a})}d[o]=r}}if(z.$Zoom)d.$Transform={$Rotate:d.$Rotate||0,$Scale:d.$Zoom,$OriginalWidth:g.$OriginalWidth,$OriginalHeight:g.$OriginalHeight};if(x.$Clip&&g.$Move){var v=d.$Clip.$Offset,D=(v.$Top||0)+(v.$Bottom||0),A=(v.$Left||0)+(v.$Right||0);d.$Left=(d.$Left||0)+A;d.$Top=(d.$Top||0)+D;d.$Clip.$Left-=A;d.$Clip.$Right-=A;d.$Clip.$Top-=D;d.$Clip.$Bottom-=D}if(d.$Clip&&a.$CanClearClip()&&!d.$Clip.$Top&&!d.$Clip.$Left&&d.$Clip.$Right==g.$OriginalWidth&&d.$Clip.$Bottom==g.$OriginalHeight)d.$Clip=e;a.$Each(d,function(b,a){B[a]&&B[a](O,b)})}f.$OnInnerOffsetChange(t-k,p-k)}t=p;a.$Each(u,function(b,c){var a=w<j?u[u.length-c-1]:b;a.$GoToPosition(w,G)});var P=j,N=w;j=n;E=c;f.$OnPositionChange(P,N)}}function F(a,c){c&&a.$Locate(h,1);h=b.max(h,a.$GetPosition_OuterEnd());u.push(a)}function H(){if(r){var d=a.$GetNow(),e=b.min(d-A,a.$IsBrowserOpera()?80:20),c=j+e*p;A=d;if(c*p>=o*p)c=o;w(c);if(!y&&c*p>=o*p)J(D);else a.$Delay(H,g.$Interval)}}function v(d,e,g){if(!r){r=c;y=g;D=e;d=b.max(d,i);d=b.min(d,h);o=d;p=o<j?-1:1;f.$OnStart();A=a.$GetNow();H()}}function J(a){if(r){y=r=D=d;f.$OnStop();a&&a()}}f.$Play=function(a,b,c){v(a?j+a:h,b,c)};f.$PlayToPosition=function(b,a,c){v(b,a,c)};f.$PlayToBegin=function(a,b){v(i,a,b)};f.$PlayToEnd=function(a,b){v(h,a,b)};f.$Stop=function(){J()};f.$Continue=function(a){v(a)};f.$GetPosition=function(){return j};f.$GetPlayToPosition=function(){return o};f.$GetPosition_Display=function(){return t};f.$GoToPosition=w;f.$GoToBegin=function(){w(i,c)};f.$GoToEnd=function(){w(h,c)};f.$Move=function(a){w(j+a)};f.$CombineMode=function(){return K};f.$GetDuration=function(){return m};f.$IsPlaying=function(){return r};f.$IsOnTheWay=function(){return j>k&&j<=s};f.$SetLoopLength=function(a){q=a};f.$Locate=N;f.$Shift=I;f.$Join=F;f.$Combine=function(a){F(a,0)};f.$Chain=function(a){F(a,1)};f.$GetPosition_InnerBegin=function(){return k};f.$GetPosition_InnerEnd=function(){return s};f.$GetPosition_OuterBegin=function(){return i};f.$GetPosition_OuterEnd=function(){return h};f.$OnPositionChange=a.$EmptyFunction;f.$OnStart=a.$EmptyFunction;f.$OnStop=a.$EmptyFunction;f.$OnInnerOffsetChange=a.$EmptyFunction;f.$Version=a.$GetNow();g=a.$Extend({$Interval:16},g);q=g.$LoopLength;B=a.$Extend({},a.$GetStyleSetter(),g.$Setter);i=k=n;h=s=n+m;var M=g.$Round||{},L=g.$During||{};C=a.$Extend({$Default:a.$IsFunction(g.$Easing)&&g.$Easing||l.$EaseSwing},g.$Easing)};var s,k=g.$JssorSlideshowFormations$={};new function(){var p=0,o=1,w=2,v=3,I=1,H=2,J=4,G=8,O=256,P=512,N=1024,M=2048,z=M+I,y=M+H,E=P+I,C=P+H,D=O+J,A=O+G,B=N+J,F=N+G;function S(a){return(a&H)==H}function T(a){return(a&J)==J}function x(b,a,c){c.push(a);b[a]=b[a]||[];b[a].push(c)}k.$FormationStraight=function(f){for(var d=f.$Cols,e=f.$Rows,k=f.$Assembly,l=f.$Count,j=[],a=0,b=0,h=d-1,i=e-1,g=l-1,c,b=0;b<e;b++)for(a=0;a<d;a++){switch(k){case z:c=g-(a*e+(i-b));break;case B:c=g-(b*d+(h-a));break;case E:c=g-(a*e+b);case D:c=g-(b*d+a);break;case y:c=a*e+b;break;case A:c=b*d+(h-a);break;case C:c=a*e+(i-b);break;default:c=b*d+a}x(j,c,[b,a])}return j};k.$FormationSwirl=function(e){var l=e.$Cols,m=e.$Rows,r=e.$Assembly,k=e.$Count,q=[],n=[],i=0,a=0,b=0,f=l-1,g=m-1,h,d,j=0;switch(r){case z:a=f;b=0;d=[w,o,v,p];break;case B:a=0;b=g;d=[p,v,o,w];break;case E:a=f;b=g;d=[v,o,w,p];break;case D:a=f;b=g;d=[o,v,p,w];break;case y:a=0;b=0;d=[w,p,v,o];break;case A:a=f;b=0;d=[o,w,p,v];break;case C:a=0;b=g;d=[v,p,w,o];break;default:a=0;b=0;d=[p,w,o,v]}i=0;while(i<k){h=b+","+a;if(a>=0&&a<l&&b>=0&&b<m&&!n[h]){n[h]=c;x(q,i++,[b,a])}else switch(d[j++%d.length]){case p:a--;break;case w:b--;break;case o:a++;break;case v:b++}switch(d[j%d.length]){case p:a++;break;case w:b++;break;case o:a--;break;case v:b--}}return q};k.$FormationZigZag=function(d){var k=d.$Cols,l=d.$Rows,n=d.$Assembly,j=d.$Count,h=[],i=0,a=0,b=0,e=k-1,f=l-1,m,c,g=0;switch(n){case z:a=e;b=0;c=[w,o,v,o];break;case B:a=0;b=f;c=[p,v,o,v];break;case E:a=e;b=f;c=[v,o,w,o];break;case D:a=e;b=f;c=[o,v,p,v];break;case y:a=0;b=0;c=[w,p,v,p];break;case A:a=e;b=0;c=[o,w,p,w];break;case C:a=0;b=f;c=[v,p,w,p];break;default:a=0;b=0;c=[p,w,o,w]}i=0;while(i<j){m=b+","+a;if(a>=0&&a<k&&b>=0&&b<l&&typeof h[m]=="undefined"){x(h,i++,[b,a]);switch(c[g%c.length]){case p:a++;break;case w:b++;break;case o:a--;break;case v:b--}}else{switch(c[g++%c.length]){case p:a--;break;case w:b--;break;case o:a++;break;case v:b++}switch(c[g++%c.length]){case p:a++;break;case w:b++;break;case o:a--;break;case v:b--}}}return h};k.$FormationStraightStairs=function(h){var l=h.$Cols,m=h.$Rows,e=h.$Assembly,k=h.$Count,i=[],j=0,c=0,d=0,f=l-1,g=m-1,o=k-1;switch(e){case z:case C:case E:case y:var a=0,b=0;break;case A:case B:case D:case F:var a=f,b=0;break;default:e=F;var a=f,b=0}c=a;d=b;while(j<k){if(T(e)||S(e))x(i,o-j++,[d,c]);else x(i,j++,[d,c]);switch(e){case z:case C:c--;d++;break;case E:case y:c++;d--;break;case A:case B:c--;d--;break;case F:case D:default:c++;d++}if(c<0||d<0||c>f||d>g){switch(e){case z:case C:a++;break;case A:case B:case E:case y:b++;break;case F:case D:default:a--}if(a<0||b<0||a>f||b>g){switch(e){case z:case C:a=f;b++;break;case E:case y:b=g;a++;break;case A:case B:b=g;a--;break;case F:case D:default:a=0;b++}if(b>g)b=g;else if(b<0)b=0;else if(a>f)a=f;else if(a<0)a=0}d=b;c=a}}return i};k.$FormationSquare=function(h){var a=h.$Cols||1,c=h.$Rows||1,i=[],d,e,f,g,j;f=a<c?(c-a)/2:0;g=a>c?(a-c)/2:0;j=b.round(b.max(a/2,c/2))+1;for(d=0;d<a;d++)for(e=0;e<c;e++)x(i,j-b.min(d+1+f,e+1+g,a-d+f,c-e+g),[e,d]);return i};k.$FormationRectangle=function(f){var d=f.$Cols||1,e=f.$Rows||1,g=[],a,c,h;h=b.round(b.min(d/2,e/2))+1;for(a=0;a<d;a++)for(c=0;c<e;c++)x(g,h-b.min(a+1,c+1,d-a,e-c),[c,a]);return g};k.$FormationRandom=function(d){for(var e=[],a,c=0;c<d.$Rows;c++)for(a=0;a<d.$Cols;a++)x(e,b.ceil(1e5*b.random())%13,[c,a]);return e};k.$FormationCircle=function(d){for(var e=d.$Cols||1,f=d.$Rows||1,g=[],a,h=e/2-.5,i=f/2-.5,c=0;c<e;c++)for(a=0;a<f;a++)x(g,b.round(b.sqrt(b.pow(c-h,2)+b.pow(a-i,2))),[a,c]);return g};k.$FormationCross=function(d){for(var e=d.$Cols||1,f=d.$Rows||1,g=[],a,h=e/2-.5,i=f/2-.5,c=0;c<e;c++)for(a=0;a<f;a++)x(g,b.round(b.min(b.abs(c-h),b.abs(a-i))),[a,c]);return g};k.$FormationRectangleCross=function(f){for(var g=f.$Cols||1,h=f.$Rows||1,i=[],a,d=g/2-.5,e=h/2-.5,j=b.max(d,e)+1,c=0;c<g;c++)for(a=0;a<h;a++)x(i,b.round(j-b.max(d-b.abs(c-d),e-b.abs(a-e)))-1,[a,c]);return i};function Q(a){var b=a.$Formation(a);return a.$Reverse?b.reverse():b}function K(g,f){var e={$Interval:f,$Duration:1,$Delay:0,$Cols:1,$Rows:1,$Opacity:0,$Zoom:0,$Clip:0,$Move:d,$SlideOut:d,$FlyDirection:0,$Reverse:d,$Formation:k.$FormationRandom,$Assembly:F,$ChessMode:{$Column:0,$Row:0},$Easing:l.$EaseSwing,$Round:{},$Blocks:[],$During:{}};a.$Extend(e,g);e.$Count=e.$Cols*e.$Rows;if(a.$IsFunction(e.$Easing))e.$Easing={$Default:e.$Easing};e.$FramesCount=b.ceil(e.$Duration/e.$Interval);e.$EasingInstance=R(e);e.$GetBlocks=function(b,a){b/=e.$Cols;a/=e.$Rows;var f=b+"x"+a;if(!e.$Blocks[f]){e.$Blocks[f]={$Width:b,$Height:a};for(var c=0;c<e.$Cols;c++)for(var d=0;d<e.$Rows;d++)e.$Blocks[f][d+","+c]={$Top:d*a,$Right:c*b+b,$Bottom:d*a+a,$Left:c*b}}return e.$Blocks[f]};if(e.$Brother){e.$Brother=K(e.$Brother,f);e.$SlideOut=c}return e}function R(d){var c=d.$Easing;if(!c.$Default)c.$Default=l.$EaseSwing;var e=d.$FramesCount,f=c.$Cache;if(!f){var g=a.$Extend({},d.$Easing,d.$Round);f=c.$Cache={};a.$Each(g,function(n,l){var g=c[l]||c.$Default,j=d.$Round[l]||1;if(!a.$IsArray(g.$Cache))g.$Cache=[];var h=g.$Cache[e]=g.$Cache[e]||[];if(!h[j]){h[j]=[0];for(var k=1;k<=e;k++){var i=k/e*j,m=b.floor(i);if(i!=m)i-=m;h[j][k]=g(i)}}f[l]=h})}return f}function L(D,k,f,y,m,l){var B=this,v,w={},p={},o=[],h,g,t,r=f.$ChessMode.$Column||0,s=f.$ChessMode.$Row||0,j=f.$GetBlocks(m,l),q=Q(f),E=q.length-1,u=f.$Duration+f.$Delay*E,z=y+u,n=f.$SlideOut,A;z+=a.$IsBrowserChrome()?260:50;B.$EndTime=z;B.$ShowFrame=function(c){c-=y;var d=c<u;if(d||A){A=d;if(!n)c=u-c;var e=b.ceil(c/f.$Interval);a.$Each(p,function(c,f){var d=b.max(e,c.$Min);d=b.min(d,c.length-1);if(c.$LastFrameIndex!=d){if(!c.$LastFrameIndex&&!n)a.$ShowElement(o[f]);else d==c.$Max&&n&&a.$HideElement(o[f]);c.$LastFrameIndex=d;a.$SetStylesEx(o[f],c[d])}})}};function x(b){a.$DisableHWA(b);var c=a.$GetChildren(b);a.$Each(c,function(a){x(a)})}k=a.$CloneNode(k,c);x(k);if(a.$IsBrowserIe9Earlier()){var F=!k["no-image"],C=a.$FindChildrenByTag(k,e,c);a.$Each(C,function(b){(F||b["jssor-slider"])&&a.$CssOpacity(b,a.$CssOpacity(b),c)})}a.$Each(q,function(e,k){a.$Each(e,function(N){var S=N[0],R=N[1],z=S+","+R,u=d,x=d,A=d;if(r&&R%2){if(i.$IsHorizontal(r))u=!u;if(i.$IsVertical(r))x=!x;if(r&16)A=!A}if(s&&S%2){if(i.$IsHorizontal(s))u=!u;if(i.$IsVertical(s))x=!x;if(s&16)A=!A}f.$Top=f.$Top||f.$Clip&4;f.$Bottom=f.$Bottom||f.$Clip&8;f.$Left=f.$Left||f.$Clip&1;f.$Right=f.$Right||f.$Clip&2;var G=x?f.$Bottom:f.$Top,D=x?f.$Top:f.$Bottom,F=u?f.$Right:f.$Left,E=u?f.$Left:f.$Right;f.$Clip=G||D||F||E;t={};g={$Top:0,$Left:0,$Opacity:1,$Width:m,$Height:l};h=a.$Extend({},g);v=a.$Extend({},j[z]);if(f.$Opacity)g.$Opacity=2-f.$Opacity;if(f.$ZIndex){g.$ZIndex=f.$ZIndex;h.$ZIndex=0}var Q=f.$Cols*f.$Rows>1||f.$Clip;if(f.$Zoom||f.$Rotate){var P=c;if(a.$IsBrowserIE()&&a.$GetBrowserEngineVersion()<9)if(f.$Cols*f.$Rows>1)P=d;else Q=d;if(P){g.$Zoom=f.$Zoom?f.$Zoom-1:1;h.$Zoom=1;if(a.$IsBrowserIe9Earlier()||a.$IsBrowserOpera())g.$Zoom=b.min(g.$Zoom,2);var K=f.$Rotate;if(K==c)K=1;g.$Rotate=K*360*(A?-1:1);h.$Rotate=0}}if(Q){if(f.$Clip){var y=f.$ScaleClip||1,o=v.$Offset={};if(G&&D){o.$Top=j.$Height/2*y;o.$Bottom=-o.$Top}else if(G)o.$Bottom=-j.$Height*y;else if(D)o.$Top=j.$Height*y;if(F&&E){o.$Left=j.$Width/2*y;o.$Right=-o.$Left}else if(F)o.$Right=-j.$Width*y;else if(E)o.$Left=j.$Width*y}t.$Clip=v;h.$Clip=j[z]}if(f.$FlyDirection){var q=f.$FlyDirection;if(!u)q=i.$ChessHorizontal(q);if(!x)q=i.$ChessVertical(q);var M=f.$ScaleHorizontal||1,O=f.$ScaleVertical||1;if(i.$IsToLeft(q))g.$Left+=m*M;else if(i.$IsToRight(q))g.$Left-=m*M;if(i.$IsToTop(q))g.$Top+=l*O;else if(i.$IsToBottom(q))g.$Top-=l*O}a.$Each(g,function(b,c){if(a.$IsNumeric(b))if(b!=h[c])t[c]=b-h[c]});w[z]=n?h:g;var L=b.round(k*f.$Delay/f.$Interval);p[z]=new Array(L);p[z].$Min=L;for(var C=f.$FramesCount,J=0;J<=C;J++){var e={};a.$Each(t,function(g,c){var m=f.$EasingInstance[c]||f.$EasingInstance.$Default,l=m[f.$Round[c]||1],k=f.$During[c]||[0,1],d=(J/C-k[0])/k[1]*C;d=b.round(b.min(C,b.max(d,0)));var j=l[d];if(a.$IsNumeric(g))e[c]=h[c]+g*j;else{var i=e[c]=a.$Extend({},h[c]);i.$Offset=[];a.$Each(g.$Offset,function(c,b){var a=c*j;i.$Offset[b]=a;i[b]+=a})}});if(h.$Zoom)e.$Transform={$Rotate:e.$Rotate||0,$Scale:e.$Zoom,$OriginalWidth:m,$OriginalHeight:l};if(e.$Clip&&f.$Move){var B=e.$Clip.$Offset,I=(B.$Top||0)+(B.$Bottom||0),H=(B.$Left||0)+(B.$Right||0);e.$Left=(e.$Left||0)+H;e.$Top=(e.$Top||0)+I;e.$Clip.$Left-=H;e.$Clip.$Right-=H;e.$Clip.$Top-=I;e.$Clip.$Bottom-=I}e.$ZIndex=e.$ZIndex||1;p[z].push(e)}})});q.reverse();a.$Each(q,function(b){a.$Each(b,function(d){var g=d[0],f=d[1],e=g+","+f,b=k;if(f||g)b=a.$CloneNode(k,c);a.$SetStyles(b,w[e]);a.$CssOverflow(b,"hidden");a.$CssPosition(b,"absolute");D.$AddClipElement(b);o[e]=b;a.$ShowElement(b,n)})})}g.$JssorSlideshowRunner$=function(h,l,i,n,p){var d=this,o,f,c,s=0,r=n.$TransitionsOrder,k,g=16;function q(){var a=this,b=0;j.call(a,0,o);a.$OnPositionChange=function(d,a){if(a-b>g){b=a;c&&c.$ShowFrame(a);f&&f.$ShowFrame(a)}};a.$Transition=k}d.$GetTransition=function(f){var c=0,e=n.$Transitions,d=e.length;if(r){if(d>f&&(a.$IsBrowserChrome()||a.$IsBrowserSafari()||a.$IsBrowserFireFox()))d-=d%f;c=s++%d}else c=b.floor(b.random()*d);e[c]&&(e[c].$Index=c);return e[c]};d.$Initialize=function(w,x,n,p,a){k=a;a=K(a,g);var m=p.$Item,j=n.$Item;m["no-image"]=!p.$Image;j["no-image"]=!n.$Image;var q=m,r=j,v=a,e=a.$Brother||K({},g);if(!a.$SlideOut){q=j;r=m}var s=e.$Shift||0;f=new L(h,r,e,b.max(s-e.$Interval,0),l,i);c=new L(h,q,v,b.max(e.$Interval-s,0),l,i);f.$ShowFrame(0);c.$ShowFrame(0);o=b.max(f.$EndTime,c.$EndTime);d.$Index=w};d.$Clear=function(){h.$Clear();f=e;c=e};d.$GetProcessor=function(){var a=e;if(c)a=new q;return a};if(a.$IsBrowserIe9Earlier()||a.$IsBrowserOpera()||p&&a.$GetWebKitVersion<537)g=32;m.call(d);j.call(d,-1e7,1e7)};function n(o,ec){var i=this;function zc(){var a=this;j.call(a,-1e8,2e8);a.$GetCurrentSlideInfo=function(){var c=a.$GetPosition_Display(),d=b.floor(c),f=u(d),e=c-b.floor(c);return{$Index:f,$VirtualIndex:d,$Position:e}};a.$OnPositionChange=function(d,a){var e=b.floor(a);if(e!=a&&a>d)e++;Rb(e,c);i.$TriggerEvent(n.$EVT_POSITION_CHANGE,u(a),u(d),a,d)}}function yc(){var b=this;j.call(b,0,0,{$LoopLength:s});a.$Each(C,function(a){K&1&&a.$SetLoopLength(s);b.$Chain(a);a.$Shift(hb/Zb)})}function xc(){var a=this,b=Qb.$Elmt;j.call(a,-1,2,{$Easing:l.$EaseLinear,$Setter:{$Position:Xb},$LoopLength:s},b,{$Position:1},{$Position:-1});a.$Wrapper=b}function mc(o,m){var a=this,f,g,h,l,b;j.call(a,-1e8,2e8);a.$OnStart=function(){R=c;V=e;i.$TriggerEvent(n.$EVT_SWIPE_START,u(y.$GetPosition()),y.$GetPosition())};a.$OnStop=function(){R=d;l=d;var a=y.$GetCurrentSlideInfo();i.$TriggerEvent(n.$EVT_SWIPE_END,u(y.$GetPosition()),y.$GetPosition());!a.$Position&&Bc(a.$VirtualIndex,p)};a.$OnPositionChange=function(d,c){var a;if(l)a=b;else{a=g;if(h)a=k.$SlideEasing(c/h)*(g-f)+f}y.$GoToPosition(a)};a.$PlayCarousel=function(b,d,c,e){f=b;g=d;h=c;y.$GoToPosition(b);a.$GoToPosition(0);a.$PlayToPosition(c,e)};a.$StandBy=function(d){l=c;b=d;a.$Play(d,e,c)};a.$SetStandByPosition=function(a){b=a};a.$MoveCarouselTo=function(a){y.$GoToPosition(a)};y=new zc;y.$Combine(o);y.$Combine(m)}function nc(){var c=this,b=Wb();a.$CssZIndex(b,0);c.$Elmt=b;c.$AddClipElement=function(c){a.$AppendChild(b,c);a.$ShowElement(b)};c.$Clear=function(){a.$HideElement(b);a.$ClearInnerHtml(b)}}function wc(q,o){var f=this,t,x,K,y,g,z=[],R,r,X,I,P,F,l,v,h,hb;j.call(f,-w,w+1,{$SlideItemAnimator:c});function E(a){x&&x.$Revert();t&&t.$Revert();W(q,a);F=c;t=new N.$Class(q,N,1);x=new N.$Class(q,N);x.$GoToBegin();t.$GoToBegin()}function Z(){t.$Version<N.$Version&&E()}function L(o,q,m){if(!I){I=c;if(g&&m){var e=m.width,b=m.height,l=e,j=b;if(e&&b&&k.$FillMode){if(k.$FillMode&3&&(!(k.$FillMode&4)||e>J||b>H)){var h=d,p=J/H*b/e;if(k.$FillMode&1)h=p>1;else if(k.$FillMode&2)h=p<1;l=h?e*H/b:J;j=h?H:b*J/e}a.$CssWidth(g,l);a.$CssHeight(g,j);a.$CssTop(g,(H-j)/2);a.$CssLeft(g,(J-l)/2)}a.$CssPosition(g,"absolute");i.$TriggerEvent(n.$EVT_LOAD_END,cc)}}a.$HideElement(q);o&&o(f)}function Y(b,c,d,e){if(e==V&&p==o&&S)if(!Ac){var a=u(b);A.$Initialize(a,o,c,f,d);c.$HideContentForSlideshow();ab.$Locate(a,1);ab.$GoToPosition(a);B.$PlayCarousel(b,b,0)}}function cb(b){if(b==V&&p==o){if(!l){var a=e;if(A)if(A.$Index==o)a=A.$GetProcessor();else A.$Clear();Z();l=new uc(o,a,f.$GetCaptionSliderIn(),f.$GetCaptionSliderOut());l.$SetPlayer(h)}!l.$IsPlaying()&&l.$Replay()}}function Q(d,c){if(d==o){if(d!=c)C[c]&&C[c].$ParkOut();h&&h.$Enable();var j=V=a.$GetNow();f.$LoadImage(a.$CreateCallback(e,cb,j))}else{var i=b.abs(o-d),g=w+k.$LazyLoading;(!P||i<=g||s-i<=g)&&f.$LoadImage()}}function fb(){if(p==o&&l){l.$Stop();h&&h.$Quit();h&&h.$Disable();l.$OpenSlideshowPanel()}}function gb(){p==o&&l&&l.$Stop()}function O(b){if(U)a.$CancelEvent(b);else i.$TriggerEvent(n.$EVT_CLICK,o,b)}function M(){h=v.pInstance;l&&l.$SetPlayer(h)}f.$LoadImage=function(d,b){b=b||y;if(z.length&&!I){a.$ShowElement(b);if(!X){X=c;i.$TriggerEvent(n.$EVT_LOAD_START);a.$Each(z,function(b){if(!b.src){b.src=a.$GetAttributeEx(b,"src2");a.$CssDisplay(b,b["display-origin"])}})}a.$LoadImages(z,g,a.$CreateCallback(e,L,d,b))}else L(d,b)};f.$GoForNextSlide=function(){if(A){var b=A.$GetTransition(s);if(b){var f=V=a.$GetNow(),c=o+1*Vb,d=C[u(c)];return d.$LoadImage(a.$CreateCallback(e,Y,c,d,b,f),y)}}bb(p+k.$AutoPlaySteps*Vb)};f.$TryActivate=function(){Q(o,o)};f.$ParkOut=function(){h&&h.$Quit();h&&h.$Disable();f.$UnhideContentForSlideshow();l&&l.$Abort();l=e;E()};f.$StampSlideItemElements=function(a){a=hb+"_"+a};f.$HideContentForSlideshow=function(){a.$HideElement(q)};f.$UnhideContentForSlideshow=function(){a.$ShowElement(q)};f.$EnablePlayer=function(){h&&h.$Enable()};function W(b,f,e){if(b["jssor-slider"])return;e=e||0;if(!F){if(b.tagName=="IMG"){z.push(b);if(!b.src){P=c;b["display-origin"]=a.$CssDisplay(b);a.$HideElement(b)}}a.$IsBrowserIe9Earlier()&&a.$CssZIndex(b,(a.$CssZIndex(b)||0)+1);if(k.$HWA&&a.$GetWebKitVersion()>0)(!G||a.$GetWebKitVersion()<534||!eb)&&a.$EnableHWA(b)}var h=a.$GetChildren(b);a.$Each(h,function(h){var j=a.$GetAttributeEx(h,"u");if(j=="player"&&!v){v=h;if(v.pInstance)M();else a.$AddEvent(v,"dataavailable",M)}if(j=="caption"){if(!a.$IsBrowserIE()&&!f){var i=a.$CloneNode(h,c);a.$InsertBefore(b,i,h);a.$RemoveChild(b,h);h=i;f=c}}else if(!F&&!e&&!g&&a.$GetAttributeEx(h,"u")=="image"){g=h;if(g){if(g.tagName=="A"){R=g;a.$SetStyles(R,T);r=a.$CloneNode(g,d);a.$AddEvent(r,"click",O);a.$SetStyles(r,T);a.$CssDisplay(r,"block");a.$CssOpacity(r,0);a.$Css(r,"backgroundColor","#000");g=a.$FindFirstChildByTag(g,"IMG")}g.border=0;a.$SetStyles(g,T)}}W(h,f,e+1)})}f.$OnInnerOffsetChange=function(c,b){var a=w-b;Xb(K,a)};f.$GetCaptionSliderIn=function(){return t};f.$GetCaptionSliderOut=function(){return x};f.$Index=o;m.call(f);var D=a.$FindFirstChildByAttribute(q,"thumb");if(D){f.$Thumb=a.$CloneNode(D,c);a.$RemoveAttribute(D,"id");a.$HideElement(D)}a.$ShowElement(q);y=a.$CloneNode(db,c);a.$CssZIndex(y,1e3);a.$AddEvent(q,"click",O);E(c);f.$Image=g;f.$Link=r;f.$Item=q;f.$Wrapper=K=q;a.$AppendChild(K,y);i.$On(203,Q);i.$On(22,gb);i.$On(24,fb)}function uc(g,r,v,u){var b=this,m=0,x=0,o,h,e,f,l,s,w,t,q=C[g];j.call(b,0,0);function y(){a.$ClearChildren(O);dc&&l&&q.$Link&&a.$AppendChild(O,q.$Link);a.$ShowElement(O,l||!q.$Image)}function z(){if(s){s=d;i.$TriggerEvent(n.$EVT_ROLLBACK_END,g,e,m,h,e,f);b.$GoToPosition(h)}b.$Replay()}function B(a){t=a;b.$Stop();b.$Replay()}b.$Replay=function(){var a=b.$GetPosition_Display();if(!I&&!R&&!t&&p==g){if(!a){if(o&&!l){l=c;b.$OpenSlideshowPanel(c);i.$TriggerEvent(n.$EVT_SLIDESHOW_START,g,m,x,o,f)}y()}var d,k=n.$EVT_STATE_CHANGE;if(a!=f)if(a==e)d=f;else if(a==h)d=e;else if(!a)d=h;else if(a>e){s=c;d=e;k=n.$EVT_ROLLBACK_START}else d=b.$GetPlayToPosition();i.$TriggerEvent(k,g,a,m,h,e,f);var j=S&&(!Tb||Z);if(a==f)j&&q.$GoForNextSlide();else(j||a!=e)&&b.$PlayToPosition(d,z)}};b.$Abort=function(){A&&A.$Index==g&&A.$Clear();var a=b.$GetPosition_Display();a<f&&i.$TriggerEvent(n.$EVT_STATE_CHANGE,g,-a-1,m,h,e,f)};b.$OpenSlideshowPanel=function(b){r&&a.$CssOverflow(jb,b&&r.$Transition.$Outside?"":"hidden")};b.$OnInnerOffsetChange=function(b,a){if(l&&a>=o){l=d;y();q.$UnhideContentForSlideshow();A.$Clear();i.$TriggerEvent(n.$EVT_SLIDESHOW_END,g,m,x,o,f)}i.$TriggerEvent(n.$EVT_PROGRESS_CHANGE,g,a,m,h,e,f)};b.$SetPlayer=function(a){if(a&&!w){w=a;a.$On($JssorPlayer$.$EVT_SWITCH,B)}};r&&b.$Chain(r);o=b.$GetPosition_OuterEnd();b.$GetPosition_OuterEnd();b.$Chain(v);h=v.$GetPosition_OuterEnd();e=h+k.$AutoPlayInterval;u.$Shift(e);b.$Combine(u);f=b.$GetPosition_OuterEnd()}function Xb(c,g){var f=x>0?x:ib,d=Ab*g*(f&1),e=Bb*g*(f>>1&1);if(!a.$IsBrowserChrome()){d=b.round(d);e=b.round(e)}if(a.$IsBrowserIE()&&a.$GetBrowserVersion()>=10&&a.$GetBrowserVersion()<11)c.style.msTransform="translate("+d+"px, "+e+"px)";else if(a.$IsBrowserChrome()&&a.$GetBrowserVersion()>=30&&a.$GetBrowserVersion()<34){c.style.WebkitTransition="transform 0s";c.style.WebkitTransform="translate3d("+d+"px, "+e+"px, 0px) perspective(2000px)"}else{a.$CssLeft(c,d);a.$CssTop(c,e)}}function sc(c){U=0;var b=a.$GetEventSrcElement(c).tagName;!L&&b!="INPUT"&&b!="TEXTAREA"&&qc()&&rc(c)}function rc(b){qb=R;I=c;zb=d;V=e;a.$AddEvent(f,ob,ac);a.$GetNow();Ib=B.$GetPlayToPosition();B.$Stop();if(!qb)x=0;if(G){var h=b.touches[0];ub=h.clientX;vb=h.clientY}else{var g=a.$GetMousePosition(b);ub=g.x;vb=g.y;a.$CancelEvent(b)}E=0;cb=0;gb=0;D=y.$GetPosition();i.$TriggerEvent(n.$EVT_DRAG_START,u(D),D,b)}function ac(e){if(I&&(!a.$IsBrowserIe9Earlier()||e.button)){var f;if(G){var m=e.touches;if(m&&m.length>0)f=new h(m[0].clientX,m[0].clientY)}else f=a.$GetMousePosition(e);if(f){var k=f.x-ub,l=f.y-vb;if(b.floor(D)!=D)x=x||ib&L;if((k||l)&&!x){if(L==3)if(b.abs(l)>b.abs(k))x=2;else x=1;else x=L;if(G&&x==1&&b.abs(l)-b.abs(k)>3)zb=c}if(x){var d=l,j=Bb;if(x==1){d=k;j=Ab}if(!(K&1)){if(d>0){var g=j*p,i=d-g;if(i>0)d=g+b.sqrt(i)*5}if(d<0){var g=j*(s-w-p),i=-d-g;if(i>0)d=-g-b.sqrt(i)*5}}if(E-cb<-2)gb=1;else if(E-cb>2)gb=0;cb=E;E=d;sb=D-E/j/(nb||1);if(E&&x&&!zb){a.$CancelEvent(e);if(!R)B.$StandBy(sb);else B.$SetStandByPosition(sb)}else a.$IsBrowserIe9Earlier()&&a.$CancelEvent(e)}}}else Eb(e)}function Eb(h){oc();if(I){I=d;a.$GetNow();a.$RemoveEvent(f,ob,ac);U=E;U&&a.$CancelEvent(h);B.$Stop();var e=y.$GetPosition();i.$TriggerEvent(n.$EVT_DRAG_END,u(e),e,u(D),D,h);var c=b.floor(D);if(b.abs(E)>=k.$MinDragOffsetToSlide){c=b.floor(e);c+=gb}if(!(K&1))c=b.min(s-w,b.max(c,0));var g=b.abs(c-e);g=1-b.pow(1-g,5);if(!U&&qb)B.$Continue(Ib);else if(e==c){tb.$EnablePlayer();tb.$TryActivate()}else B.$PlayCarousel(e,c,g*Sb)}}function lc(a){C[p];p=u(a);tb=C[p];Rb(a);return p}function Bc(a,b){x=0;lc(a);i.$TriggerEvent(n.$EVT_PARK,u(a),b)}function Rb(b,c){xb=b;a.$Each(Q,function(a){a.$SetCurrentIndex(u(b),b,c)})}function qc(){var b=n.$DragRegistry||0,a=P;if(G)a&1&&(a&=1);n.$DragRegistry|=a;return L=a&~b}function oc(){if(L){n.$DragRegistry&=~P;L=0}}function Wb(){var b=a.$CreateDivElement();a.$SetStyles(b,T);a.$CssPosition(b,"absolute");return b}function u(a){return(a%s+s)%s}function ic(a,c){if(c)if(!K){a=b.min(b.max(a+xb,0),s-w);c=d}else if(K&2){a=u(a+xb);c=d}bb(a,k.$SlideDuration,c)}function yb(){a.$Each(Q,function(a){a.$Show(a.$Options.$ChanceToShow>Z)})}function gc(b){b=a.$GetEvent(b);var c=b.target?b.target:b.srcElement,d=b.relatedTarget?b.relatedTarget:b.toElement;if(!a.$IsChild(o,c)||a.$IsChild(o,d))return;Z=1;yb();C[p].$TryActivate()}function fc(){Z=0;yb()}function hc(){T={$Width:J,$Height:H,$Top:0,$Left:0};a.$Each(X,function(b){a.$SetStyles(b,T);a.$CssPosition(b,"absolute");a.$CssOverflow(b,"hidden");a.$HideElement(b)});a.$SetStyles(db,T)}function lb(b,a){bb(b,a,c)}function bb(h,g,l){if(Ob&&(!I||k.$NaviQuitDrag)){R=c;I=d;B.$Stop();if(a.$IsUndefined(g))g=Sb;var f=Fb.$GetPosition_Display(),e=h;if(l){e=f+h;if(h>0)e=b.ceil(e);else e=b.floor(e)}if(!(K&1)){e=u(e);e=b.max(0,b.min(e,s-w))}var j=(e-f)%s;e=f+j;var i=f==e?0:g*b.abs(j);i=b.min(i,g*w*1.5);B.$PlayCarousel(f,e,i||1)}}i.$PlayTo=bb;i.$GoTo=function(a){bb(a,1)};i.$Next=function(){lb(1)};i.$Prev=function(){lb(-1)};i.$Pause=function(){S=d};i.$Play=function(){if(!S){S=c;C[p]&&C[p].$TryActivate()}};i.$SetSlideshowTransitions=function(a){k.$SlideshowOptions.$Transitions=a};i.$SetCaptionTransitions=function(b){N.$CaptionTransitions=b;N.$Version=a.$GetNow()};i.$SlidesCount=function(){return X.length};i.$CurrentIndex=function(){return p};i.$IsAutoPlaying=function(){return S};i.$IsDragging=function(){return I};i.$IsSliding=function(){return R};i.$IsMouseOver=function(){return!Z};i.$LastDragSucceded=function(){return U};i.$GetOriginalWidth=function(){return a.$CssWidth(v||o)};i.$GetOriginalHeight=function(){return a.$CssHeight(v||o)};i.$GetScaleWidth=function(){return a.$CssWidth(o)};i.$GetScaleHeight=function(){return a.$CssHeight(o)};i.$SetScaleWidth=function(c){if(!v){var b=a.$CreateDivElement(f);a.$CssCssText(b,a.$CssCssText(o));a.$SetClassName(b,a.$GetClassName(o));a.$CssPosition(b,"relative");a.$CssTop(b,0);a.$CssLeft(b,0);a.$CssOverflow(b,"visible");v=a.$CreateDivElement(f);a.$CssPosition(v,"absolute");a.$CssTop(v,0);a.$CssLeft(v,0);a.$CssWidth(v,a.$CssWidth(o));a.$CssHeight(v,a.$CssHeight(o));a.$SetStyleTransformOrigin(v,"0 0");a.$AppendChild(v,b);var g=a.$GetChildren(o);a.$AppendChild(o,v);a.$Css(o,"backgroundImage","");var e={navigator:Y&&Y.$Scale==d,arrowleft:M&&M.$Scale==d,arrowright:M&&M.$Scale==d,thumbnavigator:F&&F.$Scale==d,thumbwrapper:F&&F.$Scale==d};a.$Each(g,function(c){a.$AppendChild(e[a.$GetAttributeEx(c,"u")]?o:b,c)});a.$ShowElement(b);a.$ShowElement(v)}nb=c/a.$CssWidth(v);a.$SetStyleScale(v,nb);a.$CssWidth(o,c);a.$CssHeight(o,nb*a.$CssHeight(v));a.$Each(Q,function(a){a.$Relocate()})};i.$GetVirtualIndex=function(a){var d=b.ceil(u(hb/Zb)),c=u(a-p+d);if(c>w){if(a-p>s/2)a-=s;else if(a-p<=-s/2)a+=s}else a=p+c-d;return a};m.call(this);i.$Elmt=o=a.$GetElement(o);var k=a.$Extend({$FillMode:0,$LazyLoading:1,$StartIndex:0,$AutoPlay:d,$Loop:1,$HWA:c,$NaviQuitDrag:c,$AutoPlaySteps:1,$AutoPlayInterval:3e3,$PauseOnHover:1,$SlideDuration:500,$SlideEasing:l.$EaseOutQuad,$MinDragOffsetToSlide:20,$SlideSpacing:0,$DisplayPieces:1,$ParkingPosition:0,$UISearchMode:1,$PlayOrientation:1,$DragOrientation:1},ec),ib=k.$PlayOrientation&3,Vb=(k.$PlayOrientation&4)/-4||1,fb=k.$SlideshowOptions,N=a.$Extend({$Class:t,$PlayInMode:1,$PlayOutMode:1},k.$CaptionSliderOptions),Y=k.$BulletNavigatorOptions,M=k.$ArrowNavigatorOptions,F=k.$ThumbnailNavigatorOptions,W=k.$UISearchMode,v,z=a.$FindFirstChildByAttribute(o,"slides",e,W),db=a.$FindFirstChildByAttribute(o,"loading",e,W)||a.$CreateDivElement(f),Kb=a.$FindFirstChildByAttribute(o,"navigator",e,W),bc=a.$FindFirstChildByAttribute(o,"arrowleft",e,W),Yb=a.$FindFirstChildByAttribute(o,"arrowright",e,W),Hb=a.$FindFirstChildByAttribute(o,"thumbnavigator",e,W),kc=a.$CssWidth(z),jc=a.$CssHeight(z),T,X=[],tc=a.$GetChildren(z);a.$Each(tc,function(b){b.tagName=="DIV"&&!a.$GetAttributeEx(b,"u")&&X.push(b)});var p=-1,xb,tb,s=X.length,J=k.$SlideWidth||kc,H=k.$SlideHeight||jc,Ub=k.$SlideSpacing,Ab=J+Ub,Bb=H+Ub,Zb=ib&1?Ab:Bb,w=b.min(k.$DisplayPieces,s),jb,x,L,zb,G,Q=[],Nb,Pb,Mb,dc,Ac,S,Tb=k.$PauseOnHover,Sb=k.$SlideDuration,rb,eb,hb,Ob=w<s,K=Ob?k.$Loop:0,P,U,Z=1,R,I,V,ub=0,vb=0,E,cb,gb,Fb,y,ab,B,Qb=new nc,nb;S=k.$AutoPlay;i.$Options=ec;hc();o["jssor-slider"]=c;a.$CssZIndex(z,a.$CssZIndex(z)||0);a.$CssPosition(z,"absolute");jb=a.$CloneNode(z);a.$InsertBefore(a.$GetParentNode(z),jb,z);if(fb){dc=fb.$ShowLink;rb=fb.$Class;eb=w==1&&s>1&&rb&&(!a.$IsBrowserIE()||a.$GetBrowserVersion()>=8)}hb=eb||w>=s||!(K&1)?0:k.$ParkingPosition;P=(w>1||hb?ib:-1)&k.$DragOrientation;var wb=z,C=[],A,O,Db="mousedown",ob="mousemove",Gb="mouseup",mb,D,qb,Ib,sb;if(g.navigator.msPointerEnabled){Db="MSPointerDown";ob="MSPointerMove";Gb="MSPointerUp";mb="MSPointerCancel";if(P){var Cb="none";if(P==1)Cb="pan-y";else if(P==2)Cb="pan-x";a.$SetAttribute(wb.style,"-ms-touch-action",Cb)}}else if("ontouchstart"in g||"createTouch"in f){G=c;Db="touchstart";ob="touchmove";Gb="touchend";mb="touchcancel"}ab=new xc;if(eb)A=new rb(Qb,J,H,fb,G);a.$AppendChild(jb,ab.$Wrapper);a.$CssOverflow(z,"hidden");O=Wb();a.$Css(O,"backgroundColor","#000");a.$CssOpacity(O,0);a.$InsertBefore(wb,O,wb.firstChild);for(var pb=0;pb<X.length;pb++){var vc=X[pb],cc=new wc(vc,pb);C.push(cc)}a.$HideElement(db);Fb=new yc;B=new mc(Fb,ab);if(P){a.$AddEvent(z,Db,sc);a.$AddEvent(f,Gb,Eb);mb&&a.$AddEvent(f,mb,Eb)}Tb&=G?2:1;if(Kb&&Y){Nb=new Y.$Class(Kb,Y);Q.push(Nb)}if(M&&bc&&Yb){Pb=new M.$Class(bc,Yb,M);Q.push(Pb)}if(Hb&&F){F.$StartIndex=k.$StartIndex;Mb=new F.$Class(Hb,F);Q.push(Mb)}a.$Each(Q,function(a){a.$Reset(s,C,db);a.$On(q.$NAVIGATIONREQUEST,ic)});i.$SetScaleWidth(i.$GetOriginalWidth());a.$AddEvent(o,"mouseout",gc);a.$AddEvent(o,"mouseover",fc);yb();k.$ArrowKeyNavigation&&a.$AddEvent(f,"keydown",function(a){if(a.keyCode==r.$LEFT)lb(-1);else a.keyCode==r.$RIGHT&&lb(1)});var kb=k.$StartIndex;if(!(K&1))kb=b.max(0,b.min(kb,s-w));B.$PlayCarousel(kb,kb,0)}n.$EVT_CLICK=21;n.$EVT_DRAG_START=22;n.$EVT_DRAG_END=23;n.$EVT_SWIPE_START=24;n.$EVT_SWIPE_END=25;n.$EVT_LOAD_START=26;n.$EVT_LOAD_END=27;n.$EVT_POSITION_CHANGE=202;n.$EVT_PARK=203;n.$EVT_SLIDESHOW_START=206;n.$EVT_SLIDESHOW_END=207;n.$EVT_PROGRESS_CHANGE=208;n.$EVT_STATE_CHANGE=209;n.$EVT_ROLLBACK_START=210;n.$EVT_ROLLBACK_END=211;g.$JssorSlider$=s=n};var q={$NAVIGATIONREQUEST:1,$INDEXCHANGE:2,$RESET:3};g.$JssorBulletNavigator$=function(f,D){var h=this;m.call(h);f=a.$GetElement(f);var t,u,s,r,l=0,g,n,k,y,z,j,i,p,o,C=[],A=[];function x(a){a!=-1&&A[a].$Activate(a==l)}function v(a){h.$TriggerEvent(q.$NAVIGATIONREQUEST,a*n)}h.$Elmt=f;h.$GetCurrentIndex=function(){return r};h.$SetCurrentIndex=function(a){if(a!=r){var d=l,c=b.floor(a/n);l=c;r=a;x(d);x(c)}};h.$Show=function(b){a.$ShowElement(f,b)};var B;h.$Relocate=function(){if(!B||g.$Scale==d){g.$AutoCenter&1&&a.$CssLeft(f,(a.$CssWidth(a.$GetParentNode(f))-u)/2);g.$AutoCenter&2&&a.$CssTop(f,(a.$CssHeight(a.$GetParentNode(f))-s)/2);B=c}};var w;h.$Reset=function(D){if(!w){t=b.ceil(D/n);l=0;var q=p+y,r=o+z,m=b.ceil(t/k)-1;u=p+q*(!j?m:k-1);s=o+r*(j?m:k-1);a.$CssWidth(f,u);a.$CssHeight(f,s);for(var d=0;d<t;d++){var B=a.$CreateSpanElement();a.$SetInnerText(B,d+1);var h=a.$BuildElement(i,"NumberTemplate",B,c);a.$CssPosition(h,"absolute");var x=d%(m+1);a.$CssLeft(h,!j?q*x:d%k*q);a.$CssTop(h,j?r*x:b.floor(d/(m+1))*r);a.$AppendChild(f,h);C[d]=h;g.$ActionMode&1&&a.$AddEvent(h,"click",a.$CreateCallback(e,v,d));g.$ActionMode&2&&a.$AddEvent(h,"mouseover",a.$CreateCallback(e,v,d));A[d]=a.$Buttonize(h)}w=c}};h.$Options=g=a.$Extend({$SpacingX:0,$SpacingY:0,$Orientation:1,$ActionMode:1},D);i=a.$FindFirstChildByAttribute(f,"prototype");p=a.$CssWidth(i);o=a.$CssHeight(i);a.$RemoveChild(f,i);n=g.$Steps||1;k=g.$Lanes||1;y=g.$SpacingX;z=g.$SpacingY;j=g.$Orientation-1};g.$JssorArrowNavigator$=function(b,g,s){var f=this;m.call(f);var i,h,j,p=a.$GetParentNode(b),o=a.$CssWidth(b),l=a.$CssHeight(b);function k(a){f.$TriggerEvent(q.$NAVIGATIONREQUEST,a,c)}f.$GetCurrentIndex=function(){return i};f.$SetCurrentIndex=function(b,a,c){if(c)i=a;else i=b};f.$Show=function(c){a.$ShowElement(b,c);a.$ShowElement(g,c)};var r;f.$Relocate=function(){if(!r||h.$Scale==d){var f=a.$CssWidth(p),e=a.$CssHeight(p);if(h.$AutoCenter&1){a.$CssLeft(b,(f-o)/2);a.$CssLeft(g,(f-o)/2)}if(h.$AutoCenter&2){a.$CssTop(b,(e-l)/2);a.$CssTop(g,(e-l)/2)}r=c}};var n;f.$Reset=function(d){i=0;if(!n){a.$AddEvent(b,"click",a.$CreateCallback(e,k,-j));a.$AddEvent(g,"click",a.$CreateCallback(e,k,j));a.$Buttonize(b);a.$Buttonize(g);n=c}};f.$Options=h=a.$Extend({$Steps:1},s);j=h.$Steps};g.$JssorThumbnailNavigator$=function(i,A){var h=this,x,l,e,u=[],y,w,f,n,o,t,r,k,p,g,j;m.call(h);i=a.$GetElement(i);function z(n,d){var g=this,b,m,k;function o(){m.$Activate(l==d)}function i(){if(!p.$LastDragSucceded()){var a=f-d%f,b=p.$GetVirtualIndex((d+a)/f-1),c=b*f+f-a;h.$TriggerEvent(q.$NAVIGATIONREQUEST,c)}}g.$Index=d;g.$Highlight=o;k=n.$Thumb||n.$Image||a.$CreateDivElement();g.$Wrapper=b=a.$BuildElement(j,"ThumbnailTemplate",k,c);m=a.$Buttonize(b);e.$ActionMode&1&&a.$AddEvent(b,"click",i);e.$ActionMode&2&&a.$AddEvent(b,"mouseover",i)}h.$GetCurrentIndex=function(){return l};h.$SetCurrentIndex=function(c,d,e){var a=l;l=c;a!=-1&&u[a].$Highlight();u[c].$Highlight();!e&&p.$PlayTo(p.$GetVirtualIndex(b.floor(d/f)))};h.$Show=function(b){a.$ShowElement(i,b)};h.$Relocate=a.$EmptyFunction;var v;h.$Reset=function(F,D){if(!v){x=F;b.ceil(x/f);l=-1;k=b.min(k,D.length);var h=e.$Orientation&1,q=t+(t+n)*(f-1)*(1-h),m=r+(r+o)*(f-1)*h,C=q+(q+n)*(k-1)*h,A=m+(m+o)*(k-1)*(1-h);a.$CssPosition(g,"absolute");a.$CssOverflow(g,"hidden");e.$AutoCenter&1&&a.$CssLeft(g,(y-C)/2);e.$AutoCenter&2&&a.$CssTop(g,(w-A)/2);a.$CssWidth(g,C);a.$CssHeight(g,A);var j=[];a.$Each(D,function(l,e){var i=new z(l,e),d=i.$Wrapper,c=b.floor(e/f),k=e%f;a.$CssLeft(d,(t+n)*k*(1-h));a.$CssTop(d,(r+o)*k*h);if(!j[c]){j[c]=a.$CreateDivElement();a.$AppendChild(g,j[c])}a.$AppendChild(j[c],d);u.push(i)});var E=a.$Extend({$AutoPlay:d,$NaviQuitDrag:d,$SlideWidth:q,$SlideHeight:m,$SlideSpacing:n*h+o*(1-h),$MinDragOffsetToSlide:12,$SlideDuration:200,$PauseOnHover:1,$PlayOrientation:e.$Orientation,$DragOrientation:e.$DisableDrag?0:e.$Orientation},e);p=new s(i,E);v=c}};h.$Options=e=a.$Extend({$SpacingX:3,$SpacingY:3,$DisplayPieces:1,$Orientation:1,$AutoCenter:3,$ActionMode:1},A);y=a.$CssWidth(i);w=a.$CssHeight(i);g=a.$FindFirstChildByAttribute(i,"slides");j=a.$FindFirstChildByAttribute(g,"prototype");t=a.$CssWidth(j);r=a.$CssHeight(j);a.$RemoveChild(g,j);f=e.$Lanes||1;n=e.$SpacingX;o=e.$SpacingY;k=e.$DisplayPieces};function t(){j.call(this,0,0);this.$Revert=a.$EmptyFunction}g.$JssorCaptionSlider$=function(q,k,g){var d=this,h,o=g?k.$PlayInMode:k.$PlayOutMode,f=k.$CaptionTransitions,p={$Transition:"t",$Delay:"d",$Duration:"du",$ScaleHorizontal:"x",$ScaleVertical:"y",$Rotate:"r",$Zoom:"z",$Opacity:"f",$BeginTime:"b"},e={$Default:function(b,a){if(!isNaN(a.$Value))b=a.$Value;else b*=a.$Percent;return b},$Opacity:function(b,a){return this.$Default(b-1,a)}};e.$Zoom=e.$Opacity;j.call(d,0,0);function m(r,l){var k=[],i,j=[],c=[];function h(c,d){var b={};a.$Each(p,function(g,h){var e=a.$GetAttributeEx(c,g+(d||""));if(e){var f={};if(g=="t")f.$Value=e;else if(e.indexOf("%")+1)f.$Percent=a.$ParseFloat(e)/100;else f.$Value=a.$ParseFloat(e);b[h]=f}});return b}function n(){return f[b.floor(b.random()*f.length)]}function d(g){var h;if(g=="*")h=n();else if(g){var e=f[a.$ParseInt(g)]||f[g];if(a.$IsArray(e)){if(g!=i){i=g;c[g]=0;j[g]=e[b.floor(b.random()*e.length)]}else c[g]++;e=j[g];if(a.$IsArray(e)){e=e.length&&e[c[g]%e.length];if(a.$IsArray(e))e=e[b.floor(b.random()*e.length)]}}h=e;if(a.$IsString(h))h=d(h)}return h}var q=a.$GetChildren(r);a.$Each(q,function(b){var c=[];c.$Elmt=b;var f=a.$GetAttributeEx(b,"u")=="caption";a.$Each(g?[0,3]:[2],function(k,n){if(f){var j,g;if(k!=2||!a.$GetAttributeEx(b,"t3")){g=h(b,k);if(k==2&&!g.$Transition){g.$Delay=g.$Delay||{$Value:0};g=a.$Extend(h(b,0),g)}}if(g&&g.$Transition){j=d(g.$Transition.$Value);if(j){var i=a.$Extend({$Delay:0,$ScaleHorizontal:1,$ScaleVertical:1},j);a.$Each(g,function(c,a){var b=(e[a]||e.$Default).apply(e,[i[a],g[a]]);if(!isNaN(b))i[a]=b});if(!n)if(g.$BeginTime)i.$BeginTime=g.$BeginTime.$Value||0;else if(o&2)i.$BeginTime=0}}c.push(i)}if(l%2&&!n)c.$Children=m(b,l+1)});k.push(c)});return k}function n(E,d,F){var h={$Easing:d.$Easing,$Round:d.$Round,$During:d.$During,$Reverse:g&&!F,$Optimize:c},k=E,y=a.$GetParentNode(E),o=a.$CssWidth(k),n=a.$CssHeight(k),u=a.$CssWidth(y),t=a.$CssHeight(y),f={},l={},m=d.$ScaleClip||1;if(d.$Opacity)f.$Opacity=2-d.$Opacity;h.$OriginalWidth=o;h.$OriginalHeight=n;if(d.$Zoom||d.$Rotate){f.$Zoom=d.$Zoom?d.$Zoom-1:1;if(a.$IsBrowserIe9Earlier()||a.$IsBrowserOpera())f.$Zoom=b.min(f.$Zoom,2);l.$Zoom=1;var s=d.$Rotate||0;if(s==c)s=1;f.$Rotate=s*360;l.$Rotate=0}else if(d.$Clip){var z={$Top:0,$Right:o,$Bottom:n,$Left:0},D=a.$Extend({},z),e=D.$Offset={},C=d.$Clip&4,v=d.$Clip&8,A=d.$Clip&1,x=d.$Clip&2;if(C&&v){e.$Top=n/2*m;e.$Bottom=-e.$Top}else if(C)e.$Bottom=-n*m;else if(v)e.$Top=n*m;if(A&&x){e.$Left=o/2*m;e.$Right=-e.$Left}else if(A)e.$Right=-o*m;else if(x)e.$Left=o*m;h.$Move=d.$Move;f.$Clip=D;l.$Clip=z}var p=d.$FlyDirection,q=0,r=0,w=d.$ScaleHorizontal,B=d.$ScaleVertical;if(i.$IsToLeft(p))q-=u*w;else if(i.$IsToRight(p))q+=u*w;if(i.$IsToTop(p))r-=t*B;else if(i.$IsToBottom(p))r+=t*B;if(q||r||h.$Move){f.$Left=q+a.$CssLeft(k);f.$Top=r+a.$CssTop(k)}var G=d.$Duration;l=a.$Extend(l,a.$GetStyles(k,f));h.$Setter=a.$GetStyleSetterEx();return new j(d.$Delay,G,h,k,l,f)}function l(b,c){a.$Each(c,function(c){var f,i=c.$Elmt,e=c[0],j=c[1];if(e){f=n(i,e);b=f.$Locate(a.$IsUndefined(e.$BeginTime)?b:e.$BeginTime,1)}b=l(b,c.$Children);if(j){var g=n(i,j,1);g.$Locate(b,1);d.$Combine(g);h.$Combine(g)}f&&d.$Combine(f)});return b}d.$Revert=function(){d.$GoToPosition(d.$GetPosition_OuterEnd()*(g||0));h.$GoToBegin()};h=new j(0,0);l(0,o?m(q,1):[])}})(window,document,Math,null,true,false)
|