1(function(DYNns, $, _, undefined) { 2 "use strict"; 3 DYNns.$ = $; 4 DYNns._ = _; 5 6 DYNns.render = { 7 get: function(tmplName) { 8 var that = this; 9 if (_.isUndefined(that.tmplCache)) { 10 that.tmplCache = {}; 11 } 12 if (_.isUndefined(that.tmplCache[tmplName])) { 13// var tmplUrl = (DYNns.System.UNITTEST ? ".." : ".") + "/src/dynviews/" + tmplName + ".html"; 14 var tmplUrl = directurl + "src/dynviews/" + tmplName + ".html"; 15 var tmplString; 16 $.ajax({ 17 url: tmplUrl, 18 method: "GET", 19 async: false, 20 dataType: "html", 21 success: function(data) { 22 tmplString = data; 23 } 24 }); 25 that.tmplCache[tmplName] = tmplString; 26 } 27 return that.tmplCache[tmplName]; 28 }, 29 tmplCache: {} 30 }; 31 32 DYNns.setValArray = function(value) { // é åã§ãªãé ç®ãåä¸è¦ç´ ã®é åã«å¤æ 33 if (!_.isArray(value)) return [value]; 34 return value; 35 }; 36 37 DYNns.setTabToPanel = function(tabs, onDispError) { // tabãpanelã«ç´ã¥ã 38 if (_.isUndefined(onDispError)) onDispError = true; 39 tabs = DYNns.setValArray(tabs); 40 return _.map(tabs, function(tabvalue, tabcount) { 41 if (_.isObject(tabvalue)) return tabvalue; 42 var retrunTab; 43 _.forEach(DYNns.tabset, function(tab, tabname) { 44 if (tabname === tabvalue) retrunTab = $.extend({}, tab); 45 }); 46 if (_.isUndefined(retrunTab) && onDispError) DYNns.ErrorTextDisplay("ERROR:" + tabvalue + "ã¿ããè¦ã¤ããã¾ãã"); 47 return retrunTab; 48 }); 49 }; 50 51 DYNns.setWordsToTab = function(words, onDispError) { // wordsãtabã«ç´ã¥ã 52 if (_.isUndefined(onDispError)) onDispError = true; 53 if (_.isObject(words)) return words; 54 var retrunWords; 55 _.forEach(DYNns.wordset, function(wordset, wordsname) { 56 if (words === wordsname) retrunWords = $.extend({}, wordset); 57 }); 58 if (_.isUndefined(retrunWords) && onDispError) DYNns.ErrorTextDisplay("ERROR:ããã¹ãã»ãã" + words + "ãè¦ã¤ããã¾ãã"); 59 return retrunWords; 60 }; 61 62 DYNns.setupDateRange = function(objTab) { //æ¥ä»ã®åæè¨å® 63 var today = new Date(); 64 var aYearLater = new Date(today.getFullYear() + 1, today.getMonth(), today.getDate() - 1); 65 objTab.startDate = DYNns.copyDate(today, objTab.sts.bookingDate.defaultStayDate); 66 objTab.endDate = DYNns.copyDate(objTab.startDate, objTab.sts.bookingDate.datelimit); 67 if (objTab.sts.nowdisp.WBFplan && objTab.sts.bookingDate.defaultStayDate < 3) objTab.startDate = DYNns.copyDate(today, 3); 68 if (objTab.endDate > aYearLater) objTab.endDate = DYNns.copyDate(aYearLater); 69 objTab.startday = DYNns.copyDate(objTab.startDate); 70 objTab.startday = DYNns.normalizationDate(objTab, objTab.startday); 71 }; 72 73 DYNns.normalizationDate = function(objTab, setday) { // æ¥æ°ãã¼ã¿ã®èª¿æ´ 74 setday = setday || new Date(); 75 if (setday < objTab.startDate) setday = DYNns.copyDate(objTab.startDate); 76 if (setday > objTab.endDate) setday = DYNns.copyDate(objTab.endDate); 77 return setday; 78 }; 79 80 DYNns.copyDate = function(setday, plusday) { // æ¥æ°ãã¼ã¿ã®ã³ãã¼ 81 plusday = plusday || 0; 82 return new Date(setday.getFullYear(), setday.getMonth(), setday.getDate() + plusday); 83 }; 84 85 //ç¾å¨è¡¨ç¤ºãã¦ããæ¥æãåå¾ 86 DYNns.getTabDate = function(objPanel) { 87 DYNns.pushTabDate(objPanel); 88 return DYNns.copyDate(objPanel.sts.date); 89 }; 90 91 DYNns.setupCalendar = function(objPanel) { // ã«ã¬ã³ãã¼ã®ã»ããã¢ãã 92 DYNns.getHoliday(); 93 var objTab = objPanel.tabs[objPanel.nowTab]; 94 objPanel.cal = new DYNns.JKL.Calendar("dynCalendar", "dynSearch", "hidSELECTARRYMD", objPanel.i
94dSuffix); 95 objPanel.cal.min_date = DYNns.copyDate(objTab.startday); // ã¹ã¿ã¼ãæ¥ 96 objPanel.cal.max_date = DYNns.copyDate(objTab.endDate); // ã©ã¹ãæ¥æå® 97 if (!_.isUndefined(objTab.words.calender)) objPanel.cal.wordsset = objTab.words.calender; // è¡¨è¨æå® 98 }; 99 100 //æ¥æ°è¨å®é ç®ã表示 101 DYNns.setupSelectDate = { 102 get: function(objTab, setday) { 103 var that = this; 104 setday = setday || DYNns.copyDate(objTab.startday); 105 setday = DYNns.normalizationDate(objTab, setday); 106 var compiled = _.map(that.set, function(setdate) { 107 setdate.valueset = setdate.getValueset(objTab, setday); 108 setdate.bookingDatePunctuation = setdate.and(objTab); 109 $(objTab.formid + " ." + setdate.classname).attr("type", "hidden"); 110 return _.template("<select class='<%-classname%> style_inputArea'>" + 111 "<% _.forEach(valueset,function(value){ %>" + 112 "<option value='<%-value%>'><%-value%></option>" + 113 "<% })%></select><%=bookingDatePunctuation%>")(setdate); 114 }); 115 $(objTab.formid + " .dynDate").html(compiled); 116 _.forEach(that.set, function(setdate) { 117 $(objTab.formid + " ." + setdate.classname).val("" + setdate.getSelected(setday)); 118 if (that.terms(objTab) && setdate.classname === "cmbARRY") $(objTab.formid + " ." + setdate.classname).css("display", "none"); 119 }); 120 that.push(objTab); 121 if (objTab.sts.nowdisp.year) $(objTab.formid + " .cmbARRY").after(_.template("<%=bookingDatePunctuation%>")(objTab.words)); 122 }, 123 push: function(objTab) { 124 var selectY = $(objTab.formid + " .cmbARRY"); 125 var selectM = $(objTab.formid + " .cmbARRM"); 126 var selectD = $(objTab.formid + " .cmbARRD"); 127 var startYear = objTab.startDate.getFullYear(); 128 var startMonth = objTab.startDate.getMonth() + 1; 129 var endYear = objTab.endDate.getFullYear(); 130 var endMonth = objTab.endDate.getMonth() + 1; 131 var setday = new Date(selectY.val(), selectM.val() - 1, selectD.val()); 132 133 if (selectD.val() > DYNns.checkDate.get(setday)) selectD.val(DYNns.checkDate.get(setday)); 134 if (this.terms(objTab) && startYear + 1 === endYear && startMonth > endMonth) { 135 if (selectM.val() >= startMonth) selectY.val(startYear); 136 if (selectM.val() <= endMonth) selectY.val(endYear); 137 } 138 }, 139 terms: function(objTab) { 140 return !objTab.sts.nowdisp.year; 141 }, 142 set: [{ 143 classname: "cmbARRY", 144 and: function() { 145 return ""; 146 }, 147 getSelected: function(setday) { 148 return setday.getFullYear(); 149 }, 150 getValueset: function(objTab) { 151 return DYNns.getArray(this.getSelected(objTab.startDate), this.getSelected(objTab.endDate)); 152 } 153 }, { 154 classname: "cmbARRM", 155 and: function(objTab) { 156 return objTab.words.bookingDatePunctuation; 157 }, 158 getSelected: function(setday) { 159 return setday.getMonth() + 1; 160 }, 161 getValueset: function(objTab, setday) { 162 var boolyear = objTab.sts.nowdisp.year; 163 var startYear = objTab.startDate.getFullYear(); 164 var endYear = objTab.endDate.getFullYear(); 165 var setYear = setday.getFullYear(); 166 var startMonth = 1; 167 var endMonth = 12; 168 169 if (setYear === startYear || !boolyear) startMonth = this.getSelected(objTab.startDate); 170 if (setYear === endYear || !boolyear) endMonth = this.getSelected(objTab.endDate); 171 if (!boolyear) { 172 if (startYear + 1 === endYear && startMonth > endMonth) return _(DYNns.getArray(startMonth, 12)).concat(DYNns.getArray(1, endMonth)).value(
172); 173 if (startYear < endYear) return DYNns.getArray(1, 12); 174 } 175 return DYNns.getArray(startMonth, endMonth); 176 } 177 }, { 178 classname: "cmbARRD", 179 and: function() { 180 return ""; 181 }, 182 getSelected: function(setday) { 183 return setday.getDate(); 184 }, 185 getValueset: function(objTab, setday) { 186 var startYear = objTab.startDate.getFullYear(); 187 var startMonth = objTab.startDate.getMonth() + 1; 188 var endYear = objTab.endDate.getFullYear(); 189 var endMonth = objTab.endDate.getMonth() + 1; 190 var setYear = setday.getFullYear(); 191 var setMonth = setday.getMonth() + 1; 192 var startDay = 1; 193 var endDay = DYNns.checkDate.get(setday); 194 195 if (setYear === startYear && setMonth === startMonth) startDay = this.getSelected(objTab.startDate); 196 if (setYear === endYear && setMonth === endMonth) endDay = this.getSelected(objTab.endDate); 197 return DYNns.getArray(startDay, endDay); 198 } 199 }] 200 }; 201 202 //æ¥æãã¼ã¿ããä¸éæ¥æ°ãè¿ã 203 DYNns.checkDate = { 204 get: function(checkdate) { 205 var year = checkdate.getFullYear(); 206 var objMonth = this.set[checkdate.getMonth()]; //使ã§ãã 207 if (_.isUndefined(objMonth.leap)) return objMonth.nomal; //éå¹´ã«æ¥æ°å¤ããã¾ãã 208 if (year % 400 === 0) return objMonth.leap; //å¹´ã400ã§å²ãåãã¾ãã 209 if (year % 100 === 0) return objMonth.nomal; //å¹´ã100ã§å²ãåãã¾ãã 210 if (year % 4 === 0) return objMonth.leap; //å¹´ã4ã§å²ãåãã¾ãã 211 return objMonth.nomal; //ãã¤ãã®äºæ 212 }, 213 set: [ 214 { nomal: 31 }, //1æ 215 { nomal: 28, leap: 29 }, //2æ 216 { nomal: 31 }, //3æ 217 { nomal: 30 }, //4æ 218 { nomal: 31 }, //5æ 219 { nomal: 30 }, //6æ 220 { nomal: 31 }, //7æ 221 { nomal: 31 }, //8æ 222 { nomal: 30 }, //9æ 223 { nomal: 31 }, //10æ 224 { nomal: 30 }, //11æ 225 { nomal: 31 } //12æ 226 ] 227 }; 228 229 DYNns.getHoliday = function() { 230 DYNns.holiday = []; 231 var date = new Date(); 232 var endDate = new Date(date.getFullYear(), date.getMonth() + 13, 1); // 13ãæå¾ 233 234 // ãã©ã¼ããã 235 var startM = date.getMonth() + 1; 236 if (startM < 10) startM = "0" + startM; 237 238 var start = date.getFullYear() + "-" + startM + "-01"; // 仿ãã 239 240 $.ajax({ 241 url: "https://asp.hotel-story.ne.jp/API/jp-holidays.js", 242 type: "GET", 243 dataType: "jsonp", 244 scriptCharset: "utf-8", 245 timeout: 5000, 246 jsonpCallback: "callback", 247 success: function(data) { 248 var regEsc = /\//g, 249 regDate = /-/g; 250 251 for (var key in data) { 252 if (start <= key.replace(regEsc, "-")) { 253 DYNns.holiday.push(key.replace(regDate, "/")); 254 } 255 } 256 DYNns.holiday.sort(); 257 }, 258 error: function(data) {}, 259 complete: function(data) {} 260 }); 261 }; 262 263 //æ³å®¤æ°é¸æè¢ã®çæ 264 DYNns.setupNightsRooms = function(selecter, objSelect) { 265 var arrSelects = DYNns.getArray(1, objSelect.max); 266 267 var compiled = _.map(arrSelects, function(select) { 268 return _.template("<option value='<%-value%>'><%-value%></option>")({ value: select }); 269 }); 270 271 $(selecter).append(compiled).val(objSelect.selected); 272 }; 273 274 //onã ã¨ãoffã ã¨ããtrue/falseã«åãæ¿ãï¼ãããããããã®ã¯trueã« 275 DYNns.setupBinary = function(textBinary) { 276 if (!textBinary) return false; 277 if (textBinary == "on") return true; 278 if (textBinary == "off") return false;
279 if (textBinary === true || textBinary === false) return textBinary; 280 return true; 281 }; 282 283 //tabã表示 284 DYNns.setupTabs = function(objPanel) { 285 var compiled = _.map(objPanel.tabs, function(tab) { 286 tab.tabname = tab.tabname || tab.words.tabname; 287 return _.template("<li class='style_topicPathTabsList'><a href='javascript:void(0);' class='Tab<%-thisTabNum%> style_topicPathTabsLink current' ><%=tabname%></a></li>")(tab); 288 }); 289 290 $(objPanel.formid + " .topicPathTabs ul").append(compiled); 291 }; 292 293 //groupæ¤ç´¢ã表示 294 DYNns.setupGroups = function(objTab) { 295 var arrGroup; 296 if (DYNns.getGroupsMode(objTab) === 2) { 297 arrGroup = objTab.sts.selectArea; 298 } else if (DYNns.getGroupsMode(objTab) === 1) { 299 arrGroup = _.map(objTab.sts.hdata, function(hcod) { 300 return { name: hcod.name, value: hcod.hcod1 + "," + hcod.hcod2 }; 301 }); 302 } else { 303 return false; 304 } 305 var compiled = _.map(arrGroup, function(arrGroup) { 306 if (!_.isUndefined(arrGroup)) return _.template("<option value='<%-value%>'><%-name%></option>")(arrGroup); 307 }); 308 $(objTab.formid + " .selectGroup").append(compiled).val(arrGroup[0].value); 309 }; 310 311 //groupã®ã¢ã¼ãã表示 312 DYNns.getGroupsMode = function(objTab) { 313 if (!_.isUndefined(objTab.sts.selectArea) && _.size(objTab.sts.selectArea) > 0 && objTab.sts.nowdisp.area) return 2; 314 if (_.size(objTab.sts.hdata) > 1) return 1; 315 return 0; 316 }; 317 318 //åé ç®ãçæ 319 DYNns.setupBrocks = { 320 set: function(objTab, file, classname, sts) { 321 sts = sts || "truebox"; 322 this.compiled[file] = this.compiled[file] || _.template(DYNns.render.get(file)); 323 if ($(objTab.formid + " ." + classname).css("display") !== "none") this.displaylist[classname] = $(objTab.formid + " ." + classname).css("display"); 324 if (objTab.sts.olddisp[sts] !== objTab.sts.nowdisp[sts]) { 325 $(objTab.formid + " ." + classname).html(""); 326 $(objTab.formid + " ." + classname).css("display", "none"); 327 } 328 if (objTab.sts.nowdisp[sts]) { 329 $(objTab.formid + " ." + classname).html(this.compiled[file](objTab.words)); 330 $(objTab.formid + " ." + classname).css("display", this.displaylist[classname]); 331 } 332 }, 333 compiled: {}, 334 displaylist: {} 335 }; 336 337 //人æ°é ç®ã表示 338 DYNns.setupPersons = function(objTab) { 339 var minPsn; 340 var persons = _.forEach(objTab.sts.persons, function(person, i) { 341 person.name = person.name || objTab.words.personsNameList[i]; 342 minPsn = 0; 343 if (i === 0) minPsn = 1; 344 person.personsNumber = objTab.words.personsNumber; 345 person.values = DYNns.getArray(minPsn, person.maxPsn); 346 person.classname = "cmbPerson0" + i; 347 person.startPsn = person.startPsn || minPsn; 348 }); 349 var countmap = 0; 350 var compiled = _.map(persons, function(person) { 351 if (countmap++ > 0 && objTab.sts.submit.plan === 2) return false; 352 return _.template("<%-name%> : <select class='<%-classname%> style_inputArea'>" + 353 "<% _.forEach(values,function(value){ %>" + 354 "<option value='<%-value%>' <%if(startPsn===value){%>selected<%}%> ><%-value%></option>" + 355 "<% })%></select><%=personsNumber%>")(person); 356 }); 357 358 //$(objTab.formid + " .dynPersons").append(compiled); 359 //$(objTab.formid + " .bookingNights .lbchkpsn").before(compiled); 360 $(objTab.formid + " .dynPersons .lbchkpsn").before(compiled); 361 }; 362 363 364 365 //ãããé ç®ã表示 366 DYNns.setupBudget = { 367 get: function(selecter, objBudget, objTab, min0max1num) { 368 var selected; 369 min0max1num = min0max1num || 0; 370 if (min0max1num === 0) objBudget.start = objBudget.start || objBudget.min; 371 if (min0max1num === 1) objBudget.start = objBudget.start || objBudget.max; 372 var arrPrices = _.map(_.filter(this.set[min0max1num], function(plice) { 373 return (objBudget.min <= plice && plice <= objBudget.max); 374 }), 375 function(budget) { 376 if (_.isUndefined(selected) || Math.abs(budget - objBudget.start) < Math.abs(selected - objBudget.start)) selected = budget; 377 return { 378 value: budget, 379 display: DYNns.getPrice(budget, objTab) 380 }; 381 }); 382 var compiled = _.map(arrPrices, function(arrPrice) { 383 if (arrPrice) return _.template("<option value='<%-value%>'><%-display%></option>")(arrPrice); 384 }); 385 $(selecter).append(compiled).val(selected); 386 }, 387 set: [ 388 [0, 5000, 6000, 7000, 8000, 9000, 10000, 15000, 20000, 25000, 30000, 35000, 40000, 45000, 50000], 389 [8000, 10000, 11000, 12000, 13000, 14000, 15000, 20000, 25000, 30000, 35000, 40000, 50000, 60000, 70000, 80000, 90000, 100000, 110000, 120000, 130000, 140000, 150000, 9999999] 390 ] 391 }; 392 393 DYNns.getPrice = function(price, objTab) { 394 switch (price) { 395 case 0: 396 return objTab.words.priceLowestNothing; 397 case 9999999: 398 return objTab.words.priceMaximumNothing; 399 default: 400 return price.toString(); 401 } 402 }; 403
404 //ãã©ã³ã«ãã´ãªç³»çµ±ã®é¸æè¢é ç®ã表示 405 DYNns.setupCategory = { 406 set: function(objTab) { 407 var that = this; 408 _.forEach(objTab.sts.category, function(categoryarray, categoryname) { 409 if (that.get[categoryname].display(objTab)) { 410 var compiled = _.map(categoryarray, function(category) { 411 if (!_.isUndefined(category)) return _.template("<option value='<%-value%>'><%-name%></option>")(category); 412 }); 413 $(objTab.formid + " ." + that.get[categoryname].classname).append(compiled).val(categoryarray[0].value); 414 } 415 }); 416 }, 417 get: { 418 booking: { 419 classname: "CategoryBooking", 420 display: function(objTab) { 421 return objTab.sts.nowdisp.categorybooking; 422 } 423 }, 424 room: { 425 classname: "CategoryRoom", 426 display: function(objTab) { 427 return objTab.sts.nowdisp.categoryroom; 428 } 429 }, 430 roomType: { 431 classname: "CategoryRoomType", 432 display: function(objTab) { 433 return objTab.sts.nowdisp.categoryroomtype; 434 } 435 } 436 } 437 }; 438 439 //PCã»ã¹ãã¼ããã©ã³å¤å¥ 440 DYNns.getAdressMode = function(objTab, width) { 441 width = width || $(window).width(); 442 if (objTab.sts.submit.address === 1 || objTab.sts.submit.address === 0) return objTab.sts.submit.address; 443 444 if (width <= objTab.sts.submit.width && DYNns.checkKtai()) return 1; 445 return 0; 446 }; 447 448 //ãã£ãªã¢å¤å® 449 DYNns.checkKtai = function() { 450 var userAgent = navigator.userAgent; 451 switch (true) { 452 case userAgent.indexOf("DoCoMo/") >= 0: 453 switch (true) { 454 case userAgent.indexOf("501i") >= 0: 455 case userAgent.indexOf("502i") >= 0: 456 case userAgent.indexOf("821i") >= 0: 457 case userAgent.indexOf("209i") >= 0: 458 case userAgent.indexOf("651ps") >= 0: 459 case userAgent.indexOf("691i") >= 0: 460 case userAgent.indexOf("671i") >= 0: 461 case userAgent.indexOf("F210i") >= 0: 462 case userAgent.indexOf("N210i") >= 0: 463 case userAgent.indexOf("P210i") >= 0: 464 case userAgent.indexOf("KO210i") >= 0: 465 return false; 466 default: 467 return true; 468 } 469 return false; 470 case userAgent.indexOf("J-PHONE/") >= 0: 471 switch (true) { 472 case userAgent.indexOf("/J-P03") >= 0: 473 case userAgent.indexOf("/J-P04") >= 0: 474 case userAgent.indexOf("/J-P02") >= 0: 475 case userAgent.indexOf("/J-SH03") >= 0: 476 case userAgent.indexOf("/J-SA02") >= 0: 477 case userAgent.indexOf("/J-DN02") >= 0: 478 case userAgent.indexOf("/J-SH02") >= 0: 479 case userAgent.indexOf("J-PHONE/1.") >= 0: 480 case userAgent.indexOf("J-PHONE/2.") >= 0: 481 case userAgent.indexOf("J-PHONE/3.") >= 0: 482 return false; 483 default: 484 return true; 485 } 486 return false; 487 case userAgent.indexOf("Android") >= 0: 488 case userAgent.indexOf("Vodafone/") >= 0: 489 case userAgent.indexOf("SoftBank/") >= 0: 490 case userAgent.indexOf("iPhone") >= 0: 491 case userAgent.indexOf("iPad") >= 0: 492 case userAgent.indexOf("WILLCOM") >= 0: 493 case userAgent.indexOf("mobilephone/") >= 0: 494 case userAgent.indexOf("UP.Browser") >= 0: 495 return true; 496 } 497 return false; 498 }; 499 500 501 //表示ã»é表示èªåè¨å® 502 DYNns.autoSetupDisplay = { 503 set: function(objTab) { 504 var that = this; 505 objTab.sts.nowdisp = $.extend({}, objTab.sts.display); 506 _.forEach(that.get, function(value, name) { 507 if (value.conditions(objTab)) { 508 _.forEach(value.bool, function(bool, key) { 509 objTab.sts.nowdisp[key] = bool; 510 }); 511 } 512 }); 513 }, 514 get: { 515 //ããã©ã«ã 516 Default: { 517 conditions: function(objTab) { 518 return true; 519 }, 520 bool: { truebox: true } 521 }, 522 //年表示 523 year: { 524 conditions: function(objTab) { 525 return _.isUndefined(objTab.sts.nowdisp.year); 526 }, 527 bool: { year: true } 528 }, 529 //ã¿ã表示èªåtrue 530 tabon: { 531 conditions: function(objTab) { 532 if (!_.isUndefined(objTab.sts.nowdisp.tabs)) return false;
533 if (_.size(objTab.objPanel.tabs) > 1) return true; 534 if (_.size(DYNns.panelset) > 1) return true; 535 return false; 536 }, 537 bool: { tabs: true } 538 }, 539 //ã¿ã表示ããã©ã«ã 540 taboff: { 541 conditions: function(objTab) { 542 return _.isUndefined(objTab.sts.nowdisp.tabs); 543 }, 544 bool: { tabs: false } 545 }, 546 //èªç©ºå¸ä»ãã©ã³ç¡ã 547 NoDP: { 548 conditions: function(objTab) { 549 if (_.isUndefined(objTab.sts.WBFURL)) return true; 550 if (objTab.sts.WBFURL == "") return true; 551 return false; 552 }, 553 bool: { WBFplan: false } 554 }, 555 //ã¨ãªã¢æ¤ç´¢ç¡ã 556 NoArea: { 557 conditions: function(objTab) { 558 return DYNns.getGroupsMode(objTab) !== 2; 559 }, 560 bool: { area: false } 561 }, 562 //äºç®è¨å®ç¡ã 563 NoBudgets: { 564 conditions: function(objTab) { 565 if (_.isUndefined(objTab.sts.budgets)) return true; 566 if (_.isUndefined(objTab.sts.budgets.min)) return true; 567 if (_.isUndefined(objTab.sts.budgets.max)) return true; 568 return false; 569 }, 570 bool: { budgets: false } 571 }, 572 //ãã©ã³ã«ãã´ãªé¸æç¡ã 573 NoCategorybooking: { 574 conditions: function(objTab) { 575 if (_.isUndefined(objTab.sts.category)) return true; 576 if (_.isUndefined(objTab.sts.category.booking)) return true; 577 if (_.size(objTab.sts.category.booking) <= 0) return true; 578 return false; 579 }, 580 bool: { categorybooking: false } 581 }, 582 //é¨å±ã«ãã´ãªé¸æç¡ã 583 NoCategoryroom: { 584 conditions: function(objTab) { 585 if (_.isUndefined(objTab.sts.category)) return true; 586 if (_.isUndefined(objTab.sts.category.room)) return true; 587 if (_.size(objTab.sts.category.room) <= 0) return true; 588 return false; 589 }, 590 bool: { categoryroom: false } 591 }, 592 //é¨å±ã¿ã¤ã鏿ç¡ã 593 NoCategoryroomtype: { 594 conditions: function(objTab) { 595 if (_.isUndefined(objTab.sts.category)) return true; 596 if (_.isUndefined(objTab.sts.category.roomType)) return true; 597 if (_.size(objTab.sts.category.roomType) <= 0) return true; 598 return false; 599 }, 600 bool: { categoryroomtype: false } 601 }, 602 //æ³æ°é¸æç¡ã 603 NoNights: { 604 conditions: function(objTab) { 605 return _.isUndefined(objTab.sts.bookingDate.nights); 606 }, 607 bool: { nights: false } 608 }, 609 //室æ°é¸æç¡ã 610 NoRooms: { 611 conditions: function(objTab) { 612 return _.isUndefined(objTab.sts.bookingDate.rooms); 613 }, 614 bool: { rooms: false } 615 }, 616 //ã¬ã¹ãã©ã³ç 617 restaurant: { 618 conditions: function(objTab) { 619 return objTab.sts.submit.plan === 2; 620 }, 621 bool: { 622 WBFplan: false, 623 nights: false, 624 budgets: false, 625 dispunitRoom: false, 626 categoryroom: false, 627 categoryroomtype: false 628 } 629 }, 630 //æºå¸¯ç 631 ktai: { 632 conditions: function(objTab) { 633 return DYNns.getAdressMode(objTab) === 1; 634 }, 635 bool: {
636 WBFplan: false, 637 chkymd: false, 638 chkpsn: false, 639 budgets: false, 640 categorybooking: false, 641 categoryroom: false, 642 categoryroomtype: false, 643 dispunitPlan: false, 644 dispunitRoom: false, 645 dispunitCalendar: false 646 } 647 }, 648 //æºå¸¯å®¿æ³ç 649 ktaiLodging: { 650 conditions: function(objTab) { 651 if (DYNns.getAdressMode(objTab) !== 1) return false; 652 if (objTab.sts.submit.plan === 2) return false; 653 return true; 654 }, 655 bool: { 656 area: false, 657 year: false 658 } 659 }, 660 //èªç©ºå¸ä»ãã©ã³ãã 661 DP: { 662 conditions: function(objTab) { 663 return objTab.sts.nowdisp.WBFplan; 664 }, 665 bool: { 666 chkymd: false, //æ¥ç¨æªå® 667 chkpsn: false, //äººæ°æªå® 668 dispunitRoom: false, //æ¤ç´¢ã¢ã¼ã:ãé¨å±ã¿ã¤ã 669 dispunitCalendar: false //æ¤ç´¢ã¢ã¼ã:空室ã«ã¬ã³ãã¼ 670 } 671 }, 672 //ã°ã«ã¼ãæ¤ç´¢æ 673 Group: { 674 conditions: function(objTab) { 675 return DYNns.getGroupsMode(objTab) > 0; 676 }, 677 bool: { group: true } 678 }, 679 //ã°ã«ã¼ãæ¤ç´¢ç¡ã 680 NoGroup: { 681 conditions: function(objTab) { 682 return DYNns.getGroupsMode(objTab) === 0; 683 }, 684 bool: { group: false } 685 } 686 } 687 }; 688 689 //å®¿æ³æ¥ã«æ¥ä»ãã»ãã 690 DYNns.pullDate = function(objPanel, setDate) { 691 setDate = setDate || DYNns.copyDate(objPanel.sts.date); 692 setDate = DYNns.normalizationDate(objPanel.tabs[objPanel.nowTab], setDate); 693 if (!objPanel.tabs[objPanel.nowTab].sts.bookingDate.usecalendar) DYNns.setupSelectDate.get(objPanel.tabs[objPanel.nowTab], setDate); 694 $(objPanel.formid + " .cmbARRY").val(setDate.getFullYear()); 695 $(objPanel.formid + " .cmbARRM").val(setDate.getMonth() + 1); 696 $(objPanel.formid + " .cmbARRD").val(setDate.getDate()); 697 }; 698 699 //æ¥ä»æªå®ãã»ãã 700 DYNns.pullChkymd = function(objPanel, setChkymd) { 701 setChkymd = setChkymd || objPanel.sts.chkymd; 702 if ($(objPanel.formid + " .chkymd").length > 0) $(objPanel.formid + " .chkymd").prop("checked", setChkymd); 703 }; 704 705 //äººæ°æªå®ãã»ãã 706 DYNns.pullChkpsn = function(objPanel, setChkpsn) { 707 setChkpsn = setChkpsn || objPanel.sts.chkpsn; 708 if ($(objPanel.formid + " .chkpsn").length > 0) $(objPanel.formid + " .chkpsn").prop("checked", setChkpsn); 709 }; 710 711 //æ¤ç´¢ã¢ã¼ããã»ãã 712 DYNns.pullDispunit = function(objPanel, setdispunit) { 713 setdispunit = setdispunit || objPanel.sts.dispunit; 714 if ($(objPanel.formid + " ." + setdispunit).length <= 0) { 715 DYNns.setupTabDispunit(objPanel); 716 DYNns.pushTabDispunit(objPanel); 717 } else { 718 $(objPanel.formid + " .dynDispunit [name=dispUnit]").prop("checked", false); 719 $(objPanel.formid + " ." + setdispunit).prop("checked", true); 720 } 721 }; 722 723 //æ¤ç´¢ã¢ã¼ãã®ãã§ãã¯ç¶æ åæå 724 DYNns.setupTabDispunit = function(objPanel) { 725 var DefaultCheck = objPanel.tabs[objPanel.nowTab].sts.defaultDispunit; 726 var jQobjDispPlan = $(objPanel.formid + " .dispPlan"); 727 var jQobjDispRoom = $(objPanel.formid + " .dispRoom"); 728 var jQobjDispCalender = $(objPanel.formid + " .dispCald"); 729 if (DefaultCheck !== 0 && DefaultCheck !== 1 && DefaultCheck !== 2) { 730 if (jQobjDispCalender.length > 0) DefaultCheck = 2; 731 if (jQobjDispRoom.length > 0) DefaultCheck = 1; 732 if (jQobjDispPlan.length > 0) DefaultCheck = 0; 733 } 734 if (DefaultCheck === 2) jQobjDispCalender.prop("checked", true); 735 if (DefaultCheck === 1) jQobjDispRoom.prop("checked", true); 736 if (DefaultCheck === 0) jQobjDispPlan.prop("checked", true); 737 }; 738 739 //ç¾å¨è¡¨ç¤ºãã¦ããæ¥æãä¿å 740 DYNns.pushTabDate = function(objPanel) { 741 objPanel.sts.date = new Date( 742 $(objPanel.formid + " .cmbARRY").val() + "/" + 743 $(objPanel.formid + " .cmbARRM").val() + "/" + 744 $(objPanel.formid + " .cmbARRD").val()); 745 objPanel.sts.date = DYNns.normalizationDate(objPanel.tabs[objPanel.nowTab], objPanel.sts.date); 746 }; 747 748 //æ¥ä»æªå®ãä¿å
749 DYNns.pushTabChkymd = function(objPanel) { 750 if ($(objPanel.formid + " .chkymd").length > 0) objPanel.sts.chkymd = $(objPanel.formid + " .chkymd").prop("checked"); 751 }; 752 753 //äººæ°æªå®ãä¿å 754 DYNns.pushTabChkpsn = function(objPanel) { 755 if ($(objPanel.formid + " .chkpsn").length > 0) objPanel.sts.chkpsn = $(objPanel.formid + " .chkpsn").prop("checked"); 756 }; 757 758 //æ¤ç´¢ã¢ã¼ãã¨ãã¦é¸æãããè¦ç´ ã®idãä¿å 759 DYNns.pushTabDispunit = function(objPanel) { 760 objPanel.sts.dispunit = $(objPanel.formid + " .dynDispunit [name=dispUnit]:checked").attr("class"); 761 }; 762 763 //ã¨ã©ã¼æã®è¡¨ç¤º 764 DYNns.ErrorTextDisplay = function(ErrText, key) { 765 console.error(ErrText); 766 key = key || null; 767 if (!_.isNull(key) && $("#dynSearch" + key).length > 0) { 768 $("#dynSearch" + key + ":first").before("<div>" + ErrText + "</div>"); 769 } else if ($("[id^=dynSearch]").length > 0) { 770 $("[id^=dynSearch]:first").before("<div>" + ErrText + "</div>"); 771 } else if ($("html").length > 0) { 772 $("html:first").before("<div>" + ErrText + "</div>"); 773 } else { 774 alert(ErrText); 775 } 776 }; 777 778 DYNns.getCurrencyUnitPre = function(currencyCode) { 779 switch (currencyCode) { 780 case "01": 781 return "ï¿¥"; 782 case "02": 783 return "$"; 784 case "03": 785 return ""; 786 case "04": 787 return ""; 788 case "05": 789 return ""; 790 case "06": 791 return "NT$ "; 792 case "07": 793 return "Rs "; 794 case "08": 795 return ""; 796 case "MA": 797 return ""; 798 default: 799 return ""; 800 } 801 }; 802 803 DYNns.GetCurrencyUnit = function(currencyCode) { 804 switch (currencyCode) { 805 case "01": 806 return ""; 807 case "02": 808 return ""; 809 case "03": 810 return " å "; 811 case "04": 812 return " å "; 813 case "05": 814 return " KRW"; 815 case "06": 816 return ""; 817 case "07": 818 return ""; 819 case "08": 820 return " Baht"; 821 case "MA": 822 return " æ"; 823 default: 824 return ""; 825 } 826 }; 827 828 DYNns.dollarFormat = function(price) { 829 var s = "" + price; 830 var p = s.indexOf("."); 831 832 if (p === -1) { 833 return price + ".00"; 834 } else if (s.length - p === 2) { 835 return price + "0"; 836 } else { 837 return price; 838 } 839 }; 840 DYNns.validForm = function() { 841 return true; 842 }; 843 844 //startããendã¾ã§ã®é£çªã®é åä½ã 845 DYNns.getArray = function arr(start, end, array) { 846 array = array || []; 847 if (array.length === Math.abs(end - start) + 1) return array; 848 var sign = 1; 849 if (end - start !== 0) sign = (end - start) / Math.abs(end - start); 850 array.push(start + array.length * sign); 851 return arr(start, end, array); 852 }; 853 854 //åºçºç©ºæ¸¯ã»å°ç空港ä¸è¦§åå¾ 855 DYNns.getAirPortJsonp = { 856 get: function(objTab) { 857 var that = this; 858 if (objTab.sts.nowdisp.WBFplan) { that.ajax(objTab); } 859 }, 860 ajax: function(objTab) { 861 var that = this; 862 var url = objTab.sts.WBFURL; 863 if (!that.list[url]) { 864 $.ajax({ 865 async: false, 866 method: "GET", 867 scriptCharset: "utf-8", 868 url: url, 869 dataType: "jsonp", 870 jsonpCallback: "SetAirportInformation", 871 872 success: function(jsonp) { 873 console.log(objTab, jsonp); 874 that.list[url] = jsonp; 875 that.set(objTab); 876 }, 877 error: function() { 878 that.ajax(objTab); 879 } 880 }); 881 } else { 882 that.set(objTab); 883 } 884 }, 885 set: function(objTab) { 886 var that = this; 887 var url = objTab.sts.WBFURL; 888 _.forEach(that.list[url].airport[0].dep, function(dep, depcount) { 889 $(objTab.formid + " .DepartureAirPort").append("<option value='" + dep.code + "'>" + dep.name + "</option>"); 890 }); 891 _.forEach(that.list[url].airport[0].arr, function(arr, arrcount) { 892 $(objTab.formid + " .ArrivalAirPort").append("<option value='" + arr.code + "'>" + arr.name + "</option>"); 893 }); 894 }, 895 list: {} 896 }; 897 898}(window.DYNns = window.DYNns || {}, jQuery, _));
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.