﻿// JavaScript Document
function acountOnLoad(){
	var list = new Array();
	var n = 0;
	var inCheck = document.getElementsByClassName("inCheck");
	for(var i = 0; i < inCheck.length; i++){
		list[n] = inCheck[i].id;
		n++;
	}
	var aTag = $("showSample").getElementsByTagName("a")[0];
	Event.observe(aTag, "click", sampleOpen, false);
	getInputList(list);
}

var ajaxFlag = true;
function checkInput(e){
	try{
		var Element = Event.element(e);
		var id = Element.id;
	}catch(error){
		var id = e;
	}
	var returnFlag;
	var targetElement = $(id).parentNode.getElementsByTagName("span")[0];
	var createFont =  document.createElement("font");
	var str = $F(id);
	switch(id){
		case "check" : 
			delError('agree');
			returnFlag = checkAgree(id);
			createFont.className = "agreeFalseMsg";
			if(returnFlag == 1){
				checkedFlag = 0;
				createFont.innerHTML = '同意のチェックをお願いします。';
				new Insertion.Bottom($("checktext"), createFont);
			}else{
				checkedFlag = 1;
			}
			break;
		case "email" :
			delError('email');
			returnFlag = checkMail(id, true);
			createFont.className = "emailFalseMsg";
			if(returnFlag == 2){
				createFont.innerHTML = '&nbsp;半角英数字で入力してください。';
				targetElement.innerHTML = "";
				targetElement.appendChild(createFont);
			}else if(returnFlag == 1){
				createFont.innerHTML = '&nbsp;正しいメールアドレスを入力してください。';
				targetElement.innerHTML = "";
				targetElement.appendChild(createFont);
			}else{
				targetElement.innerHTML = "";
			}
			break;
		case "password" :
			delError('pass');
			returnFlag = checkPass(id);
			createFont.className = "passFalseMsg";
			if(returnFlag == 3){
				createFont.innerHTML = '&nbsp;半角英数字で入力してください。';
				targetElement.innerHTML = "";
				targetElement.appendChild(createFont);
			}else if(returnFlag == 2){
				createFont.innerHTML = '&nbsp;6文字以上で入力してください。';
				targetElement.innerHTML = "";
				targetElement.appendChild(createFont);
			}else if(returnFlag == 1){
				createFont.innerHTML = '&nbsp;使用できない文字が含まれています。';
				targetElement.innerHTML = "";
				targetElement.appendChild(createFont);
			}else{
				targetElement.innerHTML = "";
			}
			break;
		case "repassword" :
			delError('repass');
			returnFlag = checkRePass("repassword");
			createFont.className = "repassFalseMsg";
			if(returnFlag == 0){
				delError('repass');
				targetElement.innerHTML = "";
			}else if(returnFlag == 4){
				createFont.innerHTML = '&nbsp;パスワードと一致しません。';
				targetElement.innerHTML = "";
				targetElement.appendChild(createFont);
			}
			break; 
		case "nickname" :
			delError('nickname');
			returnFlag = checkDefault(id);
			createFont.className = "nicknameFalseMsg";
			if(returnFlag == 1){
				createFont.innerHTML = '&nbsp;入力してください。';
				targetElement.innerHTML = "";
				targetElement.appendChild(createFont);
			}else{
				targetElement.innerHTML = "";
			}
			break;
		case "diary" :
			delError('body');
			returnFlag = checkDefault(id);
			createFont.className = "bodyFalseMsg";
			if(returnFlag){
				createFont.innerHTML = '&nbsp;入力してください。';
				targetElement.innerHTML = "";
				targetElement.appendChild(createFont);
			}else{
				var length = 0;
				for(var i = 0; i < str.length; i++){
					if(escape(str.charAt(i)).length >= 4 ) length += 2;
					else length++;
				}
				if(length > 800){
					createFont.innerHTML = '&nbsp;入力可能文字数は400文字です。';
					targetElement.innerHTML = "";
					targetElement.appendChild(createFont);
				}
			}
			break;
	}
}

function returnAction(){
	new Ajax.Request("/ajax/email",{
			method: "post",
			parameters: "?email="+ $F("email"),
			onComplete: function (Obj){
				var responseData = Obj.responseText;
				if( navigator.appVersion.indexOf("KHTML") > -1 ){
					var esc = escape( responseData );
					if( esc.indexOf("%u") < 0 && esc.indexOf("%") > -1 ){
						responseData = decodeURIComponent( esc );
					}
				}
				responseText = eval("("+ responseData +")");
				if(responseText.header.result == "success"){
					if(responseText.data.user == "Y"){
						var font = $("email").parentNode.getElementsByTagName("font");
						if(font[0]){
							font[0].innerHTML = "&nbsp;※既に登録されています。";
						}else{
							var createFont =  document.createElement("font");
							createFont.className = "emailFalseMsg";
							createFont.innerHTML = "&nbsp;※既に登録されています。";
							new Insertion.Bottom($("email").parentNode, createFont);
						}
						if($("errorText")){
							$("errorText").style.display = "block";
							$("errorText").innerHTML = "入力内容に、誤りがあります。<br />もう一度ご確認の上、「入力内容を確認する」ボタンをクリックしてください。";
						}
						Event.observe($("send"), "click", returnAction, false);
					}else{
						if($("errorText")) $("errorText").style.display = "none";
						sendForm();
					}
				}
			}
		}
	);
}

function sendForm(){
	if($("ticketCheckId")){
		var createTicketInput = document.createElement("input");
		createTicketInput.name = "ticket";
		createTicketInput.type = "hidden";
		createTicketInput.value = $("ticketCheckId").value;
		new Insertion.Bottom('checkArea', createTicketInput);
	}
	$("send").href = "#";
	$('checkArea').submit();
}

function sampleOpen(){
	sample = window.open("/mailmag/sample.html", "sample", "width=620, height=700, toolbar=no, scrollbars=yes");
	sample.focus();
}

Event.observe(window, "load", acountOnLoad, false);

