var CheckMsgHTML = "";
var CheckMsgID = "MsgChecker";

if (Ext.isIE == true) {
	CheckMsgHTML+= '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="1" height="1" id="'+CheckMsgID+'" align="middle">';
	CheckMsgHTML+= '<param name="allowScriptAccess" value="always" />';
	CheckMsgHTML+= '<param name="flashVars" value="" />';
	CheckMsgHTML+= '<param name="movie" value="/flash/msgchecker.swf" />';
	CheckMsgHTML+= '<param name="quality" value="high" />';
	CheckMsgHTML+= '<param name="wmode" value="transparent" />';
	CheckMsgHTML+= '<embed src="/flash/msgchecker.swf" quality="high" wmode="transparent" style="width:1px; height:1px;" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars=""></embed>';
	CheckMsgHTML+= '</object>';
} else {
	CheckMsgHTML+= '<embed id="'+CheckMsgID+'" src="/flash/msgchecker.swf?rnd='+Math.random()+'" quality="high" wmode="transparent" style="width:1px; height:1px;" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars=""></embed>';
}

function MemberInfoPrint(info) {
	Ext.Ajax.request({
		url:"/exec/member.php?action=info",
		success:function(XML) {
			var logged = XML.responseXML.getElementsByTagName("logged")[0].firstChild.nodeValue;
			
			if (logged == 'TRUE') {
				gMember = info;

				var user_id = XML.responseXML.getElementsByTagName("user_id")[0].firstChild.nodeValue;
				var nickname = XML.responseXML.getElementsByTagName("nickname")[0].firstChild.nodeValue;
				var photo = XML.responseXML.getElementsByTagName("photo")[0].firstChild.nodeValue;

				var level = XML.responseXML.getElementsByTagName("level")[0].firstChild.nodeValue;
				var exp = XML.responseXML.getElementsByTagName("exp")[0].firstChild.nodeValue;
				var next = XML.responseXML.getElementsByTagName("next")[0].firstChild.nodeValue;
				var remain = XML.responseXML.getElementsByTagName("remain")[0].firstChild.nodeValue;
				var expPer = Math.ceil(parseInt(exp)/(next)*100);

				var point = XML.responseXML.getElementsByTagName("point")[0].firstChild.nodeValue;

				document.getElementById("MemberLoggedPhoto").innerHTML = '<img src="'+photo+'?rnd='+Math.random()+'" style="width:55px; height:55px;" />';
				var loggedHTML = '<b>'+nickname+'</b> ('+user_id+')';
				loggedHTML+= '<div style="border-top:1px dotted #CCCCCC; margin-top:5px; height:5px; overflow:hidden;"></div>';
				loggedHTML+= '<table cellpadding="0" cellspacing="0" class="Expbar" title="'+exp+'/'+(next)+'"><col width="40" /><col width="1" /><col width="'+expPer+'%" /><col width="'+(100-expPer)+'%" /><col width="2" /><tr style="height:11px; overflow:hidden;"><td class="ExpbarLevel">LEV.<span style="color:#EF5600;">'+level+'</span></td><td class="ExpbarStart"></td><td class="ExpbarExp"></td><td class="ExpbarRemain"></td><td class="ExpbarEnd"></td></tr></table>';
				loggedHTML+= '<span style="font-family:verdana; font-size:10px; font-weight:bold;">POINT.<span style="color:#EF5600;">'+Ext.util.Format.number(point,"0,0")+'</span></span>';
				document.getElementById("MemberLoggedInfo").innerHTML = loggedHTML;
				Ext.getCmp("MemberLoginForm").hide();
			} else {
				gMember = null;
				Ext.getCmp("MemberLoginForm").show();
			}
		},
		failure:function() {
			Ext.Msg.show({title:"에러",msg:"처리하지 못하였습니다.",buttons:Ext.Msg.OK,icon:Ext.MessageBox.WARNING});
		},
		headers:{},
		params:{logged:info}
	});
}

function MemberJoin() {
	new Ext.Window({
		id:"MemberJoinWindow",
		width:500,
		height:400,
		autoScroll:true,
		title:"회원가입",
		items:[
			new Ext.form.FormPanel({
				id:"MemberJoinForm",
				labelWidth:80,
				border:false,
				fileUpload:true,
				style:"padding:5px; background:#FFFFFF;",
				errorReader:new Ext.form.XmlErrorReader(),
				items:[
					new Ext.form.FieldSet({
						title:"기본정보입력",
						items:[
							new Ext.form.TextField({
								fieldLabel:"회원아이디",
								name:"user_id",
								width:150,
								allowBlank:false
							}),
							new Ext.form.TextField({
								fieldLabel:"닉네임",
								name:"nickname",
								width:150,
								allowBlank:false
							}),
							new Ext.form.TextField({
								fieldLabel:"패스워드",
								name:"password1",
								width:150,
								inputType:"password",
								allowBlank:false
							}),
							new Ext.form.TextField({
								fieldLabel:"패스워드확인",
								name:"password2",
								width:150,
								inputType:"password",
								allowBlank:false
							}),
							new Ext.form.TextField({
								fieldLabel:"이메일주소",
								name:"email",
								width:250,
								allowBlank:false
							})
						]
					}),
					new Ext.form.FieldSet({
						title:"부가정보입력",
						items:[
							new Ext.ux.form.FileUploadField({
								fieldLabel:"닉이미지",
								name:"nickcon",
								width:350,
								emptyText:"가로 90px, 세로 14px 이하의 GIF 파일만 가능합니다.",
								buttonText:"",
								buttonCfg:{iconCls:"upload-image"},
								listeners:{
									focus:{fn:function(form) {
										if (form.getValue()) {
											Ext.Msg.show({title:"초기화선택",msg:"닉이미지선택을 초기화 하시겠습니까?",buttons:Ext.Msg.OKCANCEL,icon:Ext.MessageBox.QUESTION,fn:function(button) {
											if (button == "ok") {
												form.reset();
											}
										}});
										}
									}},
									invalid:{fn:function(form,text) {
										if (form.getValue()) {
											form.reset();
											form.markInvalid(text);
										}
									}}
								}
							}),
							new Ext.ux.form.FileUploadField({
								fieldLabel:"회원사진",
								name:"photo",
								width:350,
								emptyText:"가로 60px, 세로 60px 사이즈로 자동리사이즈 됩니다.",
								buttonText:"",
								buttonCfg:{iconCls:"upload-image"},
								listeners:{
									focus:{fn:function(form) {
										if (form.getValue()) {
											Ext.Msg.show({title:"초기화선택",msg:"회원사진선택을 초기화 하시겠습니까?",buttons:Ext.Msg.OKCANCEL,icon:Ext.MessageBox.QUESTION,fn:function(button) {
											if (button == "ok") {
												form.reset();
											}
										}});
										}
									}},
									invalid:{fn:function(form,text) {
										if (form.getValue()) {
											form.reset();
											form.markInvalid(text);
										}
									}}
								}
							}),
							new Ext.form.TextField({
								fieldLabel:"홈페이지",
								name:"homepage",
								width:350
							}),
							new Ext.form.TextField({
								fieldLabel:"서명",
								name:"signature",
								width:350,
								height:80,
								emptyText:"작성한 게시물 하단에 출력됩니다. (HTML사용불가)"
							})
						]
					})
				],
				listeners:{actioncomplete:{fn:function(form,action) {
					if (action.type == "submit") {
						Ext.Msg.show({title:"안내",msg:"회원가입이 완료되었습니다.<br />입력하신 아이디와 암호로 로그인하여 주십시오.",buttons:Ext.Msg.OK,icon:Ext.MessageBox.INFO});
						Ext.getCmp("MemberJoinWindow").close();
					}
				}}}
			})
		],
		buttons:[
			new Ext.Button({
				text:"회원가입",
				handler:function() {
					Ext.getCmp("MemberJoinForm").getForm().submit({url:"/exec/member.php?action=join",waitMsg:"회원가입중입니다."});
				}
			}),
			new Ext.Button({
				text:"취소",
				handler:function() {
					Ext.getCmp("MemberJoinWindow").close();
				}
			})
		]
	}).show();
}

function MemberMyPageMenu(id) {
	var MenuList = new Array("Info","MsgBox");

	if (Ext.getCmp("MemberMyPageMain")) Ext.getCmp("MemberMyPageBody").remove(Ext.getCmp("MemberMyPageMain"));

	for (var i=0, loop=MenuList.length;i<loop;i++) {
		document.getElementById("MemberMyPageMenu"+MenuList[i]).className = "";
		if (Ext.getCmp("MemberMyPage"+MenuList[i])) Ext.getCmp("MemberMyPageBody").remove(Ext.getCmp("MemberMyPage"+MenuList[i]));
	}

	var id = id.replace("MemberMyPageMenu","");

	document.getElementById("MemberMyPageMenu"+id).className = "categoryon";

	if (id == "Info") {
		Ext.getCmp("MemberMyPageBody").add(
			new Ext.form.FormPanel({
				title:"나의정보수정",
				id:"MemberMyPageInfo",
				labelWidth:80,
				border:false,
				fileUpload:true,
				reader:new Ext.data.XmlReader({
					record:"login",
					success:"@success"
				},["user_id","nickname","email","homepage","signature"]),
				errorReader:new Ext.form.XmlErrorReader(),
				items:[
					new Ext.form.FieldSet({
						title:"기본정보입력",
						style:"margin:5px; padding:10px;",
						items:[
							new Ext.form.TextField({
								fieldLabel:"회원아이디",
								name:"user_id",
								width:150,
								readOnly:true,
								allowBlank:false
							}),
							new Ext.form.TextField({
								fieldLabel:"닉네임",
								name:"nickname",
								width:150,
								readOnly:true,
								allowBlank:false
							}),
							new Ext.form.TextField({
								fieldLabel:"패스워드",
								name:"password1",
								width:150,
								inputType:"password",
								emptyText:"변경시만 입력하세요."
							}),
							new Ext.form.TextField({
								fieldLabel:"패스워드확인",
								name:"password2",
								width:150,
								inputType:"password"
							}),
							new Ext.form.TextField({
								fieldLabel:"이메일주소",
								name:"email",
								width:250,
								allowBlank:false
							})
						]
					}),
					new Ext.form.FieldSet({
						title:"부가정보입력",
						style:"margin:5px; padding:10px;",
						items:[
							new Ext.ux.form.FileUploadField({
								fieldLabel:"닉이미지",
								name:"nickcon",
								width:350,
								emptyText:"가로 90px, 세로 14px 이하의 GIF 파일만 가능합니다.",
								buttonText:"",
								buttonCfg:{iconCls:"upload-image"},
								listeners:{
									focus:{fn:function(form) {
										if (form.getValue()) {
											Ext.Msg.show({title:"초기화선택",msg:"닉이미지선택을 초기화 하시겠습니까?",buttons:Ext.Msg.OKCANCEL,icon:Ext.MessageBox.QUESTION,fn:function(button) {
											if (button == "ok") {
												form.reset();
											}
										}});
										}
									}},
									invalid:{fn:function(form,text) {
										if (form.getValue()) {
											form.reset();
											form.markInvalid(text);
										}
									}}
								}
							}),
							new Ext.ux.form.FileUploadField({
								fieldLabel:"회원사진",
								name:"photo",
								width:350,
								emptyText:"가로 60px, 세로 60px 사이즈로 자동리사이즈 됩니다.",
								buttonText:"",
								buttonCfg:{iconCls:"upload-image"},
								listeners:{
									focus:{fn:function(form) {
										if (form.getValue()) {
											Ext.Msg.show({title:"초기화선택",msg:"회원사진선택을 초기화 하시겠습니까?",buttons:Ext.Msg.OKCANCEL,icon:Ext.MessageBox.QUESTION,fn:function(button) {
											if (button == "ok") {
												form.reset();
											}
										}});
										}
									}},
									invalid:{fn:function(form,text) {
										if (form.getValue()) {
											form.reset();
											form.markInvalid(text);
										}
									}}
								}
							}),
							new Ext.form.TextField({
								fieldLabel:"홈페이지",
								name:"homepage",
								width:350
							}),
							new Ext.form.TextField({
								fieldLabel:"서명",
								name:"signature",
								width:350,
								height:80,
								emptyText:"작성한 게시물 하단에 출력됩니다. (HTML사용불가)"
							})
						]
					})
				],
				buttons:[
					new Ext.Button({
						text:"회원정보수정",
						handler:function() {
							Ext.getCmp("MemberMyPageInfo").getForm().submit({url:"/exec/member.php?action=modify&logged="+gMember,waitMsg:"정보수정중입니다."});
						}
					})
				],
				listeners:{
					actioncomplete:{fn:function(form,action) {
						if (action.type == "submit") {
							if (action.response.responseXML.getElementsByTagName("logged")[0].firstChild.nodeValue == "TRUE") {
								Ext.Msg.show({title:"안내",msg:"회원정보수정이 성공적으로 이루어졌습니다.",buttons:Ext.Msg.OK,icon:Ext.MessageBox.INFO});
								MemberInfoPrint(gMember);
							} else {
								Ext.Msg.show({title:"에러",msg:"로그인상태가 아닙니다.",buttons:Ext.Msg.OK,icon:Ext.MessageBox.WARNING});
								gMember = null;
								Ext.getCmp("MemberLoginForm").show();
								Ext.getCmp("MemberMyPagewindow").close();
							}
						}

						if (action.type == "load") {
							if (action.response.responseXML.getElementsByTagName("logged")[0].firstChild.nodeValue == "FALSE") {
								gMember = null;
								Ext.getCmp("MemberLoginForm").show();
								Ext.getCmp("MemberMyPagewindow").close();
							}
						}
					}},
					render:{fn:function() {
						Ext.getCmp("MemberMyPageInfo").getForm().load({url:"/exec/member.php?action=check&logged="+gMember,waitMsg:"로딩중입니다"});
					}}
				}
			})
		);
	}

	if (id == "MsgBox") {
		var InBoxStore = new Ext.data.Store({
			proxy:new Ext.data.ScriptTagProxy({url:'/exec/member.php?action=inbox_list'}),
			reader:new Ext.data.JsonReader({
				root:'lists',
				totalProperty:'totalCount',
				fields:["idx","title","name","mno","reg_date","is_read","nickcon","email","homepage"]
			}),
			remoteSort:true,
			baseParams:{keyword:"",mno:""},
			sortInfo:{field:"idx", direction:"DESC"}
		});

		var SendBoxStore = new Ext.data.Store({
			proxy:new Ext.data.ScriptTagProxy({url:'/exec/member.php?action=sendbox_list'}),
			reader:new Ext.data.JsonReader({
				root:'lists',
				totalProperty:'totalCount',
				fields:["idx","title","content","name","mno","reg_date","reg_fulldate","is_read","nickcon","email","homepage"]
			}),
			remoteSort:true,
			baseParams:{keyword:"",mno:""},
			sortInfo:{field:"idx", direction:"DESC"}
		});

		var KeepBoxStore = new Ext.data.Store({
			proxy:new Ext.data.ScriptTagProxy({url:'/exec/member.php?action=keepbox_list'}),
			reader:new Ext.data.JsonReader({
				root:'lists',
				totalProperty:'totalCount',
				fields:["idx","title","content","name","mno","reg_date","reg_fulldate","is_read","nickcon","email","homepage"]
			}),
			remoteSort:true,
			baseParams:{keyword:"",mno:""},
			sortInfo:{field:"idx", direction:"DESC"}
		});

		Ext.getCmp("MemberMyPageBody").add(
			new Ext.Panel({
				title:"나의 쪽지함",
				id:"MemberMyPageMsgBox",
				border:false,
				layout:"fit",
				items:[
					new Ext.TabPanel({
						tabPosition:"bottom",
						border:false,
						activeTab:0,
						defaults:{autoScroll:true},
						items:[
							new Ext.grid.GridPanel({
								id:"MemberMyPageMsgInBox",
								title:"받은쪽지함",
								layout:"fit",
								tbar:[
									new Ext.Button({
										text:"영구보관",
										icon:"/images/icon/icon_folder_star.png",
										handler:function() {
											var checked = new Ext.getCmp("MemberMyPageMsgInBox").selModel.getSelections();

											if (checked.length == 0) {
												Ext.Msg.show({title:"에러",msg:"영구보관할 쪽지를 선택하세요.",buttons:Ext.Msg.OK,icon:Ext.MessageBox.WARNING});
											} else {
												Ext.Msg.show({title:"안내",msg:"선택하신 쪽지를 영구보관하시겠습니까?<br />보관하지 않은 쪽지는 1달후 자동으로 삭제됩니다.",buttons:Ext.Msg.OK,icon:Ext.MessageBox.QUESTION,fn:function(button) {
													if (button == "ok") {
														var idxs = new Array();
														for (var i=0, loop=checked.length;i<loop;i++) {
															idxs.push(checked[i].get("idx"));
														}
														var idx = idxs.join(",");

														Ext.Ajax.request({
															url:"/exec/member.php?action=keepmsg",
															success:function(XML) {
																var keepmsg = XML.responseXML.getElementsByTagName("keep")[0].firstChild.nodeValue;
																
																if (parseInt(keepmsg) > 0) {
																	InBoxStore.reload();
																	Ext.Msg.show({title:"안내",msg:"총 <b>"+keepmsg+"</b>개의 쪽지를 영구보관하였습니다.",buttons:Ext.Msg.OK,icon:Ext.MessageBox.INFO});
																} else {
																	Ext.Msg.show({title:"에러",msg:"영구보관하지 못하였습니다.<br />다시 로그인하시고 시도해보세요.",buttons:Ext.Msg.OK,icon:Ext.MessageBox.WARNING});
																}
															},
															failure:function() {},
															headers:{},
															params:{idx:idx}
														});
													}
												}});
											}
										}
									}),
									new Ext.Button({
										text:"삭제",
										icon:"/images/icon/icon_note_delete.png",
										handler:function() {
											var checked = new Ext.getCmp("MemberMyPageMsgInBox").selModel.getSelections();

											if (checked.length == 0) {
												Ext.Msg.show({title:"에러",msg:"삭제할 쪽지를 선택하세요.",buttons:Ext.Msg.OK,icon:Ext.MessageBox.WARNING});
											} else {
												Ext.Msg.show({title:"안내",msg:"선택하신 쪽지를 정말 삭제하시겠습니까?<br />삭제된 쪽지는 복구하지 못합니다.",buttons:Ext.Msg.OK,icon:Ext.MessageBox.QUESTION,fn:function(button) {
													if (button == "ok") {
														var idxs = new Array();
														for (var i=0, loop=checked.length;i<loop;i++) {
															idxs.push(checked[i].get("idx"));
														}
														var idx = idxs.join(",");

														Ext.Ajax.request({
															url:"/exec/member.php?action=delmsg",
															success:function(XML) {
																var delmsg = XML.responseXML.getElementsByTagName("delete")[0].firstChild.nodeValue;
																
																if (parseInt(delmsg) > 0) {
																	InBoxStore.reload();
																	Ext.Msg.show({title:"안내",msg:"총 <b>"+delmsg+"</b>개의 쪽지를 삭제하였습니다.",buttons:Ext.Msg.OK,icon:Ext.MessageBox.INFO});
																} else {
																	Ext.Msg.show({title:"에러",msg:"삭제하지 못하였습니다.<br />다시 로그인하시고 시도해보세요.",buttons:Ext.Msg.OK,icon:Ext.MessageBox.WARNING});
																}
															},
															failure:function() {},
															headers:{},
															params:{idx:idx}
														});
													}
												}});
											}
										}
									}),
									{xtype:"tbseparator"},
									new Ext.form.TextField({
										id:"MemberMyPageMsgInBoxKeyword",
										emptyText:"검색어를 입력하세요.",
										width:150,
										listeners:{
											specialkey:{fn:function (form,e) {
												if (e.keyCode == 13) {
													InBoxStore.baseParams.keyword = Ext.getCmp("MemberMyPageMsgInBoxKeyword").getValue();
													InBoxStore.load({params:{start:0,limit:50}});
												}
											}}
										}
									}),
									{xtype:"tbspacer"},
									new Ext.Button({
										text:"검색",
										cls:"x-btn-text-icon details",
										icon:"/images/icon/icon_magnifier.png",
										handler:function() {
											InBoxStore.baseParams.keyword = Ext.getCmp("MemberMyPageMsgInBoxKeyword").getValue();
											InBoxStore.load({params:{start:0,limit:50}});
										}
									}),
									new Ext.Button({
										text:"검색취소",
										handler:function() {
											Ext.getCmp("MemberMyPageMsgInBoxKeyword").setValue("");
											InBoxStore.baseParams.keyword = "";
											InBoxStore.load({params:{start:0,limit:50}});
										}
									})
								],
								cm:new Ext.grid.ColumnModel([
									new Ext.grid.CheckboxSelectionModel(),
									{
										id:"title",
										header:"제목",
										dataIndex:"title",
										sortable:true,
										minWidth:200,
										sortable:true,
										renderer:function(value,p,record) {
											var str = value;
											if (record.data.is_read == "FALSE") str+= '<img src="/images/icon/icon_bullet_new.png" alt="신규쪽지" style="vertical-align:middle; margin:0px 3px 0px 3px;" />';
											return value;
										}
									},{
										header:"보낸사람",
										dataIndex:"name",
										width:100,
										renderer:function(value,p,record) {
											if (record.data.nickcon) return '<img src="'+record.data.nickcon+'" style="vertical-align:middle;" />';
											else if (record.data.mno != '0') return '<b>'+value+'</b>';
											else return value;
										}
									},{
										header:"받은날짜",
										dataIndex:"reg_date",
										sortable:true,
										width:80
									}
								]),
								store:InBoxStore,
								autoExpandColumn:"title",
								sm:new Ext.grid.CheckboxSelectionModel(),
								bbar:new Ext.PagingToolbar({
									pageSize:30,
									store:InBoxStore,
									displayInfo:true,
									displayMsg:'{0} - {1} of {2}',
									emptyMsg:"데이터가 없습니다."
								}),
								listeners:{
									cellcontextmenu:{fn:function(grid,row,col,e) {
										if (col == 2) {
											var data = grid.getStore().getAt(row);

											var menu = new Ext.menu.Menu();
											menu.add({
												text:"이름으로검색",
												icon:(Ext.isIE6 ? "" : "/images/icon/icon_magnifier.png"),
												handler:function(item) {
													InBoxStore.baseParams.mno = data.get("mno");
													InBoxStore.load({params:{start:0,limit:50}});
												}
											});
											if (data.get("homepage")) {
												menu.add({
													text:"홈페이지",
													icon:(Ext.isIE6 ? "" : "/images/icon/icon_house_link.png"),
													handler:function(item) {
														window.open(data.get("homepage"));
													}
												});
											}
											if (data.get("mno") != "0" && gMember != null) {
												menu.add({
													text:"쪽지보내기",
													icon:(Ext.isIE6 ? "" : "/images/icon/icon_note_edit.png"),
													handler:function(item) {
														MemberSendMessage(data.get("mno"),data.get("name"));
													}
												});
											}
											e.stopEvent();
											menu.showAt(e.getXY());
										}
									}},
									cellclick:{fn:function(grid,row,col,e) {
										if (col > 0) {
											var data = grid.getStore().getAt(row);

											if (!Ext.getCmp("MemberMessageViewInBox"+data.get("idx"))) {
												Ext.Ajax.request({
													url:"/exec/member.php?action=getmsg",
													success:function(XML) {
														var isLoad = XML.responseXML.getElementsByTagName("isLoad")[0].firstChild.nodeValue;
														
														if (isLoad == 'TRUE') {
															var idx = XML.responseXML.getElementsByTagName("idx")[0].firstChild.nodeValue;
															var fromname = XML.responseXML.getElementsByTagName("fromname")[0].firstChild.nodeValue;
															var fromno = XML.responseXML.getElementsByTagName("fromno")[0].firstChild.nodeValue;
															var title = XML.responseXML.getElementsByTagName("title")[0].firstChild.nodeValue;
															var content = XML.responseXML.getElementsByTagName("content")[0].firstChild.nodeValue;
															var reg_date = XML.responseXML.getElementsByTagName("reg_date")[0].firstChild.nodeValue;

															var sHTML = "";
															sHTML+= '<div style="padding:5px; background:#E5E5E5; border-bottom:1px solid #CCCCCC;">';
															sHTML+= '<div style="font-size:13px; font-weight:bold; font-family:돋움; padding-bottom:5px;">'+title+'</div>';
															sHTML+= '<div style="color:#666666; font-size:11px; font-family:돋움;"><b>'+fromname+'</b>님이 <b>'+reg_date+'</b>에 보낸 쪽지입니다.</div>';
															sHTML+= '</div>';
															sHTML+= '<div style="padding:5px; line-height:160%; font-size:12px; font-family:돋움;">'+content+'</div>';

															new Ext.Window({
																id:"MemberMessageViewInBox"+data.get("idx"),
																title:fromname+"님의 쪽지",
																width:400,
																height:300,
																layout:"fit",
																items:[
																	new Ext.Panel({
																		layout:"fit",
																		border:false,
																		autoScroll:true,
																		html:sHTML
																	})
																],
																buttons:[
																	new Ext.Button({
																		text:"답장보내기",
																		handler:function() {
																			MemberSendMessage(fromno,fromname);
																			Ext.getCmp("MemberMessageView"+idx).close();
																		}
																	})
																]
															}).show();
														}
													},
													failure:function() {},
													headers:{},
													params:{idx:data.get("idx")}
												});
											}
										}
									}}
								}
							}),
							new Ext.grid.GridPanel({
								id:"MemberMyPageMsgSendBox",
								title:"보낸쪽지함",
								layout:"fit",
								tbar:[
									new Ext.Button({
										text:"발송취소 및 삭제",
										icon:"/images/icon/icon_folder_star.png",
										handler:function() {
											var checked = new Ext.getCmp("MemberMyPageMsgSendBox").selModel.getSelections();

											if (checked.length == 0) {
												Ext.Msg.show({title:"에러",msg:"발송취소 및 삭제할 쪽지를 선택하세요.",buttons:Ext.Msg.OK,icon:Ext.MessageBox.WARNING});
											} else {
												Ext.Msg.show({title:"안내",msg:"선택하신 쪽지를 발송취소 및 삭제하시겠습니까?<br />발송취소는 상대방이 읽지않은경우에만 가능합니다.",buttons:Ext.Msg.OK,icon:Ext.MessageBox.QUESTION,fn:function(button) {
													if (button == "ok") {
														var idxs = new Array();
														for (var i=0, loop=checked.length;i<loop;i++) {
															idxs.push(checked[i].get("idx"));
														}
														var idx = idxs.join(",");

														Ext.Ajax.request({
															url:"/exec/member.php?action=cancelmsg",
															success:function(XML) {
																var cancelmsg = XML.responseXML.getElementsByTagName("cancel")[0].firstChild.nodeValue;
																var delmsg = XML.responseXML.getElementsByTagName("delete")[0].firstChild.nodeValue;
																
																if (parseInt(cancelmsg) > 0 || parseInt(delmsg) > 0) {
																	SendBoxStore.reload();
																	Ext.Msg.show({title:"안내",msg:"총 <b>"+cancelmsg+"</b>개의 쪽지를 발송취소하였습니다.<br />총 <b>"+delmsg+"</b>개의 쪽지를 삭제하였습니다.",buttons:Ext.Msg.OK,icon:Ext.MessageBox.INFO});
																} else {
																	Ext.Msg.show({title:"에러",msg:"처리하지 못하였습니다.<br />다시 로그인하시고 시도해보세요.",buttons:Ext.Msg.OK,icon:Ext.MessageBox.WARNING});
																}
															},
															failure:function() {},
															headers:{},
															params:{idx:idx}
														});
													}
												}});
											}
										}
									}),
									{xtype:"tbseparator"},
									new Ext.form.TextField({
										id:"MemberMyPageMsgSendBoxKeyword",
										emptyText:"검색어를 입력하세요.",
										width:150,
										listeners:{
											specialkey:{fn:function (form,e) {
												if (e.keyCode == 13) {
													SendBoxStore.baseParams.keyword = Ext.getCmp("MemberMyPageMsgSendBoxKeyword").getValue();
													SendBoxStore.load({params:{start:0,limit:50}});
												}
											}}
										}
									}),
									{xtype:"tbspacer"},
									new Ext.Button({
										text:"검색",
										cls:"x-btn-text-icon details",
										icon:"/images/icon/icon_magnifier.png",
										handler:function() {
											SendBoxStore.baseParams.keyword = Ext.getCmp("MemberMyPageMsgSendBoxKeyword").getValue();
											SendBoxStore.load({params:{start:0,limit:50}});
										}
									}),
									new Ext.Button({
										text:"검색취소",
										handler:function() {
											Ext.getCmp("MemberMyPageMsgSendBoxKeyword").setValue("");
											SendBoxStore.baseParams.keyword = "";
											SendBoxStore.load({params:{start:0,limit:50}});
										}
									})
								],
								cm:new Ext.grid.ColumnModel([
									new Ext.grid.CheckboxSelectionModel(),
									{
										id:"title",
										header:"제목",
										dataIndex:"title",
										sortable:true,
										minWidth:200,
										sortable:true
									},{
										header:"받는사람",
										dataIndex:"name",
										width:100,
										renderer:function(value,p,record) {
											if (record.data.nickcon) return '<img src="'+record.data.nickcon+'" style="vertical-align:middle;" />';
											else if (record.data.mno != '0') return '<b>'+value+'</b>';
											else return value;
										}
									},{
										header:"보낸날짜",
										dataIndex:"reg_date",
										sortable:true,
										width:80
									},{
										header:"확인여부",
										dataIndex:"is_read",
										width:60,
										renderer:function(value) {
											if (value == "TRUE") {
												return '읽음';
											} else {
												return '<span style="color:#EF5600;">읽지않음</span>';
											}
										}
									}
								]),
								store:SendBoxStore,
								autoExpandColumn:"title",
								sm:new Ext.grid.CheckboxSelectionModel(),
								bbar:new Ext.PagingToolbar({
									pageSize:30,
									store:SendBoxStore,
									displayInfo:true,
									displayMsg:'{0} - {1} of {2}',
									emptyMsg:"데이터가 없습니다."
								}),
								listeners:{
									cellcontextmenu:{fn:function(grid,row,col,e) {
										if (col == 2) {
											var data = grid.getStore().getAt(row);

											var menu = new Ext.menu.Menu();
											menu.add({
												text:"이름으로검색",
												icon:(Ext.isIE6 ? "" : "/images/icon/icon_magnifier.png"),
												handler:function(item) {
													InBoxStore.baseParams.mno = data.get("mno");
													InBoxStore.load({params:{start:0,limit:50}});
												}
											});
											if (data.get("homepage")) {
												menu.add({
													text:"홈페이지",
													icon:(Ext.isIE6 ? "" : "/images/icon/icon_house_link.png"),
													handler:function(item) {
														window.open(data.get("homepage"));
													}
												});
											}
											if (data.get("mno") != "0" && gMember != null) {
												menu.add({
													text:"쪽지보내기",
													icon:(Ext.isIE6 ? "" : "/images/icon/icon_note_edit.png"),
													handler:function(item) {
														MemberSendMessage(data.get("mno"),data.get("name"));
													}
												});
											}
											e.stopEvent();
											menu.showAt(e.getXY());
										}
									}},
									cellclick:{fn:function(grid,row,col,e) {
										if (col > 0) {
											var data = grid.getStore().getAt(row);

											if (!Ext.getCmp("MemberMessageViewSendBox"+data.get("idx"))) {
												var sHTML = "";
												sHTML+= '<div style="padding:5px; background:#E5E5E5; border-bottom:1px solid #CCCCCC;">';
												sHTML+= '<div style="font-size:13px; font-weight:bold; font-family:돋움; padding-bottom:5px;">'+data.get("title")+'</div>';
												sHTML+= '<div style="color:#666666; font-size:11px; font-family:돋움;"><b>'+data.get("name")+'</b>님에게 <b>'+data.get("reg_fulldate")+'</b>에 발송한 쪽지입니다.</div>';
												sHTML+= '</div>';
												sHTML+= '<div style="padding:5px; line-height:160%; font-size:12px; font-family:돋움;">'+data.get("content")+'</div>';

												new Ext.Window({
													id:"MemberMessageViewSendBox"+data.get("idx"),
													title:data.get("name")+"님에게 발송한 쪽지",
													width:400,
													height:300,
													layout:"fit",
													items:[
														new Ext.Panel({
															layout:"fit",
															border:false,
															autoScroll:true,
															html:sHTML
														})
													],
													buttons:[
														new Ext.Button({
															text:"쪽지보내기",
															handler:function() {
																MemberSendMessage(data.get("mno"),data.get("name"));
																Ext.getCmp("MemberMessageView"+data.get("idx")).close();
															}
														})
													]
												}).show();
											}
										}
									}}
								}
							}),
							new Ext.grid.GridPanel({
								id:"MemberMyPageMsgKeepBox",
								title:"보관함",
								layout:"fit",
								tbar:[
									new Ext.Button({
										text:"삭제",
										icon:"/images/icon/icon_note_delete.png",
										handler:function() {
											var checked = new Ext.getCmp("MemberMyPageMsgKeepBox").selModel.getSelections();

											if (checked.length == 0) {
												Ext.Msg.show({title:"에러",msg:"삭제할 쪽지를 선택하세요.",buttons:Ext.Msg.OK,icon:Ext.MessageBox.WARNING});
											} else {
												Ext.Msg.show({title:"안내",msg:"선택하신 쪽지를 정말 삭제하시겠습니까?<br />삭제된 쪽지는 복구하지 못합니다.",buttons:Ext.Msg.OK,icon:Ext.MessageBox.QUESTION,fn:function(button) {
													if (button == "ok") {
														var idxs = new Array();
														for (var i=0, loop=checked.length;i<loop;i++) {
															idxs.push(checked[i].get("idx"));
														}
														var idx = idxs.join(",");

														Ext.Ajax.request({
															url:"/exec/member.php?action=delmsg",
															success:function(XML) {
																var delmsg = XML.responseXML.getElementsByTagName("delete")[0].firstChild.nodeValue;
																
																if (parseInt(delmsg) > 0) {
																	KeepBoxStore.reload();
																	Ext.Msg.show({title:"안내",msg:"총 <b>"+delmsg+"</b>개의 쪽지를 삭제하였습니다.",buttons:Ext.Msg.OK,icon:Ext.MessageBox.INFO});
																} else {
																	Ext.Msg.show({title:"에러",msg:"삭제하지 못하였습니다.<br />다시 로그인하시고 시도해보세요.",buttons:Ext.Msg.OK,icon:Ext.MessageBox.WARNING});
																}
															},
															failure:function() {},
															headers:{},
															params:{idx:data.get("idx")}
														});
													}
												}});
											}
										}
									}),
									{xtype:"tbseparator"},
									new Ext.form.TextField({
										id:"MemberMyPageMsgInBoxKeyword",
										emptyText:"검색어를 입력하세요.",
										width:150,
										listeners:{
											specialkey:{fn:function (form,e) {
												if (e.keyCode == 13) {
													KeepBoxStore.baseParams.keyword = Ext.getCmp("MemberMyPageMsgInBoxKeyword").getValue();
													KeepBoxStore.load({params:{start:0,limit:50}});
												}
											}}
										}
									}),
									{xtype:"tbspacer"},
									new Ext.Button({
										text:"검색",
										cls:"x-btn-text-icon details",
										icon:"/images/icon/icon_magnifier.png",
										handler:function() {
											KeepBoxStore.baseParams.keyword = Ext.getCmp("MemberMyPageMsgInBoxKeyword").getValue();
											KeepBoxStore.load({params:{start:0,limit:50}});
										}
									}),
									new Ext.Button({
										text:"검색취소",
										handler:function() {
											Ext.getCmp("MemberMyPageMsgInBoxKeyword").setValue("");
											KeepBoxStore.baseParams.keyword = "";
											KeepBoxStore.load({params:{start:0,limit:50}});
										}
									})
								],
								cm:new Ext.grid.ColumnModel([
									new Ext.grid.CheckboxSelectionModel(),
									{
										id:"title",
										header:"제목",
										dataIndex:"title",
										sortable:true,
										minWidth:200,
										sortable:true
									},{
										header:"보낸사람",
										dataIndex:"name",
										width:100,
										renderer:function(value,p,record) {
											if (record.data.nickcon) return '<img src="'+record.data.nickcon+'" style="vertical-align:middle;" />';
											else if (record.data.mno != '0') return '<b>'+value+'</b>';
											else return value;
										}
									},{
										header:"받은날짜",
										dataIndex:"reg_date",
										sortable:true,
										width:80
									}
								]),
								store:KeepBoxStore,
								autoExpandColumn:"title",
								sm:new Ext.grid.CheckboxSelectionModel(),
								bbar:new Ext.PagingToolbar({
									pageSize:30,
									store:KeepBoxStore,
									displayInfo:true,
									displayMsg:'{0} - {1} of {2}',
									emptyMsg:"데이터가 없습니다."
								}),
								listeners:{
									cellcontextmenu:{fn:function(grid,row,col,e) {
										if (col == 2) {
											var data = grid.getStore().getAt(row);

											var menu = new Ext.menu.Menu();
											menu.add({
												text:"이름으로검색",
												icon:(Ext.isIE6 ? "" : "/images/icon/icon_magnifier.png"),
												handler:function(item) {
													InBoxStore.baseParams.mno = data.get("mno");
													InBoxStore.load({params:{start:0,limit:50}});
												}
											});
											if (data.get("homepage")) {
												menu.add({
													text:"홈페이지",
													icon:(Ext.isIE6 ? "" : "/images/icon/icon_house_link.png"),
													handler:function(item) {
														window.open(data.get("homepage"));
													}
												});
											}
											if (data.get("mno") != "0" && gMember != null) {
												menu.add({
													text:"쪽지보내기",
													icon:(Ext.isIE6 ? "" : "/images/icon/icon_note_edit.png"),
													handler:function(item) {
														MemberSendMessage(data.get("mno"),data.get("name"));
													}
												});
											}
											e.stopEvent();
											menu.showAt(e.getXY());
										}
									}},
									cellclick:{fn:function(grid,row,col,e) {
										if (col > 0) {
											var data = grid.getStore().getAt(row);

											if (!Ext.getCmp("MemberMessageViewKeepBox"+data.get("idx"))) {
												var sHTML = "";
												sHTML+= '<div style="padding:5px; background:#E5E5E5; border-bottom:1px solid #CCCCCC;">';
												sHTML+= '<div style="font-size:13px; font-weight:bold; font-family:돋움; padding-bottom:5px;">'+data.get("title")+'</div>';
												sHTML+= '<div style="color:#666666; font-size:11px; font-family:돋움;"><b>'+data.get("name")+'</b>님이 <b>'+data.get("reg_fulldate")+'</b>에 보낸 쪽지입니다.</div>';
												sHTML+= '</div>';
												sHTML+= '<div style="padding:5px; line-height:160%; font-size:12px; font-family:돋움;">'+data.get("content")+'</div>';

												new Ext.Window({
													id:"MemberMessageViewKeepBox"+data.get("idx"),
													title:data.get("name")+"님의 쪽지",
													width:400,
													height:300,
													layout:"fit",
													items:[
														new Ext.Panel({
															layout:"fit",
															border:false,
															autoScroll:true,
															html:sHTML
														})
													],
													buttons:[
														new Ext.Button({
															text:"답장보내기",
															handler:function() {
																MemberSendMessage(data.get("mno"),data.get("name"));
																Ext.getCmp("MemberMessageView"+idx).close();
															}
														})
													]
												}).show();
											}
										}
									}}
								}
							})
						],
						listeners:{tabchange:{fn:function(tabs,tab) {
							tab.getStore().load({params:{start:0,limit:50}});
						}}}
					})
				]
			})
		);
		Ext.getCmp("MemberMyPageMsgBox").doLayout();
	}

	Ext.getCmp("MemberMyPageBody").syncSize().doLayout();
}

function MemberMyPage() {
	Ext.Ajax.request({
		url:"/exec/member.php?action=info",
		success:function(XML) {
			var logged = XML.responseXML.getElementsByTagName("logged")[0].firstChild.nodeValue;
			
			if (logged == 'TRUE') {
				new Ext.Window({
					id:"MemberMyPagewindow",
					title:"마이페이지",
					width:700,
					height:500,
					maximizable:true,
					layout:"fit",
					items:[
						new Ext.Panel({
							border:false,
							layout:"border",
							style:"padding:5px;",
							items:[
								new Ext.Panel({
									region:"west",
									title:"카테고리",
									margins:"0 5 0 0",
									width:180,
									collapsible:true,
									html:'<div id="subcategory"><a id="MemberMyPageMenuInfo" href="javascript:void(0);" style="background-image:url(/images/icon/icon_vcard_edit.png)" onclick="MemberMyPageMenu(this.id);">나의정보수정</a><a id="MemberMyPageMenuMsgBox" href="javascript:void(0);" style="background-image:url(/images/icon/icon_folder_page_white.png)" onclick="MemberMyPageMenu(this.id);">나의 쪽지함</a></div><div style="width:180px; height:150px; position:absolute; bottom:0px; left:0px; border-top:1px solid #99BBE8;"><iframe src="/html/adsensesub.php" frameborder="0" style="width:180px; height:150px;" scrolling="no" /></iframe></div>'
								}),
								new Ext.Panel({
									id:"MemberMyPageBody",
									region:"center",
									layout:"fit",
									items:[
										new Ext.Panel({
											id:"MemberMyPageMain",
											border:false,
											autoScroll:true,
											layout:"fit",
											title:"마이페이지",
											html:'아마, 여긴 마이페이지?!'
										})
									]
								})
							]
						})
					]
				}).show();
			} else {
				gMember = null;
				Ext.getCmp("MemberLoginForm").show();
			}
		},
		failure:function() {
			Ext.Msg.show({title:"에러",msg:"처리하지 못하였습니다.",buttons:Ext.Msg.OK,icon:Ext.MessageBox.WARNING});
		},
		headers:{},
		params:{logged:gMember}
	});
}

function MemberSendMessage(mno,name) {
	if (gMember != null) {
		Ext.Ajax.request({
			url:"/exec/member.php?action=check",
			success:function(XML) {
				var logged = XML.responseXML.getElementsByTagName("logged")[0].firstChild.nodeValue;
				if (logged == "TRUE") {
					if (mno) {
						new Ext.Window({
							id:"MemberSendMessageWindow",
							title:name+"님에게 쪽지보내기",
							width:350,
							height:260,
							resizable:false,
							items:[
								new Ext.Panel({
									style:"background:#FFFFFF; padding:5px;",
									border:false,
									items:[
										new Ext.form.FormPanel({
											id:"MemberSendMessageForm",
											border:false,
											errorReader:new Ext.form.XmlErrorReader(),
											defaults:{hideLabel:true},
											items:[
												new Ext.form.Hidden({
													name:"mno",
													value:mno
												}),
												new Ext.form.TextField({
													name:"title",
													emptyText:"쪽지제목을 입력하여 주십시오.",
													width:325,
													allowBlank:false
												}),
												new Ext.form.TextArea({
													name:"content",
													emptyText:"쪽지내용을 입력하여 주십시오.",
													width:325,
													height:152,
													allowBlank:false
												})
											],
											listeners:{actioncomplete:{fn:function(form,action) {
												if (action.type == "submit") {
													Ext.Msg.show({title:"안내",msg:"쪽지를 성공적으로 전송하였습니다.",buttons:Ext.Msg.OK,icon:Ext.MessageBox.INFO});
													Ext.getCmp("MemberSendMessageWindow").close();
												}
											}}}
										})
									]
								})
							],
							buttons:[
								new Ext.Button({
									text:"전송하기",
									handler:function() {
										Ext.getCmp("MemberSendMessageForm").getForm().submit({url:"/exec/member.php?action=sendmsg",waitMsg:"쪽지를 전송중입니다."});
									}
								}),
								new Ext.Button({
									text:"취소",
									handler:function() {
										Ext.getCmp("MemberSendMessageWindow").close();
									}
								})
							]
						}).show();
					} else {

					}
				} else {
					Ext.Msg.show({title:"에러",msg:"먼저 로그인을 하여주십시오.",buttons:Ext.Msg.OK,icon:Ext.MessageBox.WARNING});
					gMember = null;
					Ext.getCmp("MemberLoginForm").show();
					Ext.getCmp("BoardViewMentUser").show();
				}
			},
			failure:function() {},
			headers:{},
			params:{logged:gMember}
		});
	} else {
		Ext.Msg.show({title:"에러",msg:"먼저 로그인을 하여주십시오.",buttons:Ext.Msg.OK,icon:Ext.MessageBox.WARNING});
	}
}

function MemberMsgboxChecker(msgs) {
	var msg = msgs.split(",");
	for (var i=0, loop=msg.length;i<loop;i++) {
		if (!Ext.getCmp("MemberMessageView"+msg[i])) {
			Ext.Ajax.request({
				url:"/exec/member.php?action=getmsg",
				success:function(XML) {
					var isLoad = XML.responseXML.getElementsByTagName("isLoad")[0].firstChild.nodeValue;
					
					if (isLoad == 'TRUE') {
						var idx = XML.responseXML.getElementsByTagName("idx")[0].firstChild.nodeValue;
						var fromname = XML.responseXML.getElementsByTagName("fromname")[0].firstChild.nodeValue;
						var fromno = XML.responseXML.getElementsByTagName("fromno")[0].firstChild.nodeValue;
						var title = XML.responseXML.getElementsByTagName("title")[0].firstChild.nodeValue;
						var content = XML.responseXML.getElementsByTagName("content")[0].firstChild.nodeValue;
						var reg_date = XML.responseXML.getElementsByTagName("reg_date")[0].firstChild.nodeValue;

						var sHTML = "";
						sHTML+= '<div style="padding:5px; background:#E5E5E5; border-bottom:1px solid #CCCCCC;">';
						sHTML+= '<div style="font-size:13px; font-weight:bold; font-family:돋움; padding-bottom:5px;">'+title+'</div>';
						sHTML+= '<div style="color:#666666; font-size:11px; font-family:돋움;"><b>'+fromname+'</b>님이 <b>'+reg_date+'</b>에 보낸 쪽지입니다.</div>';
						sHTML+= '</div>';
						sHTML+= '<div style="padding:5px; line-height:160%; font-size:12px; font-family:돋움;">'+content+'</div>';

						new Ext.Window({
							id:"MemberMessageView"+idx,
							title:fromname+"님의 쪽지",
							width:400,
							height:300,
							layout:"fit",
							items:[
								new Ext.Panel({
									layout:"fit",
									border:false,
									autoScroll:true,
									html:sHTML
								})
							],
							buttons:[
								new Ext.Button({
									text:"답장보내기",
									handler:function() {
										MemberSendMessage(fromno,fromname);
										Ext.getCmp("MemberMessageView"+idx).close();
									}
								})
							]
						}).show();
					}
				},
				failure:function() {},
				headers:{},
				params:{idx:msg[i]}
			});
		}
	}
}