Jayje - Version 1.00.15

Version Notes

bugs fixed

Download this release

Release Info

Developer ratheepan s
Extension Jayje
Version 1.00.15
Comparing to
See all releases


Version 1.00.15

Files changed (36) hide show
  1. app/code/community/jayje/Rma/Block/Adminhtml/Rma.php +64 -0
  2. app/code/community/jayje/Rma/Block/Adminhtml/Rma/Edit.php +47 -0
  3. app/code/community/jayje/Rma/Block/Adminhtml/Rma/Edit/Form.php +19 -0
  4. app/code/community/jayje/Rma/Block/Adminhtml/Rma/Edit/Tab/Comments.php +15 -0
  5. app/code/community/jayje/Rma/Block/Adminhtml/Rma/Edit/Tab/Form.php +102 -0
  6. app/code/community/jayje/Rma/Block/Adminhtml/Rma/Edit/Tab/Order.php +153 -0
  7. app/code/community/jayje/Rma/Block/Adminhtml/Rma/Edit/Tabs.php +53 -0
  8. app/code/community/jayje/Rma/Block/Adminhtml/Rma/Grid.php +150 -0
  9. app/code/community/jayje/Rma/Block/Adminhtml/Rma/Info.php +27 -0
  10. app/code/community/jayje/Rma/Block/Adminhtml/Rma/Ritems.phtmt.php +89 -0
  11. app/code/community/jayje/Rma/Block/Adminhtml/Rma/ritem.php +91 -0
  12. app/code/community/jayje/Rma/Block/Ajax.php +38 -0
  13. app/code/community/jayje/Rma/Block/Rma.php +78 -0
  14. app/code/community/jayje/Rma/Helper/Data.php +6 -0
  15. app/code/community/jayje/Rma/Model/Mysql4/Rma.php +10 -0
  16. app/code/community/jayje/Rma/Model/Mysql4/Rma/Collection.php +10 -0
  17. app/code/community/jayje/Rma/Model/Rma.php +31 -0
  18. app/code/community/jayje/Rma/Model/Status.php +22 -0
  19. app/code/community/jayje/Rma/controllers/Adminhtml/RmaController.php +213 -0
  20. app/code/community/jayje/Rma/controllers/IndexController.php +213 -0
  21. app/code/community/jayje/Rma/etc/adminhtml.xml +23 -0
  22. app/code/community/jayje/Rma/etc/config.xml +129 -0
  23. app/code/community/jayje/Rma/etc/system.xml +69 -0
  24. app/code/community/jayje/Rma/sql/Rma_setup/mysql4-install-0.1.0.php +52 -0
  25. app/design/adminhtml/default/default/layout/rma.xml +26 -0
  26. app/design/adminhtml/default/default/template/rma/comments.phtml +13 -0
  27. app/design/adminhtml/default/default/template/rma/info.phtml +201 -0
  28. app/design/frontend/default/default/layout/rma.xml +93 -0
  29. app/design/frontend/default/default/template/rma/oitems.phtml +66 -0
  30. app/design/frontend/default/default/template/rma/request.phtml +51 -0
  31. app/design/frontend/default/default/template/rma/ritem.php +91 -0
  32. app/design/frontend/default/default/template/rma/ritem.phtml +75 -0
  33. app/design/frontend/default/default/template/rma/rma.phtml +36 -0
  34. app/design/frontend/default/default/template/rma/view.phtml +121 -0
  35. js/jquery-1.4.2.js +154 -0
  36. package.xml +18 -0
app/code/community/jayje/Rma/Block/Adminhtml/Rma.php ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Jayje_Rma_Block_Adminhtml_Rma extends Mage_Adminhtml_Block_Widget_Grid_Container
3
+ {
4
+ public function __construct()
5
+ {
6
+ $this->_controller = 'adminhtml_rma';
7
+ $this->_blockGroup = 'rma';
8
+ $this->_headerText = Mage::helper('rma')->__('RMA Manager');
9
+ // $this->_addButtonLabel = Mage::helper('rma')->__('Add RMA');
10
+ parent::__construct();
11
+ }
12
+ public function getOrderInfo($id='')
13
+ {
14
+ if($id==''){
15
+ $orderid = Mage::registry('rma_data')->getOrderId();
16
+ $rmaid = Mage::registry('rma_data')->getRmaId();
17
+ return array($orderid, $rmaid);
18
+ }else{
19
+ $orderid = Mage::getModel('rma/rma')->load($id)->getOrderId(); print_r($model);
20
+ return array($orderid, $rmaid);
21
+
22
+ }
23
+ }
24
+ public function getRmaProducts($id='')
25
+ {
26
+ if($id==''){
27
+ $rmaid = Mage::registry('rma_data')->getRmaId();
28
+ }else{
29
+ $rmaid = $id;
30
+ }
31
+ $db = Mage::getSingleton('core/resource')->getConnection('core_read');
32
+ $que = "SELECT * FROM `rma_products` WHERE rmaid ='$rmaid' LIMIT 0 , 30";
33
+ $result = $db->query($que);
34
+ return $result;
35
+
36
+ }
37
+
38
+ public function getRTypeCombo(){
39
+ $return_type = Mage::getStoreConfig('jayje_section/jayje_group/jayje_type',Mage::app()->getStore());
40
+ $return_types = explode(",",$return_type);
41
+ //print_r($satuss);
42
+ foreach($return_types as $return_type){
43
+ $bestForArray = array(
44
+ "label" => $return_type,
45
+ "value" => $return_type
46
+ );
47
+ $arr[]=$bestForArray;
48
+ }
49
+ return $arr;
50
+ }
51
+ public function getStatusCombo(){
52
+ $satus = Mage::getStoreConfig('jayje_section/jayje_group/jayje_status',Mage::app()->getStore());
53
+ $satuss = explode(",",$satus);
54
+ //print_r($satuss);
55
+ foreach($satuss as $satus){
56
+ $bestForArray = array(
57
+ "label" => $satus,
58
+ "value" => $satus
59
+ );
60
+ $arr[]=$bestForArray;
61
+ }
62
+ return $arr;
63
+ }
64
+ }
app/code/community/jayje/Rma/Block/Adminhtml/Rma/Edit.php ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Jayje_Rma_Block_Adminhtml_Rma_Edit extends Mage_Adminhtml_Block_Widget_Form_Container
4
+ {
5
+ public function __construct()
6
+ {
7
+ parent::__construct();
8
+
9
+ $this->_objectId = 'id';
10
+ $this->_blockGroup = 'rma';
11
+ $this->_controller = 'adminhtml_rma';
12
+
13
+ $this->_updateButton('save', 'label', Mage::helper('rma')->__('Save Item'));
14
+ $this->_updateButton('delete', 'label', Mage::helper('rma')->__('Delete Item'));
15
+
16
+ $this->_addButton('saveandcontinue', array(
17
+ 'label' => Mage::helper('adminhtml')->__('Save And Continue Edit'),
18
+ 'onclick' => 'saveAndContinueEdit()',
19
+ 'class' => 'save',
20
+ ), -100);
21
+
22
+ $this->_formScripts[] = "
23
+ function toggleEditor() {
24
+ if (tinyMCE.getInstanceById('rma_content') == null) {
25
+ tinyMCE.execCommand('mceAddControl', false, 'rma_content');
26
+ } else {
27
+ tinyMCE.execCommand('mceRemoveControl', false, 'rma_content');
28
+ }
29
+ }
30
+
31
+ function saveAndContinueEdit(){
32
+ editForm.submit($('edit_form').action+'back/edit/');
33
+ }
34
+ ";
35
+ }
36
+
37
+ public function getHeaderText()
38
+ {
39
+ if( Mage::registry('rma_data') && Mage::registry('rma_data')->getId() ) {
40
+ return Mage::helper('rma')->__("Edit RMA '%s'", $this->htmlEscape(Mage::registry('rma_data')->getTitle()));
41
+ } else {
42
+ return Mage::helper('rma')->__('Add RMA');
43
+ }
44
+ }
45
+
46
+
47
+ }
app/code/community/jayje/Rma/Block/Adminhtml/Rma/Edit/Form.php ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Jayje_Rma_Block_Adminhtml_Rma_Edit_Form extends Mage_Adminhtml_Block_Widget_Form
4
+ {
5
+ protected function _prepareForm()
6
+ {
7
+ $form = new Varien_Data_Form(array(
8
+ 'id' => 'edit_form',
9
+ 'action' => $this->getUrl('*/*/save', array('id' => $this->getRequest()->getParam('id'))),
10
+ 'method' => 'post',
11
+ 'enctype' => 'multipart/form-data'
12
+ )
13
+ );
14
+
15
+ $form->setUseContainer(true);
16
+ $this->setForm($form);
17
+ return parent::_prepareForm();
18
+ }
19
+ }
app/code/community/jayje/Rma/Block/Adminhtml/Rma/Edit/Tab/Comments.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+
4
+ class Jayje_Rma_Block_Adminhtml_Rma_Edit_Tab_Comments extends Mage_Adminhtml_Block_Widget_Grid
5
+ {
6
+ public function __construct(){
7
+ $this->setTemplate('rma/comments.phtml');
8
+ }
9
+
10
+ public function getRmaComments(){
11
+ $id = $this->getRequest()->getParam('id');
12
+ return Mage::getSingleton('rma/rma')->getRmaComments($id);
13
+ }
14
+
15
+ }
app/code/community/jayje/Rma/Block/Adminhtml/Rma/Edit/Tab/Form.php ADDED
@@ -0,0 +1,102 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Jayje_Rma_Block_Adminhtml_Rma_Edit_Tab_Form extends Mage_Adminhtml_Block_Widget_Form
4
+ {
5
+ protected function _prepareForm()
6
+ {
7
+ $form = new Varien_Data_Form();
8
+ $this->setForm($form);
9
+ $fieldset = $form->addFieldset('rma_form', array('legend'=>Mage::helper('rma')->__('RMA information')));
10
+ // $customer_id = Mage::registry('rma_data')->getCustomerId();
11
+ // $customer = Mage::getModel('customer/customer')->load($customer_id)->getName();
12
+
13
+ $id = $this->getRequest()->getParam('id');
14
+ if($id != ''){
15
+
16
+
17
+ Mage::register('rid', $id);
18
+
19
+ $fieldset->addField('title', 'label', array(
20
+ 'label' => Mage::helper('rma')->__('Title'),
21
+ 'class' => 'required-entry',
22
+ 'required' => false,
23
+ 'name' => 'title',
24
+ ));
25
+
26
+ $fieldset->addField('increment_id', 'text', array(
27
+ 'label' => Mage::helper('rma')->__('OrderID'),
28
+ 'class' => 'required-entry',
29
+ 'required' => false,
30
+ 'name' => 'increment_id',
31
+ ));
32
+ $fieldset->addField('customer_id', 'hidden', array(
33
+ 'label' => Mage::helper('rma')->__('Customer Name'),
34
+ 'class' => 'required-entry',
35
+ 'required' => false,
36
+ 'name' => 'customer_id',
37
+ ));
38
+
39
+
40
+ }else{
41
+ $fieldset->addField('title', 'text', array(
42
+ 'label' => Mage::helper('rma')->__('Title'),
43
+ 'class' => 'required-entry',
44
+ 'required' => false,
45
+ 'name' => 'title',
46
+ ));
47
+
48
+ $fieldset->addField('increment_id', 'text', array(
49
+ 'label' => Mage::helper('rma')->__('OrderID'),
50
+ 'class' => 'required-entry',
51
+ 'required' => false,
52
+ 'name' => 'increment_id',
53
+ ));
54
+ $fieldset->addField('customer_id', 'text', array(
55
+ 'label' => Mage::helper('rma')->__('Customer Name'),
56
+ 'class' => 'required-entry',
57
+ 'required' => false,
58
+ 'name' => 'customer_id',
59
+ ));
60
+
61
+
62
+ }
63
+ $fieldset->addField('status', 'select', array(
64
+ 'label' => Mage::helper('rma')->__('Status'),
65
+ 'name' => 'status',
66
+ 'values' => Jayje_Rma_Block_Adminhtml_Rma::getStatusCombo(),
67
+ ));
68
+
69
+ $fieldset->addField('reason', 'label', array(
70
+ 'name' => 'reason',
71
+ 'label' => Mage::helper('rma')->__('Reason'),
72
+ 'title' => Mage::helper('rma')->__('Reason'),
73
+ 'style' => 'width:300px; height:100px;',
74
+ 'wysiwyg' => false,
75
+ 'required' => false,
76
+ ));
77
+
78
+ $fieldset->addField('return_type', 'select', array(
79
+ 'label' => Mage::helper('rma')->__('Return Type'),
80
+ 'name' => 'return_type',
81
+ 'values' => Jayje_Rma_Block_Adminhtml_Rma::getRTypeCombo(),
82
+ ));
83
+
84
+ $fieldset->addField('comments', 'textarea', array(
85
+ 'name' => 'comments',
86
+ 'label' => Mage::helper('rma')->__('Comments'),
87
+ 'title' => Mage::helper('rma')->__('Comments'),
88
+ 'style' => 'width:300px; height:100px;',
89
+ 'wysiwyg' => false,
90
+ 'required' => false,
91
+ ));
92
+
93
+ if ( Mage::getSingleton('adminhtml/session')->getRmaData() )
94
+ {
95
+ $form->setValues(Mage::getSingleton('adminhtml/session')->getRmaData());
96
+ Mage::getSingleton('adminhtml/session')->setRmaData(null);
97
+ } elseif ( Mage::registry('rma_data') ) {
98
+ $form->setValues(Mage::registry('rma_data')->getData());
99
+ }
100
+ return parent::_prepareForm();
101
+ }
102
+ }
app/code/community/jayje/Rma/Block/Adminhtml/Rma/Edit/Tab/Order.php ADDED
@@ -0,0 +1,153 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category Mage
22
+ * @package Mage_Adminhtml
23
+ * @copyright Copyright (c) 2011 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
+ */
26
+
27
+ /**
28
+ * Adminhtml sales orders grid
29
+ *
30
+ * @category Mage
31
+ * @package Mage_Adminhtml
32
+ * @author Magento Core Team <core@magentocommerce.com>
33
+ */
34
+ class Jayje_Rma_Block_Adminhtml_Rma_Edit_Tab_Order extends Mage_Adminhtml_Block_Widget_Grid
35
+ {
36
+
37
+ public function __construct()
38
+ {
39
+ parent::__construct();
40
+ $this->setId('sales_order_grid');
41
+ $this->setUseAjax(true);
42
+ $this->setDefaultSort('created_at');
43
+ $this->setDefaultDir('DESC');
44
+ $this->setUseAjax(true);
45
+ $this->setSaveParametersInSession(true);
46
+ }
47
+
48
+ /**
49
+ * Retrieve collection class
50
+ *
51
+ * @return string
52
+ */
53
+ protected function _getCollectionClass()
54
+ {
55
+ return 'sales/order_grid_collection';
56
+ }
57
+
58
+ protected function _prepareCollection()
59
+ {
60
+ $collection = Mage::getResourceModel($this->_getCollectionClass());
61
+ $id = $this->getRequest()->getParam('id');
62
+ $collection->addFieldToFilter('main_table.entity_id', $id);
63
+ $this->setCollection($collection);
64
+ return parent::_prepareCollection();
65
+ }
66
+
67
+ protected function _prepareColumns()
68
+ {
69
+
70
+ $this->addColumn('real_order_id', array(
71
+ 'header'=> Mage::helper('sales')->__('Order #'),
72
+ 'width' => '80px',
73
+ 'type' => 'text',
74
+ 'index' => 'increment_id',
75
+ ));
76
+
77
+ if (!Mage::app()->isSingleStoreMode()) {
78
+ $this->addColumn('store_id', array(
79
+ 'header' => Mage::helper('sales')->__('Purchased From (Store)'),
80
+ 'index' => 'store_id',
81
+ 'type' => 'store',
82
+ 'store_view'=> true,
83
+ 'display_deleted' => true,
84
+ ));
85
+ }
86
+
87
+ $this->addColumn('created_at', array(
88
+ 'header' => Mage::helper('sales')->__('Purchased On'),
89
+ 'index' => 'created_at',
90
+ 'type' => 'datetime',
91
+ 'width' => '100px',
92
+ ));
93
+
94
+ $this->addColumn('billing_name', array(
95
+ 'header' => Mage::helper('sales')->__('Bill to Name'),
96
+ 'index' => 'billing_name',
97
+ ));
98
+
99
+ $this->addColumn('shipping_name', array(
100
+ 'header' => Mage::helper('sales')->__('Ship to Name'),
101
+ 'index' => 'shipping_name',
102
+ ));
103
+
104
+ $this->addColumn('base_grand_total', array(
105
+ 'header' => Mage::helper('sales')->__('G.T. (Base)'),
106
+ 'index' => 'base_grand_total',
107
+ 'type' => 'currency',
108
+ 'currency' => 'base_currency_code',
109
+ ));
110
+
111
+ $this->addColumn('grand_total', array(
112
+ 'header' => Mage::helper('sales')->__('G.T. (Purchased)'),
113
+ 'index' => 'grand_total',
114
+ 'type' => 'currency',
115
+ 'currency' => 'order_currency_code',
116
+ ));
117
+
118
+ $this->addColumn('status', array(
119
+ 'header' => Mage::helper('sales')->__('Status'),
120
+ 'index' => 'status',
121
+ 'type' => 'options',
122
+ 'width' => '70px',
123
+ 'options' => Mage::getSingleton('sales/order_config')->getStatuses(),
124
+ ));
125
+
126
+ // $this->addRssList('rss/order/new', Mage::helper('sales')->__('New Order RSS'));
127
+
128
+ // $this->addExportType('*/*/exportCsv', Mage::helper('sales')->__('CSV'));
129
+ // $this->addExportType('*/*/exportExcel', Mage::helper('sales')->__('Excel XML'));
130
+
131
+ return parent::_prepareColumns();
132
+ }
133
+
134
+ public function getRowUrl($row)
135
+ {
136
+ $adminfrontname = $this->getadminfront();
137
+ if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/view')) {
138
+ $url = $this->getUrl("/sales_order/view/", array('order_id' => $row->getId()));
139
+ $url = str_replace("rma",$adminfrontname,$url);
140
+ return $url;
141
+ }
142
+ return false;
143
+ }
144
+
145
+ public function getadminfront()
146
+ {
147
+ return (string)Mage::getConfig()->getNode('admin/routers/adminhtml/args/frontName');
148
+
149
+ }
150
+
151
+
152
+
153
+ }
app/code/community/jayje/Rma/Block/Adminhtml/Rma/Edit/Tabs.php ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Jayje_Rma_Block_Adminhtml_Rma_Edit_Tabs extends Mage_Adminhtml_Block_Widget_Tabs
4
+ {
5
+
6
+ public function __construct()
7
+ {
8
+ parent::__construct();
9
+ $this->setId('rma_tabs');
10
+ $this->setDestElementId('edit_form');
11
+ // $this->setTitle(Mage::helper('rma')->__('RMA Information'));
12
+ }
13
+
14
+ protected function _beforeToHtml()
15
+ {
16
+
17
+ $this->addTab('form_section', array(
18
+ 'label' => Mage::helper('rma')->__('RMA'),
19
+ 'title' => Mage::helper('rma')->__('RMA'),
20
+ 'content' => $this->getLayout()->createBlock('rma/adminhtml_rma_edit_tab_form')->toHtml(),
21
+ ));
22
+
23
+ $this->addTab('rma', array(
24
+ 'label' => Mage::helper('rma')->__('RMA Information'),
25
+ 'class' => 'ajax',
26
+ 'url' => $this->getUrl('rma/adminhtml_rma/info/',
27
+ array('id' => Mage::registry('rid'))),
28
+ ));
29
+
30
+
31
+ # $this->addTab('form_sectionss', array(
32
+ # 'label' => Mage::helper('rma')->__('RMA'),
33
+ # 'title' => Mage::helper('rma')->__('RMA'),
34
+ # 'content' => $this->getLayout()->createBlock('rma/adminhtml_rma_info')->toHtml(),
35
+ # ));
36
+ #
37
+ $this->addTab('comments', array(
38
+ 'label' => Mage::helper('rma')->__('Comments'),
39
+ 'class' => 'ajax',
40
+ 'url' => $this->getUrl('rma/adminhtml_rma/comments/',
41
+ array('id' => Mage::registry('rid'))),
42
+ ));
43
+
44
+
45
+ $this->addTab('rmaorder', array(
46
+ 'label' => Mage::helper('rma')->__('Order'),
47
+ 'class' => 'ajax',
48
+ 'url' => $this->getUrl('rma/adminhtml_rma/order',
49
+ array('id' => Mage::registry('rid'))),
50
+ ));
51
+ return parent::_beforeToHtml();
52
+ }
53
+ }
app/code/community/jayje/Rma/Block/Adminhtml/Rma/Grid.php ADDED
@@ -0,0 +1,150 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Jayje_Rma_Block_Adminhtml_Rma_Grid extends Mage_Adminhtml_Block_Widget_Grid
4
+ {
5
+ public function __construct()
6
+ {
7
+ parent::__construct();
8
+ $this->setId('rmaGrid');
9
+ $this->setDefaultSort('rma_id');
10
+ $this->setDefaultDir('DESC');
11
+ $this->setSaveParametersInSession(true);
12
+ }
13
+
14
+ protected function _prepareCollection()
15
+ {
16
+ $collection = Mage::getModel('rma/rma')->getCollection();
17
+ $this->setCollection($collection);
18
+ return parent::_prepareCollection();
19
+ }
20
+
21
+ protected function _prepareColumns()
22
+ {
23
+ $this->addColumn('rma_id', array(
24
+ 'header' => Mage::helper('rma')->__('ID'),
25
+ 'align' =>'right',
26
+ 'width' => '50px',
27
+ 'index' => 'rma_id',
28
+ ));
29
+
30
+ $this->addColumn('created_time', array(
31
+ 'header' => Mage::helper('rma')->__('Created Time'),
32
+ 'align' =>'left',
33
+ 'index' => 'created_time',
34
+ ));
35
+
36
+ $this->addColumn('increment_id', array(
37
+ 'header' => Mage::helper('rma')->__('Order ID'),
38
+ 'align' =>'left',
39
+ 'index' => 'increment_id',
40
+ ));
41
+
42
+ $this->addColumn('package', array(
43
+ 'header' => Mage::helper('rma')->__('Package'),
44
+ 'align' =>'left',
45
+ 'index' => 'package',
46
+ ));
47
+
48
+ $this->addColumn('email', array(
49
+ 'header' => Mage::helper('rma')->__('Customer Email'),
50
+ 'align' =>'left',
51
+ 'index' => 'email',
52
+ ));
53
+
54
+ $this->addColumn('status', array(
55
+ 'header' => Mage::helper('rma')->__('Status'),
56
+ 'align' =>'left',
57
+ 'index' => 'status',
58
+ ));
59
+
60
+ $this->addColumn('return_type', array(
61
+ 'header' => Mage::helper('rma')->__('Return Type'),
62
+ 'align' =>'left',
63
+ 'index' => 'return_type',
64
+ ));
65
+
66
+
67
+
68
+
69
+ /*
70
+ $this->addColumn('content', array(
71
+ 'header' => Mage::helper('rma')->__('Item Content'),
72
+ 'width' => '150px',
73
+ 'index' => 'content',
74
+ ));
75
+ */
76
+
77
+ /**
78
+ * $this->addColumn('status', array(
79
+ * 'header' => Mage::helper('rma')->__('Status'),
80
+ * 'align' => 'left',
81
+ * 'width' => '80px',
82
+ * 'index' => 'status',
83
+ * 'type' => 'options',
84
+ * 'options' => array(
85
+ * 1 => 'Enabled',
86
+ * 2 => 'Disabled',
87
+ * ),
88
+ * ));
89
+ */
90
+ $this->addColumn('action',
91
+ array(
92
+ 'header' => Mage::helper('rma')->__('Action'),
93
+ 'width' => '100',
94
+ 'type' => 'action',
95
+ 'getter' => 'getId',
96
+ 'actions' => array(
97
+ array(
98
+ 'caption' => Mage::helper('rma')->__('Edit'),
99
+ 'url' => array('base'=> '*/*/edit'),
100
+ 'field' => 'id'
101
+ )
102
+ ),
103
+ 'filter' => false,
104
+ 'sortable' => false,
105
+ 'index' => 'stores',
106
+ 'is_system' => true,
107
+ ));
108
+
109
+ $this->addExportType('*/*/exportCsv', Mage::helper('rma')->__('CSV'));
110
+ $this->addExportType('*/*/exportXml', Mage::helper('rma')->__('XML'));
111
+
112
+ return parent::_prepareColumns();
113
+ }
114
+
115
+ protected function _prepareMassaction()
116
+ {
117
+ $this->setMassactionIdField('rma_id');
118
+ $this->getMassactionBlock()->setFormFieldName('rma');
119
+
120
+ $this->getMassactionBlock()->addItem('delete', array(
121
+ 'label' => Mage::helper('rma')->__('Delete'),
122
+ 'url' => $this->getUrl('*/*/massDelete'),
123
+ 'confirm' => Mage::helper('rma')->__('Are you sure?')
124
+ ));
125
+
126
+ $statuses = Mage::getSingleton('rma/status')->getOptionArray();
127
+
128
+ array_unshift($statuses, array('label'=>'', 'value'=>''));
129
+ $this->getMassactionBlock()->addItem('status', array(
130
+ 'label'=> Mage::helper('rma')->__('Change status'),
131
+ 'url' => $this->getUrl('*/*/massStatus', array('_current'=>true)),
132
+ 'additional' => array(
133
+ 'visibility' => array(
134
+ 'name' => 'status',
135
+ 'type' => 'select',
136
+ 'class' => 'required-entry',
137
+ 'label' => Mage::helper('rma')->__('Status'),
138
+ 'values' => $statuses
139
+ )
140
+ )
141
+ ));
142
+ return $this;
143
+ }
144
+
145
+ public function getRowUrl($row)
146
+ {
147
+ return $this->getUrl('*/*/edit', array('id' => $row->getId()));
148
+ }
149
+
150
+ }
app/code/community/jayje/Rma/Block/Adminhtml/Rma/Info.php ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Jayje_Rma_Block_Adminhtml_Rma_Info extends Mage_Adminhtml_Block_Widget
4
+ {
5
+ public function __construct()
6
+ {
7
+ // parent::__construct();
8
+ $this->setTemplate('rma/info.phtml');
9
+
10
+ }
11
+
12
+
13
+ public function getrid(){
14
+ $id = $this->getRequest()->getParam(); print_r($id);
15
+ }
16
+
17
+ public function getHeaderText()
18
+ {
19
+ //$rmaid = Mage::registry('rma_data')->getRmaId();
20
+ if( Mage::registry('rma_data') && Mage::registry('rma_data')->getId() ) {
21
+ return Mage::helper('rma')->__("Edit RMA '%s'",
22
+ $this->htmlEscape(Mage::registry('rma_data')->getTitle()));
23
+ }
24
+ }
25
+
26
+
27
+ }
app/code/community/jayje/Rma/Block/Adminhtml/Rma/Ritems.phtmt.php ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $order_id = $_GET['oid'];
3
+ require("app/Mage.php");
4
+ umask(0);
5
+ Mage::app();
6
+ $increment_id = Mage::getModel('sales/order')->load(12)->getData();
7
+ //print_r($increment_id);
8
+ ?>
9
+ <script>
10
+ function checkQty(id){
11
+ var rma_qty = document.getElementById("rma"+id).value;
12
+ var o_qty = document.getElementById("o"+id).value;
13
+ if(isNaN(rma_qty)){
14
+ alert('not number');
15
+ document.getElementById("rma"+id).value=1
16
+ }else{
17
+ if(o_qty >= rma_qty){
18
+ // alert('Rma quantity should be less than ordered quantity');
19
+ //document.getElementById("rma"+id).value=1
20
+ }else{
21
+ alert('Rma quantity should be less than ordered quantity');
22
+ document.getElementById("rma"+id).value=1
23
+ }
24
+ }
25
+ }
26
+ </script>
27
+ <div class="entry-edit">
28
+ <div class="entry-edit-head">
29
+ <h4 class="icon-head head-products">Items RMA Requested for</h4>
30
+ </div>
31
+ </div><div class="grid np">
32
+ <div class="hor-scroll">
33
+ <table cellspacing="0" class="data order-tables" width="90%">
34
+ <thead>
35
+ <tr class="headings">
36
+ <th><strong>Product</strong></th><th><strong>Price</strong></th><th><strong>Qty</strong></th><th><strong>Return <br />Qty</strong></th>
37
+ </tr>
38
+ </thead>
39
+ <tbody class="even">
40
+ <?php
41
+
42
+ $items = Mage::getModel('sales/order')->load($order_id)->getAllItems();
43
+ foreach ($items as $itemId => $item)
44
+ {
45
+
46
+
47
+ echo $tf= checkRmaProduct($order_id, $item->getProductId())
48
+ ?>
49
+ <tr class="border">
50
+ <td>
51
+ <div id="order_item_33" class="item-container">
52
+ <div class="item-text">
53
+ <h5 class="title"><span id="order_item_33_title"><?php echo $item->getName() ?></span></h5>
54
+ </div>
55
+ </div>
56
+ </td>
57
+ <td>
58
+ <span class="price-excl-tax">
59
+ <span class="price"><?php echo $item->getPrice() ?></span>
60
+ </span>
61
+ </td><td><strong><?php echo round($item->getQtyOrdered()) ?></strong></td>
62
+ <td>
63
+ <input type="hidden" id="o<?php echo $item->getProductId() ?>" size="2" name="" value="<?php echo $item->getQtyOrdered() ?>" />
64
+
65
+ <?php if($tf>0){ ?>
66
+ Already Requested
67
+ <?php }else{ ?>
68
+ <input type="text" id="rma<?php echo $item->getProductId() ?>" size="2" name="qty_<?php echo $itemId; ?>" value="1" autocomplete="off" onkeyup="return checkQty(<?php echo $item->getProductId() ?>)" />
69
+ <?php } ?>
70
+
71
+ <input type="hidden" size="2" name="pid_<?php echo $itemId; ?>" value="<?php echo $item->getProductId() ?>" /></td>
72
+ <input type="hidden" size="2" name="price_<?php echo $itemId; ?>" value="<?php echo $item->getPrice() ?>" /></td>
73
+ </tr>
74
+ <?php } ?><tr><td> <input type="hidden" size="2" name="maxpid" value="<?php echo $itemId ?>" /></td>
75
+ </td></tr>
76
+ </tbody>
77
+ </table>
78
+ </div><?php
79
+ function checkRmaProduct($oid, $pid){
80
+ $db = Mage::getSingleton('core/resource')->getConnection('core_read');
81
+ $que = "SELECT product_id FROM `rma_products` WHERE `order_id` ='$oid' and `product_id` = '$pid' LIMIT 0 , 1";
82
+ $result = $db->query($que);
83
+ $resultn = $result->fetch(PDO::FETCH_ASSOC);
84
+ extract($resultn);
85
+ return $product_id;
86
+
87
+ }
88
+
89
+
app/code/community/jayje/Rma/Block/Adminhtml/Rma/ritem.php ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
2
+ <?php
3
+ $order_id = $this->getRequest()->getParam('oid');
4
+ $order_id = $_GET['oid'];
5
+ require("app/Mage.php");
6
+ umask(0);
7
+ Mage::app();
8
+ $increment_id = Mage::getModel('sales/order')->load(12)->getData();
9
+ //print_r($increment_id);
10
+ ?>
11
+ <script>
12
+ function checkQty(id){
13
+ var rma_qty = document.getElementById("rma"+id).value;
14
+ var o_qty = document.getElementById("o"+id).value;
15
+ if(isNaN(rma_qty)){
16
+ alert('not number');
17
+ document.getElementById("rma"+id).value=1
18
+ }else{
19
+ if(o_qty >= rma_qty){
20
+ // alert('Rma quantity should be less than ordered quantity');
21
+ //document.getElementById("rma"+id).value=1
22
+ }else{
23
+ alert('Rma quantity should be less than ordered quantity');
24
+ document.getElementById("rma"+id).value=1
25
+ }
26
+ }
27
+ }
28
+ </script>
29
+ <div class="entry-edit">
30
+ <div class="entry-edit-head">
31
+ <h4 class="icon-head head-products">Items RMA Requested for</h4>
32
+ </div>
33
+ </div><div class="grid np">
34
+ <div class="hor-scroll">
35
+ <table cellspacing="0" class="data order-tables" width="90%">
36
+ <thead>
37
+ <tr class="headings">
38
+ <th><strong>Product</strong></th><th><strong>Price</strong></th><th><strong>Qty</strong></th><th><strong>Return <br />Qty</strong></th>
39
+ </tr>
40
+ </thead>
41
+ <tbody class="even">
42
+ <?php
43
+
44
+ $items = Mage::getModel('sales/order')->load($order_id)->getAllItems();
45
+ foreach ($items as $itemId => $item)
46
+ {
47
+
48
+
49
+ echo $tf= checkRmaProduct($order_id, $item->getProductId())
50
+ ?>
51
+ <tr class="border">
52
+ <td>
53
+ <div id="order_item_33" class="item-container">
54
+ <div class="item-text">
55
+ <h5 class="title"><span id="order_item_33_title"><?php echo $item->getName() ?></span></h5>
56
+ </div>
57
+ </div>
58
+ </td>
59
+ <td>
60
+ <span class="price-excl-tax">
61
+ <span class="price"><?php echo $item->getPrice() ?></span>
62
+ </span>
63
+ </td><td><strong><?php echo round($item->getQtyOrdered()) ?></strong></td>
64
+ <td>
65
+ <input type="hidden" id="o<?php echo $item->getProductId() ?>" size="2" name="" value="<?php echo $item->getQtyOrdered() ?>" />
66
+
67
+ <?php if($tf>0){ ?>
68
+ Already Requested
69
+ <?php }else{ ?>
70
+ <input type="text" id="rma<?php echo $item->getProductId() ?>" size="2" name="qty_<?php echo $itemId; ?>" value="1" autocomplete="off" onkeyup="return checkQty(<?php echo $item->getProductId() ?>)" />
71
+ <?php } ?>
72
+
73
+ <input type="hidden" size="2" name="pid_<?php echo $itemId; ?>" value="<?php echo $item->getProductId() ?>" /></td>
74
+ <input type="hidden" size="2" name="price_<?php echo $itemId; ?>" value="<?php echo $item->getPrice() ?>" /></td>
75
+ </tr>
76
+ <?php } ?><tr><td> <input type="hidden" size="2" name="maxpid" value="<?php echo $itemId ?>" /></td>
77
+ </td></tr>
78
+ </tbody>
79
+ </table>
80
+ </div><?php
81
+ function checkRmaProduct($oid, $pid){
82
+ $db = Mage::getSingleton('core/resource')->getConnection('core_read');
83
+ $que = "SELECT product_id FROM `rma_products` WHERE `order_id` ='$oid' and `product_id` = '$pid' LIMIT 0 , 1";
84
+ $result = $db->query($que);
85
+ $resultn = $result->fetch(PDO::FETCH_ASSOC);
86
+ extract($resultn);
87
+ return $product_id;
88
+
89
+ }
90
+
91
+
app/code/community/jayje/Rma/Block/Ajax.php ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Jayje_Rma_Block_Ajax extends Mage_Core_Block_Template
3
+ {
4
+ public function _prepareLayout()
5
+ {
6
+ return parent::_prepareLayout();
7
+ }
8
+
9
+ public function __construct()
10
+ {
11
+ // parent::__construct();
12
+ $this->setTemplate('rma/ritem.phtml');
13
+
14
+ }
15
+ public function getRma()
16
+ {
17
+ if (!$this->hasData('rma')) {
18
+ $this->setData('rma', Mage::registry('rma'));
19
+ }
20
+ return $this->getData('rma');
21
+
22
+ }
23
+
24
+ public function checkRmaProduct($oid, $pid){
25
+ $db = Mage::getSingleton('core/resource')->getConnection('core_read');
26
+ $que = "SELECT product_id FROM `rma_products` WHERE `order_id` ='$oid' and `product_id` = '$pid' LIMIT 0 , 1";
27
+ $result = $db->query($que);
28
+ $resultn = $result->fetch(PDO::FETCH_ASSOC);
29
+ extract($resultn);
30
+ return $product_id;
31
+
32
+ }
33
+
34
+ }
35
+
36
+ ?>
37
+
38
+
app/code/community/jayje/Rma/Block/Rma.php ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Jayje_Rma_Block_Rma extends Mage_Core_Block_Template
3
+ {
4
+ public function _prepareLayout()
5
+ {
6
+ return parent::_prepareLayout();
7
+ }
8
+
9
+ public function getRma()
10
+ {
11
+ if (!$this->hasData('rma')) {
12
+ $this->setData('rma', Mage::registry('rma'));
13
+ }
14
+ return $this->getData('rma');
15
+
16
+ }
17
+
18
+
19
+
20
+ public function getOrder(){
21
+ $db = Mage::getSingleton('core/resource')->getConnection('core_read');
22
+ $customerid =Mage::helper('customer')->getCustomer()->getData('entity_id') ;
23
+ $que = "SELECT entity_id, increment_id, grand_total, store_currency_code FROM `sales_flat_order` where customer_id='$customerid'
24
+ ORDER BY increment_id DESC LIMIT 0,30";
25
+ $result = $db->query($que);
26
+ while( $resultn = $result->fetch(PDO::FETCH_ASSOC)){
27
+ extract($resultn);
28
+
29
+ echo '<option value="'.$entity_id.'">'.$increment_id.' - '.$store_currency_code.' '.$grand_total.'</option>';
30
+ }
31
+ //return $result;
32
+ }
33
+
34
+ function getRmaList(){
35
+ $db = Mage::getSingleton('core/resource')->getConnection('core_read');
36
+ $customerid =Mage::helper('customer')->getCustomer()->getData('entity_id') ;
37
+ $que = "SELECT * FROM `rma` WHERE `customer_id` = '$customerid'
38
+ ORDER BY rma_id DESC LIMIT 0 , 30";
39
+ $result = $db->query($que);
40
+
41
+ return $result;
42
+ }
43
+
44
+ public function getRmaDetails(){
45
+
46
+
47
+ $listid = Mage::registry('list');
48
+ $db = Mage::getSingleton('core/resource')->getConnection('core_read');
49
+ $customerid =Mage::helper('customer')->getCustomer()->getData('entity_id') ;
50
+ $que = "SELECT * FROM `rma` WHERE `customer_id` = '$customerid' AND rma_id= '$listid'
51
+ ORDER BY rma_id DESC LIMIT 0 , 1";
52
+ $result = $db->query($que);
53
+ $resultn = $result->fetch(PDO::FETCH_ASSOC);
54
+ return $resultn;
55
+ }
56
+ public function getRmaProducts(){
57
+ return Mage::getSingleton('rma/rma')->getRmaProducts();
58
+ }
59
+
60
+ public function getRmaComments(){
61
+ return Mage::getSingleton('rma/rma')->getRmaComments();
62
+ }
63
+
64
+
65
+ public function getRType(){
66
+ $satus = Mage::getStoreConfig('jayje_section/jayje_group/jayje_status',Mage::app()->getStore());
67
+ $return_type = Mage::getStoreConfig('jayje_section/jayje_group/jayje_type',Mage::app()->getStore());
68
+ $return_types = explode(",",$return_type);
69
+ foreach($return_types as $return_type){
70
+ echo '<option value="'.$return_type.'">'.$return_type.'</option>';
71
+ }
72
+
73
+ }
74
+ }
75
+
76
+ ?>
77
+
78
+
app/code/community/jayje/Rma/Helper/Data.php ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Jayje_Rma_Helper_Data extends Mage_Core_Helper_Abstract
4
+ {
5
+
6
+ }
app/code/community/jayje/Rma/Model/Mysql4/Rma.php ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Jayje_Rma_Model_Mysql4_Rma extends Mage_Core_Model_Mysql4_Abstract
4
+ {
5
+ public function _construct()
6
+ {
7
+ // Note that the rma_id refers to the key field in your database table.
8
+ $this->_init('rma/rma', 'rma_id');
9
+ }
10
+ }
app/code/community/jayje/Rma/Model/Mysql4/Rma/Collection.php ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Jayje_Rma_Model_Mysql4_Rma_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
4
+ {
5
+ public function _construct()
6
+ {
7
+ parent::_construct();
8
+ $this->_init('rma/rma');
9
+ }
10
+ }
app/code/community/jayje/Rma/Model/Rma.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Jayje_Rma_Model_Rma extends Mage_Core_Model_Abstract
4
+ {
5
+ public function _construct()
6
+ {
7
+ parent::_construct();
8
+ $this->_init('rma/rma');
9
+ }
10
+
11
+ public function getRmaProducts(){
12
+ $listid = Mage::registry('list');
13
+ $db = Mage::getSingleton('core/resource')->getConnection('core_read');
14
+ $que = "SELECT * FROM `rma_products` WHERE `rmaid` ='$listid'";
15
+ $result = $db->query($que);
16
+ return $result;
17
+ }
18
+
19
+ public function getRmaComments($rid=''){
20
+ if($rid !=''){
21
+ $listid = $rid;
22
+ }else{
23
+ $listid = Mage::registry('list');
24
+ }
25
+ $db = Mage::getSingleton('core/resource')->getConnection('core_read');
26
+ $que = "SELECT * FROM `rma_comments` where rmaid='$listid'";
27
+ $result = $db->query($que);
28
+ return $result;
29
+ }
30
+ }
31
+
app/code/community/jayje/Rma/Model/Status.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Jayje_Rma_Model_Status extends Varien_Object
4
+ {
5
+ // const STATUS_ENABLED = 1;
6
+ // const STATUS_DISABLED = 2;
7
+
8
+ static public function getOptionArray()
9
+ {
10
+ $satus = Mage::getStoreConfig('jayje_section/jayje_group/jayje_status',Mage::app()->getStore());
11
+ $satuss = explode(",",$satus);
12
+ //print_r($satuss);
13
+ foreach($satuss as $satus){
14
+ $bestForArray = array(
15
+ "label" => $satus,
16
+ "value" => $satus
17
+ );
18
+ $arr[]=$bestForArray;
19
+ }
20
+ return $arr;
21
+ }
22
+ }
app/code/community/jayje/Rma/controllers/Adminhtml/RmaController.php ADDED
@@ -0,0 +1,213 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Jayje_Rma_Adminhtml_RmaController extends Mage_Adminhtml_Controller_action
4
+ {
5
+
6
+ protected function _initAction() {
7
+ $this->loadLayout()
8
+ ->_setActiveMenu('rma/items')
9
+ ->_addBreadcrumb(Mage::helper('adminhtml')->__('Items Manager'), Mage::helper('adminhtml')->__('Item Manager'));
10
+
11
+ return $this;
12
+ }
13
+
14
+ public function indexAction() {
15
+ $this->_initAction()
16
+ ->renderLayout();
17
+ }
18
+
19
+ public function infoAction() {
20
+ $this->getResponse()->setBody(
21
+ $this->getLayout()->createBlock('rma/adminhtml_rma_info')->toHtml());
22
+ }
23
+
24
+ public function orderAction() {
25
+ $this->getResponse()->setBody($this->getLayout()->createBlock('rma/adminhtml_rma_edit_tab_order')->toHtml());
26
+ }
27
+
28
+ public function commentsAction() {
29
+ $this->getResponse()->setBody($this->getLayout()->createBlock('rma/adminhtml_rma_edit_tab_comments')->toHtml());
30
+ }
31
+
32
+ public function editAction() {
33
+ $id = $this->getRequest()->getParam('id');
34
+ $model = Mage::getModel('rma/rma')->load($id);
35
+ if ($model->getId() || $id == 0) {
36
+ $data = Mage::getSingleton('adminhtml/session')->getFormData(true);
37
+ if (!empty($data)) {
38
+ $model->setData($data);
39
+ }
40
+
41
+ Mage::register('rma_data', $model);
42
+
43
+ $this->loadLayout();
44
+ $this->_setActiveMenu('rma/items');
45
+
46
+ $this->_addBreadcrumb(Mage::helper('adminhtml')->__('Item Manager'), Mage::helper('adminhtml')->__('Item Manager'));
47
+ $this->_addBreadcrumb(Mage::helper('adminhtml')->__('Item News'), Mage::helper('adminhtml')->__('Item News'));
48
+
49
+ $this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
50
+
51
+ $this->_addContent($this->getLayout()->createBlock('rma/adminhtml_rma_edit'))
52
+ ->_addLeft($this->getLayout()->createBlock('rma/adminhtml_rma_edit_tabs'));
53
+
54
+ $this->renderLayout();
55
+ } else {
56
+ Mage::getSingleton('adminhtml/session')->addError(Mage::helper('rma')->__('Item does not exist'));
57
+ $this->_redirect('*/*/');
58
+ }
59
+ }
60
+
61
+ public function newAction() {
62
+ $this->_forward('edit');
63
+ }
64
+
65
+ public function saveAction() {
66
+ if ($data = $this->getRequest()->getPost()) {
67
+
68
+ if(isset($_FILES['filename']['name']) && $_FILES['filename']['name'] != '') {
69
+ try {
70
+ /* Starting upload */
71
+ $uploader = new Varien_File_Uploader('filename');
72
+ $uploader->setAllowedExtensions(array('jpg','jpeg','gif','png'));
73
+ $uploader->setAllowRenameFiles(false);
74
+ $uploader->setFilesDispersion(false);
75
+ $path = Mage::getBaseDir('media') . DS ;
76
+ $uploader->save($path, $_FILES['filename']['name'] );
77
+
78
+ } catch (Exception $e) {
79
+
80
+ }
81
+
82
+ //this way the name is saved in DB
83
+ $data['filename'] = $_FILES['filename']['name'];
84
+ }
85
+
86
+ $models = Mage::getModel('rma/rma')->load($this->getRequest()->getParam('id'));
87
+ $laststatus = $models['status'];
88
+ $newstatus = $data['status'];
89
+ $model = Mage::getModel('rma/rma');
90
+ $model->setData($data)
91
+ ->setId($this->getRequest()->getParam('id'));
92
+
93
+ try {
94
+ if ($model->getCreatedTime == NULL || $model->getUpdateTime() == NULL) {
95
+ $model->setCreatedTime(now())
96
+ ->setUpdateTime(now());
97
+ } else {
98
+ $model->setUpdateTime(now());
99
+ }
100
+
101
+ $model->save();
102
+ if($model->getId() !=''){
103
+ $rmaid = $model->getId();
104
+ $update_time = date("Y-m-d g:i:s");
105
+ $comments = $data['comments'];
106
+ $connection = Mage::getSingleton('core/resource')->getConnection('core_write');
107
+ $admin = Mage::getSingleton('admin/session')->getUser();
108
+ $by = $admin['username'];
109
+ if($comments != ''){
110
+ $query = "INSERT INTO `rma_comments` (
111
+ `rmaid` ,`stype` ,`comments` ,`date`, `by`)
112
+ VALUES (
113
+ '$rmaid', 'comments', '$comments', '$update_time', '$by')";
114
+ $connection->query($query);
115
+ }
116
+ if($newstatus != $laststatus){
117
+ $connection = Mage::getSingleton('core/resource')->getConnection('core_write');
118
+ $query = "INSERT INTO `rma_comments` (
119
+ `rmaid` ,`stype` ,`comments` ,`date`, `by`)
120
+ VALUES (
121
+ '$rmaid', 'Status', '$newstatus', '$update_time', '$by')";
122
+ $connection->query($query);
123
+
124
+ }
125
+ }
126
+
127
+
128
+
129
+
130
+ Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('rma')->__('RMA was successfully saved'));
131
+ Mage::getSingleton('adminhtml/session')->setFormData(false);
132
+
133
+ if ($this->getRequest()->getParam('back')) {
134
+ $this->_redirect('*/*/edit', array('id' => $model->getId()));
135
+ return;
136
+ }
137
+ $this->_redirect('*/*/');
138
+ return;
139
+ } catch (Exception $e) {
140
+ Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
141
+ Mage::getSingleton('adminhtml/session')->setFormData($data);
142
+ $this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
143
+ return;
144
+ }
145
+ }
146
+ Mage::getSingleton('adminhtml/session')->addError(Mage::helper('rma')->__('Unable to find item to save'));
147
+ $this->_redirect('*/*/');
148
+ }
149
+
150
+ public function deleteAction() {
151
+ if( $this->getRequest()->getParam('id') > 0 ) {
152
+ try {
153
+ $model = Mage::getModel('rma/rma');
154
+
155
+ $model->setId($this->getRequest()->getParam('id'))
156
+ ->delete();
157
+
158
+ Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('adminhtml')->__('Item was successfully deleted'));
159
+ $this->_redirect('*/*/');
160
+ } catch (Exception $e) {
161
+ Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
162
+ $this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
163
+ }
164
+ }
165
+ $this->_redirect('*/*/');
166
+ }
167
+
168
+ public function massDeleteAction() {
169
+ $rmaIds = $this->getRequest()->getParam('rma');
170
+ if(!is_array($rmaIds)) {
171
+ Mage::getSingleton('adminhtml/session')->addError(Mage::helper('adminhtml')->__('Please select item(s)'));
172
+ } else {
173
+ try {
174
+ foreach ($rmaIds as $rmaId) {
175
+ $rma = Mage::getModel('rma/rma')->load($rmaId);
176
+ $rma->delete();
177
+ }
178
+ Mage::getSingleton('adminhtml/session')->addSuccess(
179
+ Mage::helper('adminhtml')->__(
180
+ 'Total of %d record(s) were successfully deleted', count($rmaIds)
181
+ )
182
+ );
183
+ } catch (Exception $e) {
184
+ Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
185
+ }
186
+ }
187
+ $this->_redirect('*/*/index');
188
+ }
189
+
190
+ public function massStatusAction()
191
+ {
192
+ $rmaIds = $this->getRequest()->getParam('rma');
193
+ if(!is_array($rmaIds)) {
194
+ Mage::getSingleton('adminhtml/session')->addError($this->__('Please select item(s)'));
195
+ } else {
196
+ try {
197
+ foreach ($rmaIds as $rmaId) {
198
+ $rma = Mage::getSingleton('rma/rma')
199
+ ->load($rmaId)
200
+ ->setStatus($this->getRequest()->getParam('status'))
201
+ ->setIsMassupdate(true)
202
+ ->save();
203
+ }
204
+ $this->_getSession()->addSuccess(
205
+ $this->__('Total of %d record(s) were successfully updated', count($rmaIds))
206
+ );
207
+ } catch (Exception $e) {
208
+ $this->_getSession()->addError($e->getMessage());
209
+ }
210
+ }
211
+ $this->_redirect('*/*/index');
212
+ }
213
+ }
app/code/community/jayje/Rma/controllers/IndexController.php ADDED
@@ -0,0 +1,213 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Jayje_Rma_IndexController extends Mage_Core_Controller_Front_Action
3
+ {
4
+ public function indexAction()
5
+ {
6
+ $this->loadLayout();
7
+ $session = Mage::getSingleton('customer/session');
8
+ if(!$session->isLoggedIn()) {
9
+ $this->_redirect('customer/account/login/');
10
+ }
11
+ $this->renderLayout();
12
+ }
13
+
14
+ public function requestAction()
15
+ {
16
+ $this->loadLayout();
17
+ $session = Mage::getSingleton('customer/session');
18
+ if(!$session->isLoggedIn()) {
19
+ $this->_redirect('customer/account/login/');
20
+ }
21
+ $this->renderLayout();
22
+ }
23
+ public function orderAction()
24
+ {
25
+ echo 'panni';
26
+ $this->getResponse()->setBody($this->getLayout()->createBlock('rma/ajax')->toHtml());
27
+
28
+ }
29
+
30
+ public function formpostAction(){
31
+
32
+ $created_time = date("Y-m-d g:i:s");
33
+ $arrParams = $this->getRequest()->getParams();
34
+ // print_r($arrParams);
35
+
36
+ $customername =Mage::helper('customer')->getCustomer()->getName();
37
+ $customerid =Mage::helper('customer')->getCustomer()->getData('entity_id') ;
38
+ $email =Mage::helper('customer')->getCustomer()->getData('email') ;
39
+ $email =Mage::helper('customer')->getCustomer()->getData('email') ;
40
+ $order_id = $arrParams['order_id'];
41
+ if($order_id !=''){
42
+
43
+ $reason = $arrParams['reason'];
44
+ $package = $arrParams['package'];
45
+ $return_type = $arrParams['return_type'];
46
+ $increment_id = Mage::getModel('sales/order')->load($order_id)->getData('increment_id');
47
+
48
+ $connection = Mage::getSingleton('core/resource')->getConnection('core_write');
49
+ $query = "INSERT INTO `rma` (`order_id` ,`status` ,`reason` ,`email` ,`return_type` ,`customer_id` ,`title` ,`package` ,
50
+ `filename` ,`content` ,`created_time`, `increment_id` ,`update_time` ,`created`
51
+ )VALUES (
52
+ '$order_id', 'Pending', '$reason', '$email', '$return_type', '$customerid', '$title', '$package', '', '', '$created_time','$increment_id', NULL , ''
53
+ )";
54
+ $connection->query($query);
55
+ $lastInsertId = $connection->lastInsertId();;
56
+
57
+ $maxpid = $arrParams['maxpid'];
58
+
59
+ for ($i=0; $i<=$maxpid; $i++){
60
+ $qty = $arrParams['qty_'.$i];
61
+ if($qty>0){
62
+ $pid = $arrParams['pid_'.$i];
63
+ $total = $arrParams['price_'.$i] * $qty;
64
+ $query = "INSERT INTO `rma_products` (
65
+ `rmaid` ,`order_id` ,`product_id` ,`qty` ,`status` ,`total`)VALUES (
66
+ '$lastInsertId', '$order_id', '$pid', '$qty', '', '$total')";
67
+ $connection->query($query);
68
+ }
69
+ }
70
+
71
+
72
+ $message = $this->__('Your request has been sent');
73
+ $url = "rma/index/view/rma_id/".$lastInsertId;
74
+ }else{
75
+ $message = $this->__("Sorry, You don't have any Order");
76
+ $url = 'rma/index/request';
77
+ }
78
+
79
+ $to_email = $email;
80
+ $to_name = $customername;
81
+ $subject = 'RMA Request';
82
+ $Body .= '<div class="page-title title-buttons"><img src='.Mage::getDesign()->getSkinUrl('images/logo_email.gif').' />
83
+ <h4>RMA #'. $lastInsertId.' - Pending</h4>
84
+ </div>Thank you for your RMA Request.
85
+ <a href="'.Mage::helper('core/url')->getHomeUrl().'/rma/index/view/rma_id/'.$lastInsertId.'"><h4 align="">Check Here</h4></a>
86
+ ';
87
+
88
+ $Body .= "<table style='font-size: small;' width='100%'>
89
+ <tr><td colspan='2'>
90
+
91
+ <h5>Request Information</h5>
92
+ </td></tr>
93
+ <tr><td width='50%'><div class='col2-set order-info-box'>
94
+ <div class='col-1'>
95
+ <div class='box'>
96
+ <div class='box-content'>
97
+ <p style='font-size: small;'> ID: $lastInsertId</p>
98
+ </div>
99
+ <div class='box-content'>
100
+ <p style='font-size: small;'> Customer Name: $to_name</p>
101
+ </div>
102
+ <div class='box-content'>
103
+ <p style='font-size: small;'> Order: <a href=".Mage::helper('core/url')->getHomeUrl()."/sales/order/view/order_id/$order_id>#$increment_id</a></p>
104
+ </div>
105
+ <div class='box-content'>
106
+ <p style='font-size: small;'> Status:Pending</p>
107
+ </div>
108
+
109
+ </div>
110
+ </div></td><td>
111
+ <div class='col-2'><br />
112
+ <div class='box box-payment'>
113
+
114
+ <div class='box-content'>
115
+ <p>Created Time: $created_time</p>
116
+ </div>
117
+ <div class='box-content'>
118
+ <p>Package Opened: $package</p>
119
+ </div>
120
+ <div class='box-content'>
121
+ <p>Return Type: $return_type<a></a></p>
122
+ </div>
123
+ </div>
124
+ </div>
125
+ </div></td></tr><tr><td colspan='2'>
126
+ <div class='box-content'>
127
+ Reason: $reason;
128
+ </div></td></tr>
129
+ </table>";
130
+ $sender_email = Mage::getStoreConfig('jayje_section/jayje_group/jayje_rmamail',Mage::app()->getStore());
131
+ $Body_text= $Body;
132
+ $mail = new Zend_Mail(); //class for mail
133
+ $mail->setBodyHtml($Body_text); //for sending message containing html code
134
+ $mail->setFrom($sender_email, $sender_name);
135
+ $mail->addTo($to_email, $to_name);
136
+ $mail->addCc($cc, $ccname); //can set cc
137
+ $mail->addBCc($bcc, $bccname); //can set bcc
138
+ $mail->setSubject($subject);
139
+ try {
140
+ $mail->send();
141
+ Mage::getSingleton('core/session')->addSuccess('Your request has been sent');
142
+ }
143
+ catch (Exception $e) {
144
+ Mage::getSingleton('core/session')->addError('Unable to send.');
145
+ }
146
+
147
+ $this->loadLayout();
148
+ Mage::getSingleton('core/session')->addSuccess($message);
149
+ $this->_redirect($url);
150
+ $this->renderLayout();
151
+
152
+ }
153
+ public function viewAction()
154
+ {
155
+ $this->loadLayout();
156
+ $session = Mage::getSingleton('customer/session');
157
+ if(!$session->isLoggedIn()) {
158
+ $this->_redirect('customer/account/login/');
159
+ }
160
+ $arrParams = $this->getRequest()->getParams();
161
+ $rma_id = $arrParams['rma_id'];
162
+ Mage::register('list', $rma_id);
163
+ $this->renderLayout();
164
+
165
+ }
166
+
167
+ public function formpostcommentsAction(){
168
+ $arrParams = $this->getRequest()->getParams();
169
+ // print_r($arrParams);
170
+ $rma_id = $arrParams['rma_id'];
171
+ $update_time = date("Y-m-d g:i:s");
172
+ $comments = $arrParams['comments'];
173
+ $session = Mage::getSingleton('customer/session');
174
+
175
+ if($session->isLoggedIn()) {
176
+ $customer = $session->getCustomer();
177
+ $by = $customer->getName();
178
+ }
179
+ $connection = Mage::getSingleton('core/resource')->getConnection('core_write');
180
+ $query = "INSERT INTO `rma_comments` (`rmaid` ,`stype` ,`comments` ,`date`, `by`)
181
+ VALUES (
182
+ '$rma_id', 'comments', '$comments', '$update_time', '$by')";
183
+ $connection->query($query);
184
+ $this->loadLayout();
185
+ $message = $this->__('Your comment has been submitted');
186
+ Mage::getSingleton('core/session')->addSuccess($message);
187
+ $this->_redirect('rma/index/view/rma_id/'.$rma_id);
188
+ $this->renderLayout();
189
+
190
+
191
+ }
192
+
193
+ public function sendAction(){
194
+ $mail_body = "<h3> These are ordered by you in the event - '' </h3> <br/>". $email_body;
195
+ $to_email = "customer email";
196
+ $to_name = 'Customer';
197
+ $subject = 'Orders';
198
+ $sender_email = Mage::getStoreConfig('jayje_section/jayje_group/jayje_rmamail',Mage::app()->getStore());
199
+ $sender_name = "mail";
200
+
201
+ $Body_text= $Body;
202
+ $mail = new Zend_Mail(); //class for mail
203
+ $mail->setBodyHtml($Body_text); //for sending message containing html code
204
+ $mail->setFrom($sender_email, $sender_name);
205
+ $mail->addTo($to_email, $to_name);
206
+ $mail->addCc($cc, $ccname); //can set cc
207
+ $mail->addBCc($bcc, $bccname); //can set bcc
208
+ $mail->setSubject($subject);
209
+ // $mail->send();
210
+
211
+ }
212
+
213
+ }
app/code/community/jayje/Rma/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
+ <jayje_section translate="title" module="rma">
12
+ <title>RMA Configuration</title>
13
+ <sort_order>30</sort_order>
14
+ </jayje_section>
15
+ </children>
16
+ </config>
17
+ </children>
18
+ </system>
19
+ </children>
20
+ </admin>
21
+ </resources>
22
+ </acl>
23
+ </config>
app/code/community/jayje/Rma/etc/config.xml ADDED
@@ -0,0 +1,129 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <config>
3
+ <modules>
4
+ <Jayje_Rma>
5
+ <version>0.1.0</version>
6
+ </Jayje_Rma>
7
+ </modules>
8
+ <frontend>
9
+ <routers>
10
+ <rma>
11
+ <use>standard</use>
12
+ <args>
13
+ <module>Jayje_Rma</module>
14
+ <frontName>rma</frontName>
15
+ </args>
16
+ </rma>
17
+ </routers>
18
+ <layout>
19
+ <updates>
20
+ <rma>
21
+ <file>rma.xml</file>
22
+ </rma>
23
+ </updates>
24
+ </layout>
25
+ </frontend>
26
+ <admin>
27
+ <routers>
28
+ <rma>
29
+ <use>admin</use>
30
+ <args>
31
+ <module>Jayje_Rma</module>
32
+ <frontName>rma</frontName>
33
+ </args>
34
+ </rma>
35
+ </routers>
36
+ </admin>
37
+ <adminhtml>
38
+ <menu>
39
+ <rma module="rma">
40
+ <title>RMA</title>
41
+ <sort_order>71</sort_order>
42
+ <children>
43
+ <items module="rma">
44
+ <title>Manage RMA</title>
45
+ <sort_order>0</sort_order>
46
+ <action>rma/adminhtml_rma</action>
47
+ </items>
48
+ </children>
49
+ </rma>
50
+ </menu>
51
+ <acl>
52
+ <resources>
53
+ <all>
54
+ <title>Allow Everything</title>
55
+ </all>
56
+ <admin>
57
+ <children>
58
+ <Jayje_Rma>
59
+ <title>Rma Module</title>
60
+ <sort_order>10</sort_order>
61
+ </Jayje_Rma>
62
+ </children>
63
+ </admin>
64
+ </resources>
65
+ </acl>
66
+ <layout>
67
+ <updates>
68
+ <rma>
69
+ <file>rma.xml</file>
70
+ </rma>
71
+ </updates>
72
+ </layout>
73
+ </adminhtml>
74
+ <global>
75
+ <models>
76
+ <rma>
77
+ <class>Jayje_Rma_Model</class>
78
+ <resourceModel>rma_mysql4</resourceModel>
79
+ </rma>
80
+ <rma_mysql4>
81
+ <class>Jayje_Rma_Model_Mysql4</class>
82
+ <entities>
83
+ <rma>
84
+ <table>rma</table>
85
+ </rma>
86
+ </entities>
87
+ </rma_mysql4>
88
+ </models>
89
+ <resources>
90
+ <rma_setup>
91
+ <setup>
92
+ <module>Jayje_Rma</module>
93
+ </setup>
94
+ <connection>
95
+ <use>core_setup</use>
96
+ </connection>
97
+ </rma_setup>
98
+ <rma_write>
99
+ <connection>
100
+ <use>core_write</use>
101
+ </connection>
102
+ </rma_write>
103
+ <rma_read>
104
+ <connection>
105
+ <use>core_read</use>
106
+ </connection>
107
+ </rma_read>
108
+ </resources>
109
+ <blocks>
110
+ <rma>
111
+ <class>Jayje_Rma_Block</class>
112
+ </rma>
113
+ </blocks>
114
+ <helpers>
115
+ <rma>
116
+ <class>Jayje_Rma_Helper</class>
117
+ </rma>
118
+ </helpers>
119
+ <template>
120
+ <email>
121
+ <custom_email_template1 module="rma">
122
+ <label>ActiveCodeline custom email module</label>
123
+ <file>activecodeline_custom_email1.html</file>
124
+ <type>html</type>
125
+ </custom_email_template1>
126
+ </email>
127
+ </template>
128
+ </global>
129
+ </config>
app/code/community/jayje/Rma/etc/system.xml ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" ?>
2
+ <config>
3
+ <tabs>
4
+ <jayje_tab module="rma" translate="label">
5
+ <label>RMA Configuration</label>
6
+ <sort_order>100</sort_order>
7
+ </jayje_tab>
8
+ </tabs>
9
+ <sections>
10
+ <jayje_section module="rma" translate="label">
11
+ <label>RMA</label>
12
+ <sort_order>200</sort_order>
13
+ <show_in_default>1</show_in_default>
14
+ <show_in_website>1</show_in_website>
15
+ <show_in_store>1</show_in_store>
16
+ <tab>jayje_tab</tab>
17
+ <groups>
18
+ <jayje_group translate="label">
19
+ <label>RMA Configuration</label>
20
+ <comment>RMA Configuration</comment>
21
+ <sort_order>10</sort_order>
22
+ <show_in_default>1</show_in_default>
23
+ <show_in_website>1</show_in_website>
24
+ <show_in_store>1</show_in_store>
25
+ <fields>
26
+ <jayje_rmamail translate="label">
27
+ <label> RMA Admin Email Address: </label>
28
+ <comment></comment>
29
+ <frontend_type>text</frontend_type>
30
+ <sort_order>10</sort_order>
31
+ <show_in_default>1</show_in_default>
32
+ <show_in_website>1</show_in_website>
33
+ <show_in_store>1</show_in_store>
34
+ <source_model>adminhtml/system_config_source_yesno</source_model>
35
+ </jayje_rmamail>
36
+ <jayje_mail translate="label">
37
+ <label>Send Email to customer: </label>
38
+ <comment>When RMA Request is created</comment>
39
+ <frontend_type>select</frontend_type>
40
+ <sort_order>10</sort_order>
41
+ <show_in_default>1</show_in_default>
42
+ <show_in_website>1</show_in_website>
43
+ <show_in_store>1</show_in_store>
44
+ <source_model>adminhtml/system_config_source_yesno</source_model>
45
+ </jayje_mail>
46
+ <jayje_status translate="label">
47
+ <label>RMA Status: </label>
48
+ <comment>return type eg- Pending, Approved...(separated by comma)</comment>
49
+ <frontend_type>textarea</frontend_type>
50
+ <sort_order>25</sort_order>
51
+ <show_in_default>1</show_in_default>
52
+ <show_in_website>1</show_in_website>
53
+ <show_in_store>1</show_in_store>
54
+ </jayje_status>
55
+ <jayje_type translate="label">
56
+ <label>RMA Return type: </label>
57
+ <comment>return type eg- Refund, Replacement...(separated by comma)</comment>
58
+ <frontend_type>textarea</frontend_type>
59
+ <sort_order>20</sort_order>
60
+ <show_in_default>1</show_in_default>
61
+ <show_in_website>1</show_in_website>
62
+ <show_in_store>1</show_in_store>
63
+ </jayje_type>
64
+ </fields>
65
+ </jayje_group>
66
+ </groups>
67
+ </jayje_section>
68
+ </sections>
69
+ </config>
app/code/community/jayje/Rma/sql/Rma_setup/mysql4-install-0.1.0.php ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $installer = $this;
4
+
5
+ $installer->startSetup();
6
+
7
+ $installer->run("
8
+
9
+ -- DROP TABLE IF EXISTS {$this->getTable('rma')};
10
+ CREATE TABLE {$this->getTable('rma')} (
11
+ `rma_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
12
+ `title` varchar(255) NOT NULL DEFAULT '',
13
+ `filename` varchar(255) NOT NULL DEFAULT '',
14
+ `content` text NOT NULL,
15
+ `status` smallint(6) NOT NULL DEFAULT '0',
16
+ `created_time` datetime DEFAULT NULL,
17
+ `update_time` datetime DEFAULT NULL,
18
+ `customer_id` varchar(20) NOT NULL,
19
+ `order_id` int(20) NOT NULL,
20
+ `reason` varchar(255) NOT NULL,
21
+ `email` varchar(30) NOT NULL,
22
+ `return_type` varchar(20) NOT NULL,
23
+ `package` varchar(11) NOT NULL,
24
+ `increment_id` int(30) NOT NULL,
25
+ `created` date NOT NULL,
26
+ PRIMARY KEY (`rma_id`)
27
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
28
+
29
+ CREATE TABLE {$this->getTable('rma_comments')} (
30
+ `id` int(11) NOT NULL AUTO_INCREMENT,
31
+ `rmaid` int(11) NOT NULL,
32
+ `stype` varchar(30) NOT NULL,
33
+ `comments` text NOT NULL,
34
+ `date` datetime NOT NULL,
35
+ `by` varchar(30) NOT NULL,
36
+ PRIMARY KEY (`id`)
37
+ ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
38
+
39
+
40
+ CREATE TABLE {$this->getTable('rma_products')} (
41
+ `rpid` int(11) NOT NULL AUTO_INCREMENT,
42
+ `rmaid` int(11) NOT NULL,
43
+ `order_id` int(11) NOT NULL,
44
+ `product_id` int(11) NOT NULL,
45
+ `qty` int(11) NOT NULL,
46
+ `status` varchar(20) NOT NULL,
47
+ `total` float NOT NULL,
48
+ PRIMARY KEY (`rpid`)
49
+ ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=51 ;
50
+ ");
51
+
52
+ $installer->endSetup();
app/design/adminhtml/default/default/layout/rma.xml ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <layout version="0.1.0">
3
+ <rma_adminhtml_rma_index>
4
+ <reference name="content">
5
+ <block type="rma/adminhtml_rma" name="rma" />
6
+ </reference>
7
+ </rma_adminhtml_rma_index>
8
+
9
+ <rma_adminhtml_rma_info>
10
+ <reference name="content">
11
+ <block type="rma/adminhtml_rma_info" template="rma/info.phtml" name="sales.report.refreshstatistics" />
12
+ </reference>
13
+ </rma_adminhtml_rma_info>
14
+
15
+ <rma_adminhtml_rma_new>
16
+ <reference name="content">
17
+ <block type="rma/adminhtml_rma_new" template="rma/infod.phtml" name="sales.report.refreshstatistics" />
18
+ </reference>
19
+ </rma_adminhtml_rma_new>
20
+ <rma_adminhtml_rma_edit>
21
+ <reference name="content">
22
+ <block type="rma/adminhtml_edit" name="rma" />
23
+ <block type="rma/adminhtml_edit" template="rma/info.phtml" name="sales.report.refreshstatistics" />
24
+ </reference>
25
+ </rma_adminhtml_rma_edit>
26
+ </layout>
app/design/adminhtml/default/default/template/rma/comments.phtml ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php $id = $this->getRequest()->getParam('id');
2
+ $result = $this->getRmaComments() ;
3
+ while($resultn = $result->fetch(PDO::FETCH_ASSOC)){
4
+ extract($resultn); ?>
5
+ <ul class="note-list">
6
+ <li>
7
+ <strong><?php echo $date; ?></strong>
8
+ <span class="separator">|</span><strong><?php echo $stype; ?></strong><br>
9
+ <small><?php echo $comments; ?> , </strong> By: <?php echo $by; ?></small>
10
+ </li>
11
+ </ul><br />
12
+
13
+ <?php } ?>.
app/design/adminhtml/default/default/template/rma/info.phtml ADDED
@@ -0,0 +1,201 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $id = $this->getRequest()->getParam('id');
3
+ if($id != ''){
4
+ $ids = Jayje_Rma_Block_Adminhtml_Rma::getOrderInfo($id);
5
+ $_order = Mage::getModel('sales/order')->load($ids[0]); ?>
6
+ <div class="box-left">
7
+
8
+ <div class="entry-edit">
9
+
10
+ <div class="entry-edit-head">
11
+ <?php if ($_order->getNoUseOrderLink()): ?>
12
+ <h4 class="icon-head head-account"><?php echo Mage::helper('sales')->__('Order # %s', $_order->getRealOrderId()) ?> (<?php echo $_email ?>)</h4>
13
+ <?php else: ?>
14
+ <a href="<?php echo $_order->getViewUrl($_order->getId()) ?>"><?php echo Mage::helper('sales')->__('Order # %s', $_order->getRealOrderId()) ?></a>
15
+ <strong>(<?php echo $_email ?>)</strong>
16
+ <?php endif; ?>
17
+ </div>
18
+ <div class="fieldset">
19
+ <table cellspacing="0" class="form-list">
20
+ <tr>
21
+ <td class="label"><label><?php echo Mage::helper('sales')->__('Order Date') ?></label></td>
22
+ <td class="value"><strong><?php echo $_order['created_at'] ?></strong></td>
23
+ </tr>
24
+ <?php if ($orderAdminDate != $orderStoreDate):?>
25
+ <tr>
26
+ <td class="label"><label><?php echo Mage::helper('sales')->__('Order Date (%s)', $_order->getCreatedAtStoreDate()->getTimezone()) ?></label></td>
27
+ <td class="value"><strong><?php echo $_order['created_at'] ?></strong></td>
28
+ </tr>
29
+ <?php endif;?>
30
+ <tr>
31
+ <td class="label"><label><?php echo Mage::helper('sales')->__('Order Status') ?></label></td>
32
+ <td class="value"><strong><span id="order_status"><?php echo $_order->getStatusLabel() ?></span></strong></td>
33
+ </tr>
34
+ <tr>
35
+ <td class="label"><label><?php echo Mage::helper('sales')->__('Purchased From') ?></label></td>
36
+ <td class="value"><strong><?php echo $_order->getStoreName() ?></strong></td>
37
+ </tr>
38
+ <?php if($_order->getRelationChildId()): ?>
39
+ <tr>
40
+ <td class="label"><label><?php echo Mage::helper('sales')->__('Link to the New Order') ?></label></td>
41
+ <td class="value"><a href="<?php echo $_order->getViewUrl($_order->getRelationChildId()) ?>">
42
+ <?php echo $_order->getRelationChildRealId() ?>
43
+ </a></td>
44
+ </tr>
45
+ <?php endif; ?>
46
+ <?php if($_order->getRelationParentId()): ?>
47
+ <tr>
48
+ <td class="label"><label><?php echo Mage::helper('sales')->__('Link to the Previous Order') ?></label></td>
49
+ <td class="value"><a href="<?php echo $_order->getViewUrl($_order->getRelationParentId()) ?>">
50
+ <?php echo $_order->getRelationParentRealId() ?>
51
+ </a></td>
52
+ </tr>
53
+ <?php endif; ?>
54
+ <?php if($_order->getRemoteIp()): ?>
55
+ <tr>
56
+ <td class="label"><label><?php echo Mage::helper('sales')->__('Placed from IP') ?></label></td>
57
+ <td class="value"><strong><?php echo $_order->getRemoteIp(); echo ($_order->getXForwardedFor())?' (' . $_order->getXForwardedFor() . ')':''; ?></strong></td>
58
+ </tr>
59
+ <?php endif; ?>
60
+ <?php if($_order->getGlobalCurrencyCode() != $_order->getBaseCurrencyCode()): ?>
61
+ <tr>
62
+ <td class="label"><label><?php echo Mage::helper('sales')->__('%s / %s rate:', $_order->getGlobalCurrencyCode(), $_order->getBaseCurrencyCode()) ?></label></td>
63
+ <td class="value"><strong><?php echo $_order->getBaseToGlobalRate() ?></strong></td>
64
+ </tr>
65
+ <?php endif; ?>
66
+ <?php if($_order->getBaseCurrencyCode() != $_order->getOrderCurrencyCode()): ?>
67
+ <tr>
68
+ <td class="label"><label><?php echo Mage::helper('sales')->__('%s / %s rate:', $_order->getOrderCurrencyCode(), $_order->getBaseCurrencyCode()) ?></label></td>
69
+ <td class="value"><strong><?php echo $_order->getBaseToOrderRate() ?></strong></td>
70
+ </tr>
71
+ <?php endif; ?>
72
+ </table>
73
+ </div>
74
+ </div>
75
+ </div>
76
+ <div class="box-right">
77
+ <!--Account Information-->
78
+ <div class="entry-edit">
79
+ <div class="entry-edit-head">
80
+ <h4 class="icon-head head-account"><?php echo Mage::helper('sales')->__('Account Information') ?></h4>
81
+ <div class="tools"><?php echo $_order->getAccountEditLink()?></div>
82
+ </div>
83
+ <div class="fieldset">
84
+ <div class="hor-scroll">
85
+ <table cellspacing="0" class="form-list">
86
+ <tr>
87
+ <td class="label"><label><?php echo Mage::helper('sales')->__('Customer Name') ?></label></td>
88
+ <td class="value">
89
+ <?php if ($_customerUrl=$_order->getCustomerViewUrl()) : ?>
90
+ <a href="<?php echo $_customerUrl ?>" target="_blank"><strong><?php echo $_order->getCustomerName() ?></strong></a>
91
+ <?php else: ?>
92
+ <strong><?php echo $_order->getCustomerName() ?></strong>
93
+ <?php endif; ?>
94
+ </td>
95
+ </tr>
96
+ <tr>
97
+ <td class="label"><label><?php echo Mage::helper('sales')->__('Email') ?></label></td>
98
+ <td class="value"><a href="mailto:<?php echo $_order->getCustomerEmail() ?>"><strong><?php echo $_order->getCustomerEmail() ?></strong></a></td>
99
+ </tr>
100
+ <?php if ($_groupName = $_order->getCustomerGroupName()) : ?>
101
+ <tr>
102
+ <td class="label"><label><?php echo Mage::helper('sales')->__('Customer Group') ?></label></td>
103
+ <td class="value"><strong><?php echo $_groupName ?></strong></td>
104
+ </tr>
105
+ <?php endif; ?>
106
+ <?php foreach ($_order->getCustomerAccountData() as $data):?>
107
+ <tr>
108
+ <td class="label"><label><?php echo $data['label'] ?></label></td>
109
+ <td class="value"><strong><?php echo $data['value'] ?></strong></td>
110
+ </tr>
111
+ <?php endforeach;?>
112
+ </table>
113
+ </div>
114
+ </div>
115
+ </div>
116
+ </div>
117
+ <div class="clear"></div>
118
+
119
+ <div class="box-left">
120
+ <!--Billing Address-->
121
+ <div class="entry-edit">
122
+ <div class="entry-edit-head">
123
+ <h4 class="icon-head head-billing-address"><?php echo Mage::helper('sales')->__('Billing Address') ?></h4>
124
+ <div class="tools"><?php echo $_order->getAddressEditLink($_order->getBillingAddress())?></div>
125
+ </div>
126
+ <fieldset>
127
+ <address><?php echo $_order->getBillingAddress()->getFormated(true) ?></address>
128
+ </fieldset>
129
+ </div>
130
+ </div>
131
+ <?php //if (!$_order->getOrder()->getIsVirtual()): ?>
132
+ <div class="box-right">
133
+ <!--Shipping Address-->
134
+ <div class="entry-edit">
135
+ <div class="entry-edit-head">
136
+ <h4 class="icon-head head-shipping-address"><?php echo Mage::helper('sales')->__('Shipping Address') ?></h4>
137
+ <div class="tools"><?php echo $_order->getAddressEditLink($_order->getShippingAddress())?></div>
138
+ </div>
139
+ <fieldset>
140
+ <address><?php echo $_order->getShippingAddress()->getFormated(true) ?></address>
141
+ </fieldset>
142
+ </div>
143
+ </div>
144
+ <div class="clear"></div>
145
+ <?php //endif; ?>
146
+ <div class="entry-edit">
147
+ <div class="entry-edit-head">
148
+ <h4 class="icon-head head-products">Items Ordered</h4>
149
+ </div>
150
+ </div><div class="grid np">
151
+ <div class="hor-scroll">
152
+ <table cellspacing="0" class="data order-tables">
153
+ <colgroup><col>
154
+ <col width="1">
155
+ <col width="1">
156
+ <col width="1">
157
+ <col width="1">
158
+ <col width="1">
159
+ <col width="1">
160
+ <col width="1">
161
+ <col width="1">
162
+ <col width="1">
163
+ </colgroup><thead>
164
+ <tr class="headings">
165
+ <th>Product</th>
166
+ <th><span class="nobr">SKU</span></th>
167
+ <th><span class="nobr">Price</span></th>
168
+ <th class="a-center">Qty</th>
169
+ <th>Subtotal</th>
170
+
171
+ </tr>
172
+ </thead>
173
+ <tbody class="even">
174
+ <?php
175
+
176
+ $rma_Products = Jayje_Rma_Block_Adminhtml_Rma::getRmaProducts($id);
177
+
178
+ while($resultn = $rma_Products->fetch(PDO::FETCH_ASSOC)){
179
+ extract($resultn);
180
+ $product_name = Mage::getModel('catalog/product')->load($product_id)->getName();
181
+ $product_sku = Mage::getModel('catalog/product')->load($product_id)->getSku();
182
+ $product_price = Mage::getModel('catalog/product')->load($product_id)->getPrice(); ?>
183
+
184
+
185
+
186
+ <tr class="border">
187
+ <td>
188
+ <div id="order_item_33" class="item-container">
189
+ <h5 class="title"><span id="order_item_33_title"><?php echo $product_name ?></span></h5>
190
+ </div></td>
191
+ <td><span class="price"><?php echo $product_sku; ?></span></td>
192
+ <td><span class="price"><?php echo $product_price; ?></span></td>
193
+ <td><strong><?php echo $qty ?></strong></td>
194
+ <td class="a-right last"><span class="price"> <?php echo $total ?></span> </td>
195
+ </tr>
196
+ <?php } ?>
197
+ </tbody>
198
+ </table>
199
+ </div>
200
+ </div>
201
+ <?php } ?>
app/design/frontend/default/default/layout/rma.xml ADDED
@@ -0,0 +1,93 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <layout version="0.1.0">
3
+ <default>
4
+ </default>
5
+ <rma_index_index translate="label">
6
+ <label>Customer RMA</label>
7
+ <update handle="customer_account"/>
8
+ <!-- Mage_Customer -->
9
+ <reference name="root">
10
+ <action method="setTemplate"><template>page/2columns-left.phtml</template></action>
11
+ </reference>
12
+ <reference name="my.account.wrapper">
13
+ <block type="rma/rma" name="rma" template="rma/rma.phtml" >
14
+ <block type="customer/account_dashboard" name="customer_account_dashboard" template="customer/account/dashboard.phtml"/>
15
+ <block type="customer/account_dashboard_hello" name="customer_account_dashboard_hello" as="hello" template="customer/account/dashboard/hello.phtml"/>
16
+ <block type="core/template" name="customer_account_dashboard_top" as="top" />
17
+ <block type="customer/account_dashboard_info" name="customer_account_dashboard_info" as="info" template="customer/account/dashboard/info.phtml"/>
18
+ <block type="customer/account_dashboard_newsletter" name="customer_account_dashboard_newsletter" as="newsletter" template="customer/account/dashboard/newsletter.phtml"/>
19
+ <block type="customer/account_dashboard_address" name="customer_account_dashboard_address" as="address" template="customer/account/dashboard/address.phtml"/>
20
+ <block type="core/template" name="customer_account_dashboard_info1" as="info1" />
21
+ <block type="core/template" name="customer_account_dashboard_info2" as="info2" />
22
+ <block type="core/template" name="subcus_index_info2" as="info2" />
23
+ </block>
24
+ </reference>
25
+
26
+ </rma_index_index>
27
+
28
+ <rma_index_request>
29
+ <update handle="customer_account"/>
30
+ <reference name="root">
31
+ <action method="setTemplate"><template>page/2columns-left.phtml</template></action>
32
+ </reference>
33
+ <reference name="my.account.wrapper"> <block type="rma/rma" name="rma" template="rma/request.phtml" >
34
+ <block type="customer/account_dashboard" name="customer_account_dashboard" template="customer/account/dashboard.phtml"/>
35
+ <block type="customer/account_dashboard_hello" name="customer_account_dashboard_hello" as="hello" template="customer/account/dashboard/hello.phtml"/>
36
+ <block type="core/template" name="customer_account_dashboard_top" as="top" />
37
+ <block type="customer/account_dashboard_info" name="customer_account_dashboard_info" as="info" template="customer/account/dashboard/info.phtml"/>
38
+ <block type="customer/account_dashboard_newsletter" name="customer_account_dashboard_newsletter" as="newsletter" template="customer/account/dashboard/newsletter.phtml"/>
39
+ <block type="customer/account_dashboard_address" name="customer_account_dashboard_address" as="address" template="customer/account/dashboard/address.phtml"/>
40
+ <block type="core/template" name="customer_account_dashboard_info1" as="info1" />
41
+ <block type="core/template" name="customer_account_dashboard_info2" as="info2" />
42
+ <block type="core/template" name="subcus_index_info2" as="info2" />
43
+ </block>
44
+ </reference>
45
+ </rma_index_request>
46
+
47
+ <rma_index_view>
48
+ <update handle="customer_account"/>
49
+ <reference name="root">
50
+ <action method="setTemplate"><template>page/2columns-left.phtml</template></action>
51
+ </reference>
52
+ <reference name="my.account.wrapper"> <block type="rma/rma" name="rma" template="rma/view.phtml">
53
+ <block type="customer/account_dashboard" name="customer_account_dashboard" template="customer/account/dashboard.phtml"/>
54
+ <block type="customer/account_dashboard_hello" name="customer_account_dashboard_hello" as="hello" template="customer/account/dashboard/hello.phtml"/>
55
+ <block type="core/template" name="customer_account_dashboard_top" as="top" />
56
+ <block type="customer/account_dashboard_info" name="customer_account_dashboard_info" as="info" template="customer/account/dashboard/info.phtml"/>
57
+ <block type="customer/account_dashboard_newsletter" name="customer_account_dashboard_newsletter" as="newsletter" template="customer/account/dashboard/newsletter.phtml"/>
58
+ <block type="customer/account_dashboard_address" name="customer_account_dashboard_address" as="address" template="customer/account/dashboard/address.phtml"/>
59
+ <block type="core/template" name="customer_account_dashboard_info1" as="info1" />
60
+ <block type="core/template" name="customer_account_dashboard_info2" as="info2" />
61
+ <block type="core/template" name="subcus_index_info2" as="info2" />
62
+ </block>
63
+ </reference>
64
+ </rma_index_view>
65
+
66
+ <rma_index_oitems>
67
+ <update handle="customer_account"/>
68
+ <reference name="content">
69
+ <block type="rma/rma" name="rmaw" template="rma/oitems.phtml" >
70
+ <block type="customer/account_dashboard" name="customer_account_dashboard" template="customer/account/dashboard.phtml"/>
71
+ <block type="customer/account_dashboard_hello" name="customer_account_dashboard_hello" as="hello" template="customer/account/dashboard/hello.phtml"/>
72
+ <block type="core/template" name="customer_account_dashboard_top" as="top" />
73
+ <block type="customer/account_dashboard_info" name="customer_account_dashboard_info" as="info" template="customer/account/dashboard/info.phtml"/>
74
+ <block type="customer/account_dashboard_newsletter" name="customer_account_dashboard_newsletter" as="newsletter" template="customer/account/dashboard/newsletter.phtml"/>
75
+ <block type="customer/account_dashboard_address" name="customer_account_dashboard_address" as="address" template="customer/account/dashboard/address.phtml"/>
76
+ <block type="core/template" name="customer_account_dashboard_info1" as="info1" />
77
+ <block type="core/template" name="customer_account_dashboard_info2" as="info2" />
78
+ <block type="core/template" name="subcus_index_info2" as="info2" />
79
+ </block>
80
+ </reference>
81
+ </rma_index_oitems>
82
+
83
+ <customer_account>
84
+ <reference name="customer_account_navigation">
85
+ <action method="addLink" translate="label" module="customer">
86
+ <name>jayje_rma</name>
87
+ <path>rma/index/index</path>
88
+ <label>RMA</label>
89
+ </action>
90
+ </reference>
91
+ </customer_account>
92
+
93
+ </layout>
app/design/frontend/default/default/template/rma/oitems.phtml ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * @author MESMERiZE
5
+ * @copyright 2012
6
+ */
7
+
8
+
9
+ $order_id = $_GET['oid'];
10
+ require("app/Mage.php");
11
+ umask(0);
12
+ Mage::app();
13
+ $increment_id = Mage::getModel('sales/order')->load(12)->getData();
14
+ //print_r($increment_id);
15
+ ?>
16
+
17
+ <div class="entry-edit">
18
+ <div class="entry-edit-head">
19
+ <h4 class="icon-head head-products">Items RMA Requested for</h4>
20
+ </div>
21
+ </div><div class="grid np">
22
+ <div class="hor-scroll">
23
+ <table cellspacing="0" class="data order-tables" width="90%">
24
+ <thead>
25
+ <tr class="headings">
26
+ <th><strong>Product</strong></th><th><strong>Price</strong></th><th><strong>Qty</strong></th><th><strong>Return <br />Qty</strong></th>
27
+ </tr>
28
+ </thead>
29
+ <tbody class="even">
30
+ <?php
31
+
32
+ $items = Mage::getModel('sales/order')->load($order_id)->getAllItems();
33
+ foreach ($items as $itemId => $item)
34
+ {
35
+ ?>
36
+ <tr class="border">
37
+ <td>
38
+ <div id="order_item_33" class="item-container">
39
+ <div class="item-text">
40
+ <h5 class="title"><span id="order_item_33_title"><?php echo $item->getName() ?></span></h5>
41
+ </div>
42
+ </div>
43
+ </td>
44
+ <td>
45
+ <span class="price-excl-tax">
46
+ <span class="price"><?php echo $item->getPrice() ?></span>
47
+ </span>
48
+ </td><td><strong><?php echo round($item->getQtyOrdered()) ?></strong></td>
49
+ <td>
50
+ <input type="hidden" id="o<?php echo $item->getProductId() ?>" size="2" name="" value="<?php echo $item->getQtyOrdered() ?>" />
51
+ <input type="text" id="rma<?php echo $item->getProductId() ?>" size="2" name="qty_<?php echo $itemId; ?>" value="1" autocomplete="off" onkeyup="return checkQty(<?php echo $item->getProductId() ?>)" />
52
+
53
+
54
+ <input type="hidden" size="2" name="pid_<?php echo $itemId; ?>" value="<?php echo $item->getProductId() ?>" /></td>
55
+ <input type="hidden" size="2" name="price_<?php echo $itemId; ?>" value="<?php echo $item->getPrice() ?>" /></td>
56
+ </tr>
57
+ <?php } ?><tr><td> <input type="hidden" size="2" name="maxpid" value="<?php echo $itemId ?>" /></td>
58
+ </td></tr>
59
+ </tbody>
60
+ </table>
61
+ </div>
62
+ </div>
63
+
64
+
65
+
66
+ ?>
app/design/frontend/default/default/template/rma/request.phtml ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS); ?>jquery-1.4.2.js"></script>
2
+ <script>
3
+ function getnp(){
4
+ var order_id = document.getElementById("order_id").value;
5
+ $("div#jfjfjf").html('<br><br><br><div align="center" style="margin-left: -50px;">Loading...');
6
+ $.ajax({
7
+ type: "GET",
8
+
9
+ // url: '<?php echo Mage::getUrl('rma/index/order') ?>',
10
+ url: '<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);; ?>/oproducts.php',
11
+ url: '<?php echo Mage::getUrl('rma/index/order') ?>',
12
+ data: "oid="+ order_id , // appears as $_GET['id'] @ ur backend side
13
+ success: function(data) {
14
+ // data is ur summary
15
+ $('#jfjfjf').html(data);
16
+ }
17
+
18
+ });
19
+ return true;
20
+ }
21
+
22
+
23
+
24
+ </script>
25
+ <h2 class="legend translate-inline">Request For RMA</h2>
26
+ <div>
27
+ <a href="<?php echo Mage::helper('core/url')->getHomeUrl();; ?>/rma/index"><h4 align="right">Back to RMA</h4></a>
28
+ <form method="post" action="<?php echo Mage::helper('core/url')->getHomeUrl();; ?>/rma/index/formpost">
29
+ Order ID<br />
30
+ <select name="order_id" id="order_id" style="width: 70%;" class="input-text required-entry" onchange="return getnp()">
31
+ <option value="">select order</option><?php print_r($this->getOrder()) ?></select><br />
32
+ <div id="jfjfjf"></div>
33
+
34
+ <br />
35
+ Package Opened<br />
36
+ <select name="package">
37
+ <option value="yes">yes</option>
38
+ <option value="no">no</option>
39
+ </select><br /><br />
40
+ Return Type<br />
41
+ <select name="return_type">
42
+ <?php echo $this->getRType(); ?>
43
+ </select><br /><br />
44
+
45
+ Reason<br />
46
+ <textarea cols="60" rows="6" name="reason"></textarea><br /><br />
47
+ <button onclick="return notEmpty()" type="submit" title="Submit" class="button translate-inline" translate="[{shown:'Submit',translated:'Submit',original:'Submit',location:'Tag attribute (ALT, TITLE, etc.)',scope:'Mage_Customer'},{shown:'Submit',translated:'Submit',original:'Submit',location:'Push button',scope:'Mage_Customer'}]"><span><span>Submit</span></span></button>
48
+ </form>
49
+
50
+
51
+ </div>
app/design/frontend/default/default/template/rma/ritem.php ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
2
+ <?php
3
+ $order_id = $this->getRequest()->getParam('oid');
4
+ $order_id = $_GET['oid'];
5
+ require("app/Mage.php");
6
+ umask(0);
7
+ Mage::app();
8
+ $increment_id = Mage::getModel('sales/order')->load(12)->getData();
9
+ //print_r($increment_id);
10
+ ?>
11
+ <script>
12
+ function checkQty(id){
13
+ var rma_qty = document.getElementById("rma"+id).value;
14
+ var o_qty = document.getElementById("o"+id).value;
15
+ if(isNaN(rma_qty)){
16
+ alert('not number');
17
+ document.getElementById("rma"+id).value=1
18
+ }else{
19
+ if(o_qty >= rma_qty){
20
+ // alert('Rma quantity should be less than ordered quantity');
21
+ //document.getElementById("rma"+id).value=1
22
+ }else{
23
+ alert('Rma quantity should be less than ordered quantity');
24
+ document.getElementById("rma"+id).value=1
25
+ }
26
+ }
27
+ }
28
+ </script>
29
+ <div class="entry-edit">
30
+ <div class="entry-edit-head">
31
+ <h4 class="icon-head head-products">Items RMA Requested for</h4>
32
+ </div>
33
+ </div><div class="grid np">
34
+ <div class="hor-scroll">
35
+ <table cellspacing="0" class="data order-tables" width="90%">
36
+ <thead>
37
+ <tr class="headings">
38
+ <th><strong>Product</strong></th><th><strong>Price</strong></th><th><strong>Qty</strong></th><th><strong>Return <br />Qty</strong></th>
39
+ </tr>
40
+ </thead>
41
+ <tbody class="even">
42
+ <?php
43
+
44
+ $items = Mage::getModel('sales/order')->load($order_id)->getAllItems();
45
+ foreach ($items as $itemId => $item)
46
+ {
47
+
48
+
49
+ echo $tf= checkRmaProduct($order_id, $item->getProductId())
50
+ ?>
51
+ <tr class="border">
52
+ <td>
53
+ <div id="order_item_33" class="item-container">
54
+ <div class="item-text">
55
+ <h5 class="title"><span id="order_item_33_title"><?php echo $item->getName() ?></span></h5>
56
+ </div>
57
+ </div>
58
+ </td>
59
+ <td>
60
+ <span class="price-excl-tax">
61
+ <span class="price"><?php echo $item->getPrice() ?></span>
62
+ </span>
63
+ </td><td><strong><?php echo round($item->getQtyOrdered()) ?></strong></td>
64
+ <td>
65
+ <input type="hidden" id="o<?php echo $item->getProductId() ?>" size="2" name="" value="<?php echo $item->getQtyOrdered() ?>" />
66
+
67
+ <?php if($tf>0){ ?>
68
+ Already Requested
69
+ <?php }else{ ?>
70
+ <input type="text" id="rma<?php echo $item->getProductId() ?>" size="2" name="qty_<?php echo $itemId; ?>" value="1" autocomplete="off" onkeyup="return checkQty(<?php echo $item->getProductId() ?>)" />
71
+ <?php } ?>
72
+
73
+ <input type="hidden" size="2" name="pid_<?php echo $itemId; ?>" value="<?php echo $item->getProductId() ?>" /></td>
74
+ <input type="hidden" size="2" name="price_<?php echo $itemId; ?>" value="<?php echo $item->getPrice() ?>" /></td>
75
+ </tr>
76
+ <?php } ?><tr><td> <input type="hidden" size="2" name="maxpid" value="<?php echo $itemId ?>" /></td>
77
+ </td></tr>
78
+ </tbody>
79
+ </table>
80
+ </div><?php
81
+ function checkRmaProduct($oid, $pid){
82
+ $db = Mage::getSingleton('core/resource')->getConnection('core_read');
83
+ $que = "SELECT product_id FROM `rma_products` WHERE `order_id` ='$oid' and `product_id` = '$pid' LIMIT 0 , 1";
84
+ $result = $db->query($que);
85
+ $resultn = $result->fetch(PDO::FETCH_ASSOC);
86
+ extract($resultn);
87
+ return $product_id;
88
+
89
+ }
90
+
91
+
app/design/frontend/default/default/template/rma/ritem.phtml ADDED
@@ -0,0 +1,75 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $order_id = $this->getRequest()->getParam('oid');
3
+
4
+ $increment_id = Mage::getModel('sales/order')->load(12)->getData();
5
+ //print_r($increment_id);
6
+ ?>
7
+ <script>
8
+ function checkQty(id){
9
+ var rma_qty = document.getElementById("rma"+id).value;
10
+ var o_qty = document.getElementById("o"+id).value;
11
+ if(isNaN(rma_qty)){
12
+ alert('not number');
13
+ document.getElementById("rma"+id).value=1
14
+ }else{
15
+ if(o_qty >= rma_qty){
16
+ // alert('Rma quantity should be less than ordered quantity');
17
+ //document.getElementById("rma"+id).value=1
18
+ }else{
19
+ alert('Rma quantity should be less than ordered quantity');
20
+ document.getElementById("rma"+id).value=1
21
+ }
22
+ }
23
+ }
24
+ </script>
25
+ <div class="entry-edit">
26
+ <div class="entry-edit-head">
27
+ <h4 class="icon-head head-products">Items RMA Requested for</h4>
28
+ </div>
29
+ </div><div class="grid np">
30
+ <div class="hor-scroll">
31
+ <table cellspacing="0" class="data order-tables" width="90%">
32
+ <thead>
33
+ <tr class="headings">
34
+ <th><strong>Product</strong></th><th><strong>Price</strong></th><th><strong>Qty</strong></th><th><strong>Return <br />Qty</strong></th>
35
+ </tr>
36
+ </thead>
37
+ <tbody class="even">
38
+ <?php
39
+
40
+ $items = Mage::getModel('sales/order')->load($order_id)->getAllItems();
41
+ foreach ($items as $itemId => $item)
42
+ {
43
+ echo $tf= $this->checkRmaProduct($order_id, $item->getProductId())
44
+ ?>
45
+ <tr class="border">
46
+ <td>
47
+ <div id="order_item_33" class="item-container">
48
+ <div class="item-text">
49
+ <h5 class="title"><span id="order_item_33_title"><?php echo $item->getName() ?></span></h5>
50
+ </div>
51
+ </div>
52
+ </td>
53
+ <td>
54
+ <span class="price-excl-tax">
55
+ <span class="price"><?php echo $item->getPrice() ?></span>
56
+ </span>
57
+ </td><td><strong><?php echo round($item->getQtyOrdered()) ?></strong></td>
58
+ <td>
59
+ <input type="hidden" id="o<?php echo $item->getProductId() ?>" size="2" name="" value="<?php echo $item->getQtyOrdered() ?>" />
60
+
61
+ <?php if($tf>0){ ?>
62
+ Already Requested
63
+ <?php }else{ ?>
64
+ <input type="text" id="rma<?php echo $item->getProductId() ?>" size="2" name="qty_<?php echo $itemId; ?>" value="1" autocomplete="off" onkeyup="return checkQty(<?php echo $item->getProductId() ?>)" />
65
+ <?php } ?>
66
+
67
+ <input type="hidden" size="2" name="pid_<?php echo $itemId; ?>" value="<?php echo $item->getProductId() ?>" /></td>
68
+ <input type="hidden" size="2" name="price_<?php echo $itemId; ?>" value="<?php echo $item->getPrice() ?>" /></td>
69
+ </tr>
70
+ <?php } ?><tr><td> <input type="hidden" size="2" name="maxpid" value="<?php echo $itemId ?>" /></td>
71
+ </td></tr>
72
+ </tbody>
73
+ </table>
74
+ </div>
75
+
app/design/frontend/default/default/template/rma/rma.phtml ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $result= $this->getRmaList();
3
+ ?>
4
+ <div class="page-title title-buttons">
5
+ <h1>RMA Request</h1>
6
+ </div>
7
+ <a href="<?php echo Mage::helper('core/url')->getHomeUrl(); ?>/rma/index/request"><h4 align="right">Add New RMA</h4></a>
8
+ <table class="data-table" id="my-orders-table">
9
+ <thead>
10
+ <tr class="first last">
11
+ <th>RMA #</th><th>Order #</th><th>Date</th><th><span class="nobr">Status</span></th><th>Return Type</th>
12
+ <th>&nbsp;</th>
13
+ </tr>
14
+ </thead>
15
+ <tbody>
16
+
17
+ <?php
18
+ while($resultn = $result->fetch(PDO::FETCH_ASSOC)){
19
+ extract($resultn);
20
+ echo "<tr class='first odd'>
21
+ <td><a href=".Mage::helper('core/url')->getHomeUrl()."/rma/index/view/rma_id/$rma_id>$rma_id</a></td>
22
+ <td><span class='nobr'><a href=".Mage::helper('core/url')->getHomeUrl()."/sales/order/view/order_id/$order_id>$increment_id<?a></span></td>
23
+ <td>$created_time</td>
24
+ <td><span class='price'>$status</span></td>
25
+ <td class=''>
26
+ <span class='nobr'>$return_type</span></td>
27
+ </tr>";
28
+
29
+ }
30
+
31
+
32
+ ?>
33
+
34
+
35
+ </tbody>
36
+ </table>
app/design/frontend/default/default/template/rma/view.phtml ADDED
@@ -0,0 +1,121 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $rma = $this->getRmaDetails();
3
+ ?>
4
+ <div class="page-title title-buttons">
5
+ <h1>RMA #<?php echo $rma['rma_id']; ?> - <?php echo $rma['status']; ?></h1>
6
+ </div>
7
+ <a href="<?php echo Mage::helper('core/url')->getHomeUrl(); ?>/rma/index/"><h4 align="right">Back to RMA</h4></a>
8
+
9
+ <div class="col2-set order-info-box">
10
+ <div class="col-1">
11
+ <div class="box">
12
+ <div class="box-title">
13
+ <h2>Request Information</h2>
14
+ </div>
15
+ <div class="box-content">
16
+ ID: <?php echo $rma['rma_id']; ?>
17
+ </div>
18
+ <div class="box-content">
19
+ Order: <a href="<?php echo Mage::helper('core/url')->getHomeUrl()."/sales/order/view/order_id/$order_id"; ?>" >#<?php echo $rma['increment_id']; ?></a>
20
+ </div>
21
+ <div class="box-content">
22
+ Status: <?php echo $rma['status']; ?>
23
+ </div>
24
+ <div class="box-content">
25
+ Reason: <?php echo $rma['reason']; ?>
26
+ </div>
27
+ </div>
28
+ </div>
29
+ <div class="col-2"><br />
30
+ <div class="box box-payment">
31
+
32
+ <div class="box-content">
33
+ <p>Created Time: <?php echo $rma['created_time']; ?></p>
34
+ </div>
35
+ <div class="box-content">
36
+ <p>Package Opened: <?php echo $rma['package']; ?></p>
37
+ </div>
38
+ <div class="box-content">
39
+ <p>Return Type: <?php echo $rma['return_type']; ?><a></a></p>
40
+ </div>
41
+ </div>
42
+ </div>
43
+ </div>
44
+
45
+ <div class="entry-edit">
46
+ <div class="entry-edit-head">
47
+ <h4 class="icon-head head-products">Items RMA Requested for</h4>
48
+ </div>
49
+ </div><div class="grid np">
50
+ <div class="hor-scroll">
51
+ <table cellspacing="0" class="data order-tables" width="90%">
52
+ <thead>
53
+ <tr class="headings">
54
+ <th><strong>Product</strong></th><th><strong>Price</strong></th><th><strong>Qty</strong></th>
55
+ <th class="a-right last"><span><strong>Row Total</strong></span></th></tr>
56
+ </thead>
57
+ <tbody class="even">
58
+ <?php
59
+ $order_id = $rma['order_id'];
60
+ $items = Mage::getModel('sales/order')->load($order_id)->getAllItems();
61
+
62
+ $rma_Products = $this->getRmaProducts();
63
+ while($resultn = $rma_Products->fetch(PDO::FETCH_ASSOC)){
64
+ extract($resultn);
65
+ $product_name = Mage::getModel('catalog/product')->load($product_id)->getName();
66
+ $product_price = Mage::getModel('catalog/product')->load($product_id)->getPrice(); ?>
67
+
68
+
69
+
70
+ <tr class="border">
71
+ <td>
72
+ <div id="order_item_33" class="item-container">
73
+ <div class="item-text">
74
+ <h5 class="title"><span id="order_item_33_title"><?php echo $product_name ?></span></h5>
75
+ </div>
76
+ </div>
77
+ </td>
78
+ <td>
79
+ <span class="price-excl-tax">
80
+ <span class="price"><?php echo round($product_price, 2) ?></span>
81
+ </span>
82
+ </td>
83
+ <td><strong><?php echo $qty ?></strong></td>
84
+ <td class="a-right last"><span class="price"> <?php echo $total ?></span> </td>
85
+ </tr>
86
+ <?php } ?>
87
+ </tbody>
88
+ </table>
89
+ </div>
90
+ </div>
91
+ <br />
92
+ <div class="entry-edit-head">
93
+ <h4 class="icon-head head-products">Comments</h4>
94
+ </div>
95
+
96
+ <?php
97
+ $result = $this->getRmaComments() ;
98
+ while($resultn = $result->fetch(PDO::FETCH_ASSOC)){
99
+ extract($resultn); ?>
100
+ <ul class="note-list">
101
+ <li>
102
+ <strong><?php echo $date; ?></strong>
103
+ <span class="separator">|</span><strong><?php echo $stype; ?></strong><br>
104
+ <small><?php echo $comments; ?> , </strong> By: <?php echo $by; ?></small>
105
+ </li>
106
+ </ul><br />
107
+
108
+ <?php } ?>.
109
+
110
+ <h2 class="legend translate-inline">Request For RMA</h2>
111
+ <div>
112
+
113
+ <form method="post" action="<?php echo Mage::helper('core/url')->getHomeUrl();; ?>/rma/index/formpostcomments">
114
+ <input type="hidden" name="rma_id" value="<?php echo $rma['rma_id']; ?>" />
115
+ Comments<br />
116
+ <textarea cols="60" rows="6" name="comments"></textarea><br /><br />
117
+ <button type="submit" title="Submit" class="button translate-inline" translate="[{shown:'Submit',translated:'Submit',original:'Submit',location:'Tag attribute (ALT, TITLE, etc.)',scope:'Mage_Customer'},{shown:'Submit',translated:'Submit',original:'Submit',location:'Push button',scope:'Mage_Customer'}]"><span><span>Submit</span></span></button>
118
+ </form>
119
+
120
+
121
+ </div>
js/jquery-1.4.2.js ADDED
@@ -0,0 +1,154 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * jQuery JavaScript Library v1.4.2
3
+ * http://jquery.com/
4
+ *
5
+ * Copyright 2010, John Resig
6
+ * Dual licensed under the MIT or GPL Version 2 licenses.
7
+ * http://jquery.org/license
8
+ *
9
+ * Includes Sizzle.js
10
+ * http://sizzlejs.com/
11
+ * Copyright 2010, The Dojo Foundation
12
+ * Released under the MIT, BSD, and GPL Licenses.
13
+ *
14
+ * Date: Sat Feb 13 22:33:48 2010 -0500
15
+ */
16
+ (function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o<i;o++)e(a[o],b,f?d.call(a[o],o,e(a[o],b)):d,j);return a}return i?
17
+ e(a[0],b):w}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function na(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function oa(a){var b,d=[],f=[],e=arguments,j,i,o,k,n,r;i=c.data(this,"events");if(!(a.liveFired===this||!i||!i.live||a.button&&a.type==="click")){a.liveFired=this;var u=i.live.slice(0);for(k=0;k<u.length;k++){i=u[k];i.origType.replace(O,"")===a.type?f.push(i.selector):u.splice(k--,1)}j=c(a.target).closest(f,a.currentTarget);n=0;for(r=
18
+ j.length;n<r;n++)for(k=0;k<u.length;k++){i=u[k];if(j[n].selector===i.selector){o=j[n].elem;f=null;if(i.preType==="mouseenter"||i.preType==="mouseleave")f=c(a.relatedTarget).closest(i.selector)[0];if(!f||f!==o)d.push({elem:o,handleObj:i})}}n=0;for(r=d.length;n<r;n++){j=d[n];a.currentTarget=j.elem;a.data=j.handleObj.data;a.handleObj=j.handleObj;if(j.handleObj.origHandler.apply(j.elem,e)===false){b=false;break}}return b}}function pa(a,b){return"live."+(a&&a!=="*"?a+".":"")+b.replace(/\./g,"`").replace(/ /g,
19
+ "&")}function qa(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function ra(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var j in f)for(var i in f[j])c.event.add(this,j,f[j][i],f[j][i].data)}}})}function sa(a,b,d){var f,e,j;b=b&&b[0]?b[0].ownerDocument||b[0]:s;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===s&&!ta.test(a[0])&&(c.support.checkClone||!ua.test(a[0]))){e=
20
+ true;if(j=c.fragments[a[0]])if(j!==1)f=j}if(!f){f=b.createDocumentFragment();c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=j?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(va.concat.apply([],va.slice(0,b)),function(){d[this]=a});return d}function wa(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},Ra=A.jQuery,Sa=A.$,s=A.document,T,Ta=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/,
21
+ Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&&
22
+ (d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this,
23
+ a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b===
24
+ "find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this,
25
+ function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b<d;b++)if((e=arguments[b])!=null)for(j in e){i=a[j];o=e[j];if(a!==o)if(f&&o&&(c.isPlainObject(o)||c.isArray(o))){i=i&&(c.isPlainObject(i)||
26
+ c.isArray(i))?i:c.isArray(o)?[]:{};a[j]=c.extend(f,i,o)}else if(o!==w)a[j]=o}return a};c.extend({noConflict:function(a){A.$=Sa;if(a)A.jQuery=Ra;return c},isReady:false,ready:function(){if(!c.isReady){if(!s.body)return setTimeout(c.ready,13);c.isReady=true;if(Q){for(var a,b=0;a=Q[b++];)a.call(s,c);Q=null}c.fn.triggerHandler&&c(s).triggerHandler("ready")}},bindReady:function(){if(!xa){xa=true;if(s.readyState==="complete")return c.ready();if(s.addEventListener){s.addEventListener("DOMContentLoaded",
27
+ L,false);A.addEventListener("load",c.ready,false)}else if(s.attachEvent){s.attachEvent("onreadystatechange",L);A.attachEvent("onload",c.ready);var a=false;try{a=A.frameElement==null}catch(b){}s.documentElement.doScroll&&a&&ma()}}},isFunction:function(a){return $.call(a)==="[object Function]"},isArray:function(a){return $.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor.prototype,
28
+ "isPrototypeOf"))return false;var b;for(b in a);return b===w||aa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;a=c.trim(a);if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return A.JSON&&A.JSON.parse?A.JSON.parse(a):(new Function("return "+
29
+ a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Va.test(a)){var b=s.getElementsByTagName("head")[0]||s.documentElement,d=s.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(s.createTextNode(a));else d.text=a;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,d){var f,e=0,j=a.length,i=j===w||c.isFunction(a);if(d)if(i)for(f in a){if(b.apply(a[f],
30
+ d)===false)break}else for(;e<j;){if(b.apply(a[e++],d)===false)break}else if(i)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=a[0];e<j&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Wa,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var d=0,f=b.length;d<f;d++)if(b[d]===
31
+ a)return d;return-1},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number")for(var e=b.length;f<e;f++)a[d++]=b[f];else for(;b[f]!==w;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,j=a.length;e<j;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,j=0,i=a.length;j<i;j++){e=b(a[j],j,d);if(e!=null)f[f.length]=e}return f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length===2)if(typeof b==="string"){d=a;a=d[b];b=w}else if(b&&
32
+ !c.isFunction(b)){d=b;b=w}if(!b&&a)b=function(){return a.apply(d||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});P=c.uaMatch(P);if(P.browser){c.browser[P.browser]=true;c.browser.version=P.version}if(c.browser.webkit)c.browser.safari=
33
+ true;if(ya)c.inArray=function(a,b){return ya.call(b,a)};T=c(s);if(s.addEventListener)L=function(){s.removeEventListener("DOMContentLoaded",L,false);c.ready()};else if(s.attachEvent)L=function(){if(s.readyState==="complete"){s.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=s.documentElement,b=s.createElement("script"),d=s.createElement("div"),f="script"+J();d.style.display="none";d.innerHTML=" <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
34
+ var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected,
35
+ parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent=
36
+ false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n=
37
+ s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true,
38
+ applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando];
39
+ else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this,
40
+ a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===
41
+ w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i,
42
+ cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1)if(e.className){for(var j=" "+e.className+" ",
43
+ i=e.className,o=0,k=b.length;o<k;o++)if(j.indexOf(" "+b[o]+" ")<0)i+=" "+b[o];e.className=c.trim(i)}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(k){var n=c(this);n.removeClass(a.call(this,k,n.attr("class")))});if(a&&typeof a==="string"||a===w)for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className)if(a){for(var j=(" "+e.className+" ").replace(Aa," "),i=0,o=b.length;i<o;i++)j=j.replace(" "+b[i]+" ",
44
+ " ");e.className=c.trim(j)}else e.className=""}return this},toggleClass:function(a,b){var d=typeof a,f=typeof b==="boolean";if(c.isFunction(a))return this.each(function(e){var j=c(this);j.toggleClass(a.call(this,e,j.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,j=0,i=c(this),o=b,k=a.split(ca);e=k[j++];){o=f?o:!i.hasClass(e);i[o?"addClass":"removeClass"](e)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className=
45
+ this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(Aa," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j<d;j++){var i=
46
+ e[j];if(i.selected){a=c(i).val();if(b)return a;f.push(a)}}return f}if(Ba.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Za,"")}return w}var o=c.isFunction(a);return this.each(function(k){var n=c(this),r=a;if(this.nodeType===1){if(o)r=a.call(this,k,n.val());if(typeof r==="number")r+="";if(c.isArray(r)&&Ba.test(this.type))this.checked=c.inArray(n.val(),r)>=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected=
47
+ c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");
48
+ a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g,
49
+ function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split(".");
50
+ k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a),
51
+ C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B<r.length;B++){u=r[B];if(d.guid===u.guid){if(i||k.test(u.namespace)){f==null&&r.splice(B--,1);n.remove&&n.remove.call(a,u)}if(f!=
52
+ null)break}}if(r.length===0||f!=null&&r.length===1){if(!n.teardown||n.teardown.call(a,o)===false)Ca(a,e,z.handle);delete C[e]}}else for(var B=0;B<r.length;B++){u=r[B];if(i||k.test(u.namespace)){c.event.remove(a,n,u.handler,B);r.splice(B--,1)}}}if(c.isEmptyObject(C)){if(b=z.handle)b.elem=null;delete z.events;delete z.handle;c.isEmptyObject(z)&&c.removeData(a)}}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf("!")>=0){a.type=
53
+ e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&&
54
+ f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;
55
+ if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e<j;e++){var i=d[e];if(b||f.test(i.namespace)){a.handler=i.handler;a.data=i.data;a.handleObj=i;i=i.handler.apply(this,arguments);if(i!==w){a.result=i;if(i===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
56
+ fix:function(a){if(a[G])return a;var b=a;a=c.Event(b);for(var d=this.props.length,f;d;){f=this.props[--d];a[f]=b[f]}if(!a.target)a.target=a.srcElement||s;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=s.documentElement;d=s.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
57
+ d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(!a.which&&(a.charCode||a.charCode===0?a.charCode:a.keyCode))a.which=a.charCode||a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==w)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,a.origType,c.extend({},a,{handler:oa}))},remove:function(a){var b=true,d=a.origType.replace(O,"");c.each(c.data(this,
58
+ "events").live||[],function(){if(d===this.origType.replace(O,""))return b=false});b&&c.event.remove(this,a.origType,oa)}},beforeunload:{setup:function(a,b,d){if(this.setInterval)this.onbeforeunload=d;return false},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};var Ca=s.removeEventListener?function(a,b,d){a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=
59
+ a;this.type=a.type}else this.type=a;this.timeStamp=J();this[G]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=Z;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=Z;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Z;this.stopPropagation()},isDefaultPrevented:Y,isPropagationStopped:Y,
60
+ isImmediatePropagationStopped:Y};var Da=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},Ea=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?Ea:Da,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ea:Da)}}});if(!c.support.submitBubbles)c.event.special.submit=
61
+ {setup:function(){if(this.nodeName.toLowerCase()!=="form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length)return na("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13)return na("submit",this,arguments)})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};
62
+ if(!c.support.changeBubbles){var da=/textarea|input|select/i,ea,Fa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",
63
+ e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,
64
+ "_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a,
65
+ d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j<o;j++)c.event.add(this[j],d,i,f)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&
66
+ !a.preventDefault)for(var d in a)this.unbind(d,a[d]);else{d=0;for(var f=this.length;d<f;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,f){return this.live(b,d,f,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){a=c.Event(a);a.preventDefault();a.stopPropagation();c.event.trigger(a,b,this[0]);return a.result}},
67
+ toggle:function(a){for(var b=arguments,d=1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(f){var e=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,e+1);f.preventDefault();return b[e].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Ga={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,f,e,j){var i,o=0,k,n,r=j||this.selector,
68
+ u=j?this:c(this.context);if(c.isFunction(f)){e=f;f=w}for(d=(d||"").split(" ");(i=d[o++])!=null;){j=O.exec(i);k="";if(j){k=j[0];i=i.replace(O,"")}if(i==="hover")d.push("mouseenter"+k,"mouseleave"+k);else{n=i;if(i==="focus"||i==="blur"){d.push(Ga[i]+k);i+=k}else i=(Ga[i]||i)+k;b==="live"?u.each(function(){c.event.add(this,pa(i,r),{data:f,selector:r,handler:e,origType:i,origHandler:e,preType:n})}):u.unbind(pa(i,r),e)}}return this}});c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),
69
+ function(a,b){c.fn[b]=function(d){return d?this.bind(b,d):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});A.attachEvent&&!A.addEventListener&&A.attachEvent("onunload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});(function(){function a(g){for(var h="",l,m=0;g[m];m++){l=g[m];if(l.nodeType===3||l.nodeType===4)h+=l.nodeValue;else if(l.nodeType!==8)h+=a(l.childNodes)}return h}function b(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];
70
+ if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1&&!p){t.sizcache=l;t.sizset=q}if(t.nodeName.toLowerCase()===h){y=t;break}t=t[g]}m[q]=y}}}function d(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1){if(!p){t.sizcache=l;t.sizset=q}if(typeof h!=="string"){if(t===h){y=true;break}}else if(k.filter(h,[t]).length>0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
71
+ e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift();
72
+ t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D||
73
+ g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h<g.length;h++)g[h]===g[h-1]&&g.splice(h--,1)}return g};k.matches=function(g,h){return k(g,null,null,h)};k.find=function(g,h,l){var m,q;if(!g)return[];
74
+ for(var p=0,v=n.order.length;p<v;p++){var t=n.order[p];if(q=n.leftMatch[t].exec(g)){var y=q[1];q.splice(1,1);if(y.substr(y.length-1)!=="\\"){q[1]=(q[1]||"").replace(/\\/g,"");m=n.find[t](q,h,l);if(m!=null){g=g.replace(n.match[t],"");break}}}}m||(m=h.getElementsByTagName("*"));return{set:m,expr:g}};k.filter=function(g,h,l,m){for(var q=g,p=[],v=h,t,y,S=h&&h[0]&&x(h[0]);g&&h.length;){for(var H in n.filter)if((t=n.leftMatch[H].exec(g))!=null&&t[2]){var M=n.filter[H],I,D;D=t[1];y=false;t.splice(1,1);if(D.substr(D.length-
75
+ 1)!=="\\"){if(v===p)p=[];if(n.preFilter[H])if(t=n.preFilter[H](t,v,l,p,m,S)){if(t===true)continue}else y=I=true;if(t)for(var U=0;(D=v[U])!=null;U++)if(D){I=M(D,t,U,v);var Ha=m^!!I;if(l&&I!=null)if(Ha)y=true;else v[U]=false;else if(Ha){p.push(D);y=true}}if(I!==w){l||(v=p);g=g.replace(n.match[H],"");if(!y)return[];break}}}if(g===q)if(y==null)k.error(g);else break;q=g}return v};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var n=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
76
+ CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},
77
+ relative:{"+":function(g,h){var l=typeof h==="string",m=l&&!/\W/.test(h);l=l&&!m;if(m)h=h.toLowerCase();m=0;for(var q=g.length,p;m<q;m++)if(p=g[m]){for(;(p=p.previousSibling)&&p.nodeType!==1;);g[m]=l||p&&p.nodeName.toLowerCase()===h?p||false:p===h}l&&k.filter(h,g,true)},">":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m<q;m++){var p=g[m];if(p){l=p.parentNode;g[m]=l.nodeName.toLowerCase()===h?l:false}}}else{m=0;for(q=g.length;m<q;m++)if(p=g[m])g[m]=
78
+ l?p.parentNode:p.parentNode===h;l&&k.filter(h,g,true)}},"":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("parentNode",h,m,g,p,l)},"~":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("previousSibling",h,m,g,p,l)}},find:{ID:function(g,h,l){if(typeof h.getElementById!=="undefined"&&!l)return(g=h.getElementById(g[1]))?[g]:[]},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){var l=[];
79
+ h=h.getElementsByName(g[1]);for(var m=0,q=h.length;m<q;m++)h[m].getAttribute("name")===g[1]&&l.push(h[m]);return l.length===0?null:l}},TAG:function(g,h){return h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,l,m,q,p){g=" "+g[1].replace(/\\/g,"")+" ";if(p)return g;p=0;for(var v;(v=h[p])!=null;p++)if(v)if(q^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},
80
+ CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m,
81
+ g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},
82
+ text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},
83
+ setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return h<l[3]-0},gt:function(g,h,l){return h>l[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h=
84
+ h[3];l=0;for(m=h.length;l<m;l++)if(h[l]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+q)},CHILD:function(g,h){var l=h[1],m=g;switch(l){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(l==="first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":l=h[2];var q=h[3];if(l===1&&q===0)return true;h=h[0];var p=g.parentNode;if(p&&(p.sizcache!==h||!g.nodeIndex)){var v=0;for(m=p.firstChild;m;m=
85
+ m.nextSibling)if(m.nodeType===1)m.nodeIndex=++v;p.sizcache=h}g=g.nodeIndex-q;return l===0?g===0:g%l===0&&g/l>=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m===
86
+ "="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g,
87
+ h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l<m;l++)h.push(g[l]);else for(l=0;g[l];l++)h.push(g[l]);return h}}var B;if(s.documentElement.compareDocumentPosition)B=function(g,h){if(!g.compareDocumentPosition||
88
+ !h.compareDocumentPosition){if(g==h)i=true;return g.compareDocumentPosition?-1:1}g=g.compareDocumentPosition(h)&4?-1:g===h?0:1;if(g===0)i=true;return g};else if("sourceIndex"in s.documentElement)B=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h)i=true;return g.sourceIndex?-1:1}g=g.sourceIndex-h.sourceIndex;if(g===0)i=true;return g};else if(s.createRange)B=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h)i=true;return g.ownerDocument?-1:1}var l=g.ownerDocument.createRange(),m=
89
+ h.ownerDocument.createRange();l.setStart(g,0);l.setEnd(g,0);m.setStart(h,0);m.setEnd(h,0);g=l.compareBoundaryPoints(Range.START_TO_END,m);if(g===0)i=true;return g};(function(){var g=s.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name='"+h+"'/>";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&&
90
+ q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML="<a href='#'></a>";
91
+ if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="<p class='TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}();
92
+ (function(){var g=s.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}:
93
+ function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q<p;q++)k(g,h[q],l);return k.filter(m,l)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=a;c.isXMLDoc=x;c.contains=E})();var eb=/Until$/,fb=/^(?:parents|prevUntil|prevAll)/,
94
+ gb=/,/;R=Array.prototype.slice;var Ia=function(a,b,d){if(c.isFunction(b))return c.grep(a,function(e,j){return!!b.call(e,j,e)===d});else if(b.nodeType)return c.grep(a,function(e){return e===b===d});else if(typeof b==="string"){var f=c.grep(a,function(e){return e.nodeType===1});if(Ua.test(b))return c.filter(b,f,!d);else b=c.filter(b,f)}return c.grep(a,function(e){return c.inArray(e,b)>=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f<e;f++){d=b.length;
95
+ c.find(a,this[f],b);if(f>0)for(var j=d;j<b.length;j++)for(var i=0;i<d;i++)if(b[i]===b[j]){b.splice(j--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,f=b.length;d<f;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(Ia(this,a,false),"not",a)},filter:function(a){return this.pushStack(Ia(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j=
96
+ {},i;if(f&&a.length){e=0;for(var o=a.length;e<o;e++){i=a[e];j[i]||(j[i]=c.expr.match.POS.test(i)?c(i,b||this.context):i)}for(;f&&f.ownerDocument&&f!==b;){for(i in j){e=j[i];if(e.jquery?e.index(f)>-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a===
97
+ "string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",
98
+ d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?
99
+ a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType===
100
+ 1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/<tbody/i,jb=/<|&#?\w+;/,ta=/<script|<object|<embed|<option|<style/i,ua=/checked\s*(?:[^=]|=\s*.checked.)/i,Ma=function(a,b,d){return hb.test(d)?
101
+ a:b+"></"+d+">"},F={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=
102
+ c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},
103
+ wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},
104
+ prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,
105
+ this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);
106
+ return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja,
107
+ ""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(f){this.empty().append(a)}}else c.isFunction(a)?this.each(function(e){var j=c(this),i=j.html();j.empty().append(function(){return a.call(this,e,i)})}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&
108
+ this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=c(this),f=d.html();d.replaceWith(a.call(this,b,f))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){function f(u){return c.nodeName(u,"table")?u.getElementsByTagName("tbody")[0]||
109
+ u.appendChild(u.ownerDocument.createElement("tbody")):u}var e,j,i=a[0],o=[],k;if(!c.support.checkClone&&arguments.length===3&&typeof i==="string"&&ua.test(i))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(i))return this.each(function(u){var z=c(this);a[0]=i.call(this,u,b?z.html():w);z.domManip(a,b,d)});if(this[0]){e=i&&i.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:sa(a,this,o);k=e.fragment;if(j=k.childNodes.length===
110
+ 1?(k=k.firstChild):k.firstChild){b=b&&c.nodeName(j,"tr");for(var n=0,r=this.length;n<r;n++)d.call(b?f(this[n],j):this[n],n>0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]);
111
+ return this}else{e=0;for(var j=d.length;e<j;e++){var i=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["",
112
+ ""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]==="<table>"&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e=
113
+ c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]?
114
+ c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja=
115
+ function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter=
116
+ Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a,
117
+ "border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f=
118
+ a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=
119
+ a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=/<script(.|\s)*?\/script>/gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!==
120
+ "string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("<div />").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this},
121
+ serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),
122
+ function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,
123
+ global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&&
124
+ e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)?
125
+ "&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache===
126
+ false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B=
127
+ false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since",
128
+ c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E||
129
+ d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x);
130
+ g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===
131
+ 1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b===
132
+ "json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional;
133
+ if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");
134
+ this[a].style.display=d||"";if(c.css(this[a],"display")==="none"){d=this[a].nodeName;var f;if(la[d])f=la[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b){if(a||a===0)return this.animate(K("hide",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");!d&&d!=="none"&&c.data(this[a],
135
+ "olddisplay",c.css(this[a],"display"))}a=0;for(b=this.length;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b){var d=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||d?this.each(function(){var f=d?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(K("toggle",3),a,b);return this},fadeTo:function(a,b,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d)},
136
+ animate:function(a,b,d,f){var e=c.speed(b,d,f);if(c.isEmptyObject(a))return this.each(e.complete);return this[e.queue===false?"each":"queue"](function(){var j=c.extend({},e),i,o=this.nodeType===1&&c(this).is(":hidden"),k=this;for(i in a){var n=i.replace(ia,ja);if(i!==n){a[n]=a[i];delete a[i];i=n}if(a[i]==="hide"&&o||a[i]==="show"&&!o)return j.complete.call(this);if((i==="height"||i==="width")&&this.style){j.display=c.css(this,"display");j.overflow=this.style.overflow}if(c.isArray(a[i])){(j.specialEasing=
137
+ j.specialEasing||{})[i]=a[i][1];a[i]=a[i][0]}}if(j.overflow!=null)this.style.overflow="hidden";j.curAnim=c.extend({},a);c.each(a,function(r,u){var z=new c.fx(k,j,r);if(Ab.test(u))z[u==="toggle"?o?"show":"hide":u](a);else{var C=Bb.exec(u),B=z.cur(true)||0;if(C){u=parseFloat(C[2]);var E=C[3]||"px";if(E!=="px"){k.style[r]=(u||1)+E;B=(u||1)/z.cur(true)*B;k.style[r]=B+E}if(C[1])u=(C[1]==="-="?-1:1)*u+B;z.custom(B,u,E)}else z.custom(B,u,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);
138
+ this.each(function(){for(var f=d.length-1;f>=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration===
139
+ "number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||
140
+ c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;
141
+ this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=
142
+ this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem,
143
+ e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||
144
+ c.fx.stop()},stop:function(){clearInterval(W);W=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===b.elem}).length};c.fn.offset="getBoundingClientRect"in s.documentElement?
145
+ function(a){var b=this[0];if(a)return this.each(function(e){c.offset.setOffset(this,a,e)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);var d=b.getBoundingClientRect(),f=b.ownerDocument;b=f.body;f=f.documentElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrollTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXOffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.clientLeft||0)}}:function(a){var b=
146
+ this[0];if(a)return this.each(function(r){c.offset.setOffset(this,a,r)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,f=b,e=b.ownerDocument,j,i=e.documentElement,o=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var k=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==o&&b!==i;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;j=e?e.getComputedStyle(b,null):b.currentStyle;
147
+ k-=b.scrollTop;n-=b.scrollLeft;if(b===d){k+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&j.overflow!=="visible"){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=j}if(f.position==="relative"||f.position==="static"){k+=o.offsetTop;n+=o.offsetLeft}if(c.offset.supportsFixedPosition&&
148
+ f.position==="fixed"){k+=Math.max(i.scrollTop,o.scrollTop);n+=Math.max(i.scrollLeft,o.scrollLeft)}return{top:k,left:n}};c.offset={initialize:function(){var a=s.body,b=s.createElement("div"),d,f,e,j=parseFloat(c.curCSS(a,"marginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";
149
+ a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b);
150
+ c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a,
151
+ d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top-
152
+ f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset":
153
+ "pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in
154
+ e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window);
package.xml ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <package>
3
+ <name>Jayje</name>
4
+ <version>1.00.15</version>
5
+ <stability>stable</stability>
6
+ <license>Jayje</license>
7
+ <channel>community</channel>
8
+ <extends/>
9
+ <summary>bugs fixed</summary>
10
+ <description>bugs fixed</description>
11
+ <notes>bugs fixed</notes>
12
+ <authors><author><name>ratheepan s</name><user>ratheepan</user><email>s.ratheepan@gmail.com</email></author><author><name>wakensys</name><user>wakensys</user><email>admin@wakensys.com</email></author></authors>
13
+ <date>2012-12-30</date>
14
+ <time>04:21:06</time>
15
+ <contents><target name="magecommunity"><dir name="jayje"><dir name="Rma"><dir name="Block"><dir name="Adminhtml"><dir name="Rma"><dir name="Edit"><file name="Form.php" hash="196f8531d8ef88443e7e920bff442542"/><dir name="Tab"><file name="Comments.php" hash="fe7ddb97471bf179aa01307ba66b93cf"/><file name="Form.php" hash="46c6208fb6430debf59136437f14fb1c"/><file name="Order.php" hash="4e0c5767f64003e45ed7089794bc3a38"/></dir><file name="Tabs.php" hash="a8b189c45f14ed59bc0a32a285282256"/></dir><file name="Edit.php" hash="c239694953040ce27623147b42e31678"/><file name="Grid.php" hash="b9208e316a6963148a4081748793a893"/><file name="Info.php" hash="1472ae84058732c1abcb0010df2cf909"/><file name="Ritems.phtmt.php" hash="057dc90d06067774082408b13710b2e2"/><file name="ritem.php" hash="db7cb534747549671ac07c82cece5d83"/></dir><file name="Rma.php" hash="796b752d34baf1cc7a12cfd785e61413"/></dir><file name="Ajax.php" hash="d48b9b1dae080c65a3d068de821b6c39"/><file name="Rma.php" hash="ebb8d85147abc44b00444a5b65435e48"/></dir><dir name="Helper"><file name="Data.php" hash="1dc7076d01d55a0631f52efcae1c4fa5"/></dir><dir name="Model"><dir name="Mysql4"><dir name="Rma"><file name="Collection.php" hash="4778a373d8d39632a0a30e5430ed7544"/></dir><file name="Rma.php" hash="a0a5300cab5552207c05ed9d57970918"/></dir><file name="Rma.php" hash="e09a0f0d5dd7f23a3bc982faf27fe5d0"/><file name="Status.php" hash="de1335652bfbb0d3b50061ab104f7c71"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="RmaController.php" hash="bee790f592f4924a7b5fe384e7758700"/></dir><file name="IndexController.php" hash="af519d1ff3a4a280d379b501a11fda95"/></dir><dir name="etc"><file name="adminhtml.xml" hash="d1d774f537d3aaa91df1b1b3c22e5d08"/><file name="config.xml" hash="002071ae7899b012aeff498ae6afbfff"/><file name="system.xml" hash="da3d2c7327b3b5b1bf741785af4d0f3e"/></dir><dir name="sql"><dir name="Rma_setup"><file name="mysql4-install-0.1.0.php" hash="45cb74ea442ac6c10dd63fca10c71c9f"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="rma.xml" hash="37bf5d17c2cca450e4ada722aa44f162"/></dir><dir name="template"><dir name="rma"><file name="comments.phtml" hash="4f1b21142176608ae8cf82792a695be9"/><file name="info.phtml" hash="c302ed388fc16e9544289b3f5bdabdc0"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="default"><dir name="default"><dir name="layout"><file name="rma.xml" hash="e38cc9f629b81a89f4ee1f0a2d61a18c"/></dir><dir name="template"><dir name="rma"><file name="oitems.phtml" hash="35c8c272c6dcd90742ceef5e4ea44345"/><file name="request.phtml" hash="8fc37ae9bb222a26c5fdc1f90bd1b500"/><file name="ritem.php" hash="db7cb534747549671ac07c82cece5d83"/><file name="ritem.phtml" hash="d4ca1fd480e822209586c80bae49f8c3"/><file name="rma.phtml" hash="177e1bef8e642613be7505d03107c74f"/><file name="view.phtml" hash="94c838dde1f5bf71279582d9c244e368"/></dir></dir></dir></dir></dir></target><target name="mage"><dir name="app"><dir name="etcmodules"><file name="Jayje_Rma.xml" hash=""/></dir></dir><dir name="js"><file name="jquery-1.4.2.js" hash="10092eee563dec2dca82b77d2cf5a1ae"/></dir></target></contents>
16
+ <compatible/>
17
+ <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
18
+ </package>