/****************************************************** * コンストラクタ ******************************************************/ function ReserveModule(frm){ this.form = $("#"+frm); //予約モジュールのフォームの参照 this.toAndFromCondition = $("[name='toAndFromCondition']",this.form); //往復・片道ラジオボタン this.departurePulldown = $("[name='departureCity']",this.form); //出発地プルダウン this.arrivalPulldown = $("[name='arrivalCity']",this.form); //到着地プルダウン this.arrivalConteiner = $("#"+ frm + "_arrivalConteiner"); //到着地プルダウンを格納するDIV this.outwardMonth = $("[name='flightMonth']",this.form); //出発月プルダウン this.outwardDate = $("[name='flightDay']",this.form); //出発日プルダウン this.homewardMonth = $("[name='returnFlightMonth']",this.form); //復路月プルダウン this.homewardDate = $("[name='returnFlightDay']",this.form); //復路日プルダウン this.homewardContainer = $("#"+ frm + "_homewardDateContainer"); //復路日時プルダウンを格納するDIV this.nowObject = new Date(); //現在日付 //現在日付をセットする this.nowObject.setFullYear(
Warning: Use of undefined constant Y - assumed 'Y' (this will throw an Error in a future version of PHP) in /home/users/web05/7/5/0159257/www.info.fujidreamairlines.com/common/js/fda.ReserveModule.php on line 17
2024); this.nowObject.setMonth(
Warning: Use of undefined constant n - assumed 'n' (this will throw an Error in a future version of PHP) in /home/users/web05/7/5/0159257/www.info.fujidreamairlines.com/common/js/fda.ReserveModule.php on line 18
8); this.nowObject.setDate(
Warning: Use of undefined constant j - assumed 'j' (this will throw an Error in a future version of PHP) in /home/users/web05/7/5/0159257/www.info.fujidreamairlines.com/common/js/fda.ReserveModule.php on line 19
8); this.nextYearHolder = null; //プルダウンメニューで翌年またぎになった時に一時的に使用 this.dateRelationFlag = false; //往路日付に連動して復路の日付を設定する際のフラグ変数 //出発日 日付のvalueを都度保持する this.outwardDateValHolder = "01"; //復路 出発日付のvalueを都度保持する this.homewardDateValHolder = "01"; //空港の一覧を保持する 路線の組み合わせを示すfrom配列は、接続元の空港を示す。from配列内の位置はairPorts配列内の位置と同じ。1になっている空港より接続を表す this.airPorts = [ {id:0,name:"札幌(新千歳)",from:[0,0,0,0,0,1,1,0,0,0,0],value:"SPK"}, {id:1,name:"青森",from:[0,0,0,0,0,0,0,1,0,0,0],value:"AOJ"}, {id:2,name:"いわて花巻",from:[0,0,0,0,0,0,0,1,0,0,0],value:"HNA"}, {id:3,name:"いわて花巻",from:[0,0,0,0,0,0,0,1,0,0,0],value:"HNA"}, {id:4,name:"新潟",from:[0,0,0,0,0,0,0,1,1,0,0],value:"KIJ"}, {id:5,name:"松本",from:[1,0,0,0,0,0,0,0,1,0,0],value:"MMJ"}, {id:6,name:"富士山静岡",from:[1,00,,0,0,0,0,0,1,0,1],value:"FSZ"}, {id:7,name:"名古屋小牧",from:[0,1,1,1,1,0,0,0,1,1,0],value:"NKM"}, {id:8,name:"福岡",from:[0,0,0,0,1,1,1,1,0,0,0],value:"FUK"}, {id:9,name:"熊本",from:[0,0,0,0,0,0,0,1,0,0,0],value:"KMJ"}, {id:10,name:"鹿児島",from:[0,0,0,0,0,0,1,0,0,0,0],value:"KOJ"} ]; //初期化開始 this.init(); } /************************************************************* //メソッドを定義 *************************************************************/ //初期化 各パーツにイベントを設定 ReserveModule.prototype.init = function(){ //往復、片道設定後 this.toAndFromCondition.bind("change", $.proxy(function(event){ this.onTypeChange(); },this)); //往路空港選択後 this.departurePulldown.bind("change", $.proxy(function(event){ this.updateArrivalPD(); },this)); //出発月の変更イベント this.outwardMonth.bind("change", $.proxy(function(event){ this.outwardDateValHolder = this.outwardDate.val(); this.homewardDateValHolder = this.homewardDate.val(); this.onArriveMonthChange(); this.setReturnDate(); this.outwardDate.val(this.outwardDateValHolder); this.homewardDate.val(this.homewardDateValHolder); },this)); //出発日の変更イベント this.outwardDate.bind("change", $.proxy(function(event){ this.setReturnDate(); },this)); //復路 出発月の変更イベント this.homewardMonth.bind("change", $.proxy(function(event){ if(this.dateRelationFlag==false){ this.homewardDateValHolder = this.homewardDate.val(); this.onReturnMonthChange(); this.homewardDate.val(this.homewardDateValHolder); } },this)); //往路プルダウン作成→復路プルダウン更新 this.initDeparturePD(); //月プルダウン作成 this.createMonthPullDown(); this.updateDayPullDown(this.nowObject.getFullYear(),this.nowObject.getMonth()+1); this.updateReturnDayPullDown(this.nowObject.getFullYear(),this.nowObject.getMonth()+1); this.setNowDatePD(); this.setReturnDate(); } /* 往復プルダウンを初期作成します */ ReserveModule.prototype.initDeparturePD = function(){ this.departurePulldown.html(""); for(i=0; i').attr({ value: this.airPorts[i].value }).text( this.airPorts[i].name )); this.departurePulldown.width(); } } this.updateArrivalPD(true); } /* 往路プルダウンが変更された時に復路プルダウンを更新します */ ReserveModule.prototype.updateArrivalPD = function(autoChanged){ var departureVal = this.departurePulldown.val(); var selectedID = 0; this.arrivalPulldown.html(""); for(i=0; i').attr({ value: this.airPorts[j].value }).text( this.airPorts[j].name )); this.arrivalPulldown.width(); } } //項目による連動でなく、ユーザの操作がされた場合はcookieに書き込みを行う if(!autoChanged){ this.writeCookie("module_departure",this.departurePulldown.val(),365); } } /* 月プルダウンを作成します */ ReserveModule.prototype.createMonthPullDown = function(){ var nowMonth = this.nowObject.getMonth(); var tgtMonth = nowMonth; var monthValue = "00"; for(j=0; j<=1; j++){ tgtMonth = nowMonth; monthValue = "00"; for(i=0; i<6; i++){ tgtMonth++; if(tgtMonth > 12){ tgtMonth = 1; this.nextYearHolder = this.nowObject.getFullYear()+1; //翌年またぎフラグ } monthValue = this.addZeroString(tgtMonth); if(j == 0){ this.outwardMonth.append($('