﻿var newText = "";
var fm = Ext.form;
var win2;
var record;
var reg;

function regPanelLoad(Tab) {
	var payCount = 0;
	var payRow = 0;
	var payFlag = true;
	
	var appCount = 0;
	var appRow = 0;
	var appFlag = true;

	var accCount = 0;
	var accRow = 0;
	var accFlag = true;
	
    function formatDate(value){
        return value ? value.dateFormat('Y-m-d') : '';
    };
	
	var itemStore = new Ext.data.Store({
		proxy: new Ext.data.HttpProxy({
			url: 'callback/counterMMcomboCallback.jsp'
		}),
		baseParams: {p: 'item'},
		reader: new Ext.data.JsonReader({
		}, [{name: 'itemText'}, {name: 'itemValue'}])
	});
	
	var itemCombo = new Ext.form.ComboBox({
		store: itemStore,
		name:'item',
		id:'item',
		displayField:'itemText',
		loadingText: '載入中',
		minChars: 0
	});		
	
	var setStore = new Ext.data.Store({
		proxy: new Ext.data.HttpProxy({
			url: 'callback/counterMMcomboCallback.jsp'
		}),
		baseParams: {p:"set"},
		reader: new Ext.data.JsonReader({
		}, [{name: 'setText'}, {name: 'setValue'}])
	});
	
	var setCombo = new Ext.form.ComboBox({
		store: setStore,
		fieldLabel: '註冊設定類別',
		id:'reg6',
		name: 'reg6',
		anchor:'94%',
		readOnly:true,
		displayField:'setText',
		valueField:'setValue',
		hiddenName:'setValue',
		loadingText: '載入中',
		minChars: 0
	});	
	
	var sysStore = new Ext.data.Store({
		proxy: new Ext.data.HttpProxy({
			url: 'callback/counterMMcomboCallback.jsp'
		}),
		baseParams: {p:"sys"},
		reader: new Ext.data.JsonReader({
		}, [{name: 'sysText'}, {name: 'sysValue'}])
	});
	
	var sysCombo = new Ext.form.ComboBox({
		store: sysStore,
		fieldLabel: '註冊制',
		id:'reg3',
		name: 'reg3',
		anchor:'94%',
		readOnly:true,
		displayField:'sysText',
		valueField:'sysValue',
		hiddenName:'sysValue',
		loadingText: '載入中',
		minChars: 0
	});		
	
	var unitStore = new Ext.data.Store({
		proxy: new Ext.data.HttpProxy({
			url: 'callback/counterMMcomboCallback.jsp'
		}),
		baseParams: {p:"unit"},
		reader: new Ext.data.JsonReader({
		}, [{name: 'unitText'}])
	});
	
	var unitCombo = new Ext.form.ComboBox({
		store: unitStore,
		name:'UNIT',
		id:'UNIT',
		displayField:'unitText',
		loadingText: '載入中',
		minChars: 0
	});		
	
	var wayStore = new Ext.data.Store({
		proxy: new Ext.data.HttpProxy({
			url: 'callback/counterMMcomboCallback.jsp'
		}),
		baseParams: {p:"way"},
		reader: new Ext.data.JsonReader({
		}, [{name: 'wayText'}])
	});
	
	var wayCombo = new Ext.form.ComboBox({
		store: wayStore,
		name:'WAY',
		id:'WAY',
		displayField:'wayText',
		loadingText: '載入中',
		minChars: 0
	});		
	
	var contentStore = new Ext.data.Store({
		proxy: new Ext.data.HttpProxy({
			url: 'callback/counterMMcomboCallback.jsp'
		}),
		baseParams: {p:"content", str: ""},
		reader: new Ext.data.JsonReader({
		}, [{name: 'contentText'}, {name: 'contentValue'}])
	});
	
	var contentCombo = new Ext.form.ComboBox({
		store: contentStore,
		name:'content',
		id:'content',
		displayField:'contentText',
		loadingText: '重整中',
		minChars: 0
	});			
	
	var payPlant = Ext.data.Record.create([
	   {name: 'paycode', type: 'string'},
	   {name: 'regcode', type: 'string'},
	   {name: 'items', type: 'string'},
	   {name: 'contents', type: 'string'},
	   {name: 'unit', type: 'string'},
	   {name: 'quantity', type: 'string'},
	   {name: 'price', type: 'string'},
	   {name: 'discount', type: 'string'},
	   {name: 'note', type: 'string'}
	]);	
	
	var cmPay = new Ext.grid.ColumnModel([{
		   header: "應繳編碼",
		   dataIndex: 'paycode',
		   hidden:true,
		   menuDisabled:true,
		   sortable:false,
		   fixed: true,
		   width: 100
		},{
		   header: "所屬註冊編碼",
		   dataIndex: 'regcode',
		   hidden:true,
		   menuDisabled:true,
		   sortable:false,
		   fixed: true,
		   width: 100
		},{
		   header: "收費項目",
		   dataIndex: 'items',
		   menuDisabled:true,
		   sortable:false,
		   fixed: true,
		   width: 100,
		   editor: itemCombo 
		},{
		   header: "收費內容",
		   dataIndex: 'contents',
		   menuDisabled:true,
		   sortable:false,
		   width: 140,
		   editor: contentCombo
		},{
		   header: "單位",
		   dataIndex: 'unit',
		   menuDisabled:true,
		   sortable:false,
		   fixed: true,
		   width: 50,
		   editor: unitCombo
		},{
		   header: "數量",
		   dataIndex: 'quantity',
		   menuDisabled:true,
		   sortable:false,
		   fixed: true,
		   width: 50,
		   editor: new fm.TextField({
			   allowBlank: false
		   }) 
		},{
		   header: "單價",
		   dataIndex: 'price',
		   menuDisabled:true,
		   sortable:false,
		   fixed: true,
		   width: 60,
		   editor: new fm.TextField({
			   allowBlank: false
		   }) 
		},{
		   header: "折扣率",
		   dataIndex: 'discount',
		   menuDisabled:true,
		   sortable:false,
		   fixed: true,
		   width: 50,
		   editor: new fm.TextField({
		   }) 
		},{
		   header: "備註",
		   dataIndex: 'note',
		   menuDisabled:true,
		   sortable:false,
		   width: 80,
		   editor: new fm.TextField({
		   }) 
		}
	]);  

	var payStore = new Ext.data.Store({
		proxy: new Ext.data.HttpProxy({
			url: 'callback/counterMMpayCallback.jsp'
		}),
		reader: new Ext.data.JsonReader({
		}, 
		[	
			{name: 'paycode'},
			{name: 'regcode'},
			{name: 'items'},
			{name: 'contents'},
			{name: 'unit'},
			{name: 'quantity'},
			{name: 'price'},
			{name: 'discount'},
			{name: 'note'}
		])
	});	
	
	var payGrid = new Ext.grid.EditorGridPanel({
		store: payStore,
		cm: cmPay,
		anchor:'100%',
		height:160,
		//autoHeight:true,
		title:'應繳費用',
		border:false,
		clicksToEdit:1,
		
		tbar: [{
			text: '新增',
			iconCls: 'cssregister',
			tooltip  : {text:'新增'},
			handler : function(){
				if ( payFlag )
					payCount = payStore.getTotalCount();
				
				payFlag = false;
				
				var p = new payPlant({
					paycode: '0',				 
					items: '',
					contents: '',
					unit:'',
					quantity:'',
					price:'',
					discount:'',
					note:''
				});
				
				payGrid.stopEditing();
				payStore.insert(payCount + payRow, p);
				payGrid.startEditing(payCount + payRow, 2);
				
				payRow++;
			}
		},"-",{
			text: '儲存',
			iconCls: 'csssave',
			tooltip  : {text:'儲存'},
			handler : function(){///////////////////////////////////////////////////////////////////////////////////////////
				for (var j=0;j<payStore.getModifiedRecords().length;j++) { //get modified record(s)
					//alert(payStore.getModifiedRecords()[j].get("items").split(".")[0]);

				}
			}
		}]
	});

	var appPlant = Ext.data.Record.create([
	   {name: 'appcode', type: 'string'},
	   {name: 'appregcode', type: 'string'},
	   {name: 'apprececode', type: 'string'},
	   {name: 'appdate', type: 'string'},
	   {name: 'appaccount', type: 'string'},
	   {name: 'appnote', type: 'string'},
	   {name: 'apppguy', type: 'string'}
	]);	
	
	var cmApp = new Ext.grid.ColumnModel([{
		   header: "請款明細編碼",
		   dataIndex: 'appcode',
		   hidden:true,
		   menuDisabled:true,
		   sortable:false,
		   fixed: true,
		   width: 50
		},{
		   header: "所屬註冊編碼",
		   dataIndex: 'appregcode',
		   hidden:true,
		   menuDisabled:true,
		   sortable:false,
		   fixed: true,
		   width: 50
		},{
		   header: "收據號碼",
		   dataIndex: 'apprececode',
		   menuDisabled:true,
		   sortable:false,
		   fixed: true,
		   width: 90,
		   editor: new fm.TextField({
		       allowBlank: false
		   }) 
		},{
		   header: "請款日期",
		   dataIndex: 'appdate',
		   menuDisabled:true,
		   sortable:false,
		   fixed: true,
		   renderer: formatDate,
		   width: 100,
		   editor: new Ext.form.DateField({
		       format:'Y-m-d'
           })
		},{
		   header: "請款金額",
		   dataIndex: 'appaccount',
		   menuDisabled:true,
		   sortable:false,
		   fixed: true,
		   width: 80,
		   editor: new fm.TextField({
			   allowBlank: false
		   }) 
		},{
		   header: "請款備註",
		   dataIndex: 'appnote',
		   menuDisabled:true,
		   sortable:false,
		   width: 160,
		   editor: new fm.TextField({
		   }) 
		},{
		   header: "立據請款者",
		   dataIndex: 'appguy',
		   menuDisabled:true,
		   sortable:false,
		   fixed: true,
		   width: 90,
		   editor: new fm.TextField({
		       allowBlank: false
		   }) 
		}
	]);  

	var appStore = new Ext.data.Store({
		proxy: new Ext.data.HttpProxy({
			url: 'callback/counterMMappCallback.jsp'
		}),
		reader: new Ext.data.JsonReader({
		}, 
		[	
		   {name: 'appcode'},
		   {name: 'appregcode'},
		   {name: 'apprececode'},
		   {name: 'appdate'},
		   {name: 'appaccount'},
		   {name: 'appnote'},
		   {name: 'appguy'}
		])
	});	
	
	var appGrid = new Ext.grid.EditorGridPanel({
		store: appStore,
		cm: cmApp,
		anchor:'100%',
		height:160,
		//autoHeight:true,
		title:'請款明細',
		border:false,
		clicksToEdit:1,
		
		tbar: [{
			text: '新增',
			iconCls: 'cssregister',
			tooltip  : {text:'新增'},
			handler : function(){
				if ( appFlag )
					appCount = appStore.getTotalCount();
				
				appFlag = false;
				
				var p = new appPlant({
					appcode: '',
					appregcode: '',
					apprececode:'',
					appdate:'',
					appaccount:'',
					appnote:'',
					appguy:''
				});
				
				appGrid.stopEditing();
				appStore.insert(appCount + appRow, p);
				appGrid.startEditing(appCount + appRow, 2);
				
				appRow++;
			}
		},"-",{
			text: '儲存',
			iconCls: 'csssave',
			tooltip  : {text:'儲存'},
			handler : function(){
			
			}
		}]
	});

	var accPlant = Ext.data.Record.create([
	   {name: 'acccode', type: 'string'},
	   {name: 'accappcode', type: 'string'},
	   {name: 'accdate', type: 'string'},
	   {name: 'accamount', type: 'string'},
	   {name: 'accway', type: 'string'},
	   {name: 'accinfo', type: 'string'},
	   {name: 'accguy', type: 'string'}
	]);	
	
	var cmAcc = new Ext.grid.ColumnModel([{
		   header: "入帳明細編碼",
		   dataIndex: 'acccode',
		   hidden:true,
		   menuDisabled:true,
		   sortable:false,
		   fixed: true,
		   width: 50
		},{
		   header: "所屬請款明細",
		   dataIndex: 'accappcode',
		   hidden:true,
		   menuDisabled:true,
		   sortable:false,
		   fixed: true,
		   width: 50
		},{
		   header: "入帳日期",
		   dataIndex: 'accdate',
		   menuDisabled:true,
		   sortable:false,
		   fixed: true,
		   width: 100,
		   renderer: formatDate,
		   editor: new Ext.form.DateField({
		       format:'Y-m-d'
           })
		},{
		   header: "入帳金額",
		   dataIndex: 'accamount',
		   menuDisabled:true,
		   sortable:false,
		   fixed: true,
		   width: 70,
		   editor: new fm.TextField({
		       allowBlank: false
		   }) 
		},{
		   header: "入帳方式",
		   dataIndex: 'accway',
		   menuDisabled:true,
		   sortable:false,
		   width: 120,
		   editor: wayCombo
		},{
		   header: "入帳票據資訊",
		   dataIndex: 'accinfo',
		   menuDisabled:true,
		   sortable:false,
		   width: 140,
		   editor: new fm.TextField({
		   }) 
		},{
		   header: "收款入帳者",
		   dataIndex: 'accguy',
		   menuDisabled:true,
		   fixed: true,
		   sortable:false,
		   width: 90,
		   editor: new fm.TextField({
		       allowBlank: false
		   }) 
		}
	]);  

	var accStore = new Ext.data.Store({
		proxy: new Ext.data.HttpProxy({
			url: 'callback/counterMMaccCallback.jsp'
		}),
		reader: new Ext.data.JsonReader({
		}, 
		[	
		   {name: 'acccode'},
		   {name: 'accappcode'},
		   {name: 'accdate'},
		   {name: 'accamount'},
		   {name: 'accway'},
		   {name: 'accinfo'},
		   {name: 'accguy'}
		])
	});	
	
	var accGrid = new Ext.grid.EditorGridPanel({
		store: accStore,
		cm: cmAcc,
		anchor:'100%',
		height:160,
		//autoHeight:true,
		title:'入帳明細',
		border:false,
		clicksToEdit:1,
		
		tbar: [{
			text: '新增',
			iconCls: 'cssregister',
			tooltip  : {text:'新增'},
			handler : function(){
				if ( accFlag )
					accCount = accStore.getTotalCount();
				
				accFlag = false;
				
				var p = new accPlant({
					acccode: '',
					accappcode: '',
					accdate:'',
					accamount:'',
					accway:'',
					accinfo:'',
					accguy:''
				});
				
				accGrid.stopEditing();
				accStore.insert(accCount + accRow, p);
				accGrid.startEditing(accCount + accRow, 2);
				
				accRow++;
			}
		},"-",{
			text: '儲存',
			iconCls: 'csssave',
			tooltip  : {text:'儲存'},
			handler : function(){
			
			}
		}]
	});

	var cmLearn = new Ext.grid.ColumnModel([{
		   header: "上課權編碼",
		   dataIndex: 'learncode',
		   menuDisabled:true,
		   sortable:false,
		   fixed: true,
		   width: 80
		},{
		   header: "使用者姓名",
		   dataIndex: 'username',
		   menuDisabled:true,
		   sortable:false,
		   width: 120
		}
	]);  

	var learnStore = new Ext.data.Store({
		proxy: new Ext.data.HttpProxy({
			url: 'callback/counterMMcitationCallback.jsp'
		}),
		reader: new Ext.data.JsonReader({
		}, 
		[	
		   {name: 'learncode'},
		   {name: 'username'}
		])
	});	
	
	var learnGrid = new Ext.grid.EditorGridPanel({
		store: learnStore,
		cm: cmLearn,
		anchor:'100%',
		height:140,
		title:'上課權列表',
		border:false
	});

	var cmClass = new Ext.grid.ColumnModel([{
		   header: "編班編碼",
		   dataIndex: 'classcode',
		   menuDisabled:true,
		   sortable:false,
		   fixed: true,
		   width: 80
		},{
		   header: "所屬上課權編碼",
		   dataIndex: 'classlearncode',
		   menuDisabled:true,
		   sortable:false,
		   fixed: true,
		   width: 110
		},{
		   header: "編班班名",
		   dataIndex: 'classname',
		   menuDisabled:true,
		   sortable:false,
		   width: 180
		},{
		   header: "所屬編班設定",
		   dataIndex: 'classset',
		   menuDisabled:true,
		   sortable:false,
		   fixed: true,
		   width: 100
		}
	]);  

	var classStore = new Ext.data.Store({
		proxy: new Ext.data.HttpProxy({
			url: 'callback/counterMMcitationCallback.jsp'
		}),
		reader: new Ext.data.JsonReader({
		}, 
		[	
		   {name: 'classcode'},
		   {name: 'classlearncode'},
		   {name: 'classname'},
		   {name: 'classset'}
		])
	});	
	
	var classGrid = new Ext.grid.EditorGridPanel({
		store: classStore,
		cm: cmClass,
		anchor:'100%',
		height:140,
		title:'編班列表',
		border:false
	});

	var cmCitation = new Ext.grid.ColumnModel([{
		   header: "教材傳票明細編碼",
		   dataIndex: 'tmcode',
		   hidden:true,
		   menuDisabled:true,
		   sortable:false,
		   fixed: true,
		   width: 50
		},{
		   header: "所屬會員編班碼",
		   dataIndex: 'tmclasscode',
		   hidden:true,
		   menuDisabled:true,
		   sortable:false,
		   fixed: true,
		   width: 50
		},{
		   header: "傳票明細日期",
		   dataIndex: 'tmdate',
		   menuDisabled:true,
		   sortable:false,
		   fixed: true,
		   width: 100,
		   renderer: formatDate,
		   editor: new Ext.form.DateField({
		       format:'Y-m-d'
           })
		},{
		   header: "所屬教材科目",
		   dataIndex: 'tmsubject',
		   menuDisabled:true,
		   sortable:false,
		   fixed: true,
		   width: 90/*,
		   editor:*/ 
		},{
		   header: "教材名稱",
		   dataIndex: 'tmname',
		   menuDisabled:true,
		   sortable:false,
		   width: 130/*,
		   editor: */
		},{
		   header: "教材單位",
		   dataIndex: 'tmunit',
		   menuDisabled:true,
		   fixed: true,
		   sortable:false,
		   width: 70/*,
		   editor:*/ 
		},{
		   header: "數量",
		   dataIndex: 'tmamount',
		   menuDisabled:true,
		   fixed: true,
		   sortable:false,
		   width: 50,
		   editor: new fm.TextField({
		       allowBlank: false
		   }) 
		},{
		   header: "已發給",
		   dataIndex: 'tmsend',
		   menuDisabled:true,
		   fixed: true,
		   sortable:false,
		   width: 60/*,
		   editor: */
		}
	]);  

	var citationStore = new Ext.data.Store({
		proxy: new Ext.data.HttpProxy({
			url: 'callback/counterMMcitationCallback.jsp'
		}),
		reader: new Ext.data.JsonReader({
		}, 
		[	
		   {name: 'tmcode'},
		   {name: 'tmclasscode'},
		   {name: 'tmdate'},
		   {name: 'tmsubject'},
		   {name: 'tmname'},
		   {name: 'tmunit'},
		   {name: 'tmamount'},
		   {name: 'tmsend'}
		])
	});	
	
	var citationGrid = new Ext.grid.EditorGridPanel({
		store: citationStore,
		cm: cmCitation,
		anchor:'100%',
		height:140,
		title:'教材傳票名細',
		border:false,
		
		tbar: [{
			text: '新增',
			iconCls: 'cssregister',
			tooltip  : {text:'新增'},
			handler : function(){
				
			}
		},"-",{
			text: '儲存',
			iconCls: 'csssave',
			tooltip  : {text:'儲存'},
			handler : function(){
			
			}
		}]
	});

	var registerTab = new Ext.TabPanel({
		activeTab: Tab,
		border:true,
		//anchor:'97%',
		width:587,
		plain:true,
		defaults:{autoHeight:true, bodyStyle:'padding:20px 12px 20px'},
		
		items:[{
			title:'註冊與學費',
			id:'Register',
			layout:'form',
			defaults: {width: 230},
			defaultType: 'textfield',

			items: [payGrid, appGrid, accGrid]
		},{
			title:'上課權與編班',
			layout:'form',
			id: 'Learning',
			defaults: {width: 230},
			defaultType: 'textfield'/*,

			items: []*/
		},{
			title:'領用教材',
			layout:'form',
			id:'Material',
			defaults: {width: 230},
			defaultType: 'textfield',
			items: [learnGrid, classGrid, citationGrid]
		},{
			title:'瀏覽報告',
			layout:'form',
			id:'report',
			defaults: {width: 230},
			defaultType: 'textfield'/*,

			items: []*/
		}]
	});

	var regForm = new Ext.FormPanel({
		layout:'column',
		border:false,
        waitMsgTarget: true,

        reader : new Ext.data.JsonReader({
        }, [
			'reg1', 'reg2', 'reg3', 'reg4', 'reg5', 'reg6',
			'reg7', 'reg8', 'reg9', 'reg10', 'reg11', 'reg12'
        ]),
		
		items:[{
			columnWidth:.5,
			layout: 'form',
			id:'rf1',
			border:false,
			items: [{
				xtype:'textfield',
				fieldLabel: '註冊編碼',
				//readOnly:true,
				disabled:true,
				id:'reg1',
				name: 'reg1',
				anchor:'94%'
			}, {
				xtype:'textfield',
				fieldLabel: '會員系統授權',
				readOnly:true,
				disabled:true,
				id:'reg2',
				name: 'reg2',
				anchor:'94%'
			},sysCombo,				
			new Ext.form.DateField({
				fieldLabel: '註冊起算日期',
				id:'reg4',
				name: 'reg4',
				format:'Y-m-d',
				readOnly:true,
				anchor:'94%'
            }),
			new Ext.form.DateField({
				xtype:'textfield',
				fieldLabel: '最終有效期限',
				id:'reg5',
				name: 'reg5',
				format:'Y-m-d',
				readOnly:true,
				anchor:'94%'
			}),setCombo
			]
		},{
			columnWidth:.5,
			layout: 'form',
			id: 'rf2',
			border:false,
			items: [{
				xtype:'textfield',
				fieldLabel: '點數(時數)',
				id:'reg7',
				name: 'reg7',
				anchor:'94%'
			},{
				xtype:'textfield',
				fieldLabel: '加購點數(時數)',
				id:'reg8',
				name: 'reg8',
				anchor:'94%'
			},{
				xtype:'textfield',
				fieldLabel: '贈送點數(時數)',
				id:'reg9',
				name: 'reg9',
				anchor:'94%'
			},{
				xtype:'textfield',
				fieldLabel: '請假點數比上限',
				id:'reg10',
				name: 'reg10',
				anchor:'94%'
			},{
				xtype:'textfield',
				fieldLabel: '註冊備註',
				id:'reg11',
				name: 'reg11',
				anchor:'94%'
			},{
				xtype:'textfield',
				fieldLabel: '服務人員',
				id:'reg12',
				name: 'reg12',
				anchor:'94%'
			}]
		}]
	});  
		
	var frm = new Ext.Panel({
		border:false,
		id:'FRM',
		autoScroll:true,
		bodyStyle:'padding:12px 12px 18px',
		items: [regForm, registerTab],
		
		tbar: [{
			text: '過期註冊碼',
			tooltip  : {text:'過期註冊碼'},
			handler : function(){
			}
		},"-",{
			text: '新增註冊碼',
			tooltip  : {text:'新增註冊碼'},
			iconCls: 'cssregister',
			handler : function(){
				if ( Ext.get("reg1").dom.value != "" ) {
					alert("該註冊碼尚未過期，不可新增。");
					return;
				}
				
				reg = regForm.getForm().getValues(false);
				
				var obj = new Object();
				
				obj.t   = "new";
				obj.id  = getID;
				obj.p3  = Ext.get("sysValue").dom.value;
				obj.p4  = reg.reg4;
				obj.p5  = reg.reg5;
				obj.p6  = Ext.get("setValue").dom.value;
				obj.p7  = reg.reg7;
				obj.p8  = reg.reg8;
				obj.p9  = reg.reg9;
				obj.p10 = reg.reg10;
				obj.p11 = reg.reg11;
				obj.p12 = reg.reg12;
			
				regSetting("counterMMregCallback.jsp", obj);
			}
		}]
	});
	
	if (!win2) {
		win2 = new Ext.Window({
			applyTo     : 'reg-win',
			layout      : 'fit',
			width       : 640,
			height: 480,
			resizable:false,
			closeAction :'hide',
			bodyStyle:'padding:0 0 8px',
			border:false,
			
			buttons: [{
				text     : '關閉',
				tooltip  : {text:'關閉'},
				handler  : function(){
					win2.hide();
				}
			}]
		});
	}
	else {
		win2.hide();
		win2.remove("FRM"); // pay attention, this statement must before win2.show()
	}
		
	win2.insert(0, frm); // pay attention, this statement must before win2.show()
	
	win2.show();
	
	registerTab.on("tabchange", function(panel, tab) {
		if (tab.id == "Register") {
			regForm.getComponent("rf1").setDisabled(false);	
			regForm.getComponent("rf2").setDisabled(false);	
			
			accGrid.getTopToolbar().setDisabled(true);
			
			if ( Ext.get("reg1").dom.value.length == 0 ) {
				payGrid.getTopToolbar().setDisabled(true);
				appGrid.getTopToolbar().setDisabled(true);	
			}
		}
		else {
			regForm.getComponent("rf1").setDisabled(true);	
			regForm.getComponent("rf2").setDisabled(true);
		}
	});	
	
	payGrid.on("cellclick", function(grid, rowIndex, columnIndex, e) {
		record = payGrid.getStore().getAt(rowIndex);
		newText = record.get(payGrid.getColumnModel().getDataIndex(2));
	});  
	
	itemCombo.on("change", function(field, newValue, oldValue) {
		newText = Ext.get("item").dom.value;
	});
	
	contentCombo.on("focus", function(field) {
		contentStore.baseParams.str = newText.split(".")[1];
	});	
	
	win2.setTitle(getMember + " 註冊管理");
	
	if ( Tab == 0 ) {
		payGrid.getTopToolbar().setDisabled(true);
		appGrid.getTopToolbar().setDisabled(true);
		accGrid.getTopToolbar().setDisabled(true);
	}
	
	if ( Tab != 0 ) { // pay attention, this block must after win2.show()
		regForm.getComponent("rf1").setDisabled(true);	
		regForm.getComponent("rf2").setDisabled(true);	
	}
	
	regForm.getForm().load({url:'callback/counterMMregCallback.jsp', params:{p:getClient, t:"select"}, waitMsg:'載入中...'});

	regForm.getForm().on('actioncomplete', function(FORM, ACTION){
		if ( Ext.get("reg1").dom.value.length != 0 && Tab == 0 ) { // Tab == 0, important!
			payGrid.getTopToolbar().setDisabled(false);
			appGrid.getTopToolbar().setDisabled(false);
		}
		
		payStore.load({params:{p:Ext.get("reg1").dom.value}}); 
	});
	
	sysCombo.on('select', function(cb, rd, ix) {
		var obj = new Object();
		
		obj.p = cb.getValue();
		obj.q = cb.id.substr(3, cb.id.length-3);
		obj.r = Ext.get("reg1").dom.value;
		obj.t = "update";
	
		regSetting("counterMMregCallback.jsp", obj);	
	});
	
	setCombo.on('select', function(cb, rd, ix) {		
		var obj = new Object();
			
		obj.p = cb.getValue();
		obj.q = cb.id.substr(3, cb.id.length-3);
		obj.r = Ext.get("reg1").dom.value;
		obj.t = "update";
	
		regSetting("counterMMregCallback.jsp", obj);	
	});
	
	Ext.select('input').on('change', function(e) {
		if ( e.target.id.substr(0, 3) == "reg" ) {
			var obj = new Object();
			
			obj.p = Ext.get(e.target.id).dom.value;
			obj.q = e.target.id.substr(3, e.target.id.length-3);
			obj.r = Ext.get("reg1").dom.value;
			obj.t = "update";
		
			regSetting("counterMMregCallback.jsp", obj);	
		}
	});
	
	Ext.select('input').on('blur', function(e) {
		if ( e.target.id == "reg4" || e.target.id == "reg5" ) {
			var obj = new Object();
			
			obj.p = Ext.get(e.target.id).dom.value;
			obj.q = e.target.id.substr(3, e.target.id.length-3);
			obj.r = Ext.get("reg1").dom.value;
			obj.t = "update";
		
			regSetting("counterMMregCallback.jsp", obj);
		}
	});

	function regSetting(ua, pa) { //ua: url argument
		Ext.Ajax.request ({	
			url: "callback/" + ua,
			method: 'post',
			params: pa,
			success: function(o) {
				var items = eval('(' + o.responseText + ')');
				
				//alert(o.responseText);
			}
		});		
	}
}
