function init_dom_free() {

	dom_free = new formControll(document.atourForm);

	dom_free.init = function() {
		
		/***************************************************************************
		// 各プルダウンの読み込み
		***************************************************************************/
		
		this.formView.createPulldown("autoAIRgo", domFreeApo_list);			// 出発空港
		this.formView.createPulldown("autoAIRreturn", domFreeApoReturn_list);				// 到着空港		
		this.formView.createPulldown("autoDATE_month", month_list);				// 出発月
		this.formView.createPulldown("autoDATE_day", day_list.slice(0, getDaylength()));	// 出発日		
		var ninzu_list = persons_list;
		this.formView.createPulldown("autoNINZU", ninzu_list);					// 人数
		this.formView.createPulldown("autoSTAY", stay_list);					// 泊数
		this.formView.createPulldown("autoNUMPFROM", ninzu_list);				// 1部屋利用人数　FROM
		this.formView.createPulldown("autoNUMPTO", ninzu_list);					// 1部屋利用人数　TO
					
		/***************************************************************************
		// 各エレメントの初期値のセット
		***************************************************************************/
		
		this.formView.setPulldown("autoAIRgo", ""); 	    					// 出発空港
		var autoAIR = "";									// 到着空港を指定する場合はこちらをセット
		this.formView.setPulldown("autoAIRreturn" , autoAIR);
		this.formView.enablePulldown("autoREGION", false);					// 宿泊地　地区
		this.formView.enablePulldown("autoAREA", false);					// 宿泊地　地域
		this.setOffsetDay("autoDATE_month", "autoDATE_day", 1);				// 出発日
		var ninzu = 2;
		this.formView.setPulldown("autoNINZU", ninzu);						// 人数
		this.formView.setPulldown("autoSTAY", 1);						// 泊数
		this.formView.setPulldown("autoNUMPFROM", 1);						// 1部屋利用人数　FROM
		this.formView.setPulldown("autoNUMPTO", ninzu);						// 1部屋利用人数　TO
		this.formView.setDynamicParam("autoMAJMAT", ""); 					// 方面
		
		/***************************************************************************
		// 各エレメントのイベントのセット
		***************************************************************************/
		
		// 二度フラグ
		//this.submited = false;
		
		
		// 到着空港プルダウン変更 => 地区プルダウン生成
		this.autoAIRreturn = function(evt, val, targetElem) {
			
			if(val == "" || val == "NOP") {
				
				if(val == "NOP") this.formView.setPulldown(evt, "");
				this.formView.clearPulldown(targetElem, false);
				this.relationListener(targetElem);
				return false;
			}
			
			// 空港地区紐付けデータを登録
			this.relationList = domRelation_obj[val];
			
			this.formView.createPulldown(targetElem, domRegion_list[this.relationList[0]].slice(1));
			this.formView.setPulldown(targetElem, this.relationList[1]); 
			this.formView.enablePulldown(targetElem, true);
			this.relationListener(targetElem);
		};
		

		// 宿泊地　地区プルダウン変更　=>　地域プルダウン生成
		this.autoREGION = function(evt, val, targetElem) {	
			
			if(val == "") {
				
				this.formView.clearPulldown(targetElem, false);
				return false;
			}
			
			var index = (this.relationList) ? (val == this.relationList[1] ? this.relationList[2]: 0) : 0;
			
			this.formView.createPulldown(targetElem, domArea_list[val]);
			this.formView.setPulldown(targetElem,index); 
			this.formView.enablePulldown(targetElem, true);
		};
		
		
		// 参加人数変更 => 1部屋あたりの利用人数に反映
		this.ninzuListener = function(eventObj) {	
						
			var evt = this.getEventTarget(eventObj);
			this.formView.setPulldown("autoNUMPTO", this.formView.getValue(evt));
		};
		
		
		// フォーム送信イベント
		this.submitTabisaku = function() {
			
			this.setyymmdd("autoDATE_month", "autoDATE_day", "autoDATE");
			if(this.relationList) this.formView.setDynamicParam("autoMAJMAT", this.relationList[0]);
			
			if (this.formView.getValue("autoAIRreturn") == '') {
				var autoAIRreturnVALUE = 'PROMPT';
			} else {
				var autoAIRreturnVALUE = this.formView.getValue("autoAIRreturn");
			}
			
			// クエリーストリング作成
			var querystring = '?' +
			
			   'autoAIRgo='     + this.formView.getValue("autoAIRgo")	  + '&' +    // 出発空港 
			   'autoAIRreturn=' + autoAIRreturnVALUE + '&' +    // 到着空港
			   'autoMAJMAT='    + this.formView.getValue("autoMAJMAT")	  + '&' +    // 方面（到着空港による）
			   'autoREGION='    + this.formView.getValue("autoREGION")	  + '&' +    // 宿泊地区（到着空港による）
			   'autoAREA='      + this.formView.getValue("autoAREA")	  + '&' +    // 宿泊地域（到着空港による）
			   'autoDATE='      + this.formView.getValue("autoDATE") 	  + '&' +    // 出発日
			   'autoNINZU='     + this.formView.getValue("autoNINZU")	  + '&' +    // 参加人数
			   'autoSTAY='      + this.formView.getValue("autoSTAY") 	  + '&' +    // 宿泊日数
			   'autoNUMPFROM='  + this.formView.getValue("autoNUMPFROM")      + '&' +    // 一人部屋人数from
			   'autoNUMPTO='    + this.formView.getValue("autoNUMPTO")        + '&' +    // 一人部屋人数to
			   'quickstart=1'                                       	  + '&' +    // クイック検索フラグ（固定）


// レム日比谷用
//			   'refid=P9Q8N'                                           	          + '&' +     // 提携サイトID
//			   'coopsitebanner=0'                                         + '&' +    // 特定バナー区分（0:モジュール起動）//			   'cid=PTNremmhibiyatour2009090001';												 //CIDパラメータ（○に上書き）

// レム秋葉原用
			   'refid=L882F'                                           	          + '&' +     // 提携サイトID
			   'coopsitebanner=0'                                         + '&' +    // 特定バナー区分（0:モジュール起動）			   'cid=PTNremmakihabaratour2009100001';												 //CIDパラメータ（○に上書き）

			var tabisaku_url = "https://www.tour.ana.co.jp/main_asw.html";               // 本番・国内旅行検索 (80)
		
//			window.open(tabisaku_url + querystring, '', "width=1000,height=690,status=no,scrollbars=no,resizable=no").focus();
//検索結果の別ウィンドゥを、ディスプレイの横中央に表示（縦は別ウィンドゥを上寄せ）

			var SUW = (screen.availWidth / 2) - 480;
			var w = window.open(tabisaku_url + querystring, '',"width=960,height=690,left=" + SUW + ",top=0,status=no,scrollbars=yes,resizable=yes");
			w.window.focus();
			return true;

		};

		
		// イベントの追加
		// 到着空港プルダウン変更 => 地区プルダウン生成
//		this.addEvent("autoAIRreturn", "change", this.delegate(this, this.relationListener));
		// 宿泊地　地区プルダウン変更　=>　地域プルダウン生成
		this.addEvent("autoREGION", "change", this.delegate(this, this.relationListener));
		// 出発日：月変更 => その月の日数を反映
		this.addEvent("autoDATE_month", "change", this.delegate(this, this.monthListener));		
		// 参加人数変更 => 1部屋あたりの利用人数に反映
		this.addEvent("autoNINZU", "change", this.delegate(this, this.ninzuListener));
		// フォーム送信イベント
		this.addEvent(document.getElementById("BtnDomTourFr"), "click", this.delegate(this, this.submitTabisaku));
		// 宿泊地初期値設定
//		this.autoAIRreturn("", autoAIR, document.atourForm.autoREGION);
	}
	
	dom_free.init();
}

// ページ読み込み後　処理を開始する
addLoadEvent(init_dom_free);

