/***********************************************/
/* パーパスジャパン各種フォームで              */
/* [確認]ボタン押下時に入力値のチェックを行う  */
/***********************************************/

/**
 * フォーム入力チェック【お申込み】
 */
function checkentry1(){

	var errorMsg = "";

	errorMsg += checkCourseOrTour();
	errorMsg += checkDepartureDate();
	errorMsg += checkDeparturePoint();
	errorMsg += checkTermForTrip();
	errorMsg += checkNameFull();
	errorMsg += checkNameAlpha();
	errorMsg += checkGender();
	errorMsg += checkBirthDay();
	errorMsg += checkEmail();
	errorMsg += checkZip();
	errorMsg += checkAddress();
	errorMsg += checkPhoneNumber();
	errorMsg += checkHowToContact();
	errorMsg += checkPassport();
	errorMsg += checkTravelInsurance();
	errorMsg += checkSurrogateVisa();
	errorMsg += checkRoomShare();
	errorMsg += checkPartyMember(1);
	errorMsg += checkPartyMember(2);
	errorMsg += checkPartyMember(3);
	errorMsg += checkPartyMember(4);
	errorMsg += checkPartyMember(5);
	errorMsg += checkPartyMember(6);
	errorMsg += checkContactNameKanji();
	errorMsg += checkContactNameKana();
	errorMsg += checkContactRelationship();
	errorMsg += checkContactAddress();
	errorMsg += checkContactPhoneNumber();
	errorMsg += checkSiteAccessReason();

	if(errorMsg != ""){
		alert(errorMsg);
		return false;
	}

	return true;

}

/**
 * フォーム入力チェック【旅行相談】
 */
function checkentry2(){

	var errorMsg = "";

	errorMsg += checkDelegateName();
	errorMsg += checkDelegateNameKana();
	errorMsg += checkEmail();
	errorMsg += checkGender();
	errorMsg += checkZip();
	errorMsg += checkAddress();
	errorMsg += checkPhoneNumber();
	errorMsg += checkHowToContact();

	errorMsg += checkTravelSpot();
	errorMsg += checkHopeDepartureDate(1, 0);
	errorMsg += checkHopeDepartureDate(2, 0);
	errorMsg += checkHopeDepartureDate(3, 0);

	errorMsg += checkSiteAccessReason();

	if(errorMsg != ""){
		alert(errorMsg);
		return false;
	}

	return true;

}

/**
 * フォーム入力チェック【来社相談】
 * 受付フォームの入力チェック
 */
function checkentry3(){

	var errorMsg = "";

	errorMsg += checkAdvisementDate();
	errorMsg += checkDelegateName();
	errorMsg += checkDelegateNameKana();
	errorMsg += checkEmail();
	errorMsg += checkGender();
	errorMsg += checkZip();
	errorMsg += checkAddress();
	errorMsg += checkPhoneNumber();
	errorMsg += checkHowToContact();

	errorMsg += checkTravelSpot();
	errorMsg += checkHopeDepartureDate(1, 0);
	errorMsg += checkHopeDepartureDate(2, 0);
	errorMsg += checkHopeDepartureDate(3, 0);

	errorMsg += checkSiteAccessReason();

	if(errorMsg != ""){
		alert(errorMsg);
		return false;
	}

	return true;

}

/**
 * フォーム入力チェック【出張相談受付】
 */
function checkentry4(){

	var errorMsg = "";

	errorMsg += checkAdvisementDate();
	errorMsg += checkDelegateName();
	errorMsg += checkDelegateNameKana();
	errorMsg += checkEmail();
	errorMsg += checkGender();
	errorMsg += checkZip();
	errorMsg += checkAddress();
	errorMsg += checkPhoneNumber();
	errorMsg += checkHowToContact();
	errorMsg += checkNearStation();

	errorMsg += checkTravelSpot();
	errorMsg += checkHopeDepartureDate(1, 0);
	errorMsg += checkHopeDepartureDate(2, 0);
	errorMsg += checkHopeDepartureDate(3, 0);

	errorMsg += checkSiteAccessReason();

	if(errorMsg != ""){
		alert(errorMsg);
		return false;
	}

	return true;

}

/**
 * フォーム入力チェック【旅程変更・見積依頼】
 */
function checkentry5(){

	var errorMsg = "";

	errorMsg += checkCourseOrTour2();
	errorMsg += checkDeparture();
	errorMsg += checkHopeDepartureDate(1, 1);
	errorMsg += checkHopeDepartureDate(2, 0);
	errorMsg += checkHopeDepartureDate(3, 0);
	errorMsg += checkPartyNumber();
	errorMsg += checkRoomType();
	errorMsg += checkHopeBudget();

	errorMsg += checkDelegateName();
	errorMsg += checkDelegateNameKana();
	errorMsg += checkEmail();
	errorMsg += checkGender();
	errorMsg += checkZip();
	errorMsg += checkAddress();
	errorMsg += checkPhoneNumber();
	errorMsg += checkHowToContact();

	errorMsg += checkSiteAccessReason();

	if(errorMsg != ""){
		alert(errorMsg);
		return false;
	}

	return true;

}

/**
 * フォーム入力チェック【空席照会】
 */
function checkentry6(){

	var errorMsg = "";

	errorMsg += checkCourseOrTour2();
	errorMsg += checkDeparture();
	errorMsg += checkHopeDepartureDate(1, 1);
	errorMsg += checkHopeDepartureDate(2, 0);
	errorMsg += checkHopeDepartureDate(3, 0);
	errorMsg += checkPartyNumber();
	errorMsg += checkRoomType();

	errorMsg += checkDelegateName();
	errorMsg += checkDelegateNameKana();
	errorMsg += checkEmail();
	errorMsg += checkGender();
	errorMsg += checkZip();
	errorMsg += checkAddress();
	errorMsg += checkPhoneNumber();
	errorMsg += checkHowToContact();

	errorMsg += checkSiteAccessReason();

	if(errorMsg != ""){
		alert(errorMsg);
		return false;
	}

	return true;

}

/**
 * フォーム入力チェック【資料請求】
 */
function checkentry7(){

	var errorMsg = "";

	errorMsg += checkCourseOrTour2();
	errorMsg += checkName();
	errorMsg += checkNameKana();
	errorMsg += checkEmail();
	errorMsg += checkGender();
	errorMsg += checkSendZip();
	errorMsg += checkSendAddress();
	errorMsg += checkPhoneNumber();

	errorMsg += checkSiteAccessReason();

	if(errorMsg != ""){
		alert(errorMsg);
		return false;
	}

	return true;

}


/* コースナンバーまたはツアー名 */
function checkCourseOrTour(){
	var errMsg = "";
	if(document.entry.elements['コースナンバー（番号）'].value == "" &&
		document.entry.elements['ツアー名'].value == ""){

		errMsg += "「コースナンバー」か「ツアー名」のいずれかを入力してください。\n";
	}
	return errMsg;
}

/* コースナンバーまたはツアー名（２つある場合） */
function checkCourseOrTour2(){
	var errMsg = "";
	if(document.entry.elements['コースナンバー１（番号）'].value == "" &&
		document.entry.elements['ツアー名１'].value == ""){

		errMsg += "「コースナンバー１」か「ツアー名１」のいずれかを入力してください。\n";
	}
	return errMsg;
}

/* 日本出発日 */
function checkDepartureDate(){
	var errMsg = "";
	if(document.entry.elements['日本出発日（年）'].selectedIndex == 0){
		errMsg += "「日本出発日（年）」を選択してください。\n";
	}
	if(document.entry.elements['日本出発日（月）'].selectedIndex == 0){
		errMsg += "「日本出発日（月）」を選択してください。\n";
	}
	if(document.entry.elements['日本出発日（日）'].selectedIndex == 0){
		errMsg += "「日本出発日（日）」を選択してください。\n";
	}
	return errMsg;
}

/* 出発地 */
function checkDeparturePoint(){
	var errMsg = "";
	if(document.entry.elements['出発地'][0].checked == false &&
		document.entry.elements['出発地'][1].checked == false &&
		document.entry.elements['出発地'][2].checked == false){

		errMsg += "「出発地」を選択してください。\n";
	}
	return errMsg;
}

/* 期間 */
function checkTermForTrip(){
	var errMsg = "";
	if(document.entry.elements['期間'].selectedIndex == 0){
		errMsg += "「期間」を選択してください。\n";
	}
	return errMsg;
}

/* 氏名 */
function checkNameFull(){
	var errMsg = "";
	if(document.entry.elements['氏名（姓）'].value == ""){
		errMsg += "「氏名（姓）」を入力してください。\n";
	}
	if(document.entry.elements['氏名（名）'].value == ""){
		errMsg += "「氏名（名）」を入力してください。\n";
	}
	return errMsg;
}

/* ローマ字 */
function checkNameAlpha(){
	var errMsg = "";
	if(document.entry.elements['ローマ字（姓）'].value == ""){
		errMsg += "「ローマ字（姓）」を入力してください。\n";
	}
	if(document.entry.elements['ローマ字（名）'].value == ""){
		errMsg += "「ローマ字（名）」を入力してください。\n";
	}
	return errMsg;
}

/* 性別 */
function checkGender(){
	var errMsg = "";
	if(document.entry.elements['性別'][0].checked == false &&
		document.entry.elements['性別'][1].checked == false){

		errMsg += "「性別」を選択してください。\n";
	}
	return errMsg;
}

/* 生年月日 */
function checkBirthDay(){
	var errMsg = "";
	if(document.entry.elements['生年月日（年）'].value == ""){
		errMsg += "「生年月日（年）」を入力してください。\n";
	}
	if(document.entry.elements['生年月日（月）'].value == ""){
		errMsg += "「生年月日（月）」を入力してください。\n";
	}
	if(document.entry.elements['生年月日（日）'].value == ""){
		errMsg += "「生年月日（日）」を入力してください。\n";
	}
	if(document.entry.elements['年齢'].value == ""){
		errMsg += "「年齢」を入力してください。\n";
	}
	return errMsg;
}

/* E-mail */
function checkEmail(){

	var errMsg = "";

	// E-mail
	var email_1 = document.entry.elements['Email（前）'].value;
	var email_2 = document.entry.elements['Email（後）'].value;
	if(email_1 == "" || email_2 == ""){
		errMsg += "「Email」を入力してください。\n";
		return errMsg;
	}

	// E-mail（確認用）
	var email_re = document.entry.elements['Email_Re'].value;
	if(email_re == ""){
		errMsg += "「E-mail（確認用）」を入力してください。\n";
		return errMsg;
	}

	// E-mailを確認用と比較
	var email = email_1 + "@" + email_2;
	if(strcmp(email, email_re) != 0){
		errMsg += "「E-mail」が確認用と異なっています。\n";
		return errMsg;
	}

	// メールアドレスの形式チェック
	var cflag1 = 0;
	for(var i = 0; i < email.length; i++){
		if(email.charAt(i) == "@"){
			cflag1++;
		}
	}
	var cflag2 = email.indexOf(".");
	if(cflag1 != 1 || cflag2 < 1 || email.length < 7){
		errMsg += "「E-mail」が不正です。\n";
	}
	return errMsg;
}

/* 郵便番号 */
function checkZip(){
	var errMsg = "";
	if(document.entry.elements['郵便番号（前）'].value == ""){
		errMsg += "「郵便番号（前）」を入力してください。\n";
	}
	if(document.entry.elements['郵便番号（後）'].value == ""){
		errMsg += "「郵便番号（後）」を入力してください。\n";
	}
	return errMsg;
}

/* 住所 */
function checkAddress(){
	var errMsg = "";
	if(document.entry.elements['住所（都道府県）'].selectedIndex == 0){
		errMsg += "「住所（都道府県）」を選択してください。\n";
	}
	if(document.entry.elements['住所（市区町村以降）'].value == ""){
		errMsg += "「住所（市区町村以降）」を入力してください。\n";
	}
	return errMsg;
}

/* 電話番号 or 携帯電話番号 */
function checkPhoneNumber(){
	var errMsg = "";
	if(document.entry.elements['電話番号_1'].value == "" &&
		document.entry.elements['電話番号_2'].value == "" &&
		document.entry.elements['電話番号_3'].value == "" &&
		document.entry.elements['携帯電話番号_1'].value == "" &&
		document.entry.elements['携帯電話番号_2'].value == "" &&
		document.entry.elements['携帯電話番号_3'].value == ""){

		errMsg += "「電話番号」または「携帯電話番号」のどちらかを入力してください。\n";
		return errMsg;
	}

	if(document.entry.elements['電話番号_1'].value != "" ||
		 document.entry.elements['電話番号_2'].value != "" ||
		 document.entry.elements['電話番号_3'].value != ""){

		if(document.entry.elements['電話番号_1'].value == "" ||
			document.entry.elements['電話番号_2'].value == "" ||
			document.entry.elements['電話番号_3'].value == ""){
			errMsg += "「電話番号」を入力してください。\n";
		}
	}

	if(document.entry.elements['携帯電話番号_1'].value != "" ||
		 document.entry.elements['携帯電話番号_2'].value != "" ||
		 document.entry.elements['携帯電話番号_3'].value != ""){

		if(document.entry.elements['携帯電話番号_1'].value == "" ||
			document.entry.elements['携帯電話番号_2'].value == "" ||
			document.entry.elements['携帯電話番号_3'].value == ""){
			errMsg += "「携帯電話番号」を入力してください。\n";
		}
	}

	return errMsg;
}

/* 連絡希望方法 */
function checkHowToContact(){
	var contact = document.entry.elements['連絡希望方法1'];
	var errMsg = "";
	if(contact[0].checked == false && contact[1].checked == false &&
		 contact[2].checked == false && contact[3].checked == false &&
		 contact[4].checked == false){

		errMsg += "「連絡希望方法」のいずれかを選択してください。\n";
		return errMsg;
	}

	if(contact[0].checked == true &&
		 (document.entry.elements['電話番号_1'].value == "" ||
			document.entry.elements['電話番号_2'].value == "" ||
			document.entry.elements['電話番号_3'].value == "")){
		errMsg += "連絡希望方法が「電話」の場合は電話番号を入力してください。\n";
		return errMsg;
	}

	if(contact[1].checked == true &&
		 (document.entry.elements['携帯電話番号_1'].value == "" ||
			document.entry.elements['携帯電話番号_2'].value == "" ||
			document.entry.elements['携帯電話番号_3'].value == "")){
		errMsg += "連絡希望方法が「携帯電話」の場合は携帯電話番号を入力してください。\n";
		return errMsg;
	}

	if(contact[3].checked == true &&
		 (document.entry.elements['ファックス番号_1'].value == "" ||
			document.entry.elements['ファックス番号_2'].value == "" ||
			document.entry.elements['ファックス番号_3'].value == "")){
		errMsg += "連絡希望方法が「ファックス」の場合はファックス番号を入力してください。\n";
		return errMsg;
	}

	if(contact[4].checked == true && document.entry.elements['連絡希望方法（その他）'].value == ""){
		errMsg += "連絡希望方法が「その他」の場合は、連絡希望方法を入力してください。\n";
		return errMsg;
	}

	if(contact[3].checked == false &&
		 (document.entry.elements['ファックス番号_1'].value != "" ||
			document.entry.elements['ファックス番号_2'].value != "" ||
			document.entry.elements['ファックス番号_3'].value != "")){
		errMsg += "ファックス番号を入力した場合は、連絡希望方法に「ファックス」をチェックしてください。\n";
	}

	if(contact[4].checked == false && document.entry.elements['連絡希望方法（その他）'].value != ""){
		errMsg += "連絡希望方法（その他）を入力した場合は、連絡希望方法に「その他」をチェックしてください。\n";
	}

	return errMsg;
}

/* 旅券（旅券番号・旅券発行年月日・旅券有効期限もあわせてチェック） */
function checkPassport(){
	var errMsg = "";
	if(document.entry.elements['旅券'][0].checked == false &&
		document.entry.elements['旅券'][1].checked == false){

		errMsg += "「旅券」を選択してください。\n";
		return errMsg;
	}

	// 旅券を持っていない場合は、その他の入力があったらエラー
	if(document.entry.elements['旅券'][1].checked == true){

		if(document.entry.elements['旅券番号'].value != "" ||
			 document.entry.elements['旅券発行年月日（年）'].selectedIndex != 0 ||
			 document.entry.elements['旅券発行年月日（月）'].selectedIndex != 0 ||
			 document.entry.elements['旅券発行年月日（日）'].selectedIndex != 0 ||
			 document.entry.elements['旅券有効期限（年）'].selectedIndex != 0 ||
			 document.entry.elements['旅券有効期限（月）'].selectedIndex != 0 ||
			 document.entry.elements['旅券有効期限（日）'].selectedIndex != 0){

			errMsg += "「旅券」を持っていない場合は「旅券番号・旅券発行年月日・旅券有効期限」を入力しないでください。\n";
		}

	}
	else{
		if(document.entry.elements['旅券番号'].value == ""){
			errMsg += "「旅券番号」を入力してください。\n";
		}
		if(document.entry.elements['旅券発行年月日（年）'].selectedIndex == 0){
			errMsg += "「旅券発行年月日（年）」を選択してください。\n";
		}
		if(document.entry.elements['旅券発行年月日（月）'].selectedIndex == 0){
			errMsg += "「旅券発行年月日（月）」を選択してください。\n";
		}
		if(document.entry.elements['旅券発行年月日（日）'].selectedIndex == 0){
			errMsg += "「旅券発行年月日（日）」を選択してください。\n";
		}
		if(document.entry.elements['旅券有効期限（年）'].selectedIndex == 0){
			errMsg += "「旅券有効期限（年）」を選択してください。\n";
		}
		if(document.entry.elements['旅券有効期限（月）'].selectedIndex == 0){
			errMsg += "「旅券有効期限（月）」を選択してください。\n";
		}
		if(document.entry.elements['旅券有効期限（日）'].selectedIndex == 0){
			errMsg += "「旅券有効期限（日）」を選択してください。\n";
		}

	}
	return errMsg;
}

/* 旅券番号 */
function checkPassportNo(){
	var errMsg = "";
	if(document.entry.elements['旅券番号'].value == ""){
		errMsg += "「旅券番号」を入力してください。\n";
	}
	return errMsg;
}

/* 旅券発行年月日 */
function checkPassportIssuingDate(){
	var errMsg = "";
	if(document.entry.elements['旅券発行年月日（年）'].selectedIndex == 0){
		errMsg += "「旅券発行年月日（年）」を選択してください。\n";
	}
	if(document.entry.elements['旅券発行年月日（月）'].selectedIndex == 0){
		errMsg += "「旅券発行年月日（月）」を選択してください。\n";
	}
	if(document.entry.elements['旅券発行年月日（日）'].selectedIndex == 0){
		errMsg += "「旅券発行年月日（日）」を選択してください。\n";
	}
	return errMsg;
}

/* 旅券有効期限 */
function checkPassportExpirationDate(){
	var errMsg = "";
	if(document.entry.elements['旅券有効期限（年）'].selectedIndex == 0){
		errMsg += "「旅券有効期限（年）」を選択してください。\n";
	}
	if(document.entry.elements['旅券有効期限（月）'].selectedIndex == 0){
		errMsg += "「旅券有効期限（月）」を選択してください。\n";
	}
	if(document.entry.elements['旅券有効期限（日）'].selectedIndex == 0){
		errMsg += "「旅券有効期限（日）」を選択してください。\n";
	}
	return errMsg;
}

/* 海外旅行傷害保険 */
function checkTravelInsurance(){
	var errMsg = "";
	if(document.entry.elements['海外旅行傷害保険'][0].checked == false &&
		document.entry.elements['海外旅行傷害保険'][1].checked == false){

		errMsg += "「海外旅行傷害保険」を選択してください。\n";
	}
	return errMsg;
}

/* 査証代行 */
function checkSurrogateVisa(){
	var errMsg = "";
	if(document.entry.elements['査証代行'][0].checked == false &&
		document.entry.elements['査証代行'][1].checked == false){

		errMsg += "「査証代行」を選択してください。\n";
	}
	return errMsg;
}

/* 出入国カード代行 */
function checkSurrogateEDCard(){
	var errMsg = "";
	if(document.entry.elements['出入国カード代行'][0].checked == false &&
		document.entry.elements['出入国カード代行'][1].checked == false){

		errMsg += "「出入国カード代行」を選択してください。\n";
	}
	return errMsg;
}

/* 相部屋希望 */
function checkRoomShare(){
	var errMsg = "";
	if(document.entry.elements['相部屋希望'][0].checked == false &&
		 document.entry.elements['相部屋希望'][1].checked == false){
		errMsg += "「相部屋希望」を選択してください。\n";
	}
	return errMsg;
}

/* その他 */
function checkEtc(){
	var errMsg = "";
	if(document.entry.elements['その他'].value == ""){
		errMsg += "「その他」を入力してください。\n";
	}
	return errMsg;
}

/* ご同行者1～6 */
function checkPartyMember(partyNo){

	var name1;
	var name2;
	var gender;
	var birthday1;
	var birthday2;
	var birthday3;
	var age;
	var passNo;
	var passDate1;
	var passDate2;
	var passDate3;

	var partyName;

	if(partyNo == 1){
		partyName = "ご同行者1"
		name1 = document.entry.elements['ご同行者1（氏名［ローマ字（姓）］）'].value;
		name2 = document.entry.elements['ご同行者1（氏名［ローマ字（名）］）'].value;
		gender = document.entry.elements['ご同行者1（性別）'];
		birthday1 = document.entry.elements['ご同行者1（生年月日（年））'].value;
		birthday2 = document.entry.elements['ご同行者1（生年月日（月））'].value;
		birthday3 = document.entry.elements['ご同行者1（生年月日（日））'].value;
		age = document.entry.elements['ご同行者1（年齢）'].value;
		passNo = document.entry.elements['ご同行者1（旅券番号）'].value;
		passDate1 = document.entry.elements['ご同行者1（旅券有効期限（年））'].selectedIndex;
		passDate2 = document.entry.elements['ご同行者1（旅券有効期限（月））'].selectedIndex;
		passDate3 = document.entry.elements['ご同行者1（旅券有効期限（日））'].selectedIndex;
	}
	else if(partyNo == 2){
		partyName = "ご同行者2"
		name1 = document.entry.elements['ご同行者2（氏名［ローマ字（姓）］）'].value;
		name2 = document.entry.elements['ご同行者2（氏名［ローマ字（名）］）'].value;
		gender = document.entry.elements['ご同行者2（性別）'];
		birthday1 = document.entry.elements['ご同行者2（生年月日（年））'].value;
		birthday2 = document.entry.elements['ご同行者2（生年月日（月））'].value;
		birthday3 = document.entry.elements['ご同行者2（生年月日（日））'].value;
		age = document.entry.elements['ご同行者2（年齢）'].value;
		passNo = document.entry.elements['ご同行者2（旅券番号）'].value;
		passDate1 = document.entry.elements['ご同行者2（旅券有効期限（年））'].selectedIndex;
		passDate2 = document.entry.elements['ご同行者2（旅券有効期限（月））'].selectedIndex;
		passDate3 = document.entry.elements['ご同行者2（旅券有効期限（日））'].selectedIndex;
	}
	else if(partyNo == 3){
		partyName = "ご同行者3"
		name1 = document.entry.elements['ご同行者3（氏名［ローマ字（姓）］）'].value;
		name2 = document.entry.elements['ご同行者3（氏名［ローマ字（名）］）'].value;
		gender = document.entry.elements['ご同行者3（性別）'];
		birthday1 = document.entry.elements['ご同行者3（生年月日（年））'].value;
		birthday2 = document.entry.elements['ご同行者3（生年月日（月））'].value;
		birthday3 = document.entry.elements['ご同行者3（生年月日（日））'].value;
		age = document.entry.elements['ご同行者3（年齢）'].value;
		passNo = document.entry.elements['ご同行者3（旅券番号）'].value;
		passDate1 = document.entry.elements['ご同行者3（旅券有効期限（年））'].selectedIndex;
		passDate2 = document.entry.elements['ご同行者3（旅券有効期限（月））'].selectedIndex;
		passDate3 = document.entry.elements['ご同行者3（旅券有効期限（日））'].selectedIndex;
	}
	else if(partyNo == 4){
		partyName = "ご同行者4"
		name1 = document.entry.elements['ご同行者4（氏名［ローマ字（姓）］）'].value;
		name2 = document.entry.elements['ご同行者4（氏名［ローマ字（名）］）'].value;
		gender = document.entry.elements['ご同行者4（性別）'];
		birthday1 = document.entry.elements['ご同行者4（生年月日（年））'].value;
		birthday2 = document.entry.elements['ご同行者4（生年月日（月））'].value;
		birthday3 = document.entry.elements['ご同行者4（生年月日（日））'].value;
		age = document.entry.elements['ご同行者4（年齢）'].value;
		passNo = document.entry.elements['ご同行者4（旅券番号）'].value;
		passDate1 = document.entry.elements['ご同行者4（旅券有効期限（年））'].selectedIndex;
		passDate2 = document.entry.elements['ご同行者4（旅券有効期限（月））'].selectedIndex;
		passDate3 = document.entry.elements['ご同行者4（旅券有効期限（日））'].selectedIndex;
	}
	else if(partyNo == 5){
		partyName = "ご同行者5"
		name1 = document.entry.elements['ご同行者5（氏名［ローマ字（姓）］）'].value;
		name2 = document.entry.elements['ご同行者5（氏名［ローマ字（名）］）'].value;
		gender = document.entry.elements['ご同行者5（性別）'];
		birthday1 = document.entry.elements['ご同行者5（生年月日（年））'].value;
		birthday2 = document.entry.elements['ご同行者5（生年月日（月））'].value;
		birthday3 = document.entry.elements['ご同行者5（生年月日（日））'].value;
		age = document.entry.elements['ご同行者5（年齢）'].value;
		passNo = document.entry.elements['ご同行者5（旅券番号）'].value;
		passDate1 = document.entry.elements['ご同行者5（旅券有効期限（年））'].selectedIndex;
		passDate2 = document.entry.elements['ご同行者5（旅券有効期限（月））'].selectedIndex;
		passDate3 = document.entry.elements['ご同行者5（旅券有効期限（日））'].selectedIndex;
	}
	else if(partyNo == 6){
		partyName = "ご同行者6"
		name1 = document.entry.elements['ご同行者6（氏名［ローマ字（姓）］）'].value;
		name2 = document.entry.elements['ご同行者6（氏名［ローマ字（名）］）'].value;
		gender = document.entry.elements['ご同行者6（性別）'];
		birthday1 = document.entry.elements['ご同行者6（生年月日（年））'].value;
		birthday2 = document.entry.elements['ご同行者6（生年月日（月））'].value;
		birthday3 = document.entry.elements['ご同行者6（生年月日（日））'].value;
		age = document.entry.elements['ご同行者6（年齢）'].value;
		passNo = document.entry.elements['ご同行者6（旅券番号）'].value;
		passDate1 = document.entry.elements['ご同行者6（旅券有効期限（年））'].selectedIndex;
		passDate2 = document.entry.elements['ご同行者6（旅券有効期限（月））'].selectedIndex;
		passDate3 = document.entry.elements['ご同行者6（旅券有効期限（日））'].selectedIndex;
	}

	var errMsg = "";

	// 全てが未入力であればチェックを抜ける
	if(name1 == "" && name2 == "" &&
		 gender[0].checked == false && gender[1].checked == false &&
		 birthday1 == "" && birthday2 == "" && birthday3 == "" && age == "" &&
		 passNo == "" && passDate1 == 0 && passDate2 == 0 && passDate3 == 0){

		return errMsg;
	}

	if(name1 != "" || name2 != ""){
		if(name1 == ""){
			errMsg += "「" + partyName + "（氏名［ローマ字（姓）］）」を入力してください。\n";
		}
		if(name2 == ""){
			errMsg += "「" + partyName + "（氏名［ローマ字（名））」を入力してください。\n";
		}
		if(errMsg != ""){
			return errMsg;
		}
	}

	if(birthday1 != "" || birthday2 != "" || birthday3 != "" || age != ""){
		if(birthday1 == ""){
			errMsg += "「" + partyName + "（生年月日（年））」を入力してください。\n";
		}
		if(birthday2 == ""){
			errMsg += "「" + partyName + "（生年月日（月））」を入力してください。\n";
		}
		if(birthday3 == ""){
			errMsg += "「" + partyName + "（生年月日（日））」を入力してください。\n";
		}
		if(age == ""){
			errMsg += "「" + partyName + "（年齢）」を入力してください。\n";
		}
		if(errMsg != ""){
			return errMsg;
		}
	}

	if(passDate1 != 0 || passDate2 != 0 || passDate3 != 0){
		if(passDate1 == 0){
			errMsg += "「" + partyName + "（旅券有効期限（年））」を入力してください。\n";
		}
		if(passDate2 == 0){
			errMsg += "「" + partyName + "（旅券有効期限（月））」を入力してください。\n";
		}
		if(passDate3 == 0){
			errMsg += "「" + partyName + "（旅券有効期限（日））」を入力してください。\n";
		}
		if(errMsg != ""){
			return errMsg;
		}
	}

//alert("pass->" + passNo + ":" + passDate1 + ":" + passDate2 + ":" + passDate3);

	// 氏名、性別、生年月日のいずれかが入力された場合は、
	// 上記項目を必須扱いにする。
	if(name1 != "" || name2 != "" ||
		 birthday1 != "" || birthday2 != "" || birthday3 != "" || age != ""){

		if(name1 == "" || name2 == "" ||
			 (gender[0].checked == false && gender[1].checked == false) ||
			 birthday1 == "" || birthday2 == "" || birthday3 == "" || age == ""){

			errMsg += "「" + partyName + "（氏名［ローマ字］・性別・生年月日）」をすべて入力してください。\n";
			return errMsg;
		}
	}
//	if(name1 != "" || name2 != "" ||
//		 gender[0].checked == true || gender[1].checked == true ||
//		 birthday1 != "" || birthday2 != "" || birthday3 != "" || age != ""){
//
//		if(name1 == "" || name2 == "" ||
//			 (gender[0].checked == false && gender[1].checked == false) ||
//			 birthday1 == "" || birthday2 == "" || birthday3 == "" || age == ""){
//
//			errMsg += "「" + partyName + "（氏名［ローマ字］・性別・生年月日）」をすべて入力してください。\n";
//			return errMsg;
//		}
//	}

	// 旅券番号か旅券有効期限が入力されていた場合は、
	// 同行者情報が全て入力されていないとエラー
	if(passNo != "" || passDate1 != 0 || passDate2 != 0 || passDate3 != 0){

		if(name1 == "" || name2 == "" ||
			 (gender[0].checked == false && gender[1].checked == false) ||
			 birthday1 == "" || birthday2 == "" || birthday3 == "" || age == ""){

			errMsg += "「" + partyName + "（旅券番号・旅券有効期限）」を入力した場合は、「" + partyName + "（氏名［ローマ字］・性別・生年月日」をすべて入力してください。\n";
		}
	}

	return errMsg;
}

/* 渡航中の国内連絡先（氏名） */
function checkContactNameKanji(){
	var errMsg = "";
	if(document.entry.elements['渡航中の国内連絡先（氏名（姓））'].value == ""){
		errMsg += "「渡航中の国内連絡先（氏名（姓））」を入力してください。\n";
	}
	if(document.entry.elements['渡航中の国内連絡先（氏名（名））'].value == ""){
		errMsg += "「渡航中の国内連絡先（氏名（名））」を入力してください。\n";
	}
	return errMsg;
}

/* 渡航中の国内連絡先（フリガナ） */
function checkContactNameKana(){
	var errMsg = "";
	if(document.entry.elements['渡航中の国内連絡先（氏名（セイ））'].value == ""){
		errMsg += "「渡航中の国内連絡先（氏名（セイ））」を入力してください。\n";
	}
	if(document.entry.elements['渡航中の国内連絡先（氏名（メイ））'].value == ""){
		errMsg += "「渡航中の国内連絡先（氏名（メイ））」を入力してください。\n";
	}
	return errMsg;
}

/* 渡航中の国内連絡先（続柄） */
function checkContactRelationship(){
	var errMsg = "";
	if(document.entry.elements['渡航中の国内連絡先（続柄）'].value == ""){
		errMsg += "「渡航中の国内連絡先（続柄）」を入力してください。\n";
	}
	return errMsg;
}

/* 渡航中の国内連絡先（住所） */
function checkContactAddress(){
	var errMsg = "";
	if(document.entry.elements['渡航中の国内連絡先（住所（都道府県））'].selectedIndex == 0){
		errMsg += "「渡航中の国内連絡先（住所（都道府県））」を選択してください。\n";
	}
	if(document.entry.elements['渡航中の国内連絡先（住所（市区町村以降））'].value == ""){
		errMsg += "「渡航中の国内連絡先（住所（市区町村以降））」を入力してください。\n";
	}
	return errMsg;
}

/* 渡航中の国内連絡先（電話番号） */
function checkContactPhoneNumber(){
	var errMsg = "";
	if(document.entry.elements['渡航中の国内連絡先（電話番号_1）'].value == "" ||
		document.entry.elements['渡航中の国内連絡先（電話番号_2）'].value == "" ||
		document.entry.elements['渡航中の国内連絡先（電話番号_3）'].value == ""){
		errMsg += "「渡航中の国内連絡先（電話番号）」を入力してください。\n";
	}
	return errMsg;
}

/* どちらでこのサイトをお知りになりましたか？ */
function checkSiteAccessReason(){

	var reason = document.entry.elements['サイト訪問理由'];
	var errMsg = "";

	if(reason[2].checked == true && document.entry.elements['どちらでこのサイトをお知りになりましたか？（雑誌名）'].value == ""){
		errMsg += "「どちらでこのサイトをお知りになりましたか？（雑誌名）」を入力してください。\n";
	}
	if(reason[3].checked == true && document.entry.elements['どちらでこのサイトをお知りになりましたか？（番組名）'].value == ""){
		errMsg += "「どちらでこのサイトをお知りになりましたか？（番組名）」を入力してください。\n";
	}
	if(reason[10].checked == true && document.entry.elements['どちらでこのサイトをお知りになりましたか？（その他）'].value == ""){
		errMsg += "「どちらでこのサイトをお知りになりましたか？（その他）」を入力してください。\n";
	}
	if(reason[11].checked == true && document.entry.elements['どちらでこのサイトをお知りになりましたか？（知人の紹介）'].value == ""){
		errMsg += "「どちらでこのサイトをお知りになりましたか？（知人の紹介）」を入力してください。\n";
	}
	return errMsg;
}

/* 相談希望日時 */
function checkAdvisementDate(){
	var errMsg = "";

	if(document.entry.elements['相談希望日（第1希望（月））'].selectedIndex == 0){
		errMsg += "「相談希望日（第1希望（月））」を選択してください。\n";
	}
	if(document.entry.elements['相談希望日（第1希望（日））'].selectedIndex == 0){
		errMsg += "「相談希望日（第1希望（日））」を選択してください。\n";
	}
	if(document.entry.elements['相談希望時間（第1希望（開始））'].selectedIndex == 0){
		errMsg += "「相談希望時間（第1希望（開始））」を選択してください。\n";
	}
	if(document.entry.elements['相談希望時間（第1希望（終了））'].selectedIndex == 0){
		errMsg += "「相談希望時間（第1希望（終了））」を選択してください。\n";
	}

	if(document.entry.elements['相談希望日（第2希望（月））'].selectedIndex != 0 ||
		document.entry.elements['相談希望日（第2希望（日））'].selectedIndex != 0 ||
		document.entry.elements['相談希望時間（第2希望（開始））'].selectedIndex != 0 ||
		document.entry.elements['相談希望時間（第2希望（終了））'].selectedIndex != 0){

		if(document.entry.elements['相談希望日（第2希望（月））'].selectedIndex == 0){
			errMsg += "「相談希望日（第2希望（月））」を選択してください。\n";
		}
		if(document.entry.elements['相談希望日（第2希望（日））'].selectedIndex == 0){
			errMsg += "「相談希望日（第2希望（日））」を選択してください。\n";
		}
		if(document.entry.elements['相談希望時間（第2希望（開始））'].selectedIndex == 0){
			errMsg += "「相談希望時間（第2希望（開始））」を選択してください。\n";
		}
		if(document.entry.elements['相談希望時間（第2希望（終了））'].selectedIndex == 0){
			errMsg += "「相談希望時間（第2希望（終了））」を選択してください。\n";
		}

	}
	return errMsg;
}

/* 代表者名 */
function checkDelegateName(){
	var errMsg = "";
	if(document.entry.elements['代表者名（姓）'].value == ""){
		errMsg += "「代表者名（姓）」を入力してください。\n";
	}
	if(document.entry.elements['代表者名（名）'].value == ""){
		errMsg += "「代表者名（名）」を入力してください。\n";
	}
	return errMsg;
}

/* フリガナ */
function checkDelegateNameKana(){
	var errMsg = "";
	if(document.entry.elements['フリガナ（姓）'].value == ""){
		errMsg += "「フリガナ（姓）」を入力してください。\n";
	}
	if(document.entry.elements['フリガナ（名）'].value == ""){
		errMsg += "「フリガナ（名）」を入力してください。\n";
	}
	return errMsg;
}

/* 渡航先 */
function checkTravelSpot(){
	var errMsg = "";

	if(document.entry.elements['渡航先1（宿泊数）'].value != "" &&
		document.entry.elements['渡航先1（都市名）'].value == ""){
		errMsg += "「渡航先1（都市名）」を入力してください。\n";
	}
	if(document.entry.elements['渡航先2（宿泊数）'].value != "" &&
		document.entry.elements['渡航先2（都市名）'].value == ""){
		errMsg += "「渡航先2（都市名）」を入力してください。\n";
	}
	if(document.entry.elements['渡航先3（宿泊数）'].value != "" &&
		document.entry.elements['渡航先3（都市名）'].value == ""){
		errMsg += "「渡航先3（都市名）」を入力してください。\n";
	}
	if(document.entry.elements['渡航先4（宿泊数）'].value != "" &&
		document.entry.elements['渡航先4（都市名）'].value == ""){
		errMsg += "「渡航先4（都市名）」を入力してください。\n";
	}
	if(document.entry.elements['渡航先5（宿泊数）'].value != "" &&
		document.entry.elements['渡航先5（都市名）'].value == ""){
		errMsg += "「渡航先5（都市名）」を入力してください。\n";
	}
	return errMsg;
}

/* ご希望出発日 */
function checkHopeDepartureDate(hopeNo, need){
	var errMsg = "";

	var departureDate1;
	var departureDate2;
	var departureDate3;
	var arrivalDate1;
	var arrivalDate2;
	var termForTrip;

	var header;

	if(hopeNo == 1){
		header = "ご希望出発日（第1希望";
		departureDate1 = document.entry.elements['ご希望出発日（第1希望（日本出発日（年）））'].selectedIndex;
		departureDate2 = document.entry.elements['ご希望出発日（第1希望（日本出発日（月）））'].selectedIndex;
		departureDate3 = document.entry.elements['ご希望出発日（第1希望（日本出発日（日）））'].selectedIndex;
		arrivalDate1 = document.entry.elements['ご希望出発日（第1希望（日本到着日（月）））'].selectedIndex;
		arrivalDate2 = document.entry.elements['ご希望出発日（第1希望（日本到着日（日）））'].selectedIndex;
		termForTrip = document.entry.elements['ご希望出発日（第1希望（期間））'].selectedIndex;
	}
	else if(hopeNo == 2){
		header = "ご希望出発日（第2希望";
		departureDate1 = document.entry.elements['ご希望出発日（第2希望（日本出発日（年）））'].selectedIndex;
		departureDate2 = document.entry.elements['ご希望出発日（第2希望（日本出発日（月）））'].selectedIndex;
		departureDate3 = document.entry.elements['ご希望出発日（第2希望（日本出発日（日）））'].selectedIndex;
		arrivalDate1 = document.entry.elements['ご希望出発日（第2希望（日本到着日（月）））'].selectedIndex;
		arrivalDate2 = document.entry.elements['ご希望出発日（第2希望（日本到着日（日）））'].selectedIndex;
		termForTrip = document.entry.elements['ご希望出発日（第2希望（期間））'].selectedIndex;
	}
	else if(hopeNo == 3){
		header = "ご希望出発日（第3希望";
		departureDate1 = document.entry.elements['ご希望出発日（第3希望（日本出発日（年）））'].selectedIndex;
		departureDate2 = document.entry.elements['ご希望出発日（第3希望（日本出発日（月）））'].selectedIndex;
		departureDate3 = document.entry.elements['ご希望出発日（第3希望（日本出発日（日）））'].selectedIndex;
		arrivalDate1 = document.entry.elements['ご希望出発日（第3希望（日本到着日（月）））'].selectedIndex;
		arrivalDate2 = document.entry.elements['ご希望出発日（第3希望（日本到着日（日）））'].selectedIndex;
		termForTrip = document.entry.elements['ご希望出発日（第3希望（期間））'].selectedIndex;
	}

	var errMsg = "";

	// ご希望出発日が任意の場合
	if(need == 0){

		// 全てが未入力であればチェックを抜ける
		if(departureDate1 == 0 && departureDate2 == 0 && departureDate3 == 0 &&
			arrivalDate1 == 0 && arrivalDate2 == 0 && termForTrip == 0){

			return errMsg;
		}

		if(departureDate1 != "" || departureDate2 != 0 || departureDate3 != 0 ||
			arrivalDate1 != "" || arrivalDate2 != 0 || termForTrip != 0){

			if(departureDate1 == 0 || departureDate2 == 0 || departureDate3 == 0 ||
				arrivalDate1 == 0 || arrivalDate2 == 0 || termForTrip == 0){

				errMsg += "「" + header + "）」のいずれかを入力した場合は、「" + header + "（日本出発日・日本到着日・期間））」をすべて入力してください。\n";
			}
		}

	}
	// ご希望出発日が必須の場合
	else{

		// 全てが入力されていればチェックを抜ける
		if(departureDate1 == 0){
			errMsg += "「" + header + "（日本出発日（年））」を入力してください。\n";
		}
		if(departureDate2 == 0){
			errMsg += "「" + header + "（日本出発日（月））」を入力してください。\n";
		}
		if(departureDate3 == 0){
			errMsg += "「" + header + "（日本出発日（日））」を入力してください。\n";
		}
		if(arrivalDate1 == 0){
			errMsg += "「" + header + "（日本到着日（月））」を入力してください。\n";
		}
		if(arrivalDate2 == 0){
			errMsg += "「" + header + "（日本到着日（日））」を入力してください。\n";
		}
		if(termForTrip == 0){
			errMsg += "「" + header + "（期間）」を入力してください。\n";
		}

	}

	return errMsg;
}

/* お伺い先の最寄り駅 */
function checkNearStation(){
	var errMsg = "";
	if(document.entry.elements['お伺い先の最寄り駅（路線名）'].value == ""){
		errMsg += "「お伺い先の最寄り駅（路線名）」を入力してください。\n";
	}
	if(document.entry.elements['お伺い先の最寄り駅（駅名）'].value == ""){
		errMsg += "「お伺い先の最寄り駅（駅名）」を入力してください。\n";
	}
	return errMsg;
}

/* 出発地 */
function checkDeparture(){
	var errMsg = "";

	if(document.entry.elements['出発地'][0].checked == false &&
		document.entry.elements['出発地'][1].checked == false &&
		document.entry.elements['出発地'][2].checked == false &&
		document.entry.elements['出発地'][3].checked == false){
		errMsg += "「出発地」を選択してください。\n";

		return errMsg;
	}

	if(document.entry.elements['出発地'][3].checked == true &&
		document.entry.elements['出発地（その他）'].value == ""){

		errMsg += "出発地に「その他」を指定した場合は、「出発地（その他）」を入力してください。\n";
	}
	else if(document.entry.elements['出発地'][3].checked == false &&
		document.entry.elements['出発地（その他）'].value != ""){

		errMsg += "「出発地（その他）」を入力した場合は、出発地に「その他」を指定してください。\n";
	}

	return errMsg;
}

/* 参加者人数 */
function checkPartyNumber(){
	var errMsg = "";
	if(document.entry.elements['参加者人数'].value == ""){
		errMsg += "「参加者人数」を入力してください。\n";
	}
	return errMsg;
}

/* お部屋タイプ */
function checkRoomType(){

	var reason = document.entry.elements['お部屋タイプ'];
	var errMsg = "";

	if(reason[0].checked == false && reason[1].checked == false &&
		reason[2].checked == false && reason[3].checked == false){

		errMsg += "「お部屋タイプ」のいずれかを入力してください。\n";
		return errMsg;
	}

	if(reason[0].checked == false && document.entry.elements['お部屋タイプ（ツイン）'].selectedIndex != 0){
		errMsg += "「お部屋タイプ（ツイン）」を選択した場合は、お部屋タイプ「ツイン」をチェックして下さい。\n";
	}
	if(reason[1].checked == false && document.entry.elements['お部屋タイプ（シングル）'].selectedIndex != 0){
		errMsg += "「お部屋タイプ（シングル）」を選択した場合は、お部屋タイプ「シングル」をチェックして下さい。\n";
	}
	if(reason[2].checked == false && document.entry.elements['お部屋タイプ（トリプル）'].selectedIndex != 0){
		errMsg += "「お部屋タイプ（トリプル）」を選択した場合は、お部屋タイプ「トリプル」をチェックして下さい。\n";
	}
	if(reason[3].checked == false && document.entry.elements['お部屋タイプ（その他）'].value != ""){
		errMsg += "「お部屋タイプ（その他）」を入力した場合は、お部屋タイプ「その他」をチェックして下さい。\n";
	}

	if(reason[0].checked == true && document.entry.elements['お部屋タイプ（ツイン）'].selectedIndex == 0){
		errMsg += "「お部屋タイプ（ツイン）」を選択してください。\n";
	}
	if(reason[1].checked == true && document.entry.elements['お部屋タイプ（シングル）'].selectedIndex == 0){
		errMsg += "「お部屋タイプ（シングル）」を選択してください。\n";
	}
	if(reason[2].checked == true && document.entry.elements['お部屋タイプ（トリプル）'].selectedIndex == 0){
		errMsg += "「お部屋タイプ（トリプル）」を選択してください。\n";
	}
	if(reason[3].checked == true && document.entry.elements['お部屋タイプ（その他）'].value == ""){
		errMsg += "「お部屋タイプ（その他）」を入力してください。\n";
	}

	return errMsg;
}

/* 希望予算 */
function checkHopeBudget(){
	var errMsg = "";
	if(document.entry.elements['希望予算（お１人様）'].value == "" &&
		document.entry.elements['希望予算（全体）'].value == ""){
		errMsg += "「希望予算」を入力してください。\n";
	}
	return errMsg;
}

/* お名前 */
function checkName(){
	var errMsg = "";
	if(document.entry.elements['お名前（姓）'].value == ""){
		errMsg += "「お名前（姓）」を入力してください。\n";
	}
	if(document.entry.elements['お名前（名）'].value == ""){
		errMsg += "「お名前（名）」を入力してください。\n";
	}
	return errMsg;
}

/* フリガナ */
function checkNameKana(){
	var errMsg = "";
	if(document.entry.elements['フリガナ（姓）'].value == ""){
		errMsg += "「フリガナ（姓）」を入力してください。\n";
	}
	if(document.entry.elements['フリガナ（名）'].value == ""){
		errMsg += "「フリガナ（名）」を入力してください。\n";
	}
	return errMsg;
}

/* 資料送付先　郵便番号 */
function checkSendZip(){
	var errMsg = "";
	if(document.entry.elements['資料送付先　郵便番号（前）'].value == ""){
		errMsg += "「資料送付先　郵便番号（前）」を入力してください。\n";
	}
	if(document.entry.elements['資料送付先　郵便番号（後）'].value == ""){
		errMsg += "「資料送付先　郵便番号（後）」を入力してください。\n";
	}
	return errMsg;
}

/* 資料送付先　ご住所 */
function checkSendAddress(){
	var errMsg = "";
	if(document.entry.elements['資料送付先　ご住所（都道府県）'].selectedIndex == 0){
		errMsg += "「資料送付先　ご住所（都道府県）」を選択してください。\n";
	}
	if(document.entry.elements['資料送付先　ご住所（市区町村以降）'].value == ""){
		errMsg += "「資料送付先　ご住所（市区町村以降）」を入力してください。\n";
	}
	return errMsg;
}

/**********************/
/* 文字列の長さを返す */
/**********************/
function strlen(str){
	var ct;
	var size = 0;

	for(ct = 0; ct < str.length; ct++) {
		var c = str.charCodeAt(ct);
		if(c >= 128){
			size++;
		}
		size++;
	}
	return size;
}

/********************/
/* 文字列を比較する */
/********************/
function strcmp(str1, str2){
	var ct;
	var cmp;

	if((cmp = str1.length - str2.length) != 0){
		return cmp;
	}

	for(ct = 0; ct < str1.length; ct++) {
		var c1 = str1.charCodeAt(ct);
		var c2 = str2.charCodeAt(ct);
		if((cmp = (c1 - c2)) != 0){
			break;
		}
	}
	return cmp;
}

