	/**
	 * 年齢制限のチェック
	 *
	 * 未選択は、不可。確認後、選択を促すメッセージを表示する。
	 * 年齢の上限・下限の両方が指定された場合は、設定値に矛盾がないか確認する。
	 *
	 * @param min 最低年齢制限
	 * @param max 最高年齢制限
	 */
	function ageCheck_tm(min, max){
	
		var result = true;
	
		if((min == null || min.length < 1) && (max == null || max.length < 1)){
			alert('\"年齢\" を選択してください。');
			result = false;
		}else if(min != null && min.length > 0 && max != null && max.length > 0){
			if(min >= max){
				result = false;
			}
		}
		return result;
	}
	
	/**
	  * 配列オブジェクトのVALUEがNULLでないかチェックする
	  * RADIO , SELECTに対応
	  *
	  * @param target チェックする対象の配列オブジェクト
	  * @param fieldName フィールド名
	  *
	  * @return NULLでなければtrue、NULLならばfalseを返す
	  */
	function arrayNullCheck_tm(form,targetName){
		var result = false;
		var uagent = navigator.userAgent;
		if(uagent.indexOf('Mac') >= 0 && uagent.indexOf('MSIE 4.5') >=   0){
			/* Mac IE 4.5への対応 */
			for(var i=0;i<form.elements.length;i++){
				/* チェックボックス */
				if(form.elements[i].name == targetName &&  form.elements[i].checked){
					result = true;
					break;
				}
			}
		}else{
			for(var i=0;i<form.elements[targetName].length;i++){
				/* チェックボックス */
				if(form.elements[targetName][i].checked){
					result = true;
					break;
				}
			}
		}
		return result;
	}
	
	/**
	  * 配列オブジェクトのVALUEがNULLでないかチェックする
	  * RADIO , SELECTに対応
	  */
	function formCheck_tm1(){
		var result = true;
		var comments = "";
		/* パートナーのご希望年齢チェック */
		if(!arrayNullCheck_tm(document.f,'question1')){
			comments = comments + "Ｑ１ を選択して下さい。\n";
			result = false;
		}
		if(!arrayNullCheck_tm(document.f,'question2')){
			comments = comments + "Ｑ２ を選択して下さい。\n";
			result = false;
		}
		if(!arrayNullCheck_tm(document.f,'question3')){
			comments = comments + "Ｑ３ を選択して下さい。\n";
			result = false;
		}
		if(!arrayNullCheck_tm(document.f,'question4')){
			comments = comments + "Ｑ４ を選択して下さい。\n";
			result = false;
		}
		if(!arrayNullCheck_tm(document.f,'question7')){
			comments = comments + "Ｑ５ を選択して下さい。\n";
			result = false;
		}
		if(!arrayNullCheck_tm(document.f,'question6')){
			comments = comments + "Ｑ６ を選択して下さい。\n";
			result = false;
		}
		
		if (result == false){
			alert(comments);
		}
		return result;
	}

	/**
	  * 文字列の長さをチェックする
	  *
	  * @param target チェックする対象の文字列
	  * @param fieldName フィールド名
	  * @param max 文字列の最大の長さ
	  *
	  * @return 正しければtrue、正しくなければfalseを返す
	  */
	function lengthCheck_tm(target, fieldName, max){
		var rtn = null;
		if(target == null || target.length < 1){
			rtn = fieldName + " を入力して下さい。";
		}else if(target.length > max){
			rtn = fieldName + " には" + max + "文字以下のアドレスを入力して下さい。";
		}
		return (rtn);
	}
	
	/**
	  * 配列オブジェクトのVALUEがNULLでないかチェックする
	  * RADIO , SELECTに対応
	  */
	function formCheck_tm2(){
		var result = true;
		var comments = "";
		if(!arrayNullCheck_tm(document.f,'question8')){
			comments = comments + "Ｑ７ を選択して下さい。\n";
			result = false;
		}
		if(!arrayNullCheck_tm(document.f,'question9')){
			comments = comments + "Ｑ８ を選択して下さい。\n";
			result = false;
		}
		if(!arrayNullCheck_tm(document.f,'question10')){
			comments = comments + "Ｑ９ を選択して下さい。\n";
			result = false;
		}
		if(!arrayNullCheck_tm(document.f,'question12')){
			comments = comments + "Ｑ１０ を選択して下さい。\n";
			result = false;
		}
		if(!ageCheck_tm(document.f.ageFrom.options[document.f.ageFrom.selectedIndex].value,document.f.ageTo.options[document.f.ageTo.selectedIndex].value)){
			comments = comments + "Ｑ１１ は、\"年齢制限の最低年齢\" より \"年齢制限の最高年齢\" を高く設定して下さい。\n";
			result = false;
		}
		if ( document.f.question11.value == null || document.f.question11.value.length <= 0 ) {
			comments = comments + "Ｑ１２ " + "メールアドレスを入力して下さい。\n";
			result = false;			
		} else if ( !document.f.question11.value.match(/^[a-zA-Z0-9\-\_\.]+@[a-zA-Z0-9\-\_]+\.[a-zA-Z0-9\.\-\_]+$/) ) {
			comments = comments + "Ｑ１２ " + "メールアドレスを正しく入力して下さい。\n";
			result = false;
		}
		
		if (result == false){
			alert(comments);
		}
		return result;
	}

	/**
      * オブジェクトのVALUEがNULLでないかチェックする
      * SELECT , TEXTに対応
      *
      * @param target チェックする対象のオブジェクト
      * @param fieldName フィールド名
      *
      * @return NULLでなければtrue、NULLならばfalseを返す
      */
	function nullCheck(target,fieldName){
		var result = true;

		if(target.type == 'text'){
			/* テキストボックス */
			if(target.value == null || target.value.length < 1){
				result = false;
				alert('\"' + fieldName + '\" フィールドに値を入力してください。');
			}
		}else if(target.type == 'select-one'){
			/* セレクト */
			if(target.options[target.selectedIndex].value == null || target.options[target.selectedIndex].value.length < 1){
				result = false;
				alert('\"' + fieldName + '\" が選択されていません。');
			}
		}
		return result;
	}

	/**
      * オブジェクトのVALUEがNULLでないかチェックする
      * SELECT に対応
      *
      * @param target チェックする対象名
      * @param fieldName フィールド名
      *
      * @return NULLでなければtrue、NULLならばfalseを返す
      */
	function selectCheck( targetName, fieldName ){

		var result = true;

		for(i=0;i<document.form.elements.length;i++){
			// セレクトチェック
    		if(document.form.elements[i].name.indexOf( targetName ,0) != -1){
				if( document.form.elements[i].value == null ||
					document.form.elements[i].value.length < 1){
					result = false ;
					alert('\"' + fieldName + '\" が選択されていません。');
					break;
				}
    		}
		}
		return result;
	}

	/**
      * 配列オブジェクトのVALUEがNULLでないかチェックする
      * RADIO , SELECTに対応
      *
      * @param target チェックする対象の配列オブジェクト
      * @param fieldName フィールド名
      *
      * @return NULLでなければtrue、NULLならばfalseを返す
      */
	function arrayNullCheck(form,targetName,fieldName){
		var result = false;
		var uagent = navigator.userAgent;
		if(uagent.indexOf('Mac') >= 0 && uagent.indexOf('MSIE 4.5') >=   0){
			/* Mac IE 4.5への対応 */
			for(var i=0;i<form.elements.length;i++){
				/* チェックボックス */
				if(form.elements[i].name == targetName &&  form.elements[i].checked){
					result = true;
					break;
				}
			}
		}else{
			for(var i=0;i<form.elements[targetName].length;i++){
				/* チェックボックス */
				if(form.elements[targetName][i].checked){
					result = true;
					break;
				}
			}
		}
		if(!result){
			alert('\"' + fieldName + '\" が選択されていません。');
		}
		return result;
	}

	/**
      * 文字列の長さをチェックする
      *
      * @param target チェックする対象の文字列
      * @param fieldName フィールド名
      * @param max 文字列の最大の長さ
      *
      * @return 正しければtrue、正しくなければfalseを返す
      */
	function lengthCheck(target, fieldName, max){
		var result = true;

		if(target == null || target.length < 1){
			result = false;
			alert('\"' + fieldName + '\" を入力してください。');
		}else if(target.length > max){
			result = false;
			alert('\"' + fieldName + '\" には' + max + '文字以下の文字を入力してください。');
		}
		return result;
	}

	/**
	 * 半角カナのチェック
	 *
	 * 未選択は、不可。確認後、選択を促すメッセージを表示する。
	 * 年齢の上限・下限の両方が指定された場合は、設定値に矛盾がないか確認する。
	 *
     * @param target 検索対象となる文字列
     * @param fieldName フィールド名
	 *
     * @return カナを含む場合はtrue、含まない場合はfalse
     */
	function hankakuCheck(target,fieldName){

		var result = true;

		if(target != null){

			var disp = "";
			var ret = true;
			var str = "";

			for ( i = 0 ; i < target.length ; i++ ) {
				str = target.substring(i, i+1);
				ret = isHankaku(str);
				if (ret){
					result = false;
					alert('\"' + fieldName + '\" には半角カナが含まれています');
					break;
				}
			}
		}

		return result;
	}

	function isHankaku(str){
		var esc_str = escape(str);
		var ms = navigator.appVersion.indexOf("MSIE");
		var nesc = navigator.appName.lastIndexOf("Netscape"); //一致した位置(0)を返す

		if(nesc >= 0){
			if ( (esc_str.indexOf('%A') == 0) ||
				(esc_str.indexOf('%B') == 0) ||
				(esc_str.indexOf('%C') == 0) ||
				(esc_str.indexOf('%D') == 0) ){
				return(true);
			}
		}else if(ms > 0){
			if((esc_str.indexOf('%uFF6') == 0) ||
				(esc_str.indexOf('%uFF7') == 0) ||
				(esc_str.indexOf('%uFF8') == 0) ||
				(esc_str.indexOf('%uFF9') == 0) ) {
				return(true);
			}
		}

		return(false);
	}

	/**
	 * 年齢制限のチェック
	 *
	 * 未選択は、不可。確認後、選択を促すメッセージを表示する。
	 * 年齢の上限・下限の両方が指定された場合は、設定値に矛盾がないか確認する。
	 *
     * @param min 最低年齢制限
     * @param max 最高年齢制限
     */
	function ageCheck(min, max){

		var result = true;

		if((min == null || min.length < 1) && (max == null || max.length < 1)){
			alert('\"年齢\" を選択してください。');
			result = false;
		}else if(min != null && min.length > 0 && max != null && max.length > 0){
			if(min > max){
				result = false;
				alert('\"年齢制限の最低年齢\" より\"年齢制限の最高年齢\" を高く設定してください。');
			}
		}
		return result;
	}

	/**
      * カード番号半角数字であることをチェックする
      *
      * @param target チェックする対象の文字列
      *
      * @return 正しければtrue、正しくなければfalseを返す
      */
	function hakakuNumCheck(target){
		var result = true;
		if(!target.match(/^[0-9]+$/)){
			result = false;
			alert('カード番号が半角数字でありません。');
		}
		return result;
	}

	/**
      * カード登録名が半角英数字であることをチェックする
      *
      * @param target チェックする対象の文字列
      *
      * @return 正しければtrue、正しくなければfalseを返す
      */
	function hakakuAlphaCheck(target){
		var result = true;
		if(!target.match(/^[a-zA-Z]+$/)){
			result = false;
			alert('ローマ字表記が半角英字でありません。');
		}
		return result;
	}


	/**
      * メールアドレスの形式をチェックする
      *
      * @param target チェックする対象の文字列
      *
      * @return 正しければtrue、正しくなければfalseを返す
      */
	function emailCheck(target){
		var result = true;

		if(!lengthCheck(target, 'メールアドレス', 100)){
			result = false;
		}else if(!target.match(/^[a-zA-Z0-9\-\_\.]+@[a-zA-Z0-9\-\_]+\.[a-zA-Z0-9\.\-\_]+$/)){
			result = false;
			alert('\"メールアドレス\" が正しく入力されていません。');
		}
		return result;
	}

/** ************************* */
	//会社案内
	function inputcheck_5_1(){
		var result = true;
		/* お名前入力チェック */
		if(!lengthCheck(document.form.name.value,'お名前',50)){
			result = false;	
		/* ご連絡先メールアドレス入力チェック */
		}else if(!emailCheck( document.form.mail.value )){
			result = false;	
		/* メッセージ入力チェック */
		}else if(!lengthCheck(document.form.message.value,'メッセージ',400)){
			result = false;	
		}
		return result;
	}
	//本店所在地ポップアップ
	//------------------------------------------------------------
	function hontenMap() {
		WinOpen = window.open("/public/contents/map_tokyo.html","hontenMap","status=0,resizable=1,scrollbars=1,toolbar=0,directories=1,scrolling=1,menubar=1,location=1,width=720,height=720,")
		WinOpen.focus();
	}
	//ニューヨーク支局ポップアップ
	//------------------------------------------------------------
	function nyMap() {
		WinOpen = window.open("/public/contents/map_newyork_j.html","nyMap","status=0,resizable=0,scrollbars=1,toolbar=0,directories=0,scrolling=1,menubar=0,location=0,width=850,height=690,")
		WinOpen.focus();
	}

	//資料請求
	function inputcheck_4_6(){
		var result = true;
		/* お名前入力チェック */
		if(!lengthCheck(document.form.name.value,'お名前',50)){
			result = false;	
		/* 性別入力チェック */
		}else if(!arrayNullCheck( document.form, 'sex', '性別' )){
			result = false;
		/* 郵便番号前３桁入力チェック */
		}else if(!lengthCheck(document.form.postzip3.value,'郵便番号（前３桁）',3)){
			result = false;
		// 郵便番号（前３桁）入力チェック */
		}else if ( document.form.postzip3.value.length < 3 || !document.form.postzip3.value.match(/^[0-9]+$/) ) {
			alert('郵便番号（前３桁）が正しく入力されていません。');
			result = false;
		/* 郵便番号後４桁入力チェック */
		}else if(!lengthCheck(document.form.postzip4.value,'郵便番号（後４桁）',4)){
			result = false;
		// 郵便番号（後４桁）入力チェック */
		}else if ( document.form.postzip4.value.length < 4 || !document.form.postzip4.value.match(/^[0-9]+$/) ) {
			alert('郵便番号（後４桁）が正しく入力されていません。');
			result = false;
		/* 住所情報入力チェック */
		}else if(!lengthCheck(document.form.address.value,'住所',120)){
			result = false;	
		/* 電話番号入力チェック */
		}else if(!lengthCheck(document.form.tel.value,'電話番号',20)){
			result = false;	
		/* メールアドレス入力チェック */
		}else if(!emailCheck( document.form.mail.value )){
			result = false;	
		/* e-mailでの送付チェック */
		}else if(!arrayNullCheck( document.form, 'mail_contact', 'e-mailでの送付' )){
			result = false;
		}
		return result;
	}

	// お問い合わせ
	function inputcheck_4_1(){
		var result = true;
		/* お問い合わせの種類入力チェック */
		if(!selectCheck( 'inquiry_kind', 'お問い合わせの種類' )){
			result = false;	
		/* お名前（姓）入力チェック */
		}else if(!lengthCheck(document.form.lastName.value,'お名前（姓）',20)){
			result = false;	
		/* お名前（名）入力チェック */
		}else if(!lengthCheck(document.form.firstName.value,'お名前（名）',20)){
			result = false;	
		/* お電話番号入力チェック */
		}else if(!lengthCheck(document.form.tel.value,'お電話番号',20)){
			result = false;	
		/* メールアドレス入力チェック */
		}else if(!emailCheck( document.form.mail.value )){
			result = false;	
		/* 問い合わせ内容入力チェック */
		}else if(!lengthCheck(document.form.contents.value,'お問合せ内容',800)){
			result = false;	
		}
		return result;
	}

/** ************************* */
	
	
	