var result = 1;
var bEmailStatus = false;

var TEXT_ALERT_OK  = 'OK';
var TEXT_ALERT_EMAIL_INUSE = 'このメールアドレスは既に使われています。他のメールを入力して下さい。';
var TEXT_ALERT_EMAIL_ERR1 = 'メールアドレスが無効です。もう一度入力して下さい。';
var TEXT_ALERT_NOTE = 'ご備考：登録を完了するために、電子メールを正確に入力して下さい。';

function makeRequest(type, url) 
{
	if(type==2){
		if (trim(document.frnregister.Email.value) == ""){
			emailStatusMessages(3);
		}else{
			var http_request = false;
			if (window.XMLHttpRequest){ // Mozilla, Safari, ...
				http_request = new XMLHttpRequest();
				if (http_request.overrideMimeType) 
				{
					http_request.overrideMimeType('text/xml');
				}
			}else if (window.ActiveXObject){ // IE
				try {
					http_request = new ActiveXObject("Msxml2.XMLHTTP");
				}catch (e) {
					try {
						http_request = new ActiveXObject("Microsoft.XMLHTTP");
					}catch (e) {}
				}
			}
			http_request.onreadystatechange = function() { onResponses(type, http_request); };
			http_request.open('GET', url, true);
			http_request.send(null);
		}
	}
}
function onResponses(type, http_request){
	if(type==2){
		if(http_request.readyState == 0) { document.getElementById('emailStatusMessage').innerHTML = "Sending Request..."; }
		if(http_request.readyState == 1) { document.getElementById('emailStatusMessage').innerHTML = "Loading Response..."; }
		if(http_request.readyState == 2) { document.getElementById('emailStatusMessage').innerHTML = "Response Loaded..."; }
		if(http_request.readyState == 3) { document.getElementById('emailStatusMessage').innerHTML = "Response Ready..."; }
	}
	if(http_request.readyState == 4){
		if(http_request.status == 200){
			setClient(type, http_request);
		}else if(http_request.status == 404){
			// Add a custom message or redirect the user to another page
			if(type == 2){
				document.getElementById('emailStatusMessage').innerHTML = "File not found";
			}
		}else{
			if(type == 2){
				document.getElementById('emailStatusMessage').innerHTML = "There was a problem retrieving the XML.";
			}
		}
	}
}
function setClient(type, http_request){
	var resultcheck = "";
	var response = http_request.responseXML.documentElement;
	resultcheck = response.getElementsByTagName('resultcheck')[0].firstChild.data;
	
	if(resultcheck=="Yes"){
		if(type == 2){
			emailStatusMessages(1);
		}
	}else{
		if(type == 2){
			emailStatusMessages(2);
		}
	}
}

function validateForm(type){
	var theForm = document.frnregister;
	if(type=='add'){
		var Email = trim(theForm.Email.value);
		var Password = trim(theForm.Password.value);
		var check_email = theForm.check_email.value;
	}
	var FullName = trim(theForm.FullName.value);
	var FullNameKatakana = trim(theForm.FullNameKatakana.value);
	var PostCode = trim(theForm.PostCode.value);
	var Address1 = trim(theForm.Address1.value);
	if(type=='add'){
		if(Email==""){
			alert("電子メールを入力してください。");
			theForm.Email.focus();
			return false;
		}else{
			if(!isEmail(Email)){
				alert("メールアドレスが無効です。もう一度入力して下さい。");
				theForm.Email.focus();
				return false;
			}
		}
		if(check_email != "ok"){
			alert("このメールアドレスは既に使われています。他のメールを入力して下さい。");
			theForm.Email.focus();
			return false;
		}
		if(Password==""){
			alert("パスワードが入力されていません。必須項目となりますのでご入力下さい。");
			theForm.Password.focus();
			return false;
		}
	}
	if(FullName==""){
		alert("氏名が入力されていません。必須項目となりますのでご入力下さい。");
		theForm.FullName.focus();
		return false;
	}
	if(FullNameKatakana==""){
		alert("氏名カナが入力されていません。必須項目となりますのでご入力下さい。");
		theForm.FullNameKatakana.focus();
		return false;
	}
	if(PostCode==""){
		alert("郵便番号が入力されていません。必須項目となりますのでご入力下さい。");
		theForm.PostCode.focus();
		return false;
	}
	if(Address1==""){
		alert("住所が入力されていません。必須項目となりますのでご入力下さい。");
		theForm.Address1.focus();
		return false;
	}

	return true;
}

function textCounter(field,cntfield,maxlimit) {
	if (field.value.length > maxlimit){// if too long...trim it!
		field.value = field.value.substring(0, maxlimit);
	}else{
		cntfield.value =  field.value.length;
	}
}

/////////////////////////////////////////////////
// validate that the user has checked one of the radio buttons
/////////////////////////////////////////////////
function isValidRadio(radio) {
    var valid = false;
    for (var i = 0; i < radio.length; i++) {
        if (radio[i].checked) {
            return true;
        }
    }
  	//alert("Make a choice from the radio buttons.");
    return false;
}
function emailStatusMessages(status){
	if(status==1){
		if (isEmail(document.frnregister.Email.value)){
			bEmailStatus =  true;
			document.getElementById('emailStatusMessage').innerHTML = "<FONT color=\"#0071BC\">" + TEXT_ALERT_OK + "</FONT>";
			document.getElementById('check_email').value = "ok";
		}else{
			bEmailStatus =  false;
			document.getElementById('emailStatusMessage').innerHTML = "<FONT color=\"#FF0000\">" + TEXT_ALERT_EMAIL_ERR1 + "</FONT>";
			document.getElementById('check_email').value = "no";
		}
	}else if(status==2){
		bEmailStatus =  false;
		document.getElementById('emailStatusMessage').innerHTML = "<FONT color=\"#FF0000\">" + TEXT_ALERT_EMAIL_INUSE + "</FONT>";
		document.getElementById('check_email').value = "no";
	}else if(status==3){
		bEmailStatus =  false;
		document.getElementById('emailStatusMessage').innerHTML = "<FONT color=\"#FF0000\">" + TEXT_ALERT_EMAIL_ERR1 + "</FONT>";
		document.getElementById('check_email').value = "no";
	}else{
		document.getElementById('emailStatusMessage').innerHTML = "<FONT color=\"#FF0000\">" + TEXT_ALERT_EMAIL_ERR1 + "</FONT>";
		document.getElementById('check_email').value = "no";
	}
}