// JavaScript Document

/* ==========================================================================

 概要

 ご予約フォームの設定

 (C)920 Lastupdate： 2010.11.10

========================================================================== */

// URLパラメータを取得
function getUrlVars() {
	var vars = [], hash;
	var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
	for(var i = 0; i <hashes.length; i++) {
		hash = hashes[i].split('=');
		vars.push(hash[0]);
		vars[hash[0]] = hash[1];
	}
	return vars;
}

$(document).ready(function(){

// プランの初期選択項目を設定
// ------------------------------------------------------------------------------

	// プラン未指定時に選択項目にするプラン
	var default_plan = '指定なし';

	// フォームトップだったら
	if ($(".process-form").length) {  
	
		// プランを配列として取得
		var plansObj = document.getElementById('mail_plan').options;
		var plans = [];
		for (var i=0, len=plansObj.length; i<len; i++) {
			plans.push(plansObj[i].value);
		}
	
		// 指定プラン名を取得
		var choice_plan = decodeURIComponent(getUrlVars()['plan']);
		if(choice_plan == '') {
//			alert('空');
			choice_plan = default_plan;
		}
		else {
			if(jQuery.inArray(choice_plan, plans) == -1) {
				choice_plan = default_plan;
			}
		}
//		alert(choice_plan);
	
		// 指定プランを選択項目に設定
		$('#mail_plan').val(choice_plan);

	}


// 
// ------------------------------------------------------------------------------

	$('#mail_reserve_d').change(function() {
		var select_date = $(this).val();
		if(select_date == '未定') {
			$('#daytype_block').show();
		}
		else {
			$('#daytype_block').hide();
			$("input:[name=mail_daytype]").attr("checked",false);
		}
	});


	var year_len = 3;
	var objYear = 'mail_reserve_y';
	var objMonth = 'mail_reserve_m';
	var objDate = 'mail_reserve_d';

	var today = new Date();
	var year = today.getFullYear();
	var month = today.getMonth() + 1;
	var date = today.getDate();

	// 「年」セレクトメニューの「option」を設定
	$('#' + objYear).children().remove();
	for(var i=0; i<year_len; i++) {
		var opYear =  year + i;
		$('#' + objYear).append($('<option>').attr({value:opYear}).text(opYear));
	}
	if ($("body.process-check").length) {  
		$('#' + objYear).val($('#select_y').val());
	}

	// 「月」セレクトメニューの「selected」を設定
	if ($("body.process-form").length) {  
		$('#' + objMonth).val(month);	// 選択項目を指定
	}
	if ($("body.process-check").length) {  
		$('#' + objMonth).val($('#select_m').val());	// 選択項目を指定
	}

	// 「日」セレクトメニューの「option」を設定
	var month_len = monthLen(year,month);	// セレクトメニューで指定された年月からその月の日数を取得
	if ($("body.process-form").length) {  
		set_date(month_len, date, objDate);
	}
	if ($("body.process-check").length) {  
		set_date(month_len, $('#select_d').val(), objDate);
	}

	// セレクトメニューで「年」を変更したときセレクトメニュー「日」を更新
	$('#' + objYear).change(function() {
		$('#' + objMonth).val(1);	// セレクトメニューで「月」選択項目を指定
		var changedYear = $('#' + objYear).val();
		var changedMonth = $('#' + objMonth).val();
		var changed_month_len = monthLen(changedYear,1);
		set_date(changed_month_len, 1, objDate);
		$('#daytype_block').hide();
		$("input:[name=mail_daytype]").attr("checked",false);
	});

	// セレクトメニューで「月」を変更したときセレクトメニュー「日」を更新
	$('#' + objMonth).change(function() {
		var changedYear = $('#' + objYear).val();
		var changedMonth = $('#' + objMonth).val();
		var changed_month_len = monthLen(changedYear,changedMonth);
		set_date(changed_month_len, 1, objDate);
		$('#daytype_block').hide();
		$("input:[name=mail_daytype]").attr("checked",false);
	});

	// 指定月の日数を取得
	function monthLen(year,month){
		return new Date(year,month,0).getDate();
	}
	
	// 「日」セレクトメニューの「option」を設定
	function set_date(month_len, date, obj) {
		$('#' + obj).children().remove();
		$('#' + obj).append($('<option>').attr({value:"未定"}).text("未定"));
		for(var i=1; i <= month_len; i++) {
			$('#' + obj).append($('<option>').attr({value:i}).text(i));
		}
		$('#' + obj).val(date);	// 選択項目を指定
	}

	if ($("body.process-form").length) {
		if($('#mail_reserve_d').val() != '未定') {
			$('#daytype_block').hide();
			$("input:[name=mail_daytype]").attr("checked",false);
		}
	}
	if ($("body.process-check").length) {
		if($('#select_d').val() != '未定') {
			$('#daytype_block').hide();
			$("input:[name=mail_daytype]").attr("checked",false);
		}
	}

	$("a[class^='CB_Ajax']").colorbox({width: "80%", height: "80%"});

	// デートピッカーの設定
	var today = new Date();
	var year_today = today.getFullYear();
	var view_last_year =  (year_today*1) + 1;
	var year_range = year_today + ':' + view_last_year;

	$("#mail_reserve_date").datepicker({
		yearRange: year_range,
		dateFormat: 'yy/mm/dd',
		showMonthAfterYear: true,
		changeYear: true,
		changeMonth: true,
		monthNames: ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'],
		monthNamesShort: ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'],
		dayNamesMin: ['日', '月', '火', '水', '木', '金', '土'],
		yearSuffix: '年'
	});

	// 電話番号の内容を半角に変換
	$('#mail_tel').keyup(function() {
		$(this).changeTelchar();
	});
	$('#mail_tel').blur(function() {
		$(this).changeTelchar();
	});

	// 宿泊数の入力内容を半角数値に変換
	$('#mail_stay').keyup(function() {
		$(this).onlyNum();
	});

	// 予算の入力内容を半角数値に変換
	$('#mail_budget_total').keyup(function() {
		$(this).onlyNum();
	});

	// 宿泊人数の設定
/*
	$('.heads').keyup(function() {
		var thisVal = $(this).val() * 1;

		if(thisVal == "") {
			$(this).val(0);
			$(this).select();
		}
		else {
			for ( var i = 0, len=$(this).val().length; i < len; i++ ) {
				c = $(this).val().charAt(i);
				if ( "0123456789".indexOf(c,0) < 0 ) {
					$(this).val(0);
					$(this).select();
				}
			}
		}

		var total_heads = 0;
		$('.heads').each(function() {
			total_heads += ($(this).val() * 1);
		 });
		$('#mail_total_heads').val(total_heads);
	});
*/

	$('.heads').keyup(function() {
		var thisVal = $(this).val() * 1;

		if(thisVal == "") {
			$(this).val(0);
			$(this).select();
		}
		else {
			$(this).onlyNum();
			if($(this).val() == "") {
				$(this).val(0);
				$(this).select();
			}
		}

		var total_heads = 0;
		$('.heads').each(function() {
			total_heads += ($(this).val() * 1);
		 });
		$('#mail_total_heads').val(total_heads);
	});



	// 送信確認ページの表示設定
	$('#mail_edit').click(function() {
		$('#resultDatas').hide();
		$('.form .datas').show();
		$('#editBtn').hide();
		$('#checkBtn').css({'display': 'inline'});
		$('#pp_approval').show();
		$('#message-check').hide();
		$('.form h2').show();
		$('#submitBtn').hide();
	});

	// 個人情報保護方針の同意で確認ボタンの有効･無効を切り替え
	if(!$('#mail_approval:checked').val()) {
		$('#mail_preview').attr('disabled', 'disabled');
	}
	else {
		$('#mail_preview').removeAttr('disabled');
	}
	$('#mail_approval').click(function() {
		if($('#mail_approval:checked').val()) {
			$('#mail_preview').removeAttr('disabled');
		}
		else {
			$('#mail_preview').attr('disabled', 'disabled');
		}
	});

	// 入力内容の確認
	$('#mail_form').submit(function() {
		return Check(this);
	});

	// Win IE のバージョンを設定
	if(isMSIE) {
		$('#check_ie').val(getBrowserVersion());
	}

	// 利用日＞宿泊数の表示設定
	if($('input[name="mail_type"]:checked').val() != 'ご宿泊') {
		$('#stays').hide();
	}
	$('input[name="mail_type"]').click(function() {
		if($('input[name="mail_type"]:checked').val() == 'ご宿泊') {
			$('#stays').show();
//			$('#use_other_text').show();
		}
		else {
			$('#stays').hide();
//			$('#use_other_text').hide();
		}
	});

	// 利用目的＞その他の表示設定
	if($('input[name="mail_use"]:checked').val() != 'その他') {
		$('#mail_use_other').hide();
		$('#use_other_text').hide();
	}
	$('input[name="mail_use"]').click(function() {
		if($('input[name="mail_use"]:checked').val() == 'その他') {
			$('#mail_use_other').show();
			$('#use_other_text').show();
		}
		else {
			$('#mail_use_other').hide();
			$('#use_other_text').hide();
		}
	});

});




/* ----------------------------------------------------------------------
 . 「form」の入力内容をチェック
---------------------------------------------------------------------- */
function Check(FmName){

//	if ( !checkNull ( FmName.mail_group, "「団体名」が入力されていません！", "" ) ) { return false; }
	if ( !checkNull ( FmName.mail_author, "「幹事様お名前」が入力されていません！", "" ) ) { return false; }
	if ( !checkMail ( FmName.mail_email, "「E-mail（連絡先）」が入力されていません！", "「メールアドレス」の形式が正しくありません！\n「abcd@example.com」の形式で入力してください。", "" ) ) { return false; }
	if ( !checkPhoneMobile ( FmName.mail_tel, "「電話番号（連絡先）」が入力されていません！", "「電話番号（連絡先）」の形式が正しくありません！", "" ) ) { return false; }
	if ( !checkRadio ( FmName.mail_type, "「利用方法」が選択されていません！" ) ) { return false; }
	if(document.getElementById('mail_type1').checked) {
		if(document.getElementById('mail_stay').value == 0) {
			alert('「利用方法」で「ご宿泊」を選択の場合、「宿泊数」の入力は必須です！');
			document.getElementById('mail_stay').focus();
			return false;
		}
	}
//	if ( !checkEmpDate2 ( FmName.mail_reserve_date, "「利用日」の形式が正しくありません！\nデートピッカーをご利用いただくか、\n「yyyy/mm/dd」の形式で入力してください。" ) ) { return false; }
	if(document.getElementById('mail_reserve_d').value == '未定') {
		if ( !checkRadio ( FmName.mail_daytype, "「ご利用日がお決まりで無い場合」は、目安として平日、休前日、休祝日を選択してください！" ) ) { return false; }
	}
	if(document.getElementById('mail_total_heads').value == 0) {
		alert('「人数」が入力されていません！');
		document.getElementById('mail_adult_heads').focus();
		return false;
	}
	if ( !checkRadio ( FmName.mail_budget, "「予算単位（予算）」が選択されていません！" ) ) { return false; }
	if ( !checkNull ( FmName.mail_budget_total, "「予算額（予算）」が入力されていません！", "" ) ) { return false; }
	if ( !checkRadio ( FmName.mail_use, "「利用目的」が選択されていません！" ) ) { return false; }
	if(document.getElementById('mail_use7').checked == true) {
		if ( !checkNull ( FmName.mail_use_other, "「その他（利用目的）の内容」が入力されていません！", "" ) ) { return false; }
	}
	if(document.getElementById('mail_approval').checked != true) {
		alert('「個人情報保護方針」の同意が必要です！');
		document.getElementById('mail_approval').focus();
		return false;
	}

}



