// JavaScript Document

sjq$ = jQuery.noConflict();

sjq$(function() {
	sjq$.sjqWatermark.attachAll();
	sjq$("input[id^=mr_mail_]").keyup(mailChangeCheck);
	sjq$("button[id^=mr_mail_]").click(mailCheck);
	sjq$("input[id$=_checkcode]").keyup(checkCodeCheck);
	sjq$("#mr_address_search").click(inputCheckAddress);
	sjq$("#tourSelectedBtn").click(toTourSelected).css("cursor", "pointer");
	sjq$("#payMethodBtn").click(toPayMethod).css("cursor", "pointer");
	sjq$("#mr_memberRegiForm").append('<input type="hidden" name="pageid" id="pageid" value="' + sjq$("#pageid_sub").val() + '" />');
	regiChangeCheck();
});

/* ------------------------------- 2011/12/07 --- */
/* 登録内容確認表示                               */
/* ---------------------------------------------- */
function toTourSelected() {
	sjq$("#toTourSelectedForm").append('<input type="hidden" name="pageid" id="pageid2" value="' + sjq$("#pageid_sub").val() + '" />').submit();
}


/* ------------------------------- 2011/12/07 --- */
/* 登録変更チェック                               */
/* ---------------------------------------------- */
function toPayMethod() {
	var pc_mail = sjq$("#mr_mail_home").val();
	var pc_conf = sjq$("#mr_mail_home_conf").val();
	var mb_mail = sjq$("#mr_mail_mobile").val();
	var mb_conf = sjq$("#mr_mail_mobile_conf").val();
	var pc_cp = sjq$("#mr_mail_home_checkpre").val();
	var pc_cc = sjq$("#mr_mail_home_checkcode").val();
	var mb_cp = sjq$("#mr_mail_mobile_checkpre").val();
	var mb_cc = sjq$("#mr_mail_mobile_checkcode").val();
	
	if (
					((pc_conf != "" && pc_mail == pc_conf) || (pc_cp != "" && pc_cp == pc_cc))
			 || ((mb_conf != "" && mb_mail == mb_conf) || (mb_cp != "" && mb_cp == mb_cc))
			) 
	{
		sjq$("#mr_memberRegiForm").attr("action", sjq$("#mr_memberRegiForm").attr("action") + "?r=" + parseInt(Math.random()*10000000000)).submit();
	} else {
		if ( (pc_conf != "" && pc_mail == pc_conf) || (pc_cp != "" && pc_cp == pc_cc) ) {
			alert("E-Mailアドレス（PC）を入力しなおしてください。");
		} else if ( (mb_conf != "" && mb_mail == mb_conf) || (mb_cp != "" && mb_cp == mb_cc) ) {
			alert("E-Mailアドレス（携帯）を入力しなおしてください。");
		}
	}
}

/* ------------------------------- 2009/09/17 --- */
/* 登録変更チェック                               */
/* ---------------------------------------------- */
function regiChangeCheck() {
	/*if ( sjq$("#mr_id").val() > 0 ) {
		if ( sjq$("#mr_mail_home").val() == sjq$("#mr_mail_home_conf").val() ) {
			sjq$("#row_check_home").css("display", "none");
			sjq$("#row_checkMsg_home").css("display", "none");
			sjq$("#cell_check_home").attr("rowspan", "1");
			sjq$("#mr_mail_home_check").attr("disabled", "disabled");
			sjq$("#mr_mail_home_checkcode").attr("readonly", "readonly").val("");
			sjq$("#mr_mail_home_check_errMsg").css("display", "none");
		}
		if ( sjq$("#mr_mail_mobile").val() == sjq$("#mr_mail_mobile_conf").val() ) {
			sjq$("#row_check_mobile").css("display", "none");
			sjq$("#row_checkMsg_mobile").css("display", "none");
			sjq$("#cell_check_mobile").attr("rowspan", "1");
			sjq$("#mr_mail_mobile_check").attr("disabled", "disabled");
			sjq$("#mr_mail_mobile_checkcode").attr("readonly", "readonly").val("");
			sjq$("#mr_mail_mobile_check_errMsg").css("display", "none");
		}

	}*/
}

/* ------------------------------- 2010/11/12 --- */
/* メールアドレス再変更チェック                   */
/* ---------------------------------------------- */
function mailChangeCheck() {
	var idFlag = this.id.replace(/\w+_\w+(_\w+)/, "$1");
	if ( sjq$("#" + this.id + "_conf").val() != "" && sjq$("#" + this.id ).val() == sjq$("#" + this.id + "_conf").val() ) {
		sjq$("#row_check" + idFlag).css("visibility", "hidden");
		sjq$("#row_checkMsg" + idFlag).css("visibility", "hidden");
		//sjq$("#cell_check" + idFlag).attr("rowspan", "1");
//		sjq$("#row_check" + idFlag + " td").css("backgroundColor", "#eeeeee");
//		sjq$("#row_checkMsg" + idFlag + " td").css("backgroundColor", "#eeeeee");
//		sjq$("#row_check" + idFlag + " input[id$=_checkcode]").css("backgroundColor", "#eeeeee");
//		sjq$("#row_checkMsg" + idFlag + " input[id$=_checkcode]").css("backgroundColor", "#eeeeee");
		sjq$("#mr_mail" + idFlag + "_check").attr("disabled", "disabled");
		sjq$("#mr_mail" + idFlag + "_checkcode").attr("readonly", "readonly");
	} else {
		sjq$("#row_check" + idFlag).css("visibility", "visible");
		sjq$("#row_checkMsg" + idFlag).css("visibility", "visible");
		//sjq$("#cell_check" + idFlag).attr("rowspan", "3");
//		sjq$("#row_check" + idFlag + " td").css("backgroundColor", "#ffffff");
//		sjq$("#row_checkMsg" + idFlag + " td").css("backgroundColor", "#ffffff");
//		sjq$("#row_check" + idFlag + " input[id$=_checkcode]").css("backgroundColor", "#ffffff");
//		sjq$("#row_checkMsg" + idFlag + " input[id$=_checkcode]").css("backgroundColor", "#ffffff");
		sjq$("#" + this.id + "_check").attr("disabled", "");
		sjq$("#" + this.id + "_checkcode").attr("readonly", "").val("");
	}
}

/* ------------------------------- 2009/11/17 --- */
/* 住所データの取得                               */
/* ---------------------------------------------- */
function inputCheckAddress() {
	var zip_code = sjq$("#mr_zipcode").val();
	var post_data = {};
	var params = "";
	var res_data = {};

	if ( zip_code.match(/\d{3}-\d{4}/) ) {
		post_data['cparam'] = sjq$("#cparam").val();
		post_data['pageid'] = sjq$("#pageid").val();
		post_data['zip_code'] = zip_code.replace(/-/, "");
		params = sjq$.param(post_data);
		sjq$.ajax({
			timeout: 3000,
			type: "POST",
			url: '../module/httpdrequest/address_src.php',
			data: params,
			dataType: 'html',
			success: function(getData) {
				/* 住所データのセット、またはリストを表示 */
				if (getData.indexOf("error") < 0) {
					res_data = eval("(" +getData + ")");
					sjq$("#mr_pref").val(res_data['pref']);
					sjq$("#mr_city").val(res_data['city']).focus();
				}
				return true;
			},
			error: function(xmlHttp, stat){
			}

		});

	} else {
		alert("例）104-0028 にそって入力してください。");
	}
	
	return true;

}


/* ------------------------------- 2009/09/15 --- */
/* メールアドレスチェック                         */
/* ---------------------------------------------- */
function mailCheck(){
	var targetId = "#" + this.id + "pre";
	var mailId = "#" + this.id.replace("_check", "");
	if ( sjq$(mailId).val().match(/^[\w\.-]+@[\w\.-]+\.\w+$/i) ) {
		sjq$(targetId).val(getrandom(8));
		sjq$.ajaxSetup({
			timeout: 3000,
			error: errorFunc
		});
		sjq$.post(
			"../module/httpdrequest/mailCheck.php", 
			{
				'cparam' : sjq$("#cparam").val(), 
				'pageid' : sjq$("#pageid").val(), 
				'from' : this.id,
				'tp' : sjq$(targetId).val(),
				'mail_address' : sjq$(mailId).val()
			}, 
			mailCheckRes
		);
	} else if ( sjq$(mailId).val() == "" ) {
		alert("メールアドレスを入力してから\nチェックボタンを押してください。");
	} else {
		alert("メールアドレスがおかしい様です。\n\n\n\n@や.が全角文字ではありませんか？\n\nドット.がカンマ,になってませんか？\n\n足りない文字はありませんか？\n\nメールアドレスの前後に空白文字が入っていませんか？\n\n\nもう一度確認のうえ入力してから\nチェックボタンを押してください。");
	}
	return false;
}

/* ------------------------------- 2009/09/15 --- */
/* メールアドレスチェックレスポンス               */
/* ---------------------------------------------- */
function mailCheckRes(getData) {
	if ( getData.match(/^error/i) ) {
		alert("エラーが発生しました。\n\nもう一度メールアドレスを入力しなおしてから\nチェックボタンを押して下さい。");
	} else if ( getData.match(/^registerd/i) ) {
		alert("このメールアドレスは既に登録されています。2重登録はできません。");
	} else if ( getData.match(/^mailsenderror/i) ) {
		alert("チェックコードを送信できませんでした。\n\nもう一度メールアドレスをご確認のうえ\nチェックボタンを押してください。");
	} else if ( getData.match(/mailsended/i)) {
		alert("チェックコードをメールにて送信しました。\n\すぐにメールを受信し、\nメール内のチェックコード（8桁の数字）をチェックコード欄に入力してください。");
		var res = eval("("+getData+")");
		sjq$("#" + res.mailsended + "code").val("");
	} else {
		alert("予期せぬエラーが発生しました。");
	}
	return true;
}

/* ------------------------------- 2009/09/15 --- */
/* チェックコードチェック                         */
/* ---------------------------------------------- */
function checkCodeCheck(){
	var checkBtnId = "#" + this.id.replace("_checkcode", "_check");
	var checkpreId = "#" + this.id.replace("_checkcode", "_checkpre");
	var statusId = "#" + this.id.replace("_checkcode", "_checkstatus");
	var msg = "?";
	if ( this.value!= "" && this.value == sjq$(checkpreId).val() ) {
		msg = "OK";
		sjq$(checkBtnId).attr("disabled", "disabled");
		sjq$("#" + this.id).attr("readonly", "readonly");
	} else if ( this.value.length == 8 ) {
		msg = "？ : チェックコードが違うようです。";
	} else {
		msg = "あと" + (8 - this.value.length) + "桁";
	}
	sjq$(statusId).html(msg);
	return true;
}


/* ------------------------------- 2009/09/15 --- */
/* 乱数取得                                       */
/* ---------------------------------------------- */
function getrandom(figure) {
	var res = 0;
	var fig = 0;
	var rules = 0;
	if (figure > 0) {fig = figure;}
	rules = Math.pow(10,fig-1) - 1;
	res = parseInt(Math.random()*Math.pow(10,fig));
	if ( res < rules ) {
		res = getrandom(figure);
	}
	return res;
}

/* ------------------------------- 2009/09/15 --- */
/* Ajaxエラー処理                                 */
/* ---------------------------------------------- */
function errorFunc(xmlHttp, stat) {
	if (stat) {
		sjq$("#result").text("エラー(" + stat + ")が発生しました。 : ");
	}
	return true;
}

