
var NAjax = new Array();
var ajax_index = 1;


//GetIndex(NAjax);
//NAjax[ajax_index] = new XmlParser();
//NAjax[ajax_index] = new AjaxDiv();



var error_msg = '';
var ex_error_msg = '';
var error_fld;
var check_val = new Array();

function notice_layer(i_msg, f_type, layer, form) {
	var msg;

	if(f_type == 'iframe') {
		if(i_msg == 'id_password_not_match') {
			msg = "IDもしくは、パスワードが正しくありません";
			if(form) {
				error_text($(form).userid, '');
				error_text($(form).userpw, '');
				$(form).userid.focus();

			} else {
				error_text($('userid'), '');
				error_text($('userpw'), '');
				$('userid').focus();
			}

		} else if(i_msg == 'id_exist' || i_msg == 'email_exist') {
			msg = (i_msg == 'id_exist') ? "使用できないユーザーIDです。" : "使用できないEメールアドレスです。";
			if(valid) {
				alert(msg);

				if(! $('s_login_form')) { // lightpage 회원가입 
					if(form) {
						if(i_msg == 'id_exist') {
							error_text($(form).userid, '');
							$(form).userid.focus();

						} else {
							error_text($(form).useremail, '');
							$(form).useremail.focus();
						}

					} else {
						if(i_msg == 'id_exist') {
							error_text($('userid'), '');
							$('userid').focus();

						} else {
							error_text($('useremail'), '');
							$('useremail').focus();
						}
					}
				}
				valid.deactivate();
			}

		} else if(i_msg == 'nickname_missed') {
			alert("掲示板の登録にはニックネームを登録する必要があります。ニックネームの登録を行ってください。");
			document.location.href = '/member/login_info.php?fwd=%2Fjs%2Fcommuni%2Flogin_js.php';

		} else if(i_msg == 'nickname') {
			msg = 'ニックネーム';
			$('entry_login_in').innerHTML = "<div id='entry_notice'><p>ご確認ください</p>ニックネーム</div><input type='hidden' name='login_token' id='login_token' value=''><input type='hidden' name='s_mode' id='nickname_mode' value='nickname'><dl class='et_info'><dt>ニックネーム </dt><dd><input type='text' class='et_idfileld' id='nickname' name='nickname' value=''/></dd></dl>";
			$('submit_btn_area').innerHTML = "{$submit_btn}";

		} else { msg = i_msg; }

	} else {
		msg = i_msg;
	}

	if(msg != '') {
		if(f_type == 'simple') {
			var a1 = msg.split('\n');
			var count = a1.length - 1;

			if(count == 0)	new_height = 440 + 30;
			else		new_height = 440 + count * 30;

			LightPageSize(0, new_height);
		}

		msg = msg.replace(/\n$/, '');
		var innerhtml = '<p>ご確認ください</p>' + "・"+msg.replace(/\n/g, '<br />・')

		// for comment modify form
		layer = (layer) ? layer : 'entry_notice';
		if($(layer)) $(layer).style.display = '';
		if($(layer)) $(layer).innerHTML = innerhtml;


		if(f_type == 'simple') {
			// deactivate lightpage
			if( ($('reg_mode').checked == true) && ($('lightpage').style.display == 'block') ) {
				//if(valid != null) valid.deactivate();
			}
		}
	}
}


function AjaxUpdate(ResultPage, TargetDiv, QueryStrings) {
	GetIndex(NAjax);
	NAjax[ajax_index] = new AjaxDiv();

	NAjax[ajax_index].setDataX( ResultPage, TargetDiv, QueryStrings );
}


function MagazineCheck(where) {
	var magazine_area = document.getElementsByName('magazine_area[]');
	var area_checked = '';

	if(where == 'all') {
		if($('magazine_all').checked == true) {
			// magazine_area checkbox == 1
			if(magazine_area.length == null) {
				if(magazine_area.checked) {
					magazine_area.checked = false;
				}

			// magazine_area checkbox >= 2
			} else {
				for(i=0;i<magazine_area.length;i++) {
					if(magazine_area[i].checked) {
						magazine_area[i].checked = false;
					}
				}
			}
		}

	} else {

		if(magazine_area.length == null) {
			if(magazine_area.checked) {
				var area_checked = 'checked';
			}

		}else{

			for(i=0;i<magazine_area.length;i++) {
				if(magazine_area[i].checked) {
					var area_checked = 'checked';
					break;
				}
			}
		}

		if(area_checked == 'checked') {
			$('magazine_all').checked = false;
		}
	}
}


function Agreement_Send(form, type) {
	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 + '|';
				}
			}
		}
	}

	form.magazine.value = magazine.replace(/\|$/, '');

	if(type != 's_reg') {
		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 != '')					form.sex_code.value = sex_code;
		if($('birth_yy').value != '')	form.birth_y.value = $('birth_yy').value;
		if($('birth_mm').value != '')	form.birth_m.value = $('birth_mm').value;
		if($('birth_dd').value != '')	form.birth_d.value = $('birth_dd').value;
	}

	form.submit();
}


function MemberCheck(search, mevent, form) {
	var val = form.elements[search].value

	if(val == '') {
		if(search == 'userid')		msg = 'IDを入力してください';
		if(search == 'useremail')	msg = 'Eメールアドレスを入力してください';
		if(search == 'nickname')	msg = 'ニックネームを入力してください';	

		error_text(form.elements[search]);

		notice_layer(msg, 'simple', 's_entry_notice');
		form.elements[search].focus();
		return false;
	}

	error_msg = '';

	GetIndex(NAjax);
	NAjax[ajax_index] = new XmlParser();

	if(mevent == 'click') {
		NAjax[ajax_index].callfunction = function() {
			form.elements[search+'_check'].value = NAjax[ajax_index].GetPageValue(0,'');

			if(form.elements[search+'_check'].value == '1') {
				$('s_'+search+'_confirm').innerHTML = "<strong><font color='#3366cc'>"+val+" 使用可能です。</font></strong>";
				clear_text(form.userid);
				$('s_entry_notice').style.display = 'none';

			} else if(form.elements[search+'_check'].value == '0') {
				$('s_'+search+'_confirm').innerHTML = "<strong><font size='2'><font color='#ff0000'>"+val+" 使用できません。</font></font></strong>";
				msg = val+" 使用できません。\n";
				error_text(form.elements[search]);
				notice_layer(msg, 'simple', 's_entry_notice'); 

			} else {
				return false;
			}

			$('s_'+search+'_confirm').style.display = '';
		}
	}

	NAjax[ajax_index].ReadXMLPage('/member/member_check.php?search='+search+'&val='+encodeURIComponent(val), 'row');
}

function ReloadLightPage(layer,contents,width,height) {
	var newDiv = null;

	if($(layer)) {
		$(layer).innerHTML = contents;

	} else {
		if(layer) {
			newDiv = document.createElement('div');
			newDiv.setAttribute('id', layer);
			newDiv.innerHTML = contents;

		} else {
			newDiv = document.createElement('div');
			newDiv.setAttribute('id', 'lightpage_div');
			newDiv.innerHTML = contents;
		}
		document.body.insertBefore(newDiv, $('wrap').nextSibling);
	}
	var lbox = $$('#'+layer+' a')[0];
	PopLightPage2(lbox,'',width,height);
}

function MemberAllCheck(form, b_id, layer, type) {
	// if(b_id) => list 에서 회원가입과 동시에 comment 작성시, 혹은 view page 에서 회원가입과 동시에 comment 작성시
	// else => 회원가입 버튼을 눌러서 회원가입시

	var userid = form.userid;
	var useremail = form.useremail;

	var userid_val = userid.value;
	var useremail_val = useremail.value;

	var qry = '';
	var msg = '';
	error_msg = '';
	error_fld = '';

	if(userid_val == '') {
		msg = 'IDを入力してください';
		error_text(userid);

		if(layer) {
			if(b_id) notice_layer(msg, '', layer);
			else notice_layer(msg, 'simple', layer); 

		} else {
			if(b_id) notice_layer(msg);
			else notice_layer(msg, 'simple', 's_entry_notice'); 
		}

		userid.focus();
		return false;

	} else {
		qry += 'userid='+encodeURIComponent(userid_val)+'&';
	}

	if(useremail_val == '') {
		msg = 'Eメールアドレスを入力してください';
		error_text(useremail);

		if(layer) {
			if(b_id) notice_layer(msg, '', layer);
			else notice_layer(msg, 'simple', layer); 

		} else {
			if(b_id) notice_layer(msg);
			else notice_layer(msg, 'simple', 's_entry_notice'); 
		}

		useremail.focus();
		return false;

	} else {
		qry += 'useremail='+encodeURIComponent(useremail_val)+'&';
	}

	if(! b_id) {
		if(form.nickname && form.nickname.value != '') {
			nickname_val = form.nickname.value;
			qry += 'nickname='+encodeURIComponent(nickname_val)+'&';
		}
	}

	GetIndex(NAjax);
	NAjax[ajax_index] = new XmlParser();

	NAjax[ajax_index].callfunction = function() {
		return_val = NAjax[ajax_index].GetPageValue(0,'');
		// return return_val; // not working

		str = return_val.split('|');

		if($('s_userid_confirm'))	var s_userid_confirm = $('s_userid_confirm');
		for (i in str) {
			if(i == 0) {
				userid_check = str[i];

				if(s_userid_confirm) {
					if(! b_id) s_userid_confirm.style.display = '';

					if(str[i] == 1) {
						if(! b_id) s_userid_confirm.innerHTML = "<strong><font color='#3366cc'>"+userid_val+" 使用可能です。</font></strong>";
						clear_text(userid);
					} else {
						if(! b_id) s_userid_confirm.innerHTML = "<strong><font color='#ff0000'>"+userid_val+" 使用できません。</font></strong>";
						msg += userid_val+' 使用できません。\n';
						error_text(userid);
					}

				} else {
					if(str[i] == 1) {
						clear_text(userid);
					} else {
						msg += userid_val+' 使用できません。\n';
						error_text(userid);
					}
				}

			} else if(i == 1) {
				useremail_check = str[i];

				if(s_userid_confirm) {
					if(! b_id) s_userid_confirm.style.display = '';

					if(str[i] == 1) {
						if(! b_id) s_userid_confirm.innerHTML = "<strong><font color='#3366cc'>"+useremail_val+" 使用可能です。</font></strong>";
						clear_text(useremail);
					} else {
						if(! b_id) s_userid_confirm.innerHTML = "<strong><font color='#ff0000'>"+useremail_val+" 使用できません。</font></strong>";
						msg += useremail_val+' 使用できません。\n';
						error_text(useremail);
					}

				} else {
					if(str[i] == 1) {
						clear_text(useremail);
					} else {
						msg += useremail_val+' 使用できません。\n';
						error_text(useremail);
					}
				}

			} else if(i == 2) {
				if(s_userid_confirm) {
					if(! b_id) {
						if(form.nickname && form.nickname.value != '') {
							nickname_check = str[i];
							s_userid_confirm.style.display = '';

							if(str[i] == 1) {
								s_userid_confirm.innerHTML = "<strong><font color='#3366cc'>"+nickname_val+" 使用可能です。</font></strong>";
								clear_text(form.nickname);
							} else {
								s_userid_confirm.innerHTML = "<strong><font color='#ff0000'>"+nickname_val+" 使用できません。</font></strong>";
								msg += nickname_val+' 使用できません。\n';
								error_text(form.nickname);
							}

						} else {
							s_userid_confirm.style.display = 'none';
						}
					}

				} else {
					if(! b_id) {
						if(form.nickname && form.nickname.value != '') {
							nickname_check = str[i];

							if(str[i] == 1) {
								clear_text(form.nickname);
							} else {
								msg += nickname_val+' 使用できません。\n';
								error_text(form.nickname);
							}
						}
					}
				}
			}
		}

		if(msg) {
			error_fld.focus();

			if(layer) {
				if(b_id) notice_layer(msg, '', layer);
				else notice_layer(msg, 'simple', layer);

			} else {
				if(b_id) notice_layer(msg);
				else notice_layer(msg, 'simple', 's_entry_notice');
			}

			return false;

		} else {
			$(layer).style.display='none';
			$(layer).innerHTML='';
		}

		// list 나 view page 에서 comment 입력하면서
		if(b_id) {
			if( (userid_check == 1) && (useremail_check == 1) ) {
				ReloadLightPage('lightpage_div', "<a href='/member/simple_agreement.php?board_id="+b_id+"' class='lbOn'></a>",'630','630');
			}

		} else {
			// lightpage 를 이용한 회원가입
			if(type == 's_reg') {
				if(form.nickname && form.nickname.value != '') {
					if( (userid_check == 1) && (useremail_check == 1) && (nickname_check == 1) ) {
						query_strings = '&step=1&userid='+form.userid.value+'&useremail='+form.useremail.value+'&nickname='+form.nickname.value+'&userpw='+form.userpw.value+'&token='+form.token.value+'&fwd='+encodeURIComponent(form.fwd.value);
						AjaxUpdate('/member/s_registration.php', 'outer_entry_box', query_strings);
						LightPageSize(630, 630);
					}
				} else {
					if( (userid_check == 1) && (useremail_check == 1) ) {
						query_strings = '&step=1&userid='+form.userid.value+'&useremail='+form.useremail.value+'&userpw='+form.userpw.value+'&token='+form.token.value+'&fwd='+encodeURIComponent(form.fwd.value);
						AjaxUpdate('/member/s_registration.php', 'outer_entry_box', query_strings);
						LightPageSize(630, 630);
					}
				}

			} else {
				if( (userid_check == 1) && (useremail_check == 1) ) {
					ReloadLightPage('lightpage_div', "<a href='/member/simple_agreement.php?board_id="+b_id+"&form_id="+form.name+"' class='lbOn'></a>",'630','630');
				} 
			}
		}
	}

	NAjax[ajax_index].ReadXMLPage('/member/member_all_check.php?'+qry+'search=', 'row');

	return false;
}


// lightpage 를 이용한 회원가입시
function s_write_submit(form) {
	error_msg = '';
	ex_error_msg = '';
	error_fld = '';

	if (form.nickname.value != '')	check_val = new Array('userid', 'useremail', 'userpw',  'nickname');
	else				check_val = new Array('userid', 'useremail', 'userpw');

	if(CheckStep1('simple', check_val, '', form) != true) return false;
	if(CheckStep2('simple', check_val, form) != true) return false;

	if (error_msg) {
		error_fld.focus();
		notice_layer(error_msg,'','s_entry_notice');
		return false;

	} else {
		MemberAllCheck(form, '', '', 's_reg');
	}
}


// communi list 에서 comment 입력할때 로그인과 동시에 수행
function write_submit2(form, b_id) {

	error_msg = '';
	ex_error_msg = '';
	error_fld = '';

	var write_form = form;
	var login_form = $('login_form_'+b_id);

	if($('login_mode_'+b_id).checked == true) check_val = new Array('userid', 'userpw');
	else if($('reg_mode_'+b_id).checked == true) check_val = new Array('userid', 'userpw', 'useremail');
	if($('comment_area_'+b_id).style.display != 'none') check_val.push('contents');
	else if($('hit_area_'+b_id).style.display != 'none') check_val.push('hit_vote');

	if(CheckStep1('', check_val, b_id) != true) return false;
	if(CheckStep2('', check_val, login_form, write_form, b_id) != true) return false;

	if (error_msg) {
		error_fld.focus();
		notice_layer(error_msg, '', 'entry_notice2_'+b_id);
		return false;
	} else {
		login_form.BoardType.value = $('BoardType_'+b_id).value; // for IE
		if($('reg_mode_'+b_id).checked == true) {
			login_form.target = 'login_proc'; login_form.action = '/member/login_iframe.php'; 
			MemberAllCheck();
		} else {
			login_form.target = 'login_proc'; login_form.action = '/member/login_iframe.php'; 
			login_form.submit();
		}
	}
}


function check_error_msg(type, layer) {

	if(ex_error_msg)	error_msg += ex_error_msg;

	if (error_msg) {
		if(type == 'simple')	notice_layer(error_msg, 'simple', 's_entry_notice');
		else			notice_layer(error_msg, '', layer);

		return false;

	} else {
		return true;
	}
}


function CheckStep1(type, obj, b_id, form) {

	error_msg = '';
	error_fld = '';

	for(i=0;i<obj.length;i++) {
		var msg = '';
		if(obj[i].match(/userid/gi))			msg = 'ユーザーID を入力してください。';
		else if(obj[i].match(/userpw/gi))		msg = 'パスワード を入力してください。';
		else if(obj[i].match(/useremail/gi))		msg = 'Eメールアドレス を入力してください。';
		else if(obj[i].match(/re_userpw/gi))		msg = 'パスワードを再度入力してください。';
		else if(obj[i].match(/subject/gi))		msg = 'タイトルを入力してください。';
		else if(obj[i].match(/content/gi))		msg = '内容を入力してください。';
		else if(obj[i].match(/new_kind_id/gi))		msg = '種類を選択してください。';
		else if(obj[i].match(/board_title/gi))		msg = 'タイトルを入力してください。';
		else if(obj[i].match(/image_content'/gi))	msg = '内容を入力してください。';
		else if(obj[i].name == 'image[]')		msg = '写真を選択してください。';

		if(msg) {
			if(form) {
				check_text(form[obj[i]], msg );
			} else {
				check_text($(obj[i]), msg );
			}
		}
	}

	if(type=='simple') return check_error_msg('simple');
	else {
		if(b_id) return check_error_msg('', 'entry_notice2_'+b_id);
		else return check_error_msg('', 'entry_notice');
	}
}


function CheckStep2(type, obj, login_form, write_form, b_id) {

	error_msg = '';
	error_fld = '';

	for(i=0;i<obj.length;i++) {
		if(obj[i] == 'userid') {
			if( (login_form.elements[obj[i]].value.search(/^[\d|\w]+$/) == -1) || (login_form.elements[obj[i]].value.length < 6) || (login_form.elements[obj[i]].value.length > 12) ) {
				error_text(login_form.elements[obj[i]], 'IDの長さが正しくないか、特殊文字が含まれています。（IDは半角英数6～12文字です）');
			}

		} else if(obj[i] == 'userpw') {
			if(b_id) {
				var this_obj = $(obj[i]+'_'+b_id);
				// ucc registration
				if($('reg_mode_'+b_id).checked == true) {
					if( (this_obj.value.search(/^[\d|\w]+$/) == -1) || (this_obj.value.length < 6) || (this_obj.value.length > 12) ) {
						error_text(this_obj, 'パスワードの長さが正しくないか、特殊文字が含まれています。（パスワードは半角英数6～12文字です）');
					}

				// ucc logiin
				} else if($('login_mode_'+b_id).checked == true) {
					if( (this_obj.value.search(/^[\d|\w]+$/) == -1) || (this_obj.value.length > 12) ) {
						error_text(this_obj, 'パスワードの長さが正しくないか、特殊文字が含まれています。（パスワードは半角英数6～12文字です）');
					}
				}

			} else {
				if(! write_form) {
					if(login_form.elements[obj[i]].value != login_form.elements['re_userpw'].value) {
						error_text(login_form.elements['re_userpw'], "再入力したパスワードが一致しません");
					}

				} else {
					if( (login_form.elements[obj[i]].value.search(/^[\d|\w]+$/) == -1) || (login_form.elements[obj[i]].value.length > 12) || (login_form.elements[obj[i]].value.length < 6 ) ) {
						error_text(login_form.elements[obj[i]], 'パスワードの長さが正しくないか、特殊文字が含まれています。（パスワードは半角英数6～12文字です）');
					}
				}
			}

		} else if(obj[i] == 'useremail') {
			if(login_form.elements[obj[i]].value=='' || login_form.elements[obj[i]].value.search(/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/) == -1) {
				error_text(login_form.elements[obj[i]], 'Eメールアドレスが間違っています');
			}

		} else if(obj[i] == 'contents') {
			if(b_id) {
				if($('cbyte_'+b_id).value > 4000) {
					error_text(write_form.elements[obj[i]], '入力可能文字数を超えました。');
				}
			}
		}
	}

	if(type=='simple') return check_error_msg('simple');
	else {
		if(b_id) return check_error_msg('', 'entry_notice2_'+b_id);
		else return check_error_msg('', 'entry_notice');
	}
}


function simple_submit_b_id(layer, b_id) {
	var newDiv = null;
	var simple_layer = (typeof layer != 'undefined' && layer != '') ? layer : 'simple_div';

	if($(simple_layer)) {
		$(simple_layer).innerHTML = b_id;

	} else {
		newDiv = document.createElement('div');
		newDiv.setAttribute('id', simple_layer);

		newDiv.innerHTML = b_id;
		document.body.insertBefore(newDiv, $('wrap').nextSibling);
	}
}


// view_page 에서 로그인과 동시에 comment 입력할때
function simple_comment_submit(form,b_id,mynavi_type) {

	var id_add = (typeof mynavi_type != 'undefined' && mynavi_type != '') ? 'my'+mynavi_type+'_' : '';

	error_msg = '';
	ex_error_msg = '';
	error_fld = '';

	var write_form = form;
	var login_form;
	var login_form = $(id_add+'login_form_'+b_id);

	if($(id_add+'login_mode_'+b_id).checked == true)
		check_val = new Array(id_add+'userid_'+b_id, id_add+'userpw_'+b_id);

	else if($(id_add+'reg_mode_'+b_id).checked == true)
		check_val = new Array(id_add+'userid_'+b_id, id_add+'userpw_'+b_id, id_add+'useremail_'+b_id);

	if($(id_add+'comment_area_'+b_id).style.display != 'none')
		check_val.push(id_add+'contents_'+b_id);

	else if($(id_add+'hit_area_'+b_id).style.display != 'none')
		check_val.push(id_add+'hit_vote_'+b_id);

	if(CheckStep1('', check_val, b_id) != true) return false;
	if(CheckStep2('', check_val, login_form, write_form, b_id) != true) return false;

	if (error_msg) {
		error_fld.focus();
		notice_layer(error_msg, '', id_add+'entry_notice2_'+b_id);

		return false;

	} else {
		simple_submit_b_id(id_add+'simple_div', b_id);

		if($(id_add+'reg_mode_'+b_id).checked == true) {
			login_form.target = 'login_proc'; login_form.action = '/member/login_iframe.php'; 
			MemberAllCheck(login_form, b_id, id_add+'entry_notice2_'+b_id);

		} else {
			login_form.target = 'login_proc'; login_form.action = '/member/login_iframe.php'; 
			login_form.submit();
		}
	}
}


function GetIndex(NAjax) {
	while(NAjax[ajax_index] && (typeof(NAjax[ajax_index])!='undefined')) {
		ajax_index++;
	}

	return ajax_index;
}


function GUnload() {
	return;
}



