manv_imagegallery - Version 8.1.2

Version Notes

Image Gallery - Image Gallery module for store with image with lightbox and many more. Fully Dynamic (image gallery on cms page) means images or editable via magento admin Nice Lightbox effect

Download this release

Release Info

Developer Manvendra Sharma
Extension manv_imagegallery
Version 8.1.2
Comparing to
See all releases


Code changes from version 8.1.1 to 8.1.2

Files changed (46) hide show
  1. app/code/community/Manv/Imagegallery/Block/Adminhtml/Imagegallery.php +17 -0
  2. app/code/community/Manv/Imagegallery/Block/Adminhtml/Imagegallery/Edit.php +44 -0
  3. app/code/community/Manv/Imagegallery/Block/Adminhtml/Imagegallery/Edit/Form.php +17 -0
  4. app/code/community/Manv/Imagegallery/Block/Adminhtml/Imagegallery/Edit/Tab/Form.php +48 -0
  5. app/code/community/Manv/Imagegallery/Block/Adminhtml/Imagegallery/Edit/Tabs.php +21 -0
  6. app/code/community/Manv/Imagegallery/Block/Adminhtml/Imagegallery/Grid.php +94 -0
  7. app/code/community/Manv/Imagegallery/Block/Index.php +16 -1
  8. app/code/community/Manv/Imagegallery/Model/Imagegallery.php +12 -0
  9. app/code/community/Manv/Imagegallery/Model/Mysql4/Imagegallery.php +8 -0
  10. app/code/community/Manv/Imagegallery/Model/Mysql4/Imagegallery/Collection.php +12 -0
  11. app/code/community/Manv/Imagegallery/controllers/Adminhtml/ImagegalleryController.php +209 -0
  12. app/code/community/Manv/Imagegallery/controllers/IndexController.php +4 -4
  13. app/code/community/Manv/Imagegallery/etc/adminhtml.xml +23 -0
  14. app/code/community/Manv/Imagegallery/etc/config.xml +89 -1
  15. app/code/community/Manv/Imagegallery/etc/system.xml +59 -0
  16. app/code/community/Manv/Imagegallery/sql/imagegallery_setup/mysql4-install-8.1.2.php +37 -0
  17. app/design/adminhtml/default/default/layout/imagegallery.xml +8 -0
  18. app/design/frontend/base/default/layout/imagegallery.xml +12 -0
  19. app/design/frontend/base/default/template/imagegallery/index.phtml +179 -1
  20. app/etc/modules/Manv_Imagegallery.xml +1 -1
  21. media/imagegallery/imagegallery/10.jpg +0 -0
  22. media/imagegallery/imagegallery/11.jpg +0 -0
  23. media/imagegallery/imagegallery/2.jpg +0 -0
  24. media/imagegallery/imagegallery/3.jpg +0 -0
  25. media/imagegallery/imagegallery/4.jpg +0 -0
  26. media/imagegallery/imagegallery/5.jpg +0 -0
  27. media/imagegallery/imagegallery/6.jpg +0 -0
  28. media/imagegallery/imagegallery/7.jpg +0 -0
  29. media/imagegallery/imagegallery/8.jpg +0 -0
  30. media/imagegallery/imagegallery/9.jpg +0 -0
  31. package.xml +6 -6
  32. skin/frontend/base/default/imagegallery/css/imagegallery.css +38 -0
  33. skin/frontend/base/default/imagegallery/imagegallery/10.jpg +0 -0
  34. skin/frontend/base/default/imagegallery/imagegallery/11.jpg +0 -0
  35. skin/frontend/base/default/imagegallery/imagegallery/2.jpg +0 -0
  36. skin/frontend/base/default/imagegallery/imagegallery/3.jpg +0 -0
  37. skin/frontend/base/default/imagegallery/imagegallery/4.jpg +0 -0
  38. skin/frontend/base/default/imagegallery/imagegallery/5.jpg +0 -0
  39. skin/frontend/base/default/imagegallery/imagegallery/6.jpg +0 -0
  40. skin/frontend/base/default/imagegallery/imagegallery/7.jpg +0 -0
  41. skin/frontend/base/default/imagegallery/imagegallery/8.jpg +0 -0
  42. skin/frontend/base/default/imagegallery/imagegallery/9.jpg +0 -0
  43. skin/frontend/base/default/imagegallery/images/close.png +0 -0
  44. skin/frontend/base/default/imagegallery/images/left_1.png +0 -0
  45. skin/frontend/base/default/imagegallery/images/right_1.png +0 -0
  46. skin/frontend/base/default/imagegallery/js/jquery-1.2.6.noConflict.min.js +36 -0
app/code/community/Manv/Imagegallery/Block/Adminhtml/Imagegallery.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+
4
+ class Manv_Imagegallery_Block_Adminhtml_Imagegallery extends Mage_Adminhtml_Block_Widget_Grid_Container{
5
+
6
+ public function __construct()
7
+ {
8
+
9
+ $this->_controller = "adminhtml_imagegallery";
10
+ $this->_blockGroup = "imagegallery";
11
+ $this->_headerText = Mage::helper("imagegallery")->__("Imagegallery Manager");
12
+ $this->_addButtonLabel = Mage::helper("imagegallery")->__("Add New Item");
13
+ parent::__construct();
14
+
15
+ }
16
+
17
+ }
app/code/community/Manv/Imagegallery/Block/Adminhtml/Imagegallery/Edit.php ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Manv_Imagegallery_Block_Adminhtml_Imagegallery_Edit extends Mage_Adminhtml_Block_Widget_Form_Container
4
+ {
5
+ public function __construct()
6
+ {
7
+
8
+ parent::__construct();
9
+ $this->_objectId = "id";
10
+ $this->_blockGroup = "imagegallery";
11
+ $this->_controller = "adminhtml_imagegallery";
12
+ $this->_updateButton("save", "label", Mage::helper("imagegallery")->__("Save Item"));
13
+ $this->_updateButton("delete", "label", Mage::helper("imagegallery")->__("Delete Item"));
14
+
15
+ $this->_addButton("saveandcontinue", array(
16
+ "label" => Mage::helper("imagegallery")->__("Save And Continue Edit"),
17
+ "onclick" => "saveAndContinueEdit()",
18
+ "class" => "save",
19
+ ), -100);
20
+
21
+
22
+
23
+ $this->_formScripts[] = "
24
+
25
+ function saveAndContinueEdit(){
26
+ editForm.submit($('edit_form').action+'back/edit/');
27
+ }
28
+ ";
29
+ }
30
+
31
+ public function getHeaderText()
32
+ {
33
+ if( Mage::registry("imagegallery_data") && Mage::registry("imagegallery_data")->getId() ){
34
+
35
+ return Mage::helper("imagegallery")->__("Edit Item '%s'", $this->htmlEscape(Mage::registry("imagegallery_data")->getId()));
36
+
37
+ }
38
+ else{
39
+
40
+ return Mage::helper("imagegallery")->__("Add Item");
41
+
42
+ }
43
+ }
44
+ }
app/code/community/Manv/Imagegallery/Block/Adminhtml/Imagegallery/Edit/Form.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Manv_Imagegallery_Block_Adminhtml_Imagegallery_Edit_Form extends Mage_Adminhtml_Block_Widget_Form
3
+ {
4
+ protected function _prepareForm()
5
+ {
6
+ $form = new Varien_Data_Form(array(
7
+ "id" => "edit_form",
8
+ "action" => $this->getUrl("*/*/save", array("id" => $this->getRequest()->getParam("id"))),
9
+ "method" => "post",
10
+ "enctype" =>"multipart/form-data",
11
+ )
12
+ );
13
+ $form->setUseContainer(true);
14
+ $this->setForm($form);
15
+ return parent::_prepareForm();
16
+ }
17
+ }
app/code/community/Manv/Imagegallery/Block/Adminhtml/Imagegallery/Edit/Tab/Form.php ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Manv_Imagegallery_Block_Adminhtml_Imagegallery_Edit_Tab_Form extends Mage_Adminhtml_Block_Widget_Form
3
+ {
4
+ protected function _prepareForm()
5
+ {
6
+
7
+ $form = new Varien_Data_Form();
8
+ $this->setForm($form);
9
+ $fieldset = $form->addFieldset("imagegallery_form", array("legend"=>Mage::helper("imagegallery")->__("Item information")));
10
+
11
+
12
+ $fieldset->addField("title", "text", array(
13
+ "label" => Mage::helper("imagegallery")->__("Title"),
14
+ "name" => "title",
15
+ ));
16
+
17
+ $fieldset->addField('image', 'image', array(
18
+ 'label' => Mage::helper('imagegallery')->__('Image'),
19
+ 'name' => 'image',
20
+ 'note' => '(*.jpg, *.png, *.gif)',
21
+ ));
22
+ $fieldset->addField("url", "text", array(
23
+ "label" => Mage::helper("imagegallery")->__("URL"),
24
+ "name" => "url",
25
+ ));
26
+
27
+ $fieldset->addField("description", "text", array(
28
+ "label" => Mage::helper("imagegallery")->__("Description"),
29
+ "name" => "description",
30
+ ));
31
+
32
+ $fieldset->addField('status', 'select', array(
33
+ 'label' => Mage::helper('imagegallery')->__('Status'),
34
+ 'values' => Manv_Imagegallery_Block_Adminhtml_Imagegallery_Grid::getValueArray4(),
35
+ 'name' => 'status',
36
+ ));
37
+
38
+ if (Mage::getSingleton("adminhtml/session")->getImagegalleryData())
39
+ {
40
+ $form->setValues(Mage::getSingleton("adminhtml/session")->getImagegalleryData());
41
+ Mage::getSingleton("adminhtml/session")->setImagegalleryData(null);
42
+ }
43
+ elseif(Mage::registry("imagegallery_data")) {
44
+ $form->setValues(Mage::registry("imagegallery_data")->getData());
45
+ }
46
+ return parent::_prepareForm();
47
+ }
48
+ }
app/code/community/Manv/Imagegallery/Block/Adminhtml/Imagegallery/Edit/Tabs.php ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Manv_Imagegallery_Block_Adminhtml_Imagegallery_Edit_Tabs extends Mage_Adminhtml_Block_Widget_Tabs
3
+ {
4
+ public function __construct()
5
+ {
6
+ parent::__construct();
7
+ $this->setId("imagegallery_tabs");
8
+ $this->setDestElementId("edit_form");
9
+ $this->setTitle(Mage::helper("imagegallery")->__("Item Information"));
10
+ }
11
+ protected function _beforeToHtml()
12
+ {
13
+ $this->addTab("form_section", array(
14
+ "label" => Mage::helper("imagegallery")->__("Item Information"),
15
+ "title" => Mage::helper("imagegallery")->__("Item Information"),
16
+ "content" => $this->getLayout()->createBlock("imagegallery/adminhtml_imagegallery_edit_tab_form")->toHtml(),
17
+ ));
18
+ return parent::_beforeToHtml();
19
+ }
20
+
21
+ }
app/code/community/Manv/Imagegallery/Block/Adminhtml/Imagegallery/Grid.php ADDED
@@ -0,0 +1,94 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Manv_Imagegallery_Block_Adminhtml_Imagegallery_Grid extends Mage_Adminhtml_Block_Widget_Grid
4
+ {
5
+
6
+ public function __construct()
7
+ {
8
+ parent::__construct();
9
+ $this->setId("imagegalleryGrid");
10
+ $this->setDefaultSort("id");
11
+ $this->setDefaultDir("DESC");
12
+ $this->setSaveParametersInSession(true);
13
+ }
14
+
15
+ protected function _prepareCollection()
16
+ {
17
+ $collection = Mage::getModel("imagegallery/imagegallery")->getCollection();
18
+ $this->setCollection($collection);
19
+ return parent::_prepareCollection();
20
+ }
21
+ protected function _prepareColumns()
22
+ {
23
+ $this->addColumn("id", array(
24
+ "header" => Mage::helper("imagegallery")->__("ID"),
25
+ "align" =>"right",
26
+ "width" => "50px",
27
+ "type" => "number",
28
+ "index" => "id",
29
+ ));
30
+
31
+ $this->addColumn("title", array(
32
+ "header" => Mage::helper("imagegallery")->__("Title"),
33
+ "index" => "title",
34
+ ));
35
+ $this->addColumn("url", array(
36
+ "header" => Mage::helper("imagegallery")->__("URL"),
37
+ "index" => "url",
38
+ ));
39
+ $this->addColumn("description", array(
40
+ "header" => Mage::helper("imagegallery")->__("Description"),
41
+ "index" => "description",
42
+ ));
43
+ $this->addColumn('status', array(
44
+ 'header' => Mage::helper('imagegallery')->__('Status'),
45
+ 'index' => 'status',
46
+ 'type' => 'options',
47
+ 'options'=>Manv_Imagegallery_Block_Adminhtml_Imagegallery_Grid::getOptionArray4(),
48
+ ));
49
+
50
+ $this->addExportType('*/*/exportCsv', Mage::helper('sales')->__('CSV'));
51
+ $this->addExportType('*/*/exportExcel', Mage::helper('sales')->__('Excel'));
52
+
53
+ return parent::_prepareColumns();
54
+ }
55
+
56
+ public function getRowUrl($row)
57
+ {
58
+ return $this->getUrl("*/*/edit", array("id" => $row->getId()));
59
+ }
60
+
61
+
62
+
63
+ protected function _prepareMassaction()
64
+ {
65
+ $this->setMassactionIdField('id');
66
+ $this->getMassactionBlock()->setFormFieldName('ids');
67
+ $this->getMassactionBlock()->setUseSelectAll(true);
68
+ $this->getMassactionBlock()->addItem('remove_imagegallery', array(
69
+ 'label'=> Mage::helper('imagegallery')->__('Remove Imagegallery'),
70
+ 'url' => $this->getUrl('*/adminhtml_imagegallery/massRemove'),
71
+ 'confirm' => Mage::helper('imagegallery')->__('Are you sure?')
72
+ ));
73
+ return $this;
74
+ }
75
+
76
+ static public function getOptionArray4()
77
+ {
78
+ $data_array=array();
79
+ $data_array[0]='Enable';
80
+ $data_array[1]='Disable';
81
+ return($data_array);
82
+ }
83
+ static public function getValueArray4()
84
+ {
85
+ $data_array=array();
86
+ foreach(Manv_Imagegallery_Block_Adminhtml_Imagegallery_Grid::getOptionArray4() as $k=>$v){
87
+ $data_array[]=array('value'=>$k,'label'=>$v);
88
+ }
89
+ return($data_array);
90
+
91
+ }
92
+
93
+
94
+ }
app/code/community/Manv/Imagegallery/Block/Index.php CHANGED
@@ -3,6 +3,21 @@ class Manv_Imagegallery_Block_Index extends Mage_Core_Block_Template{
3
 
4
 
5
 
 
 
 
 
6
 
 
 
 
 
7
 
8
- }
 
 
 
 
 
 
 
3
 
4
 
5
 
6
+ public function getImagegalleryEnabled()
7
+ {
8
+ return Mage::getStoreConfig('manvimagegallerysection/manvimagegallerygroup/status',Mage::app()->getStore());
9
+ }
10
 
11
+ public function getImagegalleryPaggingstart()
12
+ {
13
+ return Mage::getStoreConfig('manvimagegallerysection/manvimagegallerygroup/numofiteminpage',Mage::app()->getStore());
14
+ }
15
 
16
+ public function getImagegalleryRowitem()
17
+ {
18
+ return Mage::getStoreConfig('manvimagegallerysection/manvimagegallerygroup/numofiteminrow',Mage::app()->getStore());
19
+ }
20
+
21
+
22
+
23
+ }
app/code/community/Manv/Imagegallery/Model/Imagegallery.php ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Manv_Imagegallery_Model_Imagegallery extends Mage_Core_Model_Abstract
4
+ {
5
+ protected function _construct(){
6
+
7
+ $this->_init("imagegallery/imagegallery");
8
+
9
+ }
10
+
11
+ }
12
+
app/code/community/Manv/Imagegallery/Model/Mysql4/Imagegallery.php ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Manv_Imagegallery_Model_Mysql4_Imagegallery extends Mage_Core_Model_Mysql4_Abstract
3
+ {
4
+ protected function _construct()
5
+ {
6
+ $this->_init("imagegallery/imagegallery", "id");
7
+ }
8
+ }
app/code/community/Manv/Imagegallery/Model/Mysql4/Imagegallery/Collection.php ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Manv_Imagegallery_Model_Mysql4_Imagegallery_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
3
+ {
4
+
5
+ public function _construct(){
6
+ $this->_init("imagegallery/imagegallery");
7
+ }
8
+
9
+
10
+
11
+ }
12
+
app/code/community/Manv/Imagegallery/controllers/Adminhtml/ImagegalleryController.php ADDED
@@ -0,0 +1,209 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Manv_Imagegallery_Adminhtml_ImagegalleryController extends Mage_Adminhtml_Controller_Action
4
+ {
5
+ protected function _initAction()
6
+ {
7
+ $this->loadLayout()->_setActiveMenu("imagegallery/imagegallery")->_addBreadcrumb(Mage::helper("adminhtml")->__("Imagegallery Manager"),Mage::helper("adminhtml")->__("Imagegallery Manager"));
8
+ return $this;
9
+ }
10
+ public function indexAction()
11
+ {
12
+ $this->_title($this->__("Imagegallery"));
13
+ $this->_title($this->__("Manager Imagegallery"));
14
+
15
+ $this->_initAction();
16
+ $this->renderLayout();
17
+ }
18
+ public function editAction()
19
+ {
20
+ $this->_title($this->__("Imagegallery"));
21
+ $this->_title($this->__("Imagegallery"));
22
+ $this->_title($this->__("Edit Item"));
23
+
24
+ $id = $this->getRequest()->getParam("id");
25
+ $model = Mage::getModel("imagegallery/imagegallery")->load($id);
26
+ if ($model->getId()) {
27
+ Mage::register("imagegallery_data", $model);
28
+ $this->loadLayout();
29
+ $this->_setActiveMenu("imagegallery/imagegallery");
30
+ $this->_addBreadcrumb(Mage::helper("adminhtml")->__("Imagegallery Manager"), Mage::helper("adminhtml")->__("Imagegallery Manager"));
31
+ $this->_addBreadcrumb(Mage::helper("adminhtml")->__("Imagegallery Description"), Mage::helper("adminhtml")->__("Imagegallery Description"));
32
+ $this->getLayout()->getBlock("head")->setCanLoadExtJs(true);
33
+ $this->_addContent($this->getLayout()->createBlock("imagegallery/adminhtml_imagegallery_edit"))->_addLeft($this->getLayout()->createBlock("imagegallery/adminhtml_imagegallery_edit_tabs"));
34
+ $this->renderLayout();
35
+ }
36
+ else {
37
+ Mage::getSingleton("adminhtml/session")->addError(Mage::helper("imagegallery")->__("Item does not exist."));
38
+ $this->_redirect("*/*/");
39
+ }
40
+ }
41
+
42
+ public function newAction()
43
+ {
44
+
45
+ $this->_title($this->__("Imagegallery"));
46
+ $this->_title($this->__("Imagegallery"));
47
+ $this->_title($this->__("New Item"));
48
+
49
+ $id = $this->getRequest()->getParam("id");
50
+ $model = Mage::getModel("imagegallery/imagegallery")->load($id);
51
+
52
+ $data = Mage::getSingleton("adminhtml/session")->getFormData(true);
53
+ if (!empty($data)) {
54
+ $model->setData($data);
55
+ }
56
+
57
+ Mage::register("imagegallery_data", $model);
58
+
59
+ $this->loadLayout();
60
+ $this->_setActiveMenu("imagegallery/imagegallery");
61
+
62
+ $this->getLayout()->getBlock("head")->setCanLoadExtJs(true);
63
+
64
+ $this->_addBreadcrumb(Mage::helper("adminhtml")->__("Imagegallery Manager"), Mage::helper("adminhtml")->__("Imagegallery Manager"));
65
+ $this->_addBreadcrumb(Mage::helper("adminhtml")->__("Imagegallery Description"), Mage::helper("adminhtml")->__("Imagegallery Description"));
66
+
67
+
68
+ $this->_addContent($this->getLayout()->createBlock("imagegallery/adminhtml_imagegallery_edit"))->_addLeft($this->getLayout()->createBlock("imagegallery/adminhtml_imagegallery_edit_tabs"));
69
+
70
+ $this->renderLayout();
71
+
72
+ }
73
+ public function saveAction()
74
+ {
75
+
76
+ $post_data=$this->getRequest()->getPost();
77
+
78
+
79
+ if ($post_data) {
80
+
81
+ try {
82
+
83
+
84
+ //save image
85
+ try{
86
+
87
+ if((bool)$post_data['image']['delete']==1) {
88
+
89
+ $post_data['image']='';
90
+
91
+ }
92
+ else {
93
+
94
+ unset($post_data['image']);
95
+
96
+ if (isset($_FILES)){
97
+
98
+ if ($_FILES['image']['name']) {
99
+
100
+ if($this->getRequest()->getParam("id")){
101
+ $model = Mage::getModel("imagegallery/imagegallery")->load($this->getRequest()->getParam("id"));
102
+ if($model->getData('image')){
103
+ $io = new Varien_Io_File();
104
+ $io->rm(Mage::getBaseDir('media').DS.implode(DS,explode('/',$model->getData('image'))));
105
+ }
106
+ }
107
+ $path = Mage::getBaseDir('media') . DS . 'imagegallery' . DS .'imagegallery'.DS;
108
+ $uploader = new Varien_File_Uploader('image');
109
+ $uploader->setAllowedExtensions(array('jpg','png','gif'));
110
+ $uploader->setAllowRenameFiles(false);
111
+ $uploader->setFilesDispersion(false);
112
+ $destFile = $path.$_FILES['image']['name'];
113
+ $filename = $uploader->getNewFileName($destFile);
114
+ $uploader->save($path, $filename);
115
+
116
+ $post_data['image']='imagegallery/imagegallery/'.$filename;
117
+ }
118
+ }
119
+ }
120
+
121
+ } catch (Exception $e) {
122
+ Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
123
+ $this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
124
+ return;
125
+ }
126
+ //save image
127
+
128
+
129
+ $model = Mage::getModel("imagegallery/imagegallery")
130
+ ->addData($post_data)
131
+ ->setId($this->getRequest()->getParam("id"))
132
+ ->save();
133
+
134
+ Mage::getSingleton("adminhtml/session")->addSuccess(Mage::helper("adminhtml")->__("Imagegallery was successfully saved"));
135
+ Mage::getSingleton("adminhtml/session")->setImagegalleryData(false);
136
+
137
+ if ($this->getRequest()->getParam("back")) {
138
+ $this->_redirect("*/*/edit", array("id" => $model->getId()));
139
+ return;
140
+ }
141
+ $this->_redirect("*/*/");
142
+ return;
143
+ }
144
+ catch (Exception $e) {
145
+ Mage::getSingleton("adminhtml/session")->addError($e->getMessage());
146
+ Mage::getSingleton("adminhtml/session")->setImagegalleryData($this->getRequest()->getPost());
147
+ $this->_redirect("*/*/edit", array("id" => $this->getRequest()->getParam("id")));
148
+ return;
149
+ }
150
+
151
+ }
152
+ $this->_redirect("*/*/");
153
+ }
154
+
155
+
156
+
157
+ public function deleteAction()
158
+ {
159
+ if( $this->getRequest()->getParam("id") > 0 ) {
160
+ try {
161
+ $model = Mage::getModel("imagegallery/imagegallery");
162
+ $model->setId($this->getRequest()->getParam("id"))->delete();
163
+ Mage::getSingleton("adminhtml/session")->addSuccess(Mage::helper("adminhtml")->__("Item was successfully deleted"));
164
+ $this->_redirect("*/*/");
165
+ }
166
+ catch (Exception $e) {
167
+ Mage::getSingleton("adminhtml/session")->addError($e->getMessage());
168
+ $this->_redirect("*/*/edit", array("id" => $this->getRequest()->getParam("id")));
169
+ }
170
+ }
171
+ $this->_redirect("*/*/");
172
+ }
173
+
174
+
175
+ public function massRemoveAction()
176
+ {
177
+ try {
178
+ $ids = $this->getRequest()->getPost('ids', array());
179
+ foreach ($ids as $id) {
180
+ $model = Mage::getModel("imagegallery/imagegallery");
181
+ $model->setId($id)->delete();
182
+ }
183
+ Mage::getSingleton("adminhtml/session")->addSuccess(Mage::helper("adminhtml")->__("Item(s) was successfully removed"));
184
+ }
185
+ catch (Exception $e) {
186
+ Mage::getSingleton("adminhtml/session")->addError($e->getMessage());
187
+ }
188
+ $this->_redirect('*/*/');
189
+ }
190
+
191
+ /**
192
+ * Export order grid to CSV format
193
+ */
194
+ public function exportCsvAction()
195
+ {
196
+ $fileName = 'imagegallery.csv';
197
+ $grid = $this->getLayout()->createBlock('imagegallery/adminhtml_imagegallery_grid');
198
+ $this->_prepareDownloadResponse($fileName, $grid->getCsvFile());
199
+ }
200
+ /**
201
+ * Export order grid to Excel XML format
202
+ */
203
+ public function exportExcelAction()
204
+ {
205
+ $fileName = 'imagegallery.xml';
206
+ $grid = $this->getLayout()->createBlock('imagegallery/adminhtml_imagegallery_grid');
207
+ $this->_prepareDownloadResponse($fileName, $grid->getExcelFile($fileName));
208
+ }
209
+ }
app/code/community/Manv/Imagegallery/controllers/IndexController.php CHANGED
@@ -3,7 +3,7 @@ class Manv_Imagegallery_IndexController extends Mage_Core_Controller_Front_Actio
3
  public function IndexAction() {
4
 
5
  $this->loadLayout();
6
- $this->getLayout()->getBlock("head")->setTitle($this->__("Titlename"));
7
  $breadcrumbs = $this->getLayout()->getBlock("breadcrumbs");
8
  $breadcrumbs->addCrumb("home", array(
9
  "label" => $this->__("Home Page"),
@@ -11,9 +11,9 @@ class Manv_Imagegallery_IndexController extends Mage_Core_Controller_Front_Actio
11
  "link" => Mage::getBaseUrl()
12
  ));
13
 
14
- $breadcrumbs->addCrumb("titlename", array(
15
- "label" => $this->__("Titlename"),
16
- "title" => $this->__("Titlename")
17
  ));
18
 
19
  $this->renderLayout();
3
  public function IndexAction() {
4
 
5
  $this->loadLayout();
6
+ $this->getLayout()->getBlock("head")->setTitle($this->__("Image Gallery"));
7
  $breadcrumbs = $this->getLayout()->getBlock("breadcrumbs");
8
  $breadcrumbs->addCrumb("home", array(
9
  "label" => $this->__("Home Page"),
11
  "link" => Mage::getBaseUrl()
12
  ));
13
 
14
+ $breadcrumbs->addCrumb("image gallery", array(
15
+ "label" => $this->__("Image Gallery"),
16
+ "title" => $this->__("Image Gallery")
17
  ));
18
 
19
  $this->renderLayout();
app/code/community/Manv/Imagegallery/etc/adminhtml.xml ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <config>
3
+ <acl>
4
+ <resources>
5
+ <admin>
6
+ <children>
7
+ <system>
8
+ <children>
9
+ <config>
10
+ <children>
11
+ <manvimagegallerysection translate="title" module="imagegallery">
12
+ <title>General Setting Section</title>
13
+ <sort_order>0</sort_order>
14
+ </manvimagegallerysection>
15
+ </children>
16
+ </config>
17
+ </children>
18
+ </system>
19
+ </children>
20
+ </admin>
21
+ </resources>
22
+ </acl>
23
+ </config>
app/code/community/Manv/Imagegallery/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <Manv_Imagegallery>
5
- <version>8.1.1</version>
6
  </Manv_Imagegallery>
7
  </modules>
8
  <frontend>
@@ -34,5 +34,93 @@
34
  <class>Manv_Imagegallery_Block</class>
35
  </imagegallery>
36
  </blocks>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37
  </global>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  </config>
2
  <config>
3
  <modules>
4
  <Manv_Imagegallery>
5
+ <version>8.1.2</version>
6
  </Manv_Imagegallery>
7
  </modules>
8
  <frontend>
34
  <class>Manv_Imagegallery_Block</class>
35
  </imagegallery>
36
  </blocks>
37
+ <models>
38
+ <imagegallery>
39
+ <class>Manv_Imagegallery_Model</class>
40
+ <resourceModel>imagegallery_mysql4</resourceModel>
41
+ </imagegallery>
42
+ <imagegallery_mysql4>
43
+ <class>Manv_Imagegallery_Model_Mysql4</class>
44
+ <entities>
45
+ <imagegallery>
46
+ <table>manvimagegallery</table>
47
+ </imagegallery>
48
+ </entities>
49
+ </imagegallery_mysql4>
50
+ </models>
51
+ <resources>
52
+ <imagegallery_setup>
53
+ <setup>
54
+ <module>Manv_Imagegallery</module>
55
+ </setup>
56
+ <connection>
57
+ <use>core_setup</use>
58
+ </connection>
59
+ </imagegallery_setup>
60
+ <imagegallery_write>
61
+ <connection>
62
+ <use>core_write</use>
63
+ </connection>
64
+ </imagegallery_write>
65
+ <imagegallery_read>
66
+ <connection>
67
+ <use>core_read</use>
68
+ </connection>
69
+ </imagegallery_read>
70
+ </resources>
71
  </global>
72
+ <admin>
73
+ <routers>
74
+ <imagegallery>
75
+ <use>admin</use>
76
+ <args>
77
+ <module>Manv_Imagegallery</module>
78
+ <frontName>imagegallery</frontName>
79
+ </args>
80
+ </imagegallery>
81
+ </routers>
82
+ </admin>
83
+ <adminhtml>
84
+ <menu>
85
+ <imagegallery module="imagegallery">
86
+ <title>Imagegallery</title>
87
+ <sort_order>100</sort_order>
88
+ <children>
89
+ <imagegallery module="imagegallery">
90
+ <title>Manage Imagegallery</title>
91
+ <sort_order>0</sort_order>
92
+ <action>imagegallery/adminhtml_imagegallery</action>
93
+ </imagegallery>
94
+ </children>
95
+ </imagegallery>
96
+ </menu>
97
+ <acl>
98
+ <resources>
99
+ <all>
100
+ <title>Allow Everything</title>
101
+ </all>
102
+ <admin>
103
+ <children>
104
+ <imagegallery translate="title" module="imagegallery">
105
+ <title>Imagegallery</title>
106
+ <sort_order>1000</sort_order>
107
+ <children>
108
+ <imagegallery translate="title">
109
+ <title>Manage Imagegallery</title>
110
+ <sort_order>0</sort_order>
111
+ </imagegallery>
112
+ </children>
113
+ </imagegallery>
114
+ </children>
115
+ </admin>
116
+ </resources>
117
+ </acl>
118
+ <layout>
119
+ <updates>
120
+ <imagegallery>
121
+ <file>imagegallery.xml</file>
122
+ </imagegallery>
123
+ </updates>
124
+ </layout>
125
+ </adminhtml>
126
  </config>
app/code/community/Manv/Imagegallery/etc/system.xml ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <config>
3
+ <tabs>
4
+ <manvimagegallery translate="label" module="imagegallery">
5
+ <label>Manv_image Gallery</label>
6
+ <sort_order>0</sort_order>
7
+ </manvimagegallery>
8
+ </tabs>
9
+ <sections>
10
+ <manvimagegallerysection translate="label" module="imagegallery">
11
+ <label>General Setting</label>
12
+ <tab>manvimagegallery</tab>
13
+ <frontend_type>text</frontend_type>
14
+ <sort_order>0</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
+ <manvimagegallerygroup translate="label">
20
+ <label>General Setting</label>
21
+ <frontend_type>text</frontend_type>
22
+ <sort_order>0</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
+ <status translate="label">
28
+ <label>Enable</label>
29
+ <frontend_type>select</frontend_type>
30
+ <source_model>adminhtml/system_config_source_yesno</source_model>
31
+ <sort_order>0</sort_order>
32
+ <show_in_default>1</show_in_default>
33
+ <show_in_website>1</show_in_website>
34
+ <show_in_store>1</show_in_store>
35
+ </status>
36
+ <numofiteminrow translate="label">
37
+ <label>Number of Item In a Row</label>
38
+ <frontend_type>text</frontend_type>
39
+ <sort_order>1</sort_order>
40
+ <show_in_default>1</show_in_default>
41
+ <show_in_website>1</show_in_website>
42
+ <show_in_store>1</show_in_store>
43
+ <comment>Exaple: 3,4,5....</comment>
44
+ </numofiteminrow>
45
+ <numofiteminpage translate="label">
46
+ <label>Number of Item In a Page</label>
47
+ <frontend_type>text</frontend_type>
48
+ <sort_order>2</sort_order>
49
+ <show_in_default>1</show_in_default>
50
+ <show_in_website>1</show_in_website>
51
+ <show_in_store>1</show_in_store>
52
+ <comment>Example: 10,15,...</comment>
53
+ </numofiteminpage>
54
+ </fields>
55
+ </manvimagegallerygroup>
56
+ </groups>
57
+ </manvimagegallerysection>
58
+ </sections>
59
+ </config>
app/code/community/Manv/Imagegallery/sql/imagegallery_setup/mysql4-install-8.1.2.php ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $installer = $this;
3
+ $installer->startSetup();
4
+ $sql=<<<SQLTEXT
5
+ create table {$this->getTable('manvimagegallery')}(id int not null auto_increment, title varchar(255), image varchar(255), url varchar(255), description varchar(255), status varchar(100), primary key(id));
6
+
7
+ insert into {$this->getTable('manvimagegallery')} (`title`,`image`,`description`,`url`,`status`) VALUES
8
+ ('Image gallery 1','imagegallery/imagegallery/3.jpg','Image gallery 1','www.google.com','0'),
9
+ ('Image gallery 2','imagegallery/imagegallery/4.jpg','Image gallery 2','www.google.com','0'),
10
+ ('Image gallery 3','imagegallery/imagegallery/5.jpg','Image gallery 3','www.google.com','0'),
11
+ ('Image gallery 4','imagegallery/imagegallery/6.jpg','Image gallery 4','www.google.com','0'),
12
+ ('Image gallery 5','imagegallery/imagegallery/7.jpg','Image gallery 5','www.google.com','0'),
13
+ ('Image gallery 6','imagegallery/imagegallery/8.jpg','Image gallery 6','www.google.com','0'),
14
+ ('Image gallery 7','imagegallery/imagegallery/9.jpg','Image gallery 7','www.google.com','0'),
15
+ ('Image gallery 8','imagegallery/imagegallery/10.jpg','Image gallery 8','www.google.com','0'),
16
+ ('Image gallery 9','imagegallery/imagegallery/11.jpg','Image gallery 9','www.google.com','0'),
17
+ ('Image gallery 10','imagegallery/imagegallery/2.jpg','Image gallery 10','www.google.com','0'),
18
+ ('Image gallery 11','imagegallery/imagegallery/3.jpg','Image gallery 11','www.google.com','0'),
19
+ ('Image gallery 12','imagegallery/imagegallery/4.jpg','Image gallery 12','www.google.com','0'),
20
+ ('Image gallery 13','imagegallery/imagegallery/5.jpg','Image gallery 13','www.google.com','0'),
21
+ ('Image gallery 14','imagegallery/imagegallery/6.jpg','Image gallery 14','www.google.com','0'),
22
+ ('Image gallery 15','imagegallery/imagegallery/7.jpg','Image gallery 15','www.google.com','0'),
23
+ ('Image gallery 16','imagegallery/imagegallery/8.jpg','Image gallery 16','www.google.com','0'),
24
+ ('Image gallery 17','imagegallery/imagegallery/9.jpg','Image gallery 17','www.google.com','0'),
25
+ ('Image gallery 18','imagegallery/imagegallery/10.jpg','Image gallery 18','www.google.com','0'),
26
+ ('Image gallery 19','imagegallery/imagegallery/11.jpg','Image gallery 19','www.google.com','0'),
27
+ ('Image gallery 20','imagegallery/imagegallery/2.jpg','Image gallery 20','www.google.com','0');
28
+
29
+
30
+ SQLTEXT;
31
+
32
+ $installer->run($sql);
33
+ //demo
34
+ Mage::getModel('core/url_rewrite')->setId(null);
35
+ //demo
36
+ $installer->endSetup();
37
+
app/design/adminhtml/default/default/layout/imagegallery.xml ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <layout version="0.1.0">
3
+ <imagegallery_adminhtml_imagegallery_index>
4
+ <reference name="content">
5
+ <block type="imagegallery/adminhtml_imagegallery" name="imagegallery" />
6
+ </reference>
7
+ </imagegallery_adminhtml_imagegallery_index>
8
+ </layout>
app/design/frontend/base/default/layout/imagegallery.xml ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <layout version="8.1.2">
3
+ <imagegallery_index_index>
4
+ <reference name="root">
5
+ <action method="setTemplate"><template>page/1column.phtml</template></action>
6
+ </reference>
7
+ <reference name="content">
8
+ <block type="imagegallery/index" name="imagegallery_index" template="imagegallery/index.phtml"/>
9
+ </reference>
10
+ </imagegallery_index_index>
11
+ </layout>
12
+
app/design/frontend/base/default/template/imagegallery/index.phtml CHANGED
@@ -1 +1,179 @@
1
- Demo Page
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php $currentUrl1 = Mage::helper('core/url')->getCurrentUrl(); ?>
2
+ <?php $str = '?';
3
+ $currentUrl = substr($currentUrl1,0,strrpos($currentUrl1,'?'));
4
+ ?>
5
+ <?php $gallery_status=$this->getImagegalleryEnabled(); ?>
6
+ <?php $gallery_Paggingstar=$this->getImagegalleryPaggingstart(); ?>
7
+ <?php $gallery_Rowitem=$this->getImagegalleryRowitem(); ?>
8
+
9
+
10
+
11
+ <?php if($gallery_status==1){ ?>
12
+
13
+
14
+ <?php $cssurl = str_replace('index.php/','',$this->getUrl());?>
15
+ <script src="<?php echo $cssurl.'skin/frontend/base/default/imagegallery/js/jquery-1.2.6.noConflict.min.js'; ?>" type="text/javascript" ></script>
16
+ <link rel="stylesheet" type="text/css" href="<?php echo $cssurl.'skin/frontend/base/default/imagegallery/css/imagegallery.css'; ?>" media="all">
17
+ <script type="text/javascript">
18
+ jQuery.noConflict();
19
+ function applyto(id) {
20
+ var c= '#mks'+id
21
+ jQuery(c).fadeIn(1000);
22
+ }
23
+
24
+ function applytoprev(x,y) {
25
+ jQuery('#mks'+x).hide();
26
+ jQuery('#mks'+y).show();
27
+ }
28
+
29
+ function applytonext(x,y) {
30
+ jQuery('#mks'+x).hide();
31
+ jQuery('#mks'+y).show();
32
+ }
33
+ </script>
34
+
35
+
36
+ <?php
37
+ $connection = Mage::getSingleton('core/resource')->getConnection('core_write');
38
+ $sql = $connection->query("select * from manvimagegallery");
39
+ $nr = $connection->fetchOne( 'SELECT COUNT(*) AS count FROM manvimagegallery' );
40
+ //$sql = mysql_query("SELECT * FROM imagegallery");
41
+
42
+ //echo $nr = mysql_num_rows($sql); // Get total of Num rows from the database query
43
+ if (isset($_GET['pn'])) { // Get pn from URL vars if it is present
44
+ $pn = preg_replace('#[^0-9]#i', '', $_GET['pn']); // filter everything but numbers for security(new)
45
+
46
+ } else {
47
+ $pn = 1;
48
+ }
49
+
50
+ $itemsPerPage = $gallery_Paggingstar;
51
+
52
+ $lastPage = ceil($nr / $itemsPerPage);
53
+
54
+ if ($pn < 1) { // If it is less than 1
55
+ $pn = 1; // force if to be 1
56
+ } else if ($pn > $lastPage) { // if it is greater than $lastpage
57
+ $pn = $lastPage; // force it to be $lastpage's value
58
+ }
59
+ // This creates the numbers to click in between the next and back buttons
60
+ // This section is explained well in the video that accompanies this script
61
+ $centerPages = "";
62
+ $sub1 = $pn - 1;
63
+ $sub2 = $pn - 2;
64
+ $add1 = $pn + 1;
65
+ $add2 = $pn + 2;
66
+ if ($pn == 1) {
67
+ $centerPages .= '&nbsp; <span class="pagNumActive">' . $pn . '</span> &nbsp;';
68
+ $centerPages .= '&nbsp; <a href="' . $currentUrl . '?pn=' . $add1 . '">' . $add1 . '</a> &nbsp;';
69
+ } else if ($pn == $lastPage) {
70
+ $centerPages .= '&nbsp; <a href="' . $currentUrl . '?pn=' . $sub1 . '">' . $sub1 . '</a> &nbsp;';
71
+ $centerPages .= '&nbsp; <span class="pagNumActive">' . $pn . '</span> &nbsp;';
72
+ } else if ($pn > 2 && $pn < ($lastPage - 1)) {
73
+ $centerPages .= '&nbsp; <a href="' . $currentUrl . '?pn=' . $sub2 . '">' . $sub2 . '</a> &nbsp;';
74
+ $centerPages .= '&nbsp; <a href="' . $currentUrl . '?pn=' . $sub1 . '">' . $sub1 . '</a> &nbsp;';
75
+ $centerPages .= '&nbsp; <span class="pagNumActive">' . $pn . '</span> &nbsp;';
76
+ $centerPages .= '&nbsp; <a href="' . $currentUrl . '?pn=' . $add1 . '">' . $add1 . '</a> &nbsp;';
77
+ $centerPages .= '&nbsp; <a href="' . $currentUrl . '?pn=' . $add2 . '">' . $add2 . '</a> &nbsp;';
78
+ } else if ($pn > 1 && $pn < $lastPage) {
79
+ $centerPages .= '&nbsp; <a href="' . $currentUrl . '?pn=' . $sub1 . '">' . $sub1 . '</a> &nbsp;';
80
+ $centerPages .= '&nbsp; <span class="pagNumActive">' . $pn . '</span> &nbsp;';
81
+ $centerPages .= '&nbsp; <a href="' . $currentUrl . '?pn=' . $add1 . '">' . $add1 . '</a> &nbsp;';
82
+ }
83
+ // This line sets the "LIMIT" range... the 2 values we place to choose a range of rows from database in our query
84
+ $limit = 'LIMIT ' .($pn - 1) * $itemsPerPage .',' .$itemsPerPage;
85
+ // Now we are going to run the same query as above but this time add $limit onto the end of the SQL syntax
86
+ // $sql2 is what we will use to fuel our while loop statement below
87
+ //$sql2 = mysql_query("SELECT * from imagegallery ORDER BY imagegallery_id ASC $limit");
88
+ $sql2 = $connection->query("select * from manvimagegallery ORDER BY id ASC $limit");
89
+
90
+ $paginationDisplay = ""; // Initialize the pagination output variable
91
+ // This code runs only if the last page variable is ot equal to 1, if it is only 1 page we require no paginated links to display
92
+ if ($lastPage != "1"){
93
+ // This shows the user what page they are on, and the total number of pages
94
+ $paginationDisplay .= 'Page <strong>' . $pn . '</strong> of ' . $lastPage. '&nbsp; &nbsp; &nbsp; ';
95
+ // If we are not on page 1 we can place the Back button
96
+ if ($pn != 1) {
97
+ $previous = $pn - 1;
98
+ $paginationDisplay .= '&nbsp; <a href="' . $currentUrl . '?pn=' . $previous . '"> Back</a> ';
99
+ }
100
+ // Lay in the clickable numbers display here between the Back and Next links
101
+ $paginationDisplay .= '<span class="paginationNumbers">' . $centerPages . '</span>';
102
+ // If we are not on the very last page we can place the Next button
103
+ if ($pn != $lastPage) {
104
+ $nextPage = $pn + 1;
105
+ $paginationDisplay .= '&nbsp; <a href="' . $currentUrl . '?pn=' . $nextPage . '"> Next</a> ';
106
+ }
107
+ }
108
+ ?>
109
+
110
+
111
+ <div style="margin-left:64px; margin-right:64px;">
112
+ <h2>Total Items: <?php echo $nr; ?></h2>
113
+ </div>
114
+
115
+ <div style="margin-left:58px; margin-right:58px; padding:6px; background-color:#FFF; border:#999 1px solid;"><?php echo $paginationDisplay; ?></div>
116
+
117
+ <table>
118
+ <tr>
119
+ <?php
120
+ $outputList = '';
121
+ $vz=1;
122
+ $i = 0;
123
+ $i = $i+1;
124
+ while($row1 = $sql2->fetch())
125
+ {
126
+ $id = $row1["id"];
127
+ $firstname = $row1["url"];
128
+ $country = $row1["image"];
129
+ $media_url = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA);
130
+ $img_src = $media_url.$country;
131
+ ?>
132
+ <td>
133
+ <div style="margin-left:64px;float:left;">
134
+ <a href="javascript:void(0)" onclick="applyto('<?php echo $vz; ?>')"><img src="<?php echo $img_src; ?>" height="100" width="100" style="padding:10px;"></a>
135
+ </div>
136
+
137
+
138
+
139
+ <div id="mks<?php echo $vz; ?>" style="display:none">
140
+ <div id="popupform">
141
+ <div class="blankdiv"></div>
142
+ <div id="pclose" onclick="javascript:document.getElementById('<?php echo 'mks'.$vz; ?>').style.display='none'">
143
+ <img src="<?php echo $cssurl.'skin/frontend/base/default/imagegallery/images/close.png'; ?>" />
144
+ </div>
145
+ <div class="applyform">
146
+ <p id="contactArea">
147
+
148
+ <center>
149
+ <a href="javascript:void(0)" onclick="applytoprev('<?php echo $vz; ?>' ,'<?php echo $vz-1; ?>')"><img src="<?php echo $cssurl.'skin/frontend/base/default/imagegallery/images/left_1.png'; ?>" /></a>
150
+ <img src="<?php echo $img_src; ?>" height="400" width="400" >
151
+ <a href="javascript:void(0)" onclick="applytonext('<?php echo $vz; ?>' ,'<?php echo $vz+1; ?>')"><img src="<?php echo $cssurl.'skin/frontend/base/default/imagegallery/images/right_1.png'; ?>" /></a>
152
+ </center>
153
+
154
+ </p>
155
+ </div>
156
+ </div>
157
+ </div>
158
+ </td>
159
+ <?php
160
+ if($vz%$gallery_Rowitem==0){
161
+ echo '</tr><tr>';
162
+ }
163
+ ?>
164
+ <?php $vz++; }
165
+ ?>
166
+
167
+ </tr>
168
+ </table>
169
+
170
+
171
+
172
+
173
+
174
+ <?php } else { ?>
175
+
176
+ <h1 style="color:red;">Enable ( Manv IMAGE GALLERY (POP UP) ) Module via Admin = System -> Configuration-> General Setting </h1>
177
+
178
+ <?php } ?>
179
+
app/etc/modules/Manv_Imagegallery.xml CHANGED
@@ -4,7 +4,7 @@
4
  <Manv_Imagegallery>
5
  <active>true</active>
6
  <codePool>community</codePool>
7
- <version>8.1.1</version>
8
  </Manv_Imagegallery>
9
  </modules>
10
  </config>
4
  <Manv_Imagegallery>
5
  <active>true</active>
6
  <codePool>community</codePool>
7
+ <version>8.1.2</version>
8
  </Manv_Imagegallery>
9
  </modules>
10
  </config>
media/imagegallery/imagegallery/10.jpg ADDED
Binary file
media/imagegallery/imagegallery/11.jpg ADDED
Binary file
media/imagegallery/imagegallery/2.jpg ADDED
Binary file
media/imagegallery/imagegallery/3.jpg ADDED
Binary file
media/imagegallery/imagegallery/4.jpg ADDED
Binary file
media/imagegallery/imagegallery/5.jpg ADDED
Binary file
media/imagegallery/imagegallery/6.jpg ADDED
Binary file
media/imagegallery/imagegallery/7.jpg ADDED
Binary file
media/imagegallery/imagegallery/8.jpg ADDED
Binary file
media/imagegallery/imagegallery/9.jpg ADDED
Binary file
package.xml CHANGED
@@ -1,18 +1,18 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>manv_imagegallery</name>
4
- <version>8.1.1</version>
5
  <stability>stable</stability>
6
  <license>OSL</license>
7
  <channel>community</channel>
8
  <extends/>
9
- <summary>test</summary>
10
- <description>test</description>
11
- <notes>test</notes>
12
  <authors><author><name>Manvendra Sharma</name><user>sharmamanvendra</user><email>sharmamanvendra6@gmail.com</email></author></authors>
13
  <date>2014-04-11</date>
14
- <time>10:51:11</time>
15
- <contents><target name="magecommunity"><dir name="Manv"><dir name="Imagegallery"><dir name="Block"><file name="Index.php" hash="c9ab92ac0a3d1e02f495e4db4e2d0379"/></dir><dir name="Helper"><file name="Data.php" hash="591506d9e439063bc756bebe24b2488f"/></dir><dir name="controllers"><file name="IndexController.php" hash="820e5f5b02c1742851bf46306d5df96f"/></dir><dir name="etc"><file name="config.xml" hash="76d798b9fae6ea111b528b766744d64a"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Manv_Imagegallery.xml" hash="59674b7b8ce354047f75ad791579198f"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="imagegallery"><file name="index.phtml" hash="395b5512423d31a9526f94e3d7dcc13a"/></dir></dir></dir></dir></dir></target><target name="magelocal"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="imagegallery.xml" hash=""/></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.1.0</min><max>6.1.0</max></php></required></dependencies>
18
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>manv_imagegallery</name>
4
+ <version>8.1.2</version>
5
  <stability>stable</stability>
6
  <license>OSL</license>
7
  <channel>community</channel>
8
  <extends/>
9
+ <summary>Image Gallery - Image Gallery Extension for store with image. image galleries displayed at any place of the website.</summary>
10
+ <description>Image Gallery - Image Gallery module for store with image with lightbox and many more. Fully Dynamic (image gallery on cms page) means images or editable via magento admin Nice Lightbox effect </description>
11
+ <notes>Image Gallery - Image Gallery module for store with image with lightbox and many more. Fully Dynamic (image gallery on cms page) means images or editable via magento admin Nice Lightbox effect </notes>
12
  <authors><author><name>Manvendra Sharma</name><user>sharmamanvendra</user><email>sharmamanvendra6@gmail.com</email></author></authors>
13
  <date>2014-04-11</date>
14
+ <time>11:43:11</time>
15
+ <contents><target name="magecommunity"><dir name="Manv"><dir name="Imagegallery"><dir name="Block"><dir name="Adminhtml"><dir name="Imagegallery"><dir name="Edit"><file name="Form.php" hash="4b8f307eb4dfbe9d25c6f58fb7ce7320"/><dir name="Tab"><file name="Form.php" hash="1e5c724d86db8bb09f1596ab766a05ae"/></dir><file name="Tabs.php" hash="43947f6bf03c168ec431a46d89c62f93"/></dir><file name="Edit.php" hash="27c6723425e3b58b4064c0e7b298aa78"/><file name="Grid.php" hash="fcac4d9ad5cf01ecb2b9f007dbf735ee"/></dir><file name="Imagegallery.php" hash="13a401dccb3b8d6f4761c6241cec0dfd"/></dir><file name="Index.php" hash="6ba11a26543de8208cc4191c1ca9c6af"/></dir><dir name="Helper"><file name="Data.php" hash="591506d9e439063bc756bebe24b2488f"/></dir><dir name="Model"><file name="Imagegallery.php" hash="3252659eb8c289c3edb71546c2a2dbda"/><dir name="Mysql4"><dir name="Imagegallery"><file name="Collection.php" hash="5c5f5fef5356766852c1b3c2908fea89"/></dir><file name="Imagegallery.php" hash="203d3894a4841cb118057681964f3e41"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="ImagegalleryController.php" hash="390206a02d2ef43c287bced50079ff5c"/></dir><file name="IndexController.php" hash="d1868d1f890825d7fcbb5afbae3c000f"/></dir><dir name="etc"><file name="adminhtml.xml" hash="d6031f573d80b7246d65bb8e14649821"/><file name="config.xml" hash="9474671b4cc3f02cc9c4dbfa367a03fc"/><file name="system.xml" hash="be68abec2b9f147eafb0a023d107b0a3"/></dir><dir name="sql"><dir name="imagegallery_setup"><file name="mysql4-install-8.1.2.php" hash="ed2d1a59bb4532ea701a3267c981521a"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="imagegallery.xml" hash="2b073b196f85c0be19a98806cfce4920"/></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="imagegallery.xml" hash="5e9cf0ae0d5e10b8f642c143d9b0585b"/></dir><dir name="template"><dir name="imagegallery"><file name="index.phtml" hash="ba879c141884066454ad1bf3e90d5c92"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Manv_Imagegallery.xml" hash="a21f829fcd968449381168e25a684a22"/></dir></target><target name="magemedia"><dir name="imagegallery"><dir name="imagegallery"><file name="10.jpg" hash="e319bda7e5c57ec44604f57e4e432568"/><file name="11.jpg" hash="e319bda7e5c57ec44604f57e4e432568"/><file name="2.jpg" hash="50e1b25352e7a5438cfbea4c879a21bd"/><file name="3.jpg" hash="128aad6c96e9e1fbff279cd31ecc333d"/><file name="4.jpg" hash="7db4b1d19e73e8ce8f3d11de293d6b27"/><file name="5.jpg" hash="4c82a02693447cad4b9182defd8d0c5a"/><file name="6.jpg" hash="cb4985bf42b8848830b510ac8fa73232"/><file name="7.jpg" hash="b50f64182ba7094e72724b42b56c703b"/><file name="8.jpg" hash="3ed6b46a09a1faf5be74b70671944c66"/><file name="9.jpg" hash="17116b2c61f8e9b7d4f84a68da7eacc0"/></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="imagegallery"><dir name="css"><file name="imagegallery.css" hash="325242c5f63dd8788f01adfbbc7df495"/></dir><dir name="imagegallery"><file name="10.jpg" hash="e319bda7e5c57ec44604f57e4e432568"/><file name="11.jpg" hash="e319bda7e5c57ec44604f57e4e432568"/><file name="2.jpg" hash="50e1b25352e7a5438cfbea4c879a21bd"/><file name="3.jpg" hash="128aad6c96e9e1fbff279cd31ecc333d"/><file name="4.jpg" hash="7db4b1d19e73e8ce8f3d11de293d6b27"/><file name="5.jpg" hash="4c82a02693447cad4b9182defd8d0c5a"/><file name="6.jpg" hash="cb4985bf42b8848830b510ac8fa73232"/><file name="7.jpg" hash="b50f64182ba7094e72724b42b56c703b"/><file name="8.jpg" hash="3ed6b46a09a1faf5be74b70671944c66"/><file name="9.jpg" hash="17116b2c61f8e9b7d4f84a68da7eacc0"/></dir><dir name="images"><file name="close.png" hash="7e1e4fe9697be548050b612c84df15d7"/><file name="left_1.png" hash="70604f05151344b82eb8727bf917d992"/><file name="right_1.png" hash="8d90f2d7ba1b5ff56e093c5c48950cfd"/></dir><dir name="js"><file name="jquery-1.2.6.noConflict.min.js" hash="34c0f327c9bd8215df7206bf57c2868f"/></dir></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.1.0</min><max>6.1.0</max></php></required></dependencies>
18
  </package>
skin/frontend/base/default/imagegallery/css/imagegallery.css ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ .blankdiv{background-color:#000;
3
+ position:fixed;
4
+ z-index: 9001;
5
+ top:0px; height:100%;
6
+ left:0px;
7
+ width:100%; opacity: 0.65;
8
+ filter:alpha(opacity=65);}
9
+
10
+ #popupform{height: 100%;
11
+ left: 0;
12
+ padding: 15px;
13
+ position: fixed;
14
+ top: 0;
15
+ width:97%;
16
+ z-index: 10001;
17
+ }
18
+
19
+ #popupform .applyform{position:relative; overflow:auto;
20
+ background-color:#fff;
21
+ width:510px;
22
+ height:500px; margin:5% auto auto auto;
23
+ z-index: 9002; padding:10px; border:10px solid #7F3814; }
24
+
25
+
26
+ #pclose{
27
+
28
+
29
+ cursor: pointer;
30
+ height: 25px;
31
+ margin: 5% auto -6%;
32
+ position: relative;
33
+ right: -276px;
34
+
35
+ top: 0;
36
+ width: 25px;
37
+ z-index: 9999;}
38
+
skin/frontend/base/default/imagegallery/imagegallery/10.jpg ADDED
Binary file
skin/frontend/base/default/imagegallery/imagegallery/11.jpg ADDED
Binary file
skin/frontend/base/default/imagegallery/imagegallery/2.jpg ADDED
Binary file
skin/frontend/base/default/imagegallery/imagegallery/3.jpg ADDED
Binary file
skin/frontend/base/default/imagegallery/imagegallery/4.jpg ADDED
Binary file
skin/frontend/base/default/imagegallery/imagegallery/5.jpg ADDED
Binary file
skin/frontend/base/default/imagegallery/imagegallery/6.jpg ADDED
Binary file
skin/frontend/base/default/imagegallery/imagegallery/7.jpg ADDED
Binary file
skin/frontend/base/default/imagegallery/imagegallery/8.jpg ADDED
Binary file
skin/frontend/base/default/imagegallery/imagegallery/9.jpg ADDED
Binary file
skin/frontend/base/default/imagegallery/images/close.png ADDED
Binary file
skin/frontend/base/default/imagegallery/images/left_1.png ADDED
Binary file
skin/frontend/base/default/imagegallery/images/right_1.png ADDED
Binary file
skin/frontend/base/default/imagegallery/js/jquery-1.2.6.noConflict.min.js ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * jQuery 1.2.6 - New Wave Javascript
3
+ *
4
+ * Copyright (c) 2008 John Resig (jquery.com)
5
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
6
+ * and GPL (GPL-LICENSE.txt) licenses.
7
+ *
8
+ * $Date: 2008-05-24 14:22:17 -0400 (Sat, 24 May 2008) $
9
+ * $Rev: 5685 $
10
+ */
11
+
12
+
13
+ (function(){var _jQuery=window.jQuery,_$=window.$;var jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);};var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,isSimple=/^.[^:#\[\.]*$/,undefined;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem){if(elem.id!=match[3])return jQuery().find(selector);return jQuery(elem);}selector=[];}}else
14
+ return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))return jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(jQuery.makeArray(selector));},jquery:"1.2.6",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(name.constructor==String)if(value===undefined)return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}return this.each(function(i){for(name in options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)value=undefined;return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!="object"&&text!=null)return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0])jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this;while(elem.firstChild)elem=elem.firstChild;return elem;}).append(this);return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1)this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1)this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else
15
+ return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)this[expando]=null;});if(events===true)this.find("*").andSelf().each(function(i){if(this.nodeType==3)return;var events=jQuery.data(this,"events");for(var type in events)for(var handler in events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data);});return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if(selector.constructor==String)if(isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector,this,true));else
16
+ selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector=='string'?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery.browser.msie&&!option.attributes.value.specified?option.text:option.value;if(one)return value;values.push(value);}}return values;}else
17
+ return(this[0].value||"").replace(/\r/g,"");}return undefined;}if(value.constructor==Number)value+='';return this.each(function(){if(this.nodeType!=1)return;if(value.constructor==Array&&/radio|checkbox/.test(this.type))this.checked=(jQuery.inArray(this.value,value)>=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=jQuery.makeArray(value);jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)this.selectedIndex=-1;}else
18
+ this.value=value;});},html:function(value){return value==undefined?(this[0]?this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)data=jQuery.data(this[0],key);return data===undefined&&parts[1]?this.data(parts[0]):data;}else
19
+ return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems;return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(reverse)elems.reverse();}var obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr"))obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"));var scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script"))scripts=scripts.add(elem);else{if(elem.nodeType==1)scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.fn.init.prototype=jQuery.fn;function evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"});else
20
+ jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)elem.parentNode.removeChild(elem);}function now(){return+new Date;}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}if(typeof target!="object"&&typeof target!="function")target={};if(length==i){target=this;--i;}for(;i<length;i++)if((options=arguments[i])!=null)for(var name in options){var src=target[name],copy=options[name];if(target===copy)continue;if(deep&&copy&&typeof copy=="object"&&!copy.nodeType)target[name]=jQuery.extend(deep,src||(copy.length!=null?[]:{}),copy);else if(copy!==undefined)target[name]=copy;}return target;};var expando="jQuery"+now(),uuid=0,windowData={},exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView=document.defaultView||{};jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)window.jQuery=_jQuery;return jQuery;},isFunction:function(fn){return!!fn&&typeof fn!="string"&&!fn.nodeName&&fn.constructor!=Array&&/^[\s[]?function/.test(fn+"");},isXMLDoc:function(elem){return elem.documentElement&&!elem.body||elem.tagName&&elem.ownerDocument&&!elem.ownerDocument.body;},globalEval:function(data){data=jQuery.trim(data);if(data){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.type="text/javascript";if(jQuery.browser.msie)script.text=data;else
21
+ script.appendChild(document.createTextNode(data));head.insertBefore(script,head.firstChild);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();},cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var id=elem[expando];if(!id)id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])jQuery.cache[id]={};if(data!==undefined)jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])break;if(!name)jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)elem.removeAttribute(expando);}delete jQuery.cache[id];}},each:function(object,callback,args){var name,i=0,length=object.length;if(args){if(length==undefined){for(name in object)if(callback.apply(object[name],args)===false)break;}else
22
+ for(;i<length;)if(callback.apply(object[i++],args)===false)break;}else{if(length==undefined){for(name in object)if(callback.call(object[name],name,object[name])===false)break;}else
23
+ for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))value=value.call(elem,i);return value&&value.constructor==Number&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{add:function(elem,classNames){jQuery.each((classNames||"").split(/\s+/),function(i,className){if(elem.nodeType==1&&!jQuery.className.has(elem.className,className))elem.className+=(elem.className?" ":"")+className;});},remove:function(elem,classNames){if(elem.nodeType==1)elem.className=classNames!=undefined?jQuery.grep(elem.className.split(/\s+/),function(className){return!jQuery.className.has(classNames,className);}).join(" "):"";},has:function(elem,className){return jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(elem);for(var name in options)elem.style[name]=old[name];},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});val-=Math.round(padding+border);}if(jQuery(elem).is(":visible"))getWH();else
24
+ jQuery.swap(elem,props,getWH);return Math.max(0,val);}return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret,style=elem.style;function color(elem){if(!jQuery.browser.safari)return false;var ret=defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var save=style.outline;style.outline="0 solid black";style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!force&&style&&style[name])ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle&&!color(elem))ret=computedStyle.getPropertyValue(name);else{var swap=[],stack=[],a=elem,i=0;for(;a&&color(a);a=a.parentNode)stack.unshift(a);for(;i<stack.length;i++)if(color(stack[i])){swap[i]=stack[i].style.display;stack[i].style.display="block";}ret=name=="display"&&swap[stack.length-1]!=null?"none":(computedStyle&&computedStyle.getPropertyValue(name))||"";for(i=0;i<swap.length;i++)if(swap[i]!=null)stack[i].style.display=swap[i];}if(name=="opacity"&&ret=="")ret="1";}else if(elem.currentStyle){var camelCase=name.replace(/\-(\w)/g,function(all,letter){return letter.toUpperCase();});ret=elem.currentStyle[name]||elem.currentStyle[camelCase];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;style.left=ret||0;ret=style.pixelLeft+"px";style.left=left;elem.runtimeStyle.left=rsLeft;}}return ret;},clean:function(elems,context){var ret=[];context=context||document;if(typeof context.createElement=='undefined')context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;jQuery.each(elems,function(i,elem){if(!elem)return;if(elem.constructor==Number)elem+='';if(typeof elem=="string"){elem=elem.replace(/(<(\w+)[^>]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+"></"+tag+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!tags.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!tags.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!tags.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||jQuery.browser.msie&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf("<table")&&tags.indexOf("<tbody")<0?div.firstChild&&div.firstChild.childNodes:wrap[1]=="<table>"&&tags.indexOf("<tbody")<0?div.childNodes:[];for(var j=tbody.length-1;j>=0;--j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select")))return;if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options)ret.push(elem);else
25
+ ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined,msie=jQuery.browser.msie;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&jQuery.browser.safari)elem.parentNode.selectedIndex;if(name in elem&&notxml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"type property can't be changed";elem[name]=value;}if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))return elem.getAttributeNode(name).nodeValue;return elem[name];}if(msie&&notxml&&name=="style")return jQuery.attr(elem.style,"cssText",value);if(set)elem.setAttribute(name,""+value);var attr=msie&&notxml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}if(msie&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||array.split||array.setInterval||array.call)ret[0]=array;else
26
+ while(i)ret[--i]=array[i];}return ret;},inArray:function(elem,array){for(var i=0,length=array.length;i<length;i++)if(array[i]===elem)return i;return-1;},merge:function(first,second){var i=0,elem,pos=first.length;if(jQuery.browser.msie){while(elem=second[i++])if(elem.nodeType!=8)first[pos++]=elem;}else
27
+ while(elem=second[i++])first[pos++]=elem;return first;},unique:function(array){var ret=[],done={};try{for(var i=0,length=array.length;i<length;i++){var id=jQuery.data(array[i]);if(!done[id]){done[id]=true;ret.push(array[i]);}}}catch(e){ret=array;}return ret;},grep:function(elems,callback,inv){var ret=[];for(var i=0,length=elems.length;i<length;i++)if(!inv!=!callback(elems[i],i))ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!=null)ret[ret.length]=value;}return ret.concat.apply([],ret);}});var userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};var styleFloat=jQuery.browser.msie?"styleFloat":"cssFloat";jQuery.extend({boxModel:!jQuery.browser.msie||document.compatMode=="CSS1Compat",props:{"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing"}});jQuery.each({parent:function(elem){return elem.parentNode;},parents:function(elem){return jQuery.dir(elem,"parentNode");},next:function(elem){return jQuery.nth(elem,2,"nextSibling");},prev:function(elem){return jQuery.nth(elem,2,"previousSibling");},nextAll:function(elem){return jQuery.dir(elem,"nextSibling");},prevAll:function(elem){return jQuery.dir(elem,"previousSibling");},siblings:function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem);},children:function(elem){return jQuery.sibling(elem.firstChild);},contents:function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes);}},function(name,fn){jQuery.fn[name]=function(selector){var ret=jQuery.map(this,fn);if(selector&&typeof selector=="string")ret=jQuery.multiFilter(selector,ret);return this.pushStack(jQuery.unique(ret));};});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(){var args=arguments;return this.each(function(){for(var i=0,length=args.length;i<length;i++)jQuery(args[i])[original](this);});};});jQuery.each({removeAttr:function(name){jQuery.attr(this,name,"");if(this.nodeType==1)this.removeAttribute(name);},addClass:function(classNames){jQuery.className.add(this,classNames);},removeClass:function(classNames){jQuery.className.remove(this,classNames);},toggleClass:function(classNames){jQuery.className[jQuery.className.has(this,classNames)?"remove":"add"](this,classNames);},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).r.length){jQuery("*",this).add(this).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)this.parentNode.removeChild(this);}},empty:function(){jQuery(">*",this).remove();while(this.firstChild)this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return a.getAttribute("id")==m[2];},":":{lt:function(a,i,m){return i<m[3]-0;},gt:function(a,i,m){return i>m[3]-0;},nth:function(a,i,m){return m[3]-0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return i%2==0;},odd:function(a,i){return i%2;},"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a;},"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;},"only-child":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},parent:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},visible:function(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden";},hidden:function(a){return"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden";},enabled:function(a){return!a.disabled;},disabled:function(a){return a.disabled;},checked:function(a){return a.checked;},selected:function(a){return a.selected||jQuery.attr(a,"selected");},text:function(a){return"text"==a.type;},radio:function(a){return"radio"==a.type;},checkbox:function(a){return"checkbox"==a.type;},file:function(a){return"file"==a.type;},password:function(a){return"password"==a.type;},submit:function(a){return"submit"==a.type;},image:function(a){return"image"==a.type;},reset:function(a){return"reset"==a.type;},button:function(a){return"button"==a.type||jQuery.nodeName(a,"button");},input:function(a){return/input|select|textarea|button/i.test(a.nodeName);},has:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var old,cur=[];while(expr&&expr!=old){old=expr;var f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,"");cur=not?elems=f.r:jQuery.merge(cur,f.r);}return cur;},find:function(t,context){if(typeof t!="string")return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false,re=quickChild,m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)for(var c=ret[i].firstChild;c;c=c.nextSibling)if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName))r.push(c);ret=r;t=t.replace(re,"");if(t.indexOf(" ")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var j=0,rl=ret.length;j<rl;j++){var n=m=="~"||m=="+"?ret[j].nextSibling:ret[j].firstChild;for(;n;n=n.nextSibling)if(n.nodeType==1){var id=jQuery.data(n);if(m=="~"&&merge[id])break;if(!nodeName||n.nodeName.toUpperCase()==nodeName){if(m=="~")merge[id]=true;r.push(n);}if(m=="+")break;}}ret=r;t=jQuery.trim(t.replace(re,""));foundToken=true;}}if(t&&!foundToken){if(!t.indexOf(",")){if(context==ret[0])ret.shift();done=jQuery.merge(done,ret);r=ret=[context];t=" "+t.substr(1,t.length);}else{var re2=quickID;var m=re2.exec(t);if(m){m=[0,m[2],m[3],m[1]];}else{re2=quickClass;m=re2.exec(t);}m[2]=m[2].replace(/\\/g,"");var elem=ret[ret.length-1];if(m[1]=="#"&&elem&&elem.getElementById&&!jQuery.isXMLDoc(elem)){var oid=elem.getElementById(m[2]);if((jQuery.browser.msie||jQuery.browser.opera)&&oid&&typeof oid.id=="string"&&oid.id!=m[2])oid=jQuery('[@id="'+m[2]+'"]',elem)[0];ret=r=oid&&(!m[3]||jQuery.nodeName(oid,m[3]))?[oid]:[];}else{for(var i=0;ret[i];i++){var tag=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];if(tag=="*"&&ret[i].nodeName.toLowerCase()=="object")tag="param";r=jQuery.merge(r,ret[i].getElementsByTagName(tag));}if(m[1]==".")r=jQuery.classFilter(r,m[2]);if(m[1]=="#"){var tmp=[];for(var i=0;r[i];i++)if(r[i].getAttribute("id")==m[2]){tmp=[r[i]];break;}r=tmp;}ret=r;}t=t.replace(re2,"");}}if(t){var val=jQuery.filter(t,r);ret=r=val.r;t=jQuery.trim(val.t);}}if(t)ret=[];if(ret&&context==ret[0])ret.shift();done=jQuery.merge(done,ret);return done;},classFilter:function(r,m,not){m=" "+m+" ";var tmp=[];for(var i=0;r[i];i++){var pass=(" "+r[i].className+" ").indexOf(m)>=0;if(!not&&pass||not&&!pass)tmp.push(r[i]);}return tmp;},filter:function(t,r,not){var last;while(t&&t!=last){last=t;var p=jQuery.parse,m;for(var i=0;p[i];i++){m=p[i].exec(t);if(m){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}if(!m)break;if(m[1]==":"&&m[2]=="not")r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else if(m[1]==".")r=jQuery.classFilter(r,m[2],not);else if(m[1]=="["){var tmp=[],type=m[3];for(var i=0,rl=r.length;i<rl;i++){var a=r[i],z=a[jQuery.props[m[2]]||m[2]];if(z==null||/href|src|selected/.test(m[2]))z=jQuery.attr(a,m[2])||'';if((type==""&&!!z||type=="="&&z==m[5]||type=="!="&&z!=m[5]||type=="^="&&z&&!z.indexOf(m[5])||type=="$="&&z.substr(z.length-m[5].length)==m[5]||(type=="*="||type=="~=")&&z.indexOf(m[5])>=0)^not)tmp.push(a);}r=tmp;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;for(var i=0,rl=r.length;i<rl;i++){var node=r[i],parentNode=node.parentNode,id=jQuery.data(parentNode);if(!merge[id]){var c=1;for(var n=parentNode.firstChild;n;n=n.nextSibling)if(n.nodeType==1)n.nodeIndex=c++;merge[id]=true;}var add=false;if(first==0){if(node.nodeIndex==last)add=true;}else if((node.nodeIndex-last)%first==0&&(node.nodeIndex-last)/first>=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var fn=jQuery.expr[m[1]];if(typeof fn=="object")fn=fn[m[2]];if(typeof fn=="string")fn=eval("false||function(a,i){return "+fn+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[],cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)matched.push(cur);cur=cur[dir];}return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&&++num==result)break;return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&n!=elem)r.push(n);}return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)return;if(jQuery.browser.msie&&elem.setInterval)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=this.proxy(fn,function(){return fn.apply(this,arguments);});handler.data=data;}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){if(typeof jQuery!="undefined"&&!jQuery.event.triggered)return jQuery.event.handle.apply(arguments.callee.elem,arguments);});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)elem.addEventListener(type,handle,false);else if(elem.attachEvent)elem.attachEvent("on"+type,handle);}}handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))for(var type in events)this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)delete events[type][handler.guid];else
28
+ for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}ret=null;delete events[type];}}});}for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}if(!elem){if(this.global[type])jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event){data.unshift({type:type,target:elem,preventDefault:function(){},stopPropagation:function(){},timeStamp:now()});data[0][expando]=true;}data[0].type=type;if(exclusive)data[0].exclusive=true;var handle=jQuery.data(elem,"handle");if(handle)val=handle.apply(elem,data);if((!fn||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)val=false;if(event)data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)val=ret;}if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}this.triggered=false;}return val;},handle:function(event){var val,ret,namespace,all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);namespace=event.type.split(".");event.type=namespace[0];namespace=namespace[1];all=!namespace&&!event.exclusive;handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||handler.type==namespace){event.handler=handler;event.data=handler.data;ret=handler.apply(this,arguments);if(val!==false)val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}return val;},fix:function(event){if(event[expando]==true)return event;var originalEvent=event;event={originalEvent:originalEvent};var props="altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" ");for(var i=props.length;i;i--)event[props[i]]=originalEvent[props[i]];event[expando]=true;event.preventDefault=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};event.timeStamp=event.timeStamp||now();if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&&event.button)event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:function(){bindReady();return;},teardown:function(){return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseenter";return jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseleave";return jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler:function(type,data,fn){return this[0]&&jQuery.event.trigger(type,data,this[0],false,fn);},toggle:function(fn){var args=arguments,i=1;while(i<args.length)jQuery.event.proxy(fn,args[i++]);return this.click(jQuery.event.proxy(fn,function(event){this.lastToggle=(this.lastToggle||0)%i;event.preventDefault();return args[this.lastToggle++].apply(this,arguments)||false;}));},hover:function(fnOver,fnOut){return this.bind('mouseenter',fnOver).bind('mouseleave',fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)fn.call(document,jQuery);else
29
+ jQuery.readyList.push(function(){return fn.call(this,jQuery);});return this;}});jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.call(document);});jQuery.readyList=null;}jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener&&!jQuery.browser.opera)document.addEventListener("DOMContentLoaded",jQuery.ready,false);if(jQuery.browser.msie&&window==top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}jQuery.ready();})();if(jQuery.browser.opera)document.addEventListener("DOMContentLoaded",function(){if(jQuery.isReady)return;for(var i=0;i<document.styleSheets.length;i++)if(document.styleSheets[i].disabled){setTimeout(arguments.callee,0);return;}jQuery.ready();},false);if(jQuery.browser.safari){var numStyles;(function(){if(jQuery.isReady)return;if(document.readyState!="loaded"&&document.readyState!="complete"){setTimeout(arguments.callee,0);return;}if(numStyles===undefined)numStyles=jQuery("style, link[rel=stylesheet]").length;if(document.styleSheets.length!=numStyles){setTimeout(arguments.callee,0);return;}jQuery.ready();})();}jQuery.event.add(window,"load",jQuery.ready);}jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,"+"mousedown,mouseup,mousemove,mouseover,mouseout,change,select,"+"submit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});var withinElement=function(event,elem){var parent=event.relatedTarget;while(parent&&parent!=elem)try{parent=parent.parentNode;}catch(error){parent=elem;}return parent==elem;};jQuery(window).bind("unload",function(){jQuery("*").add(document).unbind();});jQuery.fn.extend({_load:jQuery.fn.load,load:function(url,params,callback){if(typeof url!='string')return this._load(url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function(){};var type="GET";if(params)if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):res.responseText);self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{url:location.href,global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!="string")s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="GET"){if(!s.url.match(jsre))s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}else if(!s.data||!s.data.match(jsre))s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json";}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}if(head)head.removeChild(script);};}if(s.dataType=="script"&&s.cache==null)s.cache=false;if(s.cache===false&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}if(s.global&&!jQuery.active++)jQuery.event.trigger("ajaxStart");var remote=/^(?:\w+:)?\/\/([^\/?#]+)/;if(s.dataType=="script"&&type=="GET"&&remote.test(s.url)&&remote.exec(s.url)[1]!=location.host){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();head.removeChild(script);}};}head.appendChild(script);return undefined;}var requestDone=false;var xhr=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();if(s.username)xhr.open(type,s.url,s.async,s.username,s.password);else
30
+ xhr.open(type,s.url,s.async);try{if(s.data)xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}if(s.beforeSend&&s.beforeSend(xhr,s)===false){s.global&&jQuery.active--;xhr.abort();return false;}if(s.global)jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xhr)&&"error"||s.ifModified&&jQuery.httpNotModified(xhr,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s.dataFilter);}catch(e){status="parsererror";}}if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=modRes;if(!jsonp)success();}else
31
+ jQuery.handleError(s,xhr,status);complete();if(s.async)xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function(){if(xhr){xhr.abort();if(!requestDone)onreadystatechange("timeout");}},s.timeout);}try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}if(!s.async)onreadystatechange();function success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",[xhr,s]);}function complete(){if(s.complete)s.complete(xhr,status);if(s.global)jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop");}return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url]||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpData:function(xhr,type,filter){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")throw"parsererror";if(filter)data=filter(data,type);if(type=="script")jQuery.globalEval(data);if(type=="json")data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else
32
+ for(var j in a)if(a[j]&&a[j].constructor==Array)jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else
33
+ s.push(encodeURIComponent(j)+"="+encodeURIComponent(jQuery.isFunction(a[j])?a[j]():a[j]));return s.join("&").replace(/%20/g,"+");}});jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.filter(":hidden").each(function(){this.style.display=this.oldblock||"";if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body");this.style.display=elem.css("display");if(this.style.display=="none")this.style.display="block";elem.remove();}}).end();},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display");this.style.display="none";}).end();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();});},slideDown:function(speed,callback){return this.animate({height:"show"},speed,callback);},slideUp:function(speed,callback){return this.animate({height:"hide"},speed,callback);},slideToggle:function(speed,callback){return this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,callback){return this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,callback){return this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1)return false;var opt=jQuery.extend({},optall),p,hidden=jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return opt.complete.call(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}if(opt.overflow!=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1])end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else
34
+ e.custom(start,val,"");}});return true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constructor==Array)){fn=type;type="fx";}if(!type||(typeof type=="string"&&!fn))return queue(this[0],type);return this.each(function(){if(fn.constructor==Array)queue(this,type,fn);else{queue(this,type).push(fn);if(queue(this,type).length==1)fn.call(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)if(timers[i].elem==this){if(gotoEnd)timers[i](true);timers.splice(i,1);}});if(!gotoEnd)this.dequeue();return this;}});var queue=function(elem,type,array){if(elem){type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)q=jQuery.data(elem,type+"queue",jQuery.makeArray(array));}return q;};jQuery.fn.dequeue=function(type){type=type||"fx";return this.each(function(){var q=queue(this,type);q.shift();if(q.length)q[0].call(this);});};jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.constructor!=Function&&easing};opt.duration=(opt.duration&&opt.duration.constructor==Number?opt.duration:jQuery.fx.speeds[opt.duration])||jQuery.fx.speeds.def;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.call(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null)return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;this.update();var self=this;function t(gotoEnd){return self.step(gotoEnd);}t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;i<timers.length;i++)if(!timers[i]())timers.splice(i--,1);if(!timers.length){clearInterval(jQuery.timerId);jQuery.timerId=null;}},13);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(0,this.cur());if(this.prop=="width"||this.prop=="height")this.elem.style[this.prop]="1px";jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=now();if(gotoEnd||t>this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")this.elem.style.display="block";}if(this.options.hide)this.elem.style.display="none";if(this.options.hide||this.options.show)for(var p in this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);}if(done)this.options.complete.call(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,def:400},step:{scrollLeft:function(fx){fx.elem.scrollLeft=fx.now;},scrollTop:function(fx){fx.elem.scrollTop=fx.now;},opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){fx.elem.style[fx.prop]=fx.now+fx.unit;}}});jQuery.fn.offset=function(){var left=0,top=0,elem=this[0],results;if(elem)with(jQuery.browser){var parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=elem.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(userAgent),css=jQuery.curCSS,fixed=css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)border(offsetParent);if(!fixed&&css(offsetParent,"position")=="fixed")fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(css(parent,"display")))add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&css(parent,"overflow")!="visible")border(parent);parent=parent.parentNode;}if((safari2&&(fixed||css(offsetChild,"position")=="absolute"))||(mozilla&&css(offsetChild,"position")!="absolute"))add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}results={top:top,left:left};}function border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true));}function add(l,t){left+=parseInt(l,10)||0;top+=parseInt(t,10)||0;}return results;};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}return results;},offsetParent:function(){var offsetParent=this[0].offsetParent;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return;return val!=undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom";jQuery.fn["inner"+name]=function(){return this[name.toLowerCase()]()+num(this,"padding"+tl)+num(this,"padding"+br);};jQuery.fn["outer"+name]=function(margin){return this["inner"+name]()+num(this,"border"+tl+"Width")+num(this,"border"+br+"Width")+(margin?num(this,"margin"+tl)+num(this,"margin"+br):0);};});})();
35
+
36
+ jQuery.noConflict();