/*
simple 회원가입(full version)시 submit button 의 onclick 에 지정되어있는 s_write_submit 을 뺄것
<input type='hidden' name='required' value='userid,useremail,nickname' />
<input type="hidden" name="submit_type" value="s_reg" /> 을 추가

simple 회원가입(login.php) ==> OK
simple comment (/communi/communi_list.php) ==> half

게시판 쓸때 mode=>new
comment 쓸때 mode=>add
entry_notice // board write
s_entry_notice // login.php (simple login/reg)
entry_notice2_673282 // community list, view page, 
mycomment_entry_notice2_670647,myboard_reg_mode_673282 // mylist

s_entry_notice // lightpage 회원가입
entry_notice2_671471 // simple comment(community)
myboard_entry_notice2_671471 // simple comment(mynavi)
*/
var MemberCheck = Class.create();
var Mvalid;

MemberCheck.prototype = {
	initialize: function() {
		this.check_page = "/member/member_check.php";
		this.all_check_page = "/member/member_all_check.php";
		this.simple_agreement_page = "/member/simple_agreement.php";
		this.s_registration_page = "/member/s_registration.php";
		this.loading = '<img src=\'//imagex.navi.com/images/test/loading_circle.gif\' style=\'width:10px; height:10px;\' alt=\'loading\' title=\'loading\' /> '+g_member_string_processing+'。。。';
		this.timeout = (Prototype.Browser.IE) ? 250 : 100;
		this.form = false;

		var values = checkBrowser();
		//var increment = (values.os == 'iPhone') ? 40 : 20;
		var increment = (values.os == 'iPhone') ? 50 : 40;
		////////// comment 에서 사용되는 변수들 start
		this.values = {
			board_id: false,
			type: false, // comment
			mynavi_type: false, // board,comment, mynavi only
			board_type: false, // remark,qna,....
			navi: false, // 01,03...
			join_navi: false,
			mode: false, // add
			s_mode: false, // login,register
			login: false,
			hp_msg: '',
			os: values.os,
			increment: increment
		};
		////////// comment 에서 사용되는 변수들 end

		this.checked = {
			userid: false,
			useremail: false,
			nickname: false
		};

		this.lightpage = {
			width: 610,
			height: (Prototype.Browser.IE) ? 700 : 680
		};

		this.submit_process = false;
		this.submit_ok = false;
		this.submit_type = false;
		this.error_msg = '';
		this.error_fld = false;
		this.notice_layer = false;
		this.required_arr = false;

		//////////////////// for debugging start
		this.debug = false; // true,false
		this.info_layer = 'aside';
		if(this.debug == true) {
			if(! $(this.info_layer) ) {
				var info = document.createElement('div');
				info.setAttribute('id', this.info_layer);
				info.setAttribute('style','color:#FF3333;');

				//document.body.appendChild(info);
				//document.body.insertBefore(info, $('wrap').nextSibling); // after $('wrap')
				document.body.insertBefore(info, $('wrap')); // before $('wrap')

			} else {
				$(this.info_layer).setAttribute('style','color:#FF3333;');
			}
		}
		//////////////////// for debugging end
		//this.updateObject(); // lightpage 로딩후 callfunction (<div id='callfunction>if(Mvalid) Mvalid.updateObject();</div>)에서 호출하는걸로 처리
		//this.checkSubmitButton(); // submit button 을 disabled 처리하지 않으면 여기에서 호출할 필요없음
	},

	nullCheck: function(element) {
		var val = (typeof element != 'undefined' && typeof element != '' && element.value != '') ? true : false;
		return val;
	},

	nullCheckedMessage: function(element) {
		var msg = '';
		if(element.name.match(/userid/gi))		msg = g_member_string_input_a_id;
		else if(element.name.match(/userpw/gi))		msg = g_member_string_input_a_password;
		else if(element.name.match(/email/gi))		msg = g_member_string_input_a_email;
		else if(element.name.match(/re_userpw/gi))	msg = g_member_string_input_a_repassword;
		else if(element.name.match(/subject/gi))	msg = g_member_string_input_a_title;
		else if(element.name.match(/content/gi))	msg = g_member_string_input_a_contents;
		else if(element.name.match(/new_kind_id/gi))	msg = g_member_string_select_a_kind;
		else if(element.name.match(/board_title/gi))	msg = g_member_string_input_a_title;
		else if(element.name.match(/image_content'/gi))	msg = g_member_string_input_a_contents;
		else if(element.name == 'image[]')		msg = g_member_string_select_a_image;

		return this.checkText(element, msg);
	},

	checkText: function(element, msg) {
		var isValid = false;

		if(element.value == '') {
			this.errorText(element, msg);
			isValid = false;

		} else {
			this.clearText(element);
			isValid = true;
		}

		return isValid;
	},

	getDebugMsg: function(msg,fnc) {
		if(this.debug && $(this.info_layer)) {
			msg = (fnc) ? '<br /><font color=\'blue\'><strong>'+msg+'</strong></font><br />' : msg+'<br />';
			$(this.info_layer).innerHTML += msg;
		}
	},

	errorText: function(element, msg, now) {
		this.getDebugMsg('errorText()',true);

		if(now) {
			alert(msg);
			element.style.background = '#FFDDEB';
			element.focus();

		} else {
			if(msg) this.error_msg += msg + '\n';
			if(! this.error_fld) this.error_fld = element;
			element.style.background = '#FFDDEB';
			this.error_fld.focus();
		}
	},

	clearText: function(element) {
		this.getDebugMsg('clearText()',true);

		element.style.background = '#FFFFFF';
	},

	checkLogin: function() {
		var QueryStrings = '?search=login&val=';
		var ajax_index = NAjax.length;
		NAjax.push(new XmlParser(true));
		NAjax[ajax_index].ReadXMLPage(this.check_page+QueryStrings, 'row');
		var login = NAjax[ajax_index].GetPageValue(0,'');

		return login;
	},

	checkValue: function(element) {
		if(this.nullCheckedMessage(element) == true) {
			if(this.values.s_mode == 'register') {
				this.getValue(element);
			}
		}
	},

	getValue: function(element) {
		this.getDebugMsg('getValue()',true);

		var me = this;
		me.showCheckingIndicator(element,me.loading);

		var QueryStrings = '?search='+element.name+'&val='+encodeURIComponent(element.value);
		var ajax_index = NAjax.length;
		NAjax.push(new XmlParser());
		NAjax[ajax_index].callfunction = function() {
			var return_val = NAjax[ajax_index].GetPageValue(0,'');

			var hp_email_check = (element.name == 'useremail') ? NAjax[ajax_index].GetPageValue(1,'') : '';
			me.values.hp_msg = (hp_email_check == '1') ? g_member_string_mobile_email_address_can_not_be_available : '';

			var msg = me.getCheckedMessage(element,return_val);
			me.updateCheckingVar(element,return_val);

			(function(){
				me.showCheckingIndicator(element,msg);
			}).bind(me).delay(me.timeout / 500);

			if(return_val == true) me.clearText(element);
			else me.errorText(element);
		}
		NAjax[ajax_index].ReadXMLPage(me.check_page+QueryStrings, 'row');
	},

	getValues: function() {
		this.getDebugMsg('getValues()',true);

		var me = this;
		var QueryStrings = '';
		me.error_msg = '';
		me.error_fld = false;

		for(var i=0; i<me.required_arr.length; i++) {
			if(me.required_arr[i] == '') continue;
			var element = me.form[me.required_arr[i]];

			if(element.name == 'nickname') {
				if(element.value == '') {
					element.value = me.form.userid.value;
				}

				QueryStrings += '&'+element.name+'='+encodeURIComponent(element.value);

			} else if(element.name == 'userpw') {
				if(this.values.s_mode == 'register') { // register,login
					if( (element.value.search(/^[\d|\w]+$/) == -1) || (element.value.length > 12) || (element.value.length < 6) ) {
						me.errorText(element,g_member_string_incorrect_password);
					}
				}

				if(me.form.re_userpw && element.value != me.form.re_userpw.value) {
					me.errorText(me.form.re_userpw,g_member_string_incorrect_repassword);
				}

			} else if(element.name == 'contents') {
				if(me.form.element && element.value == '') {
					me.errorText(element,g_member_string_input_a_contents);
				}

			} else {
				QueryStrings += '&'+element.name+'='+encodeURIComponent(element.value);
			}
		}

		if(me.error_msg != '') {
			me.getEntryNoticeMessage();
			return false;
		}

		if(me.error_fld != false && me.error_fld != 'undefined' && me.error_fld.name != 'nickname') {
			return false;
		}

		if(this.values.s_mode == 'register') {
			if(QueryStrings == '') return false;
			QueryStrings = '?mode=new'+QueryStrings;
			var ajax_index = NAjax.length;
			NAjax.push(new XmlParser());
			NAjax[ajax_index].callfunction = function() {
				me.checked.userid = eval(NAjax[ajax_index].GetPageValue(0,''));
				me.checked.useremail = eval(NAjax[ajax_index].GetPageValue(1,''));
				me.checked.nickname = eval(NAjax[ajax_index].GetPageValue(2,''));

				if(me.submit_process) me.submitProcess();
			}
			NAjax[ajax_index].ReadXMLPage(me.all_check_page+QueryStrings, 'row');

		} else {
			if(me.submit_process) me.submitProcess();
		}
	},

	getCheckedMessage: function(element,val,val2) {
		var searchidurl = getAjax('searchidurl');
		var class_name = (this.values.os == 'iPhone') ? 'noticet2' : 'noticet';
		var msg = (val == 1) ? '' : '<span class=\''+class_name+'\' style=\'color:#FF3333\'>';
		msg += (typeof val2 != 'undefined' && val2 != '') ? val2 : '';
		msg += (val == 1) ? g_member_string_is_available : g_member_string_is_unavailable;
		msg += (val == 1) ? '' : '</span>';

		if(element.name == 'useremail') {
			if(this.values.hp_msg != '') {
				msg += '<p class=\''+class_name+'\'>※'+this.values.hp_msg+'</p>';
			} else {
				if(val != 1) {
					msg += '<p class=\''+class_name+'\'>※'+g_member_string_duplicated_email+'<a href=\''+searchidurl+'\'>'+g_member_string_search_id_here+'</a></p>';
				}
			}
		}

		if(element.name == 'useremail' || element.name == 'userpw') {
			if(val != 1 && this.values.os == 'iPhone') {
				var old_h = new Number($('lightpage').style.height.replace(/px/,''));
				var new_h = old_h + this.values.increment;
				if(old_h != new_h) {
					LightPageSize(0, new_h);
				}
			}
		}

		return msg;
	},

	getRequiredValue: function(separator) {
		var required = this.form.required.value;
		this.required_arr = required.split(separator); // useremail,userid
	},

	showCheckingIndicator: function(element,msg) {
		this.getDebugMsg('showCheckingIndicator()',true);

		var msg_var = (this.values.mynavi_type) ? 'my'+this.values.mynavi_type+'_' : '';
		msg_var += element.name+'_check_indicator';
		msg_var += (this.values.board_id) ? '_'+this.values.board_id : '';

		var msg_element = $(msg_var);

		if(msg_element) {
			if(typeof msg != 'undefined' && msg != '') {
				msg_element.innerHTML = msg;
				msg_element.style.display = '';

			} else {
				msg_element.innerHTML = '';
				msg_element.style.display = 'none';
			}
		}
	},

	updateObject: function(element) {
		this.getDebugMsg('updateObject()',true);
		var me = this;

		if(element) {
			me.form = element.form;

			if(element.name == 'userid' || element.name == 'useremail' || element.name == 'nickname' || element.name == 'userpw') {
				me.setValues();
				me.checkValue(element)

			} else if(element.name == 's_mode') {
				me.setValues();
				me.selectRegLogin(element);

			} else if(element.name == 'ok') {
				if(me.debug && $(me.info_layer)) $(me.info_layer).innerHTML='<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />';

				me.submit_process = true;
				me.setValues();
				me.getValues();
			}
		}
	},

	updateObjects: function() { // onclick 에 대해서만 checking, onchange 는 IE에서 작동하지 않아서 updateObject 에 this 를 넘기도록 수정함
		this.getDebugMsg('updateObjects()',true);
		var me = this;

		me.updateObjects = Prototype.emptyFunction; // 반복되는걸 방지하는 장치

		document.observe('click', (function(event){
			var element = event.findElement('input[name=ok]');

			if(element) {
				event.stop();
				me.submit_process = true;
				me.form = element.form;
				me.setValues(element);
				me.getValues();
			}
		}).bind(me));
	},

	selectRegLogin: function (element) {
		if(this.values.s_mode == 'login') {
			$('et_info').style.display='none';
			this.form.userid.focus();
			if(this.form.required) this.form.required.value = this.form.required.value.replace(/,useremail/g, '');

			var check_val = new Array('userid','userpw');
			for(var i=0; i<check_val.length; i++) {
				var check_indicator = check_val[i]+'_check_indicator';
				if($(check_indicator)) {
					$(check_indicator).innerHTML='';
					$(check_indicator).style.display='none';
				}
			}

		} else if(this.values.s_mode == 'register') {
			$('et_info').style.display='';
			this.form.userid.focus();

			if(this.form.required) {
				this.form.required.value = this.form.required.value.replace(/,useremail/g, '');
				this.form.required.value += ',useremail';
			}
		}
	},

	setValues: function() {
		this.getDebugMsg('setValues()',true);

		if(this.form.board_id) this.values.board_id = eval(this.form.board_id.value); // 게시판 write
		else if(this.form.BoardId) this.values.board_id = eval(this.form.BoardId.value); // comment write

		if(this.form.type) this.values.type = this.form.type.value; // comment
		if(this.form.mynavi_type) this.values.mynavi_type = this.form.mynavi_type.value; // board,comment, mynavi only
		if(this.form.BoardType) this.values.board_type = this.form.BoardType.value; // remark,qna,....
		if(this.form.Navi) this.values.navi = this.form.Navi.value; // 01,03...
		if(this.form.mode) this.values.mode = this.form.mode.value; // add=>comment, new=>게시판
		if(this.form.JoinNavi) this.values.join_navi = this.form.JoinNavi.value;
		if(! this.values.mode) { // lightpage 회원가입
			this.notice_layer = 's_entry_notice';

		} else if(this.values.mode == 'add') { // comment 쓰기
			this.notice_layer = (this.values.mynavi_type) ? 'my'+this.values.mynavi_type+'_' : '';
			this.notice_layer += 'entry_notice2_'+this.values.board_id;

		} else if(this.values.mode == 'new') { // 게시판 쓰기
			this.notice_layer = 'entry_notice';
		}

		if(this.form.s_mode) {
			var s_mode_arr = this.form.s_mode;

			if(s_mode_arr.length > 0) {
				for(var i=0; i<s_mode_arr.length; i++) {
					if(s_mode_arr[i].checked == true) {
						this.values.s_mode = s_mode_arr[i].value;
						break;
					}
				}

			} else {
				this.values.s_mode = this.form.s_mode.value;
			}
		}

		this.getRequiredValue(','); // useremail,userid

		return true;
	},

	submitProcess: function() {
		this.getDebugMsg('submitProcess()',true);
		var btn_val = this.checkSubmitButton();

		if(btn_val == true) { // true => submit
			this.submit_ok = true;

			if(! this.values.mode) { // lightpage 회원가입
				this.simpleRegistration();

			} else if(this.values.mode == 'add') { // comment, hit 쓰기
				if(this.values.board_id && this.values.board_type != '' && this.values.navi != '') // comment 작성시 login/registration
					this.simpleCommentSubmit();

			} else if(this.values.mode == 'new' || this.values.mode == 'edit') { // 게시판 쓰기
				this.simpleBoardSubmit();
			}
		}
	},

	// lightpage 상태에서 회원가입(login.php)
	simpleRegistration: function(type) { // login_js.php 의 s_write_submit()이 원래 함수
		this.getDebugMsg('simpleRegistration()',true);
		var me = this;

		if(this.submit_ok != true) return false;
		if(this.form.submit_type) this.submit_type = this.form.submit_type.value;

		//MemberAllCheck 에서 가져옴
		if(this.values.board_id) {
			this.reloadLightPage('lightpage_div', "<a href='"+this.simple_agreement_page+"?board_id="+this.values.board_id+"&userid="+this.form.userid.value+"&useremail="+encodeURIComponent(this.form.useremail.value)+"' class='lbOn'></a>");

		} else {
			// lightpage 를 이용한 회원가입
			if(this.submit_type == 's_reg') {
				var query_strings = '&step=1&userid='+this.form.userid.value+'&useremail='+encodeURIComponent(this.form.useremail.value);
				query_strings += (this.form.nickname && this.form.nickname.value != '') ? '&nickname='+this.form.nickname.value : '';
				query_strings += '&userpw='+this.form.userpw.value+'&token='+this.form.token.value+'&fwd='+encodeURIComponent(this.form.fwd.value);

				var layer = 'outer_entry_box';
				var ajax_index = NAjax.length;
				NAjax.push(new AjaxDiv('', '', 'None'));
				NAjax[ajax_index].callfunction = function(){
					LightPageSize(me.lightpage.width, me.lightpage.height);
					me.form = $$('#'+layer+' form')[0];
				}
				NAjax[ajax_index].setDataX(me.s_registration_page, layer, query_strings);

			} else {
				this.reloadLightPage('lightpage_div', "<a href='"+this.simple_agreement_page+"?board_id="+this.values.board_id+"&userid="+this.form.userid.value+"&useremail="+encodeURIComponent(this.form.useremail.value)+"' class='lbOn'></a>");
			}
		}
	},

	// 로그아웃 상태에서 로그인/회원가입하면서 comment/평가 작성
	simpleCommentSubmit: function() {
		this.getDebugMsg('simpleCommentSubmit()',true);
		this.values.login = this.checkLogin();

		if(this.values.login == '1') { // ajax_submit of communi_js.php
			//var id_add = (typeof this.values.mynavi_type != 'undefined' && this.values.mynavi_type != '') ? 'my'+this.values.mynavi_type+'_' : '';

			//var token = this.form.token.value;
			var token = MyComment.values.token;
			var type = this.form.type.value;
			var navi = this.form.Navi.value;
			var join_navi = this.form.JoinNavi.value;
			var board_id = this.form.BoardId.value;
			var comment_id = this.form.CommentId.value;
			var board_type = this.form.BoardType.value;
			var category_id = this.form.CategoryId.value;
			var goods_seq = this.form.GoodsSeq.value;
			var page = this.form.page.value;

			if(type == 'comment') {
				this.checkValue(this.form.contents);

				var string = new String($(this.form.contents).value);
				var comment_length = 0;
				for (var i=0;i<string.length;i++){
					var tmp_onechar = string.charAt(i);
					if (escape(tmp_onechar).length > 4) {
						comment_length += 2;

					} else if (tmp_onechar!='\\r') {
						comment_length++;
					}
				}
				if(comment_length > 4000) {
					this.errorText(this.form.contents);
					return false;
				}

			} else if(type == 'hit') {
				for(var i=0; i<this.form.hit_vote.length; i++) {
					if(this.form.hit_vote[i].checked == true) {
						var Gubun = this.form.hit_vote[i].value;
						break;
					}
				}
			}

			var QueryStrings = (type == 'comment') ? '&mode='+this.form.mode.value : '?type=iframe&Gubun='+Gubun;
			QueryStrings += (type == 'comment') ? '&CategoryId='+category_id+'&GoodsSeq='+goods_seq+'&contents='+encodeURIComponent(this.form.contents.value)+'&CommentId='+comment_id : '';
			QueryStrings += '&Navi='+navi+'&JoinNavi='+join_navi+'&BoardType='+board_type+'&BoardId='+board_id+'&token='+token+'&page='+page+'&mynavi_type='+this.values.mynavi_type

			if(type == 'comment') {
				var TargetDiv = 'comment_'+board_id;
				var ajax_index = NAjax.length;
				NAjax.push(new AjaxDiv('','','None',true)); // sync, need not callfunction
				NAjax[ajax_index].setDataX( '/common/ajax_page/Communi_Comment.php', TargetDiv, QueryStrings );
				this.form.contents.value = '';
				if(MyComment) {
					MyComment.values.action = 'close';
					MyComment.controlButton();
				}

			} else if(type == 'hit') {
				var ajax_index = NAjax.length;
				NAjax.push(new XmlParser(true)); // sync, need not callfunction
				NAjax[ajax_index].ReadXMLPage('/common/ajax_page/UserRecomVote.php'+QueryStrings, 'row');
				var code = NAjax[ajax_index].GetPageValue(0,'');
				var msg = NAjax[ajax_index].GetPageValue(1, '');

				if(code == 'already_done') {
					alert(msg);

				} else if(code == 'well_done') {
					alert(msg);

					var good_hit = NAjax[ajax_index].GetPageValue(2,'');
					$('good_hit_'+board_id).innerHTML = good_hit+g_member_string_vote;

				} else {
					this.error_msg = code;
					this.getEntryNoticeMessage();
				}

				if(MyComment) {
					MyComment.values.action = 'close';
					MyComment.controlButton();
				}
			}

		} else { // login_js.php의 simple_comment_submit()이 원래 함수
			this.getDebugMsg('simpleCommentSubmit()',true);

			this.form.target = 'login_proc';
			this.form.action = '/member/login_iframe.php';
			this.form.token.value = MyComment.values.token;

			if(this.values.s_mode == 'register') { // s_mode : register,login
				var java_param = "board_id="+this.values.board_id+"&userid="+this.form.userid.value+"&useremail="+encodeURIComponent(this.form.useremail.value);
				java_param += "&form_name="+this.form.name;

				this.reloadLightPage('lightpage_div', "<a href='"+this.simple_agreement_page+"?"+java_param+"' class='lbOn'></a>");

			} else {
				this.form.submit();
			}
		}
	},

	simpleBoardSubmit: function() { // communi_js.php 의 board_submit()이 원래 함수
		this.getDebugMsg('simpleBoardSubmit()',true);

		this.values.login = this.checkLogin();
		if(this.values.login == '1') {
			var board_type = this.form.board_type;
			var old_board_type = this.form.old_board_type;

			if( (board_type.value == 'remark' || board_type.value == 'qna') && (board_type.value != old_board_type.value && old_board_type.value != '') ) {
				var album_kind_sel = false;
				var sel_album_id = document.getElementsByName('sel_album_id[]');
				if(sel_album_id.length > 0) {
					var added_image_kind = document.getElementsByName('added_image_kind[]');
					if(added_image_kind.length > 0) {
						for(var j=0; j<added_image_kind.length; j++) {
							if(added_image_kind[j].value == '') {
								album_kind_sel = true;
								break;
							}
						}
					} else {
						album_kind_sel = true;
					}

					if(album_kind_sel) {
						alert(g_member_string_select_the_category_of_the_photo);
						PopLightPage('lightpage_link');
						return false;
					}
				}
			}

			if($('write_btn')) $('write_btn').style.display='none';
			if($('write_layer')) $('write_layer').style.display='none';
			if($('board_writing')) $('board_writing').style.display='';
			if($(this.notice_layer)) $(this.notice_layer).style.display='none';
			this.form.submit();

		} else {
			var me = this;
			// form이 2개, login_form, modify_form
			// login_form 을 modify_form 으로 합침, 현재는 modify_form 하나만 있다.

			if( (this.values.board_type == 'remark' || this.values.board_type == 'qna') && (this.values.board_type != this.form.old_board_type.value && this.form.old_board_type.value != '') ) {
				var album_kind_sel = false;
				var sel_album_id = document.getElementsByName('sel_album_id[]');
				if(sel_album_id.length > 0) {
					var added_image_kind = document.getElementsByName('added_image_kind[]');
					if(added_image_kind.length > 0) {
						for(var j=0; j<added_image_kind.length; j++) {
							if(added_image_kind[j].value == '') {
								album_kind_sel = true;
								break;
							}
						}
					} else {
						album_kind_sel = true;
					}

					if(album_kind_sel) {
						alert(g_member_string_select_the_category_of_the_photo);
						PopLightPage('lightpage_link');
						return false;
					}
				}
			}

			if($('write_btn')) $('write_btn').style.display='none';
			if($('write_layer')) $('write_layer').style.display='none';
			if($('board_writing')) $('board_writing').style.display='';

			this.form.write_form.value=this.form.name;

			if(this.values.s_mode == 'register') {
				this.reloadLightPage('lightpage_div', "<a href='"+this.simple_agreement_page+"?form_name="+this.form.name+"&userid="+this.form.userid.value+"&useremail="+encodeURIComponent(this.form.useremail.value)+"' class='lbOn'></a>");

			} else {
				var QueryStrings = '?search=passwd&userid='+this.form.userid.value+'&password='+this.form.userpw.value;
				QueryStrings += '&navi='+this.form.navi.value;
				QueryStrings += '&category_id='+this.form.category_id.value;
				QueryStrings += '&goods_seq='+this.form.goods_seq.value;
				var ajax_index = NAjax.length;
				NAjax.push(new XmlParser(true));
				NAjax[ajax_index].ReadXMLPage(this.all_check_page+QueryStrings, 'row');

				var passwd_checked = eval(NAjax[ajax_index].GetPageValue(0,''));
				var vendor_checked = eval(NAjax[ajax_index].GetPageValue(1,''));

				if(passwd_checked == true) {
					if(valid) valid.deactivate();
					if($(this.notice_layer)) $(this.notice_layer).style.display='none';
					this.form.submit();

				} else {
					var msg = (vendor_checked == true) ? g_member_string_not_allowed_to_post : g_member_string_incorrect_id_or_password;
					alert(msg);
					this.error_msg = msg;
					this.getEntryNoticeMessage();

					if($('write_btn')) $('write_btn').style.display='';
					if($('write_layer')) $('write_layer').style.display='';
					if($('board_writing')) $('board_writing').style.display='none';
				}
			}
		}
	},

	updateCheckingVar: function(element,val) {
		if(element.name == 'userid') {
			this.checked.userid = val;

		} else if(element.name == 'useremail') {
			this.checked.useremail = val;

		} else if(element.name == 'nickname') {
			this.checked.nickname = val;
		}
	},

	sendAgreement: function(element) { // Agreement_Send of login_js, element=>lightbox div id
		var magazine_area = document.getElementsByName('magazine_area[]');
		var magazine = '';

		if($('magazine_all').checked == true) {
			magazine = $('magazine_all').value;
		} else {
			for(i=0;i<magazine_area.length;i++) {
				if(magazine_area[i].checked) {
					if( magazine.match(magazine_area[i].value) == null ) {
						magazine += magazine_area[i].value + '|';
					}
				}
			}
		}
		this.form.magazine.value = magazine.replace(/\|$/, '');

		if(this.form.name != 's_login_form') {
			var sex = document.getElementsByName('sex[]');
			for(i=0;i<sex.length;i++) {
				if(sex[i].checked) {
					sex_code = sex[i].value;
					break;
				} else sex_code = '';
			}

			if(sex_code != '') this.form.sex_code.value = sex_code;
			if($('birth_yy').value != '') this.form.birth_y.value = $('birth_yy').value;
			if($('birth_mm').value != '') this.form.birth_m.value = $('birth_mm').value;
			if($('birth_dd').value != '') this.form.birth_d.value = $('birth_dd').value;
		}

		//$(element).style.display='none';
		this.form.submit();
		//$(element).innerHTML = this.loading;
	},


	reloadLightPage: function(layer, contents) {
		if($(layer)) {
			$(layer).innerHTML = contents;
			var lbox = $$('#'+layer+' a')[0];

		} else {
			var div_id = (typeof layer != 'undefined' || layer != '') ? layer : 'lightpage_div';
			var div = new Element('div', { 'id': div_id }).update(contents);
			var objBody = $$('body')[0];
			objBody.appendChild(div);
			var lbox = $$('#'+div_id+' a')[0];
		}

		this.popLightPage(lbox,this.lightpage.width,this.lightpage.height);
	},

	popLightPage: function(element,width,height,overflowx,overflowy,button_element) { // Layer는 a tag 의 id
		if(! $(element)) return;

		LightPageSize(width,height);
		valid = new lightpage($(element));
		overflowx = (overflowx == '' || typeof overflowx == 'undefined') ? 'hidden' : 'scroll';
		overflowy = (overflowy == '' || typeof overflowy == 'undefined') ? 'hidden' : 'scroll';

		$('lightpage').style.overflowX=overflowx;
		$('lightpage').style.overflowY=overflowy;

		// lightpage 활성화후 callfunction에 넣어줄 javascript 를 <div id='callfunction'></div> 에 넣어주면 된다.
		valid.callfunction = function() {
			var java_param = ($('callfunction')) ? $('callfunction').innerHTML : '';

			if(java_param != '') {
				callF = Function(java_param);
				callF();
			}
		}
		valid.activate();

		if( $(button_element) ) $(button_element).disabled = true;
	},

	getEntryNoticeMessage: function(msg,forward_url) {
		this.getDebugMsg('getEntryNoticeMessage()',true);
		var error_msg = (msg) ? decodeURIComponent(msg) : this.error_msg;

		if(error_msg != '') {
			if(valid) {
				var a1 = error_msg.split('\n');
				var count = new Number(a1.length - 1);
				var values = checkBrowser();
				var old_h = new Number($('lightpage').style.height.replace(/px/,''));
				var new_h = (count > 0) 
				? ( ($(this.notice_layer).style.display != 'none') ? old_h : old_h + this.values.increment * count )
				: old_h;

				if(old_h != new_h) {
//					alert('old:'+old_h+' count:'+count+' new:'+new_h+' increment:'+this.values.increment);
					LightPageSize(0, new_h);
				}
			}

			var msg = error_msg.replace(/\n$/, '');
			var innerhtml = '<p>'+g_member_string_make_a_confirmation+'</p>' + "・"+msg.replace(/\n/g, '<br />・')

			if($(this.notice_layer)) $(this.notice_layer).style.display = '';
			if($(this.notice_layer)) $(this.notice_layer).innerHTML = innerhtml;
		}

		if(forward_url != '' && typeof forward_url != 'undefined') {
			location.href=decodeURIComponent(forward_url);
		}
	},

	checkSubmitButton: function() {
		this.getDebugMsg('checkSubmitButton()',true);

		var me = this;
		var val = true;

		for(var i=0; i<me.required_arr.length; i++) {
			if(me.required_arr[i] == '') continue;
			var element = me.form[me.required_arr[i]];
			me.showCheckingIndicator(element,'');

			if(me.nullCheckedMessage(element) == false) {
				val = false;
				continue;
			}

			if(this.values.s_mode == 'register') {
				if(me.required_arr[i] == 'userid') {
					if(me.checked.userid != true) {
						val = false;
						me.error_msg += g_member_string_id_can_not_be_used+'\n';
						me.errorText(element);

					} else {
						me.clearText(element);
					}

				} else if(me.required_arr[i] == 'useremail') {
					if(me.checked.useremail != true) {
						val = false;
						me.error_msg += g_member_string_email_unavailble+'\n';
						me.errorText(element);

					} else {
						me.clearText(element);
					}
					

				} else if(me.required_arr[i] == 'nickname') {
					if(me.checked.nickname != true) {
						val = false;
						me.error_msg += g_member_string_nickname_unavailble+'\n';
						me.errorText(element);

					} else {
						me.clearText(element);
					}
				}
			}
		}

		if(val == false) {
			me.getEntryNoticeMessage();
		}

		return val;
	}
}

document.observe('dom:loaded', function () { Mvalid = new MemberCheck(); });
