function getXmlHttpObject() {
	if(window.ActiveXObject){
		 //Win e4,e5,e6用
		try {
			return new ActiveXObject("Msxml2.XMLHTTP") ;
		} catch (e) {
			try {
				return new ActiveXObject("Microsoft.XMLHTTP") ;
			} catch (e2) {
				return false ;
 			}
 		}
	} else if(window.XMLHttpRequest){
		 //Win Mac Linux m1,f1,o8 Mac s1 Linux k3用
		return new XMLHttpRequest() ;
	} else {
		return false ;
	}
}


var req_id = "";
var chk_id = "";


function set_infomsg(obj, msg){
    obj.innerHTML = msg;
}

function initval() {
    req_id = getXmlHttpObject();
    chk_id = document.getElementById('chk_id');
    set_infomsg(chk_id, "ボタンを押すと会員IDが利用可能かチェックします。");
}

function id_reqchg() {
    set_infomsg(chk_id, "<font color='navy'>チェック中</font>");
    if (req_id.readyState == 4 && req_id.status == 200) {
        if(req_id.responseText == "0")
        {
            set_infomsg(chk_id, "<strong>ご指定の会員IDは利用可能です</strong>");
        }
        else
        {
            errmsg = "";
            if(req_id.responseText=="1"){
                errmsg = "<strong>ご指定の会員IDは使用できません<strong>";
            }else if(req_id.responseText=="2"){
                errmsg = "<strong>ご指定の会員IDは既に使われています<strong>";
            }else if(req_id.responseText=="3"){
                errmsg = "<strong>会員IDに使用出来るのは半角英数とアンダーバー(_)だけです。<strong>";
            }else if(req_id.responseText=="4"){
                errmsg = "<strong>会員IDの先頭はアルファベットにして下さい。<strong>";
            }else if(req_id.responseText=="5"){
                errmsg = "<strong>会員IDが短すぎます。<br />3文字以上15文字以内で再度入力して下さい。<strong>";
            }else if(req_id.responseText=="6"){
                errmsg = "<strong>会員IDが長すぎます。<br />3文字以上15文字以内で再度入力して下さい。<strong>";
            }else if(req_id.responseText=="7"){
                errmsg = "<strong>会員IDが入力されていません。<br />3文字以上15文字以内で再度入力して下さい。<strong>";
            }else if(req_id.responseText=="8"){
                errmsg = "<strong>この会員IDは使用出来ません。<strong>";
            }else{
                errmsg = "<strong>未定義のエラー</strong>";
            }

            set_infomsg(chk_id, "<font style='color:#C33;'>"+errmsg+"</font>");
        }
    }
}

function id_loadcode(str) {
    if (!req_id) {
        return;
    }
    if (str == "")  {
        return;
    }

    req_id.open('GET', encodeURI(str), true);
    req_id.onreadystatechange = id_reqchg;
    req_id.send(null);
}

function idcheck() {
    var str = document.register.username.value;
    if(str.length < 3 || str.length > 16)
    {
        set_infomsg(chk_id, "<strong><font style='color:#C33;'>3文字以上16文字以内でご指定ください</font></strong>");
    }
    else
    {
        id_loadcode('/check_id?id='+str);
    }
}


function check_len(obj, min, max, msg)
{
    if(obj.value == "")
    {
        alert(msg + "が入力されていません。");
        obj.focus();
        return false;
    }
    else
    {
        if((obj.value.length > eval(max)) ||  (obj.value.length < eval(min)))
        {
            if(min == "0")
            {
                alert(msg + "は" + max + "文字以内で入力してください。");
            }
            else
            {
                alert(msg + "は" + min + "文字以上" + max + "文字以内で入力してください。");
            }

            obj.focus();
            return false;
        }
    }

    return true;
}


function init()
{
    if(!check_len(document.register.username, "3", "16", "会員ID"))
    {
        return;
    }

    if(!check_len(document.register.pc_mail, "3", "64", "メールアドレス"))
    {
        return;
    }

	if(!check_len(document.register.pc_mail_confirm, "3", "64", "メールアドレス(確認用)"))
    {
        return;
    }
	
	if(document.register.pc_mail.value != document.frm.pc_mail_confirm.value)
    {
        alert("メールアドレスとメールアドレス(確認用)が異なっています");
        return;
    }
	
    if(!check_len(document.register.password, "3", "16", "パスワード"))
    {
        return;
    }
    
    if(!check_len(document.register.password_confirm, "3", "16", "パスワード(確認用)"))
    {
        return;
    }


    if(document.register.password.value != document.register.password_confirm.value)
    {
        alert("メールアドレスとメールアドレス(確認用)が異なっています");
        return;
    }

    document.register.submit();
}
