PageSourceSearch

https://wonder-wall.com/assets/js/core.js?201220a

js wonder-wall.com collected 2026-10-03 20:51:53 UTC 330,581 bytes, 8,544 lines download raw bytes

1/******/ (function(modules) { // webpackBootstrap
2/******/ 	// The module cache
3/******/ 	var installedModules = {};
4/******/
5/******/ 	// The require function
6/******/ 	function __webpack_require__(moduleId) {
7/******/
8/******/ 		// Check if module is in cache
9/******/ 		if(installedModules[moduleId]) {
10/******/ 			return installedModules[moduleId].exports;
11/******/ 		}
12/******/ 		// Create a new module (and put it into the cache)
13/******/ 		var module = installedModules[moduleId] = {
14/******/ 			i: moduleId,
15/******/ 			l: false,
16/******/ 			exports: {}
17/******/ 		};
18/******/
19/******/ 		// Execute the module function
20/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21/******/
22/******/ 		// Flag the module as loaded
23/******/ 		module.l = true;
24/******/
25/******/ 		// Return the exports of the module
26/******/ 		return module.exports;
27/******/ 	}
28/******/
29/******/
30/******/ 	// expose the modules object (__webpack_modules__)
31/******/ 	__webpack_require__.m = modules;
32/******/
33/******/ 	// expose the module cache
34/******/ 	__webpack_require__.c = installedModules;
35/******/
36/******/ 	// identity function for calling harmony imports with the correct context
37/******/ 	__webpack_require__.i = function(value) { return value; };
38/******/
39/******/ 	// define getter function for harmony exports
40/******/ 	__webpack_require__.d = function(exports, name, getter) {
41/******/ 		if(!__webpack_require__.o(exports, name)) {
42/******/ 			Object.defineProperty(exports, name, {
43/******/ 				configurable: false,
44/******/ 				enumerable: true,
45/******/ 				get: getter
46/******/ 			});
47/******/ 		}
48/******/ 	};
49/******/
50/******/ 	// getDefaultExport function for compatibility with non-harmony modules
51/******/ 	__webpack_require__.n = function(module) {
52/******/ 		var getter = module && module.__esModule ?
53/******/ 			function getDefault() { return module['default']; } :
54/******/ 			function getModuleExports() { return module; };
55/******/ 		__webpack_require__.d(getter, 'a', getter);
56/******/ 		return getter;
57/******/ 	};
58/******/
59/******/ 	// Object.prototype.hasOwnProperty.call
60/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
61/******/
62/******/ 	// __webpack_public_path__
63/******/ 	__webpack_require__.p = "";
64/******/
65/******/ 	// Load entry module and return exports
66/******/ 	return __webpack_require__(__webpack_require__.s = 2);
67/******/ })
68/************************************************************************/
69/******/ ([
70/* 0 */
71/***/ (function(module, exports) {
72
73var EventObserver;
74
75EventObserver = class EventObserver {
76  // 登録
77  addEventListener(name, listener, context) {
78    if (this.listeners == null) {
79      this.listeners = {};
80    }
81    if (this.listeners[name] == null) {
82      this.listeners[name] = [];
83    }
84    this.listeners[name].push([listener, context]);
85    return this;
86  }
87
88  // 削除
89  removeEventListener(name, listener) {
90    var i, j, len, listeners, ref;
91    if (!this.listeners) {
92      return;
93    }
94    if (!this.listeners[name]) {
95      return this;
96    }
97    ref = this.listeners[name];
98    for (i = j = 0, len = ref.length; j < len; i = ++j) {
99      listeners = ref[i];
100      if (listeners[0] === listener) {
101        this.listeners[name].splice(i, 1);
102      }
103    }
104    return this;
105  }
106
107  // 実行
108  trigger(name, ...params) {
109    var e, j, len, list, listeners, ref;
110    list = (ref = this.listeners) != null ? ref[name] : void 0;
111    if (!list) {
112      return this;
113    }
114    e = {};
115    e.target = null;
116    e.context = null;
117    e.target = this;
118    for (j = 0, len = list.length; j < len; j++) {
119      listeners = list[j];
120      e.context = listeners[1];
121      listeners[0](e, params);
122    }
123    return this;
124  }
125
126};
127
128module.exports = EventObserver;
129
130
131/***/ }),
132/* 1 */
133/***/ (function(module, exports) {
134
135var Event;
136
137Event = (function() {
138  class Event {
139    constructor() {
140      this.jq = $(this);
141    }
142
143    bind(e, f) {
144      return this.jq.bind(e, f);
145    }
146
147    trigger(e, d) {
148      if (this.jq) {
149        return this.jq.trigger(e, d);
150      }
151    }
152
153  };
154
155  Event.prototype.jq = null;
156
157  return Event;
158
159}).call(this);
160
161module.exports = Event;
162
163
164/***/ }),
165/* 2 */
166/***/ (function(module, exports, __webpack_require__) {
167
168// require('./../lib/cookies.min.js');
169// require('./../lib/easeljs-NEXT.min.js');
170// require('./../lib/html5.js');
171// require('./../lib/jquery-1.10.2.min.js');
172// require('./../lib/jquery.ba-hashchange.min.js');
173// require('./../lib/jquery.cookie.js');
174// require('./../lib/jquery.easing.1.3.min.js');
175// require('./../lib/jquery.tmpl.js');
176// require('./../lib/mustache.js');
177// require('./../lib/preloadjs-NEXT.min.js');
178// require('./../lib/redirect.coffee');
179// require('./../lib/redirect.js');
180// # require('./../lib/reset.css');
181// require('./../lib/SpriteContainer.js');
182// require('./../lib/SpriteStage.js');
183// require('./../lib/Stats.js');
184// require('./../lib/swfobject.js');
185// require('./../lib/tweenjs-NEXT.min.js');
186// require('./../lib/velocity.min.js');
187// require('./../lib/webfontloader.js');
188var $, EventObserver, FontLoader, Model, WonderWall, rollOverTime, scrollBarWidth, windowHeight, windowWidth;
189
190__webpack_require__(4);
191
192__webpack_require__(5);
193
194__webpack_require__(3);
195
196__webpack_require__(2);
197
198__webpack_require__(8);
199
200Model = __webpack_require__(7);
201
202__webpack_require__(25);
203
204__webpack_require__(24);
205
206__webpack_require__(20);
207
208__webpack_require__(18);
209
210__webpack_require__(17);
211
212__webpack_require__(16);
213
214__webpack_require__(19);
215
216__webpack_require__(11);
217
218__webpack_require__(23);
219
220__webpack_require__(10);
221
222__webpack_require__(13);
223
224__webpack_require__(22);
225
226__webpack_require__(14);
227
228__webpack_require__(15);
229
230__webpack_require__(12);
231
232__webpack_require__(21);
233
234__webpack_require__(9);
235
236__webpack_require__(30);
237
238__webpack_require__(31);
239
240__webpack_require__(35);
241
242__webpack_require__(32);
243
244__webpack_require__(28);
245
246__webpack_require__(33);
247
248__webpack_require__(27);
249
250__webpack_require__(34);
251
252__webpack_require__(26);
253
254__webpack_require__(29);
255
256__webpack_require__(6);
257
258__webpack_require__(44);
259
260__webpack_require__(38);
261
262FontLoader = __webpack_require__(37);
263
264__webpack_require__(42);
265
266__webpack_require__(39);
267
268__webpack_require__(43);
269
270__webpack_require__(46);
271
272__webpack_require__(1);
273
274__webpack_require__(47);
275
276__webpack_require__(48);
277
278__webpack_require__(41);
279
280__webpack_require__(40);
281
282__webpack_require__(45);
283
284WonderWall = __webpack_require__(36);
285
286EventObserver = __webpack_require__(0);
287
288$ = jQuery;
289
290windowWidth = null;
291
292windowHeight = null;
293
294scrollBarWidth = null;
295
296rollOverTime = 500;
297
298if (!window['console']) {
299  window.console = {};
300  window.console["log"] = function(str) {};
301}
302
303$(document).ready(function() {
304  var appVersion, fl, isOldBrowser, userAgent;
305  window.$window = $(window);
306  window.$body = $("body");
307  window.$html = $("html");
308  Model.windowLoaded = false;
309  window.onload = function() {
310    return Model.windowLoaded = true;
311  };
312  isOldBrowser = false;
313  userAgent = window.navigator.userAgent.toLowerCase();
314  appVersion = window.navigator.appVersion.toLowerCase();
315  if (userAgent.indexOf('opera') !== -1) {
316    return 'opera';
317  } else if (userAgent.indexOf("msie") !== -1) {
318    if (appVersion.indexOf("msie 6.") !== -1) {
319      isOldBrowser = true;
320    } else if (appVersion.indexOf("msie 7.") !== -1) {
321      isOldBrowser = true;
322    } else if (appVersion.indexOf("msie 8.") !== -1) {
323      isOldBrowser = true;
324    }
325  }
326  if (!window.CanvasRenderingContext2D || isOldBrowser) {
327    $body.html("Sorry, Your Browser does not support.<br> Please look at the modern browser");
328    return false;
329  }
330  $body.hide();
331  fl = new FontLoader("DINNextRoundedLTW01-Reg");
332  fl.bind("loaded", (e, d) => {
333    var image, isFontloaded, link;
334    isFontloaded = true;
335    if (window.WonderWall.language === "ja") {
336      $body.hide();
337      link = document.createElement('link');
338      link.rel = 'stylesheet';
339      link.type = 'text/css';
340      link.href = 'http://fonts.googleapis.com/css?family=Roboto:700';
341      document.getElementsByTagName('head')[0].appendChild(link);
342      image = new Image();
343      image.onerror = function() {
344        $body.show();
345        //エラ-が検出されたら、ロード完了。
346        return new WonderWall();
347      };
348      return image.src = link.href;
349    } else {
350      $body.show();
351      return new WonderWall();
352    }
353  });
354  return fl.init();
355});
356
357
358/***/ }),
359/* 3 */
360/***/ (function(module, exports) {
361
362var AbrowserUtil;
363
364AbrowserUtil = class AbrowserUtil {
365  constructor() {}
366
367  // スクロールバーの幅を含むウィンドウサイズ
368  // http://chaika.hatenablog.com/entry/2015/02/12/054602
369  static windowBarWidth() {
370    return window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
371  }
372
373};
374
375window.AbrowserUtil = AbrowserUtil;
376
377
378/***/ }),
379/* 4 */
380/***/ (function(module, exports) {
381
382var AmathUtil;
383
384AmathUtil = class AmathUtil {
385  constructor() {}
386
387  static getText() {
388    return "a";
389  }
390
391  static arrayShuffle(arr) {
392    var l, m, n, newArr;
393    l = arr.length;
394    newArr = arr;
395    while (l) {
396      m = Math.floor(Math.random() * l);
397      n = newArr[--l];
398      newArr[l] = newArr[m];
399      newArr[m] = n;
400    }
401    return newArr;
402  }
403
404  //	twoMiddlePoint: (target, _target)
405  //		distance:Number = twoDistance(target, _target)
406  //		rotation:Number = twoRotation(target, _target)
407  //	return movePoint(target, rotation, distance/2)
408  static twoDistance(target, _target) {
409    var dist, dx, dy;
410    dx = target[0] - _target[0];
411    dy = target[1] - _target[1];
412    dist = Math.sqrt(dx * dx + dy * dy);
413    return dist;
414  }
415
416  static twoRotation(target, _target) {
417    var rad;
418    rad = Math.atan2(_target[1] - target[1], _target[0] - target[0]);
419    return rad * 180 / Math.PI;
420  }
421
422  static movePoint(target, rotation, movement) {
423    return [Math.cos(rotation * Math.PI / 180) * movement + target[0], Math.sin(rotation * Math.PI / 180) * movement + target[1]];
424  }
425
426  static movePointX(rotation, movement, _x) {
427    return Math.cos(rotation * Math.PI / 180) * movement + _x;
428  }
429
430  static movePointY(rotation, movement, _x) {
431    return Math.sin(rotation * Math.PI / 180) * movement + _x;
432  }
433
434  static randomRange(nMin, nMax) {
435    // nMinからnMaxまでのランダムな整数を返す
436    return Math.floor(Math.random() * (nMax - nMin + 1)) + nMin;
437  }
438
439  static randomRangeNumber(nMax, nMin) {
440    // nMinからnMaxまでのランダムな整数を返す
441    return Math.random() * (nMax - nMin) + nMin;
442  }
443
444  static getPer(now, min, max, noCut = false) {
445    var _max, _now, per;
446    if (!noCut) {
447      if (now <= min) {
448        return 0;
449      }
450      if (now >= max) {
451        return 100;
452      }
453    }
454    _now = now - min;
455    _max = max - min;
456    per = _now * (100 / _max); //現在の値を0-100に変換
457    return per;
458  }
459
460  static getPerMin(now, min, max) {
461    var _max, _now, per;
462    if (now <= min) {
463      return 0;
464    }
465    if (now >= max) {
466      return 1;
467    }
468    _now = now - min;
469    _max = max - min;
470    per = _now * (1 / _max); //現在の値を0-100に変換
471    return per;
472  }
473
474  //カーブのポイント
475  static getCurvePoints(p0, p1, p2, interpolate) {
476    var d, i, j, o, out, plus, ref, v;
477    d = 0;
478    out = [];
479    plus = 1.0 / (interpolate - 1);
480    for (i = j = 0, ref = interpolate; (0 <= ref ? j < ref : j > ref); i = 0 <= ref ? ++j : --j) {
481      o = [0, 0];
482      v = (1 - d) * (1 - d);
483      o[0] += v * p0[0];
484      o[1] += v * p0[0];
485      v = 2 * d * (1 - d);
486      o[0] += v * p1[0];
487      o[1] += v * p1[1];
488      v = d * d;
489      o[0] += v * p2[0];
490      o[1] += v * p2[1];
491      out[i] = o;
492      d += plus;
493    }
494    return out;
495  }
496
497  //四辺からランダムなポイントを返す
498  static getRectOutsidePoint(w, h, outMargin) {
499    var p, r;
500    p = [0, 0];
501    if (!outMargin) {
502      outMargin = 100;
503    }
504    r = AmathUtil.RandomRange(0, 3);
505    if (r === 0) { // å·¦
506      p.x = 0 - outMargin;
507      p.y = AmathUtil.RandomRange(0, h);
508    } else if (r === 1) { // 下
509      p.x = AmathUtil.RandomRange(0, w);
510      p.y = h + outMargin;
511    } else if (r === 2) { // 右
512      p.x = w + outMargin;
513      p.y = AmathUtil.RandomRange(0, h);
514    } else if (r === 3) { // 上
515      p.x = AmathUtil.RandomRange(0, w);
516      p.y = 0 - outMargin;
517    }
518    return p;
519  }
520
521  static fromRGBto16(r, g, b) {
522    var str;
523    str = "";
524    r = parseInt(r).toString(16);
525    if (r === "0") {
526      r = "00";
527    }
528    g = parseInt(g).toString(16);
529    if (g === "0") {
530      g = "00";
531    }
532    b = parseInt(b).toString(16);
533    if (b === "0") {
534      b = "00";
535    }
536    return "#" + r + g + b;
537  }
538
539};
540
541window.AmathUtil = AmathUtil;
542
543
544/***/ }),
545/* 5 */
546/***/ (function(module, exports) {
547
548var Debug;
549
550Debug = class Debug {
551  constructor() {}
552
553  static time(id = 100000) {
554    var dt, ref, str;
555    dt = new Date();
556    str = (ref = id === 100000) != null ? ref : {
557      "": String(id) + " "
558    };
559    str += dt.getMinutes() + ":" + dt.getSeconds() + ":" + dt.getMilliseconds();
560    return str;
561  }
562
563};
564
565
566/***/ }),
567/* 6 */
568/***/ (function(module, exports) {
569
570var Controller;
571
572Controller = (function() {
573  class Controller {
574    constructor(_view) {
575      this.model = Model.getInstance();
576      this.view = _view;
577    }
578
579  };
580
581  Controller.prototype.model = null;
582
583  Controller.prototype.view = null;
584
585  return Controller;
586
587}).call(this);
588
589window.Controller = Controller;
590
591
592/***/ }),
593/* 7 */
594/***/ (function(module, exports, __webpack_require__) {
595
596var Event, Model;
597
598Event = __webpack_require__(1);
599
600Model = (function() {
601  var _allowInstance, _init, _instance, isAndroid, isIos, isSp;
602
603  class Model extends Event {
604    constructor() {
605      super();
606    }
607
608    static getInstance() {
609      if (_instance === null) {
610        _init();
611        _allowInstance = true;
612        _instance = new Model();
613        //console.log _instance.images2
614        //console.log "Singleton instance created"
615        _allowInstance = false;
616      } else {
617        ""; //console.log "Singleton instance already exists."
618      }
619      
620      //console.log _instance.images
621      return _instance;
622    }
623
624  };
625
626  Model.page = null;
627
628  Model.projects = null;
629
630  _init = () => {
631    var ua;
632    Model.projects = window.WonderWall.projects;
633    Model.page = window.WonderWall.page;
634    Model.isSp = false;
635    Model.isIos = false;
636    Model.isAndroid = false;
637    Model.isFirefox = false;
638    ua = navigator.userAgent.toLowerCase();
639    if (ua.indexOf("iphone") !== -1) {
640      Model.isSp = true;
641      Model.isIos = true;
642    } else if (ua.indexOf("ipad") !== -1) {
643      Model.isSp = true;
644      Model.isIos = true;
645    } else if (ua.indexOf("android") !== -1) {
646      Model.isAndroid = true;
647    }
648    if (ua.indexOf("firefox") !== -1) {
649      Model.isFirefox = true;
650    }
651    return Model.category1 = window.WonderWall.templ.category1_color;
652  };
653
654  isSp = false;
655
656  isIos = false;
657
658  isAndroid = false;
659
660  Model.tickerWidth = 200;
661
662  Model.tickerHeight = null;
663
664  Model.tickerMargin = 30;
665
666  Model.nameHeight = 60;
667
668  Model.windowLoaded = false;
669
670  Model.day = {
671    "01": {
672      "long": "January",
673      "short": "Jan."
674    },
675    "02": {
676      "long": "February",
677      "short": "Feb."
678    },
679    "03": {
680      "long": "March",
681      "short": "Mar."
682    },
683    "04": {
684      "long": "April",
685      "short": "Apr."
686    },
687    "05": {
688      "long": "May",
689      "short": "May."
690    },
691    "06": {
692      "long": "June",
693      "short": "Jun."
694    },
695    "07": {
696      "long": "July",
697      "short": "Jul."
698    },
699    "08": {
700      "long": "August",
701      "short": "Aug."
702    },
703    "09": {
704      "long": "September",
705      "short": "Sep."
706    },
707    "10": {
708      "long": "October",
709      "short": "Oct."
710    },
711    "11": {
712      "long": "November",
713      "short": "Nov."
714    },
715    "12": {
716      "long": "December",
717      "short": "Dec."
718    }
719  };
720
721  // @category1 = {
722  //     "Retail": "fe325d",
723  //     "Eatery": "fe552a",
724  //     "Hospitality & Residential ": "feb500",
725  //     "Offices" : "c4c400",
726  //     "Event": "89c4c4",
727  //     "Fixtures & Product" : "008ac4",
728  //     "Katayama design lab" : "fe89c4"
729  // }
730  Model.category1 = {};
731
732  Model.isColor = false;
733
734  Model.isCenter = false;
735
736  // Default Model ################################################################
737  _instance = null; //holds the singleton instance
738
739  _allowInstance = null; //indicates if singleton instance was already created
740
741  return Model;
742
743}).call(this);
744
745window.Model = Model;
746
747module.exports = Model;
748
749
750/***/ }),
751/* 8 */
752/***/ (function(module, exports) {
753
754var View;
755
756View = (function() {
757  class View {
758    constructor() {
759      this.model = Model;
760      this.model.isCenter = true;
761      this.model.isColor = true;
762      new Header();
763      new Loading();
764      if (this.model.page === "top") {
765        new Top();
766      }
767      if (this.model.page === "project") {
768        new Project();
769      }
770      if (this.model.page === "project_map") {
771        new ProjectsMap();
772      }
773      if (this.model.page === "project_search") {
774        new ProjectsSearch();
775      }
776      if (this.model.page === "news") {
777        new News();
778      }
779      if (this.model.page === "mailnews") {
780        new MailNews();
781      }
782      if (this.model.page === "contact") {
783        new Contact();
784      }
785      if (this.model.page === "redirect_mail_news") {
786        new RedirectMailNews();
787      }
788      setInterval(function() {
789        return $("#mti_wfs_colophon").remove();
790      }, 100);
791    }
792
793  };
794
795  View.prototype.model = null;
796
797  return View;
798
799}
799).call(this);
800
801window.View = View;
802
803
804/***/ }),
805/* 9 */
806/***/ (function(module, exports) {
807
808var Contact;
809
810Contact = class Contact {
811  constructor() {
812    var $confirmAddress, $confirmCompany, $confirmEmail, $confirmMessege, $confirmName, $confirmSelect, $confirmTel, $inoputAddress, $inoputCompany, $inoputEmail, $inoputMessage, $inoputName, $inoputSelect, $inoputTel, $step1, $step2, $step3, isSending;
813    $step1 = $("#step1");
814    $step2 = $("#step2");
815    $step3 = $("#step3");
816    $inoputName = $("#input_name");
817    $inoputCompany = $("#input_company");
818    $inoputAddress = $("#input_address");
819    $inoputTel = $("#input_tel");
820    $inoputEmail = $("#input_email");
821    $inoputSelect = $("#input_select");
822    $inoputMessage = $("#input_message");
823    $confirmName = $("#confirm_name");
824    $confirmCompany = $("#confirm_company");
825    $confirmAddress = $("#confirm_address");
826    $confirmTel = $("#confirm_tel");
827    $confirmEmail = $("#confirm_email");
828    $confirmSelect = $("#confirm_select");
829    $confirmMessege = $("#confirm_message");
830    $("#confirm").click(function() {
831      if (window.WonderWall.language === "ja") {
832        if (!$inoputName.val()) {
833          alert("氏名を入力してください");
834          $inoputName.focus();
835          return false;
836        } else if ($inoputTel.val() === "") {
837          alert("電話番号を入力してください");
838          $inoputTel.focus();
839          return false;
840        } else if ($inoputEmail.val() === "") {
841          alert("メールアドレスを入力してください");
842          $inoputEmail.focus();
843          return false;
844        } else if ($inoputMessage.val() === "") {
845          alert("お問い合わせ内容を入力してください");
846          $inoputMessage.focus();
847          return false;
848        }
849      }
850      if (window.WonderWall.language === "en") {
851        if ($inoputName.val() === "") {
852          alert("Please input your name.");
853          $inoputName.focus();
854          return false;
855        } else if ($inoputTel.val() === "") {
856          alert("Please input your tel.");
857          $inoputTel.focus();
858          return false;
859        } else if ($inoputEmail.val() === "") {
860          alert("Please input your email.");
861          $inoputEmail.focus();
862          return false;
863        } else if ($inoputMessage.val() === "") {
864          alert("Please input your inquiry.");
865          $inoputMessage.focus();
866          return false;
867        }
868      }
869      $confirmName.html($inoputName.val());
870      $confirmCompany.html($inoputCompany.val());
871      $confirmAddress.html($inoputAddress.val());
872      $confirmTel.html($inoputTel.val());
873      $confirmEmail.html($inoputEmail.val());
874      $confirmSelect.html($inoputSelect.val());
875      $confirmMessege.html($inoputMessage.val());
876      $step1.hide();
877      $step2.show();
878      return $window.scrollTop(0);
879    });
880    $("#back").click(function() {
881      $step1.show();
882      $step2.hide();
883      return $window.scrollTop(0);
884    });
885    isSending = false;
886    $("#send").click(function() {
887      var data;
888      if (!isSending) {
889        isSending = true;
890        data = {
891          "name": $confirmName.html(),
892          "company": $confirmCompany.html(),
893          "adress": $confirmAddress.html(),
894          "tel": $confirmTel.html(),
895          "email": $confirmEmail.html(),
896          "select": $confirmSelect.html(),
897          "messege": $confirmMessege.html()
898        };
899        return $.ajax({
900          type: "POST",
901          url: "/sendmail.php",
902          data: data,
903          success: function() {
904            isSending = false;
905            $step2.hide();
906            $step3.show();
907            return $window.scrollTop(0);
908          },
909          error: function() {
910            isSending = false;
911            return alert('最初からやり直してください');
912          }
913        });
914      }
915    });
916    $confirmName.html($inoputName.val());
917    $confirmCompany.html($inoputCompany.val());
918    $confirmAddress.html($inoputAddress.val());
919    $confirmTel.html($inoputTel.val());
920    $confirmEmail.html($inoputEmail.val());
921    $confirmSelect.html($inoputSelect.val());
922    $confirmMessege.html($inoputMessage.val());
923  }
924
925};
926
927window.Contact = Contact;
928
929
930/***/ }),
931/* 10 */
932/***/ (function(module, exports) {
933
934var MailNews;
935
936MailNews = class MailNews {
937  constructor() {
938    var $mb_mail, $mb_subscribe, $mb_unsubscribe, $pc_mail, $pc_subscribe, $pc_unsubscribe;
939    /*
940    $pc_unsubscribe.bind("click", =>
941        @post(data: {
942            email: $pc_mail.val(),
943            mode:  "del",
944            magid: "x426"
945        })
946    )
947    $mb_subscribe.bind("click", =>
948        @post(data: {
949            email: $mb_mail.val(),
950            event: "hp",
951            mode:  "add",
952            name:  "DummyName",
953            magid: "qrf0"
954        })
955    )
956    $mb_unsubscribe.bind("click", =>
957        @post(data: {
958            email: $mb_mail.val(),
959            event: "hp",
960            mode:  "dell",
961            magid: "qrf0"
962        })
963    )
964    */
965    /*
966    $pc_subscribe.bind("click", =>
967        console.log "click"
968        @post({
969            email: $pc_mail.val(),
970            mode:  "add",
971            event: "hp",
972            mode:  "add",
973            name:  "DummyName",
974            magid: "x426"
975        })
976    )
977    $pc_unsubscribe.bind("click", =>
978        @post(data: {
979            email: $pc_mail.val(),
980            mode:  "del",
981            magid: "x426"
982        })
983    )
984    $mb_subscribe.bind("click", =>
985        @post(data: {
986            email: $mb_mail.val(),
987            event: "hp",
988            mode:  "add",
989            name:  "DummyName",
990            magid: "qrf0"
991        })
992    )
993    $mb_unsubscribe.bind("click", =>
994        @post(data: {
995            email: $mb_mail.val(),
996            event: "hp",
997            mode:  "dell",
998            magid: "qrf0"
999        })
1000    )
1001    */
1002    this.post = this.post.bind(this);
1003    $pc_mail = $("#pc_mail");
1004    $pc_subscribe = $("#pc_subscribe");
1005    $pc_unsubscribe = $("#pc_unsubscribe");
1006    $mb_mail = $("#mb_mail");
1007    $mb_subscribe = $("#mb_subscribe");
1008    $mb_unsubscribe = $("#mb_unsubscribe");
1009    $pc_subscribe.bind("click", () => {
1010      //$.cookie( "language", window.WonderWall.language);
1011      $("#form_subscribe_mail").val($pc_mail.val());
1012      return $('#form_subscribe').submit();
1013    });
1014    $pc_unsubscribe.bind("click", () => {
1015      $("#form_unsubscribe_mail").val($pc_mail.val());
1016      return $('#form_unsubscribe').submit();
1017    });
1018    return;
1019    /*
1020
1021    For PC
1022
1023    subscribe
1024    magid=x426&name=DummyName&email=polikeiji%40gmail%2Ecom&mode=add&event=hp
1025    POST /adddel.cgi HTTP/1.1
1026    https:#regssl.combzmail.jp/adddel.cgi
1027
1028    unsbscribe
1029    email=polikeiji%40gmail%2Ecom&mode=del&magid=x426
1030
1031    --
1032
1033    For Mobile Phone
1034
1035    subscribe
1036    email=keiji%40tha%2Ejp&event=hp&mode=add&name=DummyName&magid=qrf0
1037
1038    unsbscribe
1039    email=keiji%40tha%2Ejp&mode=del&magid=qrf0
1040
1041    */
1042    //        $pc_subscribe.bind("click", =>
1043    //            $.ajax({
1044    //                url: "https://api.plus.combz.jp/v1/auth/login/",  # リクエストURL
1045    //                data: {                                            # 送信データ
1046    //                    "id": "z5ig",
1047    //                    "apiKey": "l0PClHnuhjBQ"
1048    //                },
1049    //                type: "POST"
1050    //                dataType: "jsonp",
1051    //                success: (data, status, xhr) =>
1052    //                    console.log data
1053    //            })
1054    //        )
1055
1056    //        $.ajax
1057    //            async:     true
1058    //            type:      "GET"
1059    //            url:       "http://inchiki.jp"
1060    //            dataType:  "text"
1061    //            context:    this
1062    //            success:   (data, status, xhr)   ->
1063    //                console.log data
1064    //            error:     (xhr,  status, error) -> alert status
1065    //            complete:  (xhr, status)         -> alert status
1066    $pc_mail = $("#pc_mail");
1067    $pc_subscribe = $("#pc_subscribe");
1068    $pc_unsubscribe = $("#pc_unsubscribe");
1069    $mb_mail = $("#mb_mail");
1070    $mb_subscribe = $("#mb_subscribe");
1071    $mb_unsubscribe = $("#mb_unsubscribe");
1072    $pc_subscribe.bind("click", () => {
1073      console.log("click");
1074      return this.post({
1075        "data": {
1076          SenderList: {
1077            "mail": $pc_mail.val(),
1078            "name": "",
1079            "F0001": "web"
1080          },
1081          "isAttribute": "1",
1082          "isConfirm": "0",
1083          "FormType": {
1084            "isRegister": "1",
1085            "isChange": "0",
1086            "isLeave": "0"
1087          }
1088        }
1089      });
1090    });
1091  }
1092
1093  post(data) {
1094    return $.ajax({
1095      type: 'POST',
1096      url: 'https:#plus.combz.jp/connectFromMail/save/regist/gehv3959',
1097      data: data,
1098      success: function(response) {
1099        return console.log("response", response);
1100      },
1101      error: function(e) {
1102        console.log("error", e);
1103        return alert("Error");
1104      },
1105      dataType: "json"
1106    });
1107  }
1108
1109};
1110
1111/*
1112$.ajax({
1113    type: 'POST',
1114    url: 'https:#regssl.combzmail.jp/adddel.cgi',
1115    data: data
1116    success: (response) ->
1117        console.log "response", response
1118    ,
1119    error: (error) ->
1120        console.log "error", error
1121        alert("Error")
1122    ,
1123    dataType: "json"
1124})
1125*/
1126
1127
1128/***/ }),
1129/* 11 */
1130/***/ (function(module, exports, __webpack_require__) {
1131
1132var EventObserver, MailFloat, MailNews,
1133  boundMethodCheck = function(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new Error('Bound instance method accessed before binding'); } };
1134
1135MailNews = class MailNews {
1136  constructor() {
1137    var $mb_mail, $mb_subscribe, $mb_unsubscribe, $pc_mail, $pc_subscribe, $pc_unsubscribe, checkReCapture, ifrm, is_fast, langs, mailFloat, me, mode, setTimeoutID, subscribe, unsubscribe;
1138    me = this;
1139    $pc_mail = $("#pc_mail");
1140    $pc_subscribe = $("#pc_subscribe");
1141    $pc_unsubscribe = $("#pc_unsubscribe");
1142    langs = [
1143      {
1144        "ja": "メールアドレスを入力してください。",
1145        "en": "Please enter your e-mail address."
1146      },
1147      {
1148        "ja": "メールアドレスを正しく入力してください。",
1149        "en": "Please enter your e-mail address correctly."
1150      },
1151      {
1152        "ja": "このメールアドレスはすでに登録されています。",
1153        "en": "This e-mail address has already been added to the list."
1154      },
1155      {
1156        "ja": "このメールアドレスは登録されていません。",
1157        "en": "This e-mail address has not been added to the list."
1158      },
1159      {
1160        "ja": "チェックボックスにチェックを入れてください。",
1161        "en": "Please verify that you are not a robot."
1162      }
1163    ];
1164    mailFloat = new MailFloat();
1165    mailFloat.addEventListener("closed", function() {
1166      return clearTimeout(setTimeoutID);
1167    });
1168    ifrm;
1169    mode = false;
1170    is_fast = false;
1171    ifrm = document.getElementById('ifrm').contentWindow;
1172    $mb_mail = $("#mb_mail");
1173    $mb_subscribe = $("#mb_subscribe");
1174    $mb_unsubscribe = $("#mb_unsubscribe");
1175    
1176    // $pc_subscribe.bind("click", =>
1177    //     mode = "subscribe"
1178    //     $("input#mode").val("7")
1179    //     $("input#action").val("R2")
1180    //     $("#poster").submit()
1181    // )
1182
1183    // $pc_unsubscribe.bind("click", =>
1184    //     mode = "unsubscribe"
1185    //     $("input#mode").val("8")
1186    //     $("input#action").val("C2")
1187    //     $("#poster").submit()
1188    // )
1189    checkReCapture = function(mode) {
1190      var flag;
1191      console.log(mode, $('#g-recaptcha-response').val());
1192      flag = $('#g-recaptcha-response').val();
1193      if (!$('#g-recaptcha-response').val()) {
1194        alert(langs[4][window.WonderWall.language]);
1195        flag = false;
1196        return;
1197      }
1198      if (flag) {
1199        return $.ajax({
1200          type: 'POST',
1201          url: '/api/recapture/',
1202          data: {
1203            'g-recaptcha-response': $('#g-recaptcha-response').val()
1204          },
1205          success: function(data) {
1206            if (data === '1') {
1207              if (mode === "subscribe") {
1208                return subscribe();
1209              } else if (mode === "unsubscribe") {
1210                return unsubscribe();
1211              }
1212            } else if (data === '2') {
1213              alert(langs[4][window.WonderWall.language]);
1214              return grecaptcha.reset();
1215            } else {
1216              return alert(langs[4][window.WonderWall.language]);
1217            }
1218          },
1219          error: function() {
1220            return alert("Error");
1221          }
1222        });
1223      }
1224    };
1225    // $pc_subscribe.click(->
1226    //     mode = "subscribe"
1227    //     # checkReCapture(mode)
1228    //     subscribe();
1229    // )
1230
1231    // $pc_unsubscribe.click(->
1232    //     mode = "unsubscribe"
1233    //     # checkReCapture(mode)
1234    //     unsubscribe();
1235    // )
1236    $pc_subscribe.click(function() {
1237      mode = "subscribe";
1238      // checkReCapture(mode)
1239      return subscribe();
1240    });
1241    $pc_unsubscribe.click(function() {
1242      mode = "unsubscribe";
1243      return checkReCapture(mode);
1244    });
1245    subscribe = function() {
1246      mode = "subscribe";
1247      $("input#mode").val("7");
1248      $("input#action").val("R2");
1249      $("#poster").attr({
1250        "action": "https://a14.hm-f.jp/index.php"
1251      });
1252      $("#poster").submit();
1253      return $("#poster").removeAttr('action');
1254    };
1255    unsubscribe = function() {
1256      mode = "unsubscribe";
1257      $("input#mode").val("8");
1258      $("input#action").val("C2");
1259      $("#poster").attr({
1260        "action": "https://a14.hm-f.jp/index.php"
1261      });
1262      $("#poster").submit();
1263      return $("#poster").removeAttr('action');
1264    };
1265    $('#ifrm[name="result"]').load(function() {
1266      return ifrm.postMessage("check", 'https://a14.hm-f.jp');
1267    });
1268    setTimeoutID = null;
1269    window.addEventListener('message', function(event) {
1270      var errors, i, isCheck, j, n, nn, ref, ref1;
1271      if (event) {
1272        if (event["data"]) {
1273          if (event["data"] === "recaptcha-setup") {
1274            return;
1275          }
1276        }
1277      }
1278      isCheck = false;
1279      errors = event.data.split(",");
1280      console.log(errors);
1281      if (errors[0] === "登録完了") {
1282        $("#step2").show();
1283        $("#step3").hide();
1284        mailFloat.openModal();
1285        return setTimeoutID = setTimeout(function() {
1286          return mailFloat.closeModal();
1287        }, 3000);
1288      // $("#step2").show();
1289      // $("#step2").css({'opacity': 0})
1290      // $('#step1').animate({'opacity': '0'},{
1291      //     'duration': 300,
1292      //     'complete': ->
1293      //         $('#step1').hide();
1294      //         $("#step2").show();
1295      //         $("#step2").animate({'opacity': 1}, {'duration': 300})
1296      // });
1297
1298      // setTimeout ->
1299
1300      //     $('#step2').animate({'opacity': '0'},{
1301      //         'duration': 300,
1302      //         'complete': ->
1303      //             $('#step2').hide();
1304      //             $("#step1").show();
1305      //             $("#step1").animate({'opacity': 1}, {'duration': 300})
1306      //     });
1307
1308      // , 5000
1309      } else if (errors[0] === "解除完了") {
1310        $("#step2").hide();
1311        $("#step3").show();
1312        mailFloat.openModal();
1313        return setTimeoutID = setTimeout(function() {
1314          return mailFloat.closeModal();
1315        }, 3000);
1316      // $("#step3").show();
1317      // $("#step3").css({'opacity': 0})
1318      // $('#step1').animate({'opacity': '0'},{
1319      //     'duration': 300,
1320      //     'complete': ->
1321      //         $('#step1').hide();
1322      //         $("#step3").show();
1323      //         $("#step3").animate({'opacity': 1}, {'duration': 300})
1324      // });
1325
1326      // setTimeout ->
1327
1328      //     $('#step3').animate({'opacity': '0'},{
1329      //         'duration': 300,
1330      //         'complete': ->
1331      //             $('#step3').hide();
1332      //             $("#step1").show();
1333      //             $("#step1").animate({'opacity': 1}, {'duration': 300})
1334      //     });
1335
1336      // , 5000
1337      } else if (errors.length >= 1 && errors[0] !== "") {
1338// console.log(0, errors, langs, window.WonderWall.language);
1339        for (n = i = 0, ref = errors.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
1340//console.log(errors[n]);
1341          for (nn = j = 0, ref1 = langs.length; (0 <= ref1 ? j < ref1 : j > ref1); nn = 0 <= ref1 ? ++j : --j) {
1342            // console.log(errors[n], langs[nn][window.WonderWall.language], window.WonderWall.language);
1343            // if !errors[n]
1344            //     continue
1345            if (errors[n].indexOf(langs[nn].ja) > -1) {
1346              errors[n] = langs[nn][window.WonderWall.language];
1347              continue;
1348            }
1349          }
1350        }
1351        // console.log(1, errors);
1352
1353        //"メールアドレスを入力してください。"
1354        return alert(errors.join('\n\r'));
1355      } else if (mode === "unsubscribe" && errors[0] === "") {
1356        return ifrm.postMessage("submit", 'https://a14.hm-f.jp');
1357      }
1358    });
1359  }
1360
1361};
1362
1363window.MailNews = MailNews;
1364
1365EventObserver = __webpack_require__(0);
1366
1367MailFloat = (function() {
1368  class MailFloat extends EventObserver {
1369    constructor() {
1370      var me;
1371      super();
1372      this.openModal = this.openModal.bind(this);
1373      this.closeModal = this.closeModal.bind(this);
1374      this.resize = this.resize.bind(this);
1375      this.$slider = $("#float");
1376      this.$box = this.$slider.find(".box");
1377      this.$scrollWrapper = $("#scroll_wrapper");
1378      this.$scrollInner = $("#scroll_inner");
1379      me = this;
1380      this.$slider.find("> div.bg").click(() => {
1381        this.closeModal();
1382        return this.trigger("closed");
1383      });
1384      $window.resize(() => {
1385        return this.resize();
1386      });
1387      this.resize();
1388    }
1389
1390    openModal(nowPositionURL) {
1391      boundMethodCheck(this, MailFloat);
1392      this.nowPositionURL = nowPositionURL;
1393      this.isOpen = true;
1394      this.scrollPoint = $window.scrollTop();
1395      this.$slider.show();
1396      this.$scrollInner.css({
1397        position: "absolute",
1398        top: 0 - this.scrollPoint,
1399        width: "100%"
1400      });
1401      return this.resize();
1402    }
1403
1404    closeModal() {
1405      boundMethodCheck(this, MailFloat);
1406      this.isOpen = false;
1407      this.$slider.hide();
1408      this.$scrollWrapper.css({
1409        position: "",
1410        overflow: "",
1411        width: "auto",
1412        height: "auto"
1413      });
1414      this.$scrollInner.css({
1415        position: "",
1416        top: 0,
1417        width: ""
1418      });
1419      return $window.scrollTop(this.scrollPoint);
1420    }
1421
1422    resize() {
1423      var documentHeight, windowHeight, windowWidth;
1424      boundMethodCheck(this, MailFloat);
1425      windowWidth = $window.width();
1426      windowHeight = $window.height();
1427      documentHeight = $window.height();
1428      if (this.isOpen) {
1429        this.$scrollWrapper.css({
1430          position: "absolute",
1431          overflow: "hidden",
1432          width: $window.width(),
1433          height: $window.height()
1434        });
1435      }
1436      this.$slider.css({
1437        width: windowWidth,
1438        height: documentHeight
1439      });
1440      return this.$box.css({
1441        top: (documentHeight - this.$box.outerHeight()) / 2,
1442        left: (windowWidth - this.$box.width()) / 2
1443      });
1444    }
1445
1446  };
1447
1448  MailFloat.prototype.$slider = null;
1449
1450  MailFloat.prototype.$scrollWrapper = null;
1451
1452  MailFloat.prototype.$scrollInner = null;
1453
1454  MailFloat.prototype.$box = null;
1455
1456  MailFloat.prototype.scrollPoint = null;
1457
1458  MailFloat.prototype.isOpen = false;
1459
1460  MailFloat.prototype.nowPositionURL = null;
1461
1462  return MailFloat;
1463
1464}).call(this);
1465
1466window.MailFloat = MailFloat;
1467
1468
1469/***/ }),
1470/* 12 */
1471/***/ (function(module, exports) {
1472
1473var News;
1474
1475News = class News {
1476  constructor() {
1477    this.resize = this.resize.bind(this);
1478    $window.resize(() => {
1479      return this.resize();
1480    });
1481    this.resize();
1482  }
1483
1484  resize() {
1485    var $img, h, hh, i, imgs, n, ref, results, stH, stW, w, ww;
1486    stW = $window.width();
1487    stH = $window.height();
1488    //if stW < 800
1489
1490    //        iframes = $("iframe")
1491
1492    //        for n in [0...iframes.length]
1493    //            width = $("#contents").width()
1494    //            if width > 1000
1495    //                width = 1000
1496    //            $(iframes[n]).attr({width: width, height: width/16*9})
1497    imgs = $("#contents img");
1498    results = [];
1499    for (n = i = 0, ref = imgs.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
1500      $img = $(imgs[n]);
1501      w = $img.width();
1502      h = $img.height();
1503      ww = $("#contents").width();
1504      hh = h * (ww / w);
1505      results.push($img.attr({
1506        width: ww,
1507        height: hh
1508      }));
1509    }
1510    return results;
1511  }
1512
1513};
1514
1515window.News = News;
1516
1517
1518/***/ }),
1519/* 13 */
1520/***/ (function(module, exports) {
1521
1522var Project, ProjectMaps;
1523
1524Project = (function() {
1525  class Project {
1526    constructor() {
1527      var _iframes, i, iframes, n, ref;
1528      this.resize = this.resize.bind(this);
1529      new ProjectImageViewer();
1530      new ProjectAlignment();
1531      new ProjectMaps($("#map-canvas").attr("data-prj_id"));
1532      iframes = $("#contents > p.description iframe");
1533      _iframes = [];
1534      for (n = i = 0, ref = iframes.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
1535        _iframes.push($(iframes[n]));
1536      }
1537      this.iframes = _iframes;
1538      $window.resize(() => {
1539        return this.resize();
1540      });
1541      this.resize();
1542    }
1543
1544    resize() {
1545      var cw, i, n, ref, results;
1546      cw = $("#contents").width();
1547      results = [];
1548      for (n = i = 0, ref = this.iframes.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
1549        results.push(this.iframes[n].css({
1550          width: cw,
1551          height: cw / 16 * 9
1552        }));
1553      }
1554      return results;
1555    }
1556
1557  };
1558
1559  Project.prototype.iframes = null;
1560
1561  return Project;
1562
1563}).call(this);
1564
1565window.Project = Project;
1566
1567ProjectMaps = (function() {
1568  class ProjectMaps {
1569    constructor(_id) {
1570      this.initialize = this.initialize.bind(this);
1571      this.resize = this.resize.bind(this);
1572      this.id = _id;
1573      if (!window.WonderWall.project.map.lat) {
1574        $("p.location").remove();
1575        return;
1576      }
1577      //google.maps.event.addDomListener(window, 'load', @initialize)
1578      this.initialize();
1579    }
1580
1581    initialize() {
1582      var icon, iconSrc, mapOptions, marker, project;
1583      project = window.WonderWall.project.map; //window.WonderWall.maps.project[@id]
1584      this.myLatlng = new google.maps.LatLng(project.lat, project.lng);
1585      mapOptions = {
1586        zoom: 15,
1587        center: this.myLatlng,
1588        scrollwheel: false
1589      };
1590      this.gmap = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
1591      iconSrc = '/assets/images/markers_redx2/marker.png?11';
1592      icon = new google.maps.MarkerImage(iconSrc);
1593      icon.scaledSize = new google.maps.Size(30, 49);
1594      marker = new google.maps.Marker({
1595        position: this.myLatlng,
1596        icon: icon,
1597        map: this.gmap
1598      });
1599      $window.resize(() => {
1600        return this.resize();
1601      });
1602      return this.resize();
1603    }
1604
1605    resize() {
1606      var cw, windowWidth;
1607      windowWidth = $window.width();
1608      cw = $("#contents").width();
1609      $("#map-canvas").css({
1610        width: cw, //windowWidth - 280 - 60,
1611        height: "500",
1612        padding: "0"
1613      });
1614      this.gmap.setCenter(this.myLatlng);
1615    }
1616
1617  };
1618
1619  ProjectMaps.prototype.id = null;
1620
1621  ProjectMaps.prototype.myLatlng = null;
1622
1623  ProjectMaps.prototype.gmap = null;
1624
1625  return ProjectMaps;
1626
1627}).call(this);
1628
1629window.ProjectMaps = ProjectMaps;
1630
1631
1632/***/ }),
1633/* 14 */
1634/***/ (function(module, exports) {
1635
1636var ProjectAlignment;
1637
1638ProjectAlignment = (function() {
1639  class ProjectAlignment {
1640    constructor() {
1641      var $images, $img, $li, h, i, n, ref, w;
1642      this.$ulImages = $("ul.images");
1643      $images = $("ul.images > li");
1644      this.images = [];
1645      for (n = i = 0, ref = $images.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
1646        $li = $($images[n]);
1647        $img = $li.find("img");
1648        w = Number($img.attr("width"));
1649        h = Number($img.attr("height"));
1650        this.images.push({
1651          "$li": $li,
1652          "$img": $img,
1653          "w": w,
1654          "h": h
1655        });
1656      }
1657      this.positionning();
1658      $window.resize(() => {
1659        return this.positionning();
1660      });
1661    }
1662
1663    positionning() {
1664      var _length, _scale, addCount, allW, contentsWidth, count, css, h, i, img, isBreake, isHeightCheck, j, k, l, left, line, m, margin, margines, n, nn, o, ref, ref1, ref2, ref3, ref4, ref5, scale, top, w, windowWidth;
1665      windowWidth = $window.width();
1666      //        if windowWidth < 850
1667      //            windowWidth = 850
1668
1669      // 列を決める
1670      count = 0;
1671      if (windowWidth > 1500) {
1672        addCount = 3;
1673      } else {
1674        addCount = 2;
1675      }
1676      this.lines = [];
1677      while (count < this.images.length) {
1678        line = [];
1679        allW = 0;
1680        isBreake = false;
1681        for (n = i = 0, ref = addCount; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
1682          img = this.images[count];
1683          line.push(img);
1684          count++;
1685          if (count >= this.images.length) {
1686            isBreake = true;
1687            break;
1688          }
1689        }
1690        // 全て縦長の場合1つ増やす 0個目は外す
1691        //if @lines.length != 0
1692        isHeightCheck = true;
1693        for (nn = j = 0, ref1 = line.length; (0 <= ref1 ? j < ref1 : j > ref1); nn = 0 <= ref1 ? ++j : --j) {
1694          if (line[nn].w > line[nn].h) {
1695            isHeightCheck = false;
1696          }
1697        }
1698        if (isHeightCheck) {
1699          img = this.images[count];
1700          if (img) {
1701            line.push(img);
1702            count++;
1703          }
1704        }
1705        this.lines.push(line);
1706        if (isBreake) {
1707          break;
1708        }
1709      }
1710      //        if @lines[@lines.length-1].length <= 1 # 余った場合上の段にインクルード
1711      //            @lines[@lines.length-1-1].push(@lines[@lines.length-1][0])
1712      //            @lines = @lines.slice(0, @lines.length-1)
1713
1714      // 配置する
1715      margin = 65;
1716      contentsWidth = $("#contents").width();
1717      $("#contents .project").width(contentsWidth);
1718      top = 0;
1719      _length = -10;
1720      _scale = -10;
1721      for (n = k = 0, ref2 = this.lines.length; (0 <= ref2 ? k < ref2 : k > ref2); n = 0 <= ref2 ? ++k : --k) {
1722        allW = 0;
1723        for (nn = l = 0, ref3 = this.lines[n].length; (0 <= ref3 ? l < ref3 : l > ref3); nn = 0 <= ref3 ? ++l : --l) {
1724          img = this.lines[n][nn];
1725          img.hh = 100;
1726          img.ww = img.w * (100 / img.h);
1727          allW += img.ww;
1728        }
1729        margines = 0;
1730        if (this.lines[n].length > 1) {
1731          margines += (this.lines[n].length - 1) * margin;
1732        } else {
1733          "";
1734        }
1735        scale = (contentsWidth - margines) / allW;
1736        //全て立てなら前のscaleを使う
1737        isHeightCheck = true;
1738        for (nn = m = 0, ref4 = this.lines[n].length; (0 <= ref4 ? m < ref4 : m > ref4); nn = 0 <= ref4 ? ++m : --m) {
1739          if (this.lines[n][nn].w > this.lines[n][nn].h) {
1740            isHeightCheck = false;
1741          }
1742        }
1743        if (n >= this.lines.length - 1 && (this.lines[n].length < addCount || isHeightCheck) && _scale !== -10) {
1744          scale = _scale;
1745        }
1746        if (allW * scale + margines > contentsWidth) { // はみ出る場合は納める
1747          scale = (contentsWidth - margines) / allW;
1748        }
1749        if (this.lines[n].length <= 1 && this.lines.length <= 1) { // 一個しかない場合
1750          scale = (contentsWidth - margines) / 2 / allW;
1751        }
1752        
1753        //            if scale > 1
1754        //                scale = 1
1755        w = 0;
1756        h = 0;
1757        left = 0;
1758        for (nn = o = 0, ref5 = this.lines[n].length; (0 <= ref5 ? o < ref5 : o > ref5); nn = 0 <= ref5 ? ++o : --o) {
1759          img = this.lines[n][nn];
1760          w = Math.floor(img.ww * scale);
1761          h = img.hh * scale;
1762          css = {
1763            "width": w,
1764            "height": h
1765          };
1766          img.$li.css({
1767            "width": w,
1768            "height": h,
1769            "top": top,
1770            "left": left
1771          });
1772          img.$img.css({
1773            "width": w,
1774            "height": h,
1775            "display": "block"
1776          });
1777          left += Math.floor(w);
1778          left += margin;
1779        }
1780        top += h + margin;
1781        _length = this.lines[n].length;
1782        _scale = scale;
1783      }
1784      return this.$ulImages.css({
1785        "height": top
1786      });
1787    }
1788
1789  };
1790
1791  ProjectAlignment.prototype.$ulImages = null;
1792
1793  ProjectAlignment.prototype.images = null;
1794
1795  ProjectAlignment.prototype.lines = null;
1796
1797  return ProjectAlignment;
1798
1799}).call(this);
1800
1801window.ProjectAlignment = ProjectAlignment;
1802
1803
1804/***/ }),
1805/* 15 */
1806/***/ (function(module, exports) {
1807
1808var ProjectImageViewer;
1809
1810ProjectImageViewer = (function() {
1811  class ProjectImageViewer {
1812    constructor() {
1813      var me;
1814      this.openModal = this.openModal.bind(this);
1815      this.closeModal = this.closeModal.bind(this);
1816      this.resize = this.resize.bind(this);
1817      this.imgResize = this.imgResize.bind(this);
1818      this.$slider = $("#slider");
1819      this.$scrollWrapper = $("#scroll_wrapper");
1820      this.$scrollInner = $("#scroll_inner");
1821      this.$btLeft = this.$slider.find(".bt_left").click(() => {
1822        this.id--;
1823        if (this.id < 0) {
1824          this.id = window.WonderWall.project.images.length - 1;
1825        }
1826        return this.openModal(this.id, true);
1827      });
1828      this.$btRight = this.$slider.find(".bt_right").click(() => {
1829        this.id++;
1830        if (this.id >= window.WonderWall.project.images.length) {
1831          this.id = 0;
1832        }
1833        return this.openModal(this.id, true);
1834      });
1835      me = this;
1836      jQuery.each($("ul.images > li > img"), function() {
1837        return $(this).click(function() {
1838          var id;
1839          id = parseInt($(this).attr("data-id"));
1840          return me.openModal(id);
1841        });
1842      });
1843      this.$slider.find("> div.bg").click(() => {
1844        return this.closeModal();
1845      });
1846      $window.resize(() => {
1847        return this.resize();
1848      });
1849      this.resize();
1850    }
1851
1852    openModal(id, isNext) {
1853      var image, url;
1854      this.id = id;
1855      if (!isNext) {
1856        this.scrollPoint = $window.scrollTop();
1857      }
1858      image = window.WonderWall.project.images[id];
1859      this.img = image.original;
1860      url = this.img.url;
1861      this.$slider.find("> div.image > img").remove();
1862      this.$slider.find("> div.image > p").html(image["caption_" + window.WonderWall.language]);
1863      this.$slider.show();
1864      this.$slider.find("> div.image").prepend(`<img src=\"${url}\" width=\"${this.img.w}\" height=\"${this.img.h}\" />`);
1865      this.$img = this.$slider.find("> div.image > img");
1866      this.$scrollInner.css({
1867        position: "absolute",
1868        top: 0 - this.scrollPoint,
1869        width: "100%"
1870      });
1871      return this.imgResize();
1872    }
1873
1874    closeModal() {
1875      this.$slider.find("> div.image > img").remove();
1876      this.$slider.hide();
1877      this.$scrollWrapper.css({
1878        position: "",
1879        overflow: "",
1880        width: "auto",
1881        height: "auto"
1882      });
1883      this.$scrollInner.css({
1884        position: "",
1885        top: 0,
1886        width: ""
1887      });
1888      $window.scrollTop(this.scrollPoint);
1889      return this.$img = null;
1890    }
1891
1892    resize() {
1893      var documentHeight, windowHeight, windowWidth;
1894      windowWidth = $window.width();
1895      windowHeight = $window.height();
1896      documentHeight = $window.height();
1897      this.$slider.css({
1898        width: windowWidth,
1899        height: documentHeight
1900      });
1901      if (this.$img) {
1902        return this.imgResize();
1903      }
1904    }
1905
1906    imgResize() {
1907      var documentHeight, height, width, windowHeight, windowWidth;
1908      windowWidth = $window.width();
1909      windowHeight = $window.height();
1910      documentHeight = $window.height();
1911      this.$slider.find("> div.bg").css({
1912        width: windowWidth,
1913        height: documentHeight
1914      });
1915      height = $window.height() - this.margin;
1916      width = this.img.w * (height / this.img.h);
1917      if (width > $window.width() - this.margin) {
1918        width = $window.width() - this.margin;
1919        height = this.img.h * (width / this.img.w);
1920      }
1921      this.$img.css({
1922        width: width,
1923        height: height,
1924        position: "absolute",
1925        top: ($window.height() - height) / 2,
1926        left: ($window.width() - width) / 2
1927      });
1928      this.$slider.find("> div.image > p").css({
1929        width: width,
1930        position: "absolute",
1931        top: $window.height() - 15 - 30, //($window.height()-height)/2 + height + 10
1932        left: ($window.width() - width) / 2
1933      });
1934      this.$scrollWrapper.css({
1935        position: "absolute",
1936        overflow: "hidden",
1937        width: $window.width(),
1938        height: $window.height()
1939      });
1940      this.$btLeft.css({
1941        left: 0,
1942        top: (windowHeight - (this.$btLeft.height() + 30 + 30)) / 2
1943      });
1944      return this.$btRight.css({
1945        left: windowWidth - (this.$btRight.width() + 30 + 30),
1946        top: (windowHeight - (this.$btRight.height() + 30 + 30)) / 2
1947      });
1948    }
1949
1950  };
1951
1952  ProjectImageViewer.prototype.$slider = null;
1953
1954  ProjectImageViewer.prototype.$scrollWrapper = null;
1955
1956  ProjectImageViewer.prototype.$scrollInner = null;
1957
1958  ProjectImageViewer.prototype.$btLeft = null;
1959
1960  ProjectImageViewer.prototype.$btRight = null;
1961
1962  ProjectImageViewer.prototype.margin = 160;
1963
1964  ProjectImageViewer.prototype.scrollPoint = null;
1965
1966  ProjectImageViewer.prototype.img = null;
1967
1968  ProjectImageViewer.prototype.$img = null;
1969
1970  ProjectImageViewer.prototype.id = null;
1971
1972  return ProjectImageViewer;
1973
1974}).call(this);
1975
1976window.ProjectImageViewer = ProjectImageViewer;
1977
1978
1979/***/ }),
1980/* 16 */
1981/***/ (function(module, exports) {
1982
1983var ProjectsMapIndex, ProjectsMapIndexLoader,
1984  boundMethodCheck = function(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new Error('Bound instance method accessed before binding'); } };
1985
1986ProjectsMapIndex = (function() {
1987  class ProjectsMapIndex {
1988    constructor() {
1989      this.initialize = this.initialize.bind(this);
1990      this.addTicker = this.addTicker.bind(this);
1991      this.loadedHundler = this.loadedHundler.bind(this);
1992      this.resizeHundler = this.resizeHundler.bind(this);
1993      this.resizeWrapper = this.resizeWrapper.bind(this);
1994      this.scrollHundler = this.scrollHundler.bind(this);
1995      this.scrollMove = this.scrollMove.bind(this);
1996      this.getNextColumnID = this.getNextColumnID.bind(this);
1997      this.alignment = this.alignment.bind(this);
1998      console.log("ProjectsMapIndex");
1999      this.model = Model;
2000    }
2001
2002    initialize(projects, $addArea) {
2003      var date, dayAndLocation, i, image, images, j, lang, n, nn, o, project, ref, ref1, thumb_l;
2004      // console.log 0, $addArea
2005      this.$addArea = $addArea;
2006      this.projects = projects;
2007      this.projectCount = 0;
2008// projectデータ 整形
2009      for (n = i = 0, ref = this.projects.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
2010        project = this.projects[n];
2011        // 言語
2012        lang = "";
2013        if (window.location.href.indexOf("/ja/") > 0) {
2014          lang = "/ja";
2015        }
2016        project["lang"] = lang;
2017        // color
2018        project["color"] = this.model.category1[project.category[0].category1];
2019        // Name
2020        project["name"] = project["name_en"];
2021        if (project["name"].length > 24) {
2022          project["name"] = project["name"].slice(0, 24) + "...";
2023        }
2024        // Day and Location
2025        dayAndLocation = "";
2026        date = project["date"].split(".");
2027        if (date[1]) {
2028          dayAndLocation += this.model.day[date[1]]["long"] + " ";
2029        }
2030        if (date[0]) {
2031          dayAndLocation += date[0];
2032        }
2033        if (date[0] && project["location_en"]) {
2034          dayAndLocation += " - ";
2035        }
2036        if (project["location_en"]) {
2037          dayAndLocation += project["location_en"];
2038        }
2039        if (dayAndLocation.length > 35) {
2040          dayAndLocation = dayAndLocation.slice(0, 35);
2041        }
2042        project["day_and_location"] = dayAndLocation;
2043        project["thumbs"] = [];
2044        images = project["images"];
2045        for (nn = j = 0, ref1 = images.length; (0 <= ref1 ? j < ref1 : j > ref1); nn = 0 <= ref1 ? ++j : --j) {
2046          image = images[nn];
2047          if (image["thumb_v2_top"]) {
2048            thumb_l = image["thumb_v2_top"];
2049            o = {
2050              "url": thumb_l["url"].replace("http://wonder-wall.com", ""),
2051              "w": 265,
2052              "h": thumb_l["h"] * (265 / thumb_l["w"]),
2053              "ww": thumb_l.w,
2054              "hh": thumb_l.h
2055            };
2056            project["thumbs"].push(o);
2057          }
2058        }
2059      }
2060      return this.addTicker();
2061    }
2062
2063    addTicker() {
2064      var loader, project, url;
2065      console.log("addTicker");
2066      project = this.projects[this.projectCount];
2067      if (this.projectCount >= this.projects.length) {
2068        this.isLoading = false;
2069      }
2070      url = this.projects[0]["thumbs"][0].url;
2071      loader = new ProjectsMapIndexLoader(url, project);
2072      loader.bind(url, this.loadedHundler);
2073      loader.start();
2074      return this.projectCount++;
2075    }
2076
2077    loadedHundler(e, project) {
2078      var $htmlStr, $ticker, htmlStr;
2079      //project = data[0]
2080      project.single_image = project["thumbs"][0];
2081      htmlStr = Mustache.to_html(window.WonderWall.templ.project_ticker_single, project);
2082      $htmlStr = $(htmlStr);
2083      this.$addArea.append($htmlStr);
2084      return $ticker = $("#" + project["prj_id"]);
2085    }
2086
2087    resizeHundler() {
2088      this.stW = $window.width();
2089      this.stH = $window.height();
2090      //@scrollMove(true)
2091      this.resizeWrapper();
2092      return this.alignment($body.scrollTop());
2093    }
2094
2095    resizeWrapper() {
2096      var width;
2097      if (this.stW < 1080) {
2098        width = Math.floor((this.stW + 40) / (this.tickerWidth + 40)) * (this.tickerWidth + 40);
2099        return $("#result").css({
2100          width: width,
2101          "marginLeft": (this.stW - width) / 2
2102        });
2103      } else {
2104        return $("#result").css({
2105          width: "",
2106          "marginLeft": "",
2107          "marginRight": ""
2108        });
2109      }
2110    }
2111
2112    scrollHundler() {
2113      clearTimeout(this.scrollHundlerTimer);
2114      return this.scrollMove();
2115    }
2116
2117    scrollMove() {
2118      var addlength, i, j, length, n, ref, ref1, results, scrollTop, stH, stW;
2119      scrollTop = $body.scrollTop();
2120      if (this.isLoading) {
2121        return;
2122      }
2123      stW = this.stW;
2124      stH = this.stH;
2125//console.log Debug.time()
2126      for (n = i = 0, ref = this.tickers.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
2127        this.tickers[n].resize(scrollTop, stW, stH);
2128      }
2129      //console.log Debug.time()
2130      if (scrollTop + stH > $(document).height() - this.stH) {
2131        length = Math.floor(($("#contents").width() + 40) / (this.tickerWidth + 40));
2132        if (this.isFirstResize) {
2133          addlength = length;
2134          this.isFirstResize = false;
2135        } else {
2136          addlength = length; // * 2
2137        }
2138        addlength += this.tickers.length % length;
2139        //console.log "Scroll added", addlength, length, "amari", @tickers.length % length
2140        this.isLoading = true;
2141        this.loadingCount = addlength;
2142        results = [];
2143        for (n = j = 0, ref1 = addlength; (0 <= ref1 ? j < ref1 : j > ref1); n = 0 <= ref1 ? ++j : --j) {
2144          results.push(this.addTicker());
2145        }
2146        return results;
2147      }
2148    }
2149
2150    getNextColumnID() {
2151      var i, id, n, ref;
2152      id = 0;
2153      for (n = i = 0, ref = this.column; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
2154        if (this.columnHeights[id] > this.columnHeights[n]) {
2155          id = n;
2156        }
2157      }
2158      return id;
2159    }
2160
2161    alignment(scrollTop) {
2162      var $ticker, i, id, j, n, ref, ref1, tickerHeight, tickerWidth;
2163      this.column = Math.floor(($("#projects").width() + 40 + 60) / (this.tickerWidth + 40));
2164      this.columnHeights = [];
2165      for (n = i = 0, ref = this.column; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
2166        this.columnHeights[n] = 0;
2167      }
2168      for (n = j = 0, ref1 = this.showTickers.length; (0 <= ref1 ? j < ref1 : j > ref1); n = 0 <= ref1 ? ++j : --j) {
2169        $ticker = this.showTickers[n].$ticker;
2170        tickerWidth = this.showTickers[n].tickerWidth;
2171        tickerHeight = this.showTickers[n].tickerHeight;
2172        id = this.getNextColumnID();
2173        $ticker.css({
2174          position: "absolute",
2175          top: this.columnHeights[id],
2176          left: id * (this.tickerWidth + 40)
2177        });
2178        this.columnHeights[id] += tickerHeight + 70 + 40;
2179      }
2180      //console.log columnHeights
2181      $("#loading").css({
2182        position: "absolute",
2183        top: Math.max.apply(null, this.columnHeights) + 25 + 40,
2184        left: (this.column * (this.tickerWidth + 40) - 40) / 2 - (25 / 2)
2185      });
2186    }
2187
2188  };
2189
2190  ProjectsMapIndex.prototype.model = null;
2191
2192  ProjectsMapIndex.prototype.projects = null;
2193
2194  ProjectsMapIndex.prototype.projectCount = null;
2195
2196  ProjectsMapIndex.prototype.$addArea = null;
2197
2198  //@initialize(window.WonderWall.projects)
2199  ProjectsMapIndex.prototype.setIntervalID = null;
2200
2201  ProjectsMapIndex.prototype.setTimeoutID = null;
2202
2203  ProjectsMapIndex.prototype.tickerWidth = 265;
2204
2205  ProjectsMapIndex.prototype.tickerHeight = 685;
2206
2207  ProjectsMapIndex.prototype.scrollHundlerTimer = null;
2208
2209  ProjectsMapIndex.prototype.stW = 0;
2210
2211  ProjectsMapIndex.prototype.stH = 0;
2212
2213  ProjectsMapIndex.prototype.isFirstResize = true;
2214
2215  ProjectsMapIndex.prototype.column = null;
2216
2217  ProjectsMapIndex.prototype.columnHeights = null;
2218
2219  return ProjectsMapIndex;
2220
2221}).call(this);
2222
2223ProjectsMapIndexLoader = (function() {
2224  class ProjectsMapIndexLoader extends Event {
2225    constructor(url, project) {
2226      super();
2227      this.start = this.start.bind(this);
2228      this.completeHandler = this.completeHandler.bind(this);
2229      this.end = this.end.bind(this);
2230      this.me = this;
2231      this.url = url;
2232      this.project = project;
2233    }
2234
2235    start() {
2236      boundMethodCheck(this, ProjectsMapIndexLoader);
2237      this.queue = new createjs.LoadQueue(false);
2238      this.queue.addEventListener("complete", this.completeHandler);
2239      return this.queue.loadFile({
2240        src: this.url,
2241        id: this.url
2242      });
2243    }
2244
2245    completeHandler(evt) {
2246      boundMethodCheck(this, ProjectsMapIndexLoader);
2247      this.queue = evt.target;
2248      this.queue.removeEventListener("complete", this.completeHandler);
2249      this.img = this.queue.getResult(this.url);
2250      //@end()
2251      //        setTimeout(=>
2252      //            @end()
2253      //        , @timeout)
2254      return this.end();
2255    }
2256
2257    end() {
2258      boundMethodCheck(this, ProjectsMapIndexLoader);
2259      return this.me.trigger(this.url, this.project);
2260    }
2261
2262  };
2263
2264  ProjectsMapIndexLoader.prototype.me = null;
2265
2266  ProjectsMapIndexLoader.prototype.url = null;
2267
2268  ProjectsMapIndexLoader.prototype.img = null;
2269
2270  ProjectsMapIndexLoader.prototype.queue = null;
2271
2272  ProjectsMapIndexLoader.prototype.project = null;
2273
2274  return ProjectsMapIndexLoader;
2275
2276}).call(this);
2277
2278
2279/***/ }),
2280/* 17 */
2281/***/ (function(module, exports) {
2282
2283var ProjectsMapMailFloat;
2284
2285ProjectsMapMailFloat = (function() {
2286  class ProjectsMapMailFloat {
2287    constructor() {
2288      var isSending, me;
2289      this.openModal = this.openModal.bind(this);
2290      this.closeModal = this.closeModal.bind(this);
2291      this.resize = this.resize.bind(this);
2292      this.$slider = $("#float_send_place");
2293      this.$box = this.$slider.find(".box");
2294      this.$scrollWrapper = $("#scroll_wrapper");
2295      this.$scrollInner = $("#scroll_inner");
2296      me = this;
2297      this.$slider.find("> div.bg").click(() => {
2298        return this.closeModal();
2299      });
2300      $window.resize(() => {
2301        return this.resize();
2302      });
2303      this.resize();
2304      isSending = false;
2305      $("#pc_send").click(() => {
2306        var data;
2307        if (!isSending) {
2308          isSending = true;
2309          data = {
2310            "is_send_mail": true,
2311            "email": $("#pc_mail").val(),
2312            "messege": this.nowPositionURL
2313          };
2314          return $.ajax({
2315            type: "POST",
2316            url: "/sendmail.php",
2317            data: data,
2318            success: function(e) {
2319              var $step1, $step2;
2320              isSending = false;
2321              $step1 = $("#float_send_place > .step1");
2322              $step2 = $("#float_send_place > .step2");
2323              $step1.velocity({
2324                properties: {
2325                  opacity: 0
2326                },
2327                options: {
2328                  duration: 200,
2329                  complete: () => {
2330                    return $(this).hide();
2331                  }
2332                }
2333              });
2334              $step2.css({
2335                opacity: 0
2336              });
2337              setTimeout(() => {
2338                $step2.show();
2339                return $step2.velocity({
2340                  properties: {
2341                    opacity: 1
2342                  },
2343                  options: {
2344                    duration: 200
2345                  }
2346                });
2347              }, 200);
2348              return setTimeout(() => {
2349                $step2.hide();
2350                $step1.show();
2351                return $step1.velocity({
2352                  properties: {
2353                    opacity: 1
2354                  },
2355                  options: {
2356                    duration: 200
2357                  }
2358                });
2359              }, 3000);
2360            },
2361            error: function() {
2362              isSending = false;
2363              return alert('Error. Please check your e-mail.');
2364            }
2365          });
2366        }
2367      });
2368    }
2369
2370    openModal(nowPositionURL) {
2371      this.nowPositionURL = nowPositionURL;
2372      this.isOpen = true;
2373      this.scrollPoint = $window.scrollTop();
2374      this.$slider.show();
2375      this.$scrollInner.css({
2376        position: "absolute",
2377        top: 0 - this.scrollPoint,
2378        width: "100%"
2379      });
2380      return this.resize();
2381    }
2382
2383    closeModal() {
2384      this.isOpen = false;
2385      this.$slider.hide();
2386      this.$scrollWrapper.css({
2387        position: "",
2388        overflow: "",
2389        width: "auto",
2390        height: "auto"
2391      });
2392      this.$scrollInner.css({
2393        position: "",
2394        top: 0,
2395        width: ""
2396      });
2397      return $window.scrollTop(this.scrollPoint);
2398    }
2399
2400    resize() {
2401      var documentHeight, windowHeight, windowWidth;
2402      windowWidth = $window.width();
2403      windowHeight = $window.height();
2404      documentHeight = $window.height();
2405      if (this.isOpen) {
2406        this.$scrollWrapper.css({
2407          position: "absolute",
2408          overflow: "hidden",
2409          width: $window.width(),
2410          height: $window.height()
2411        });
2412      }
2413      this.$slider.css({
2414        width: windowWidth,
2415        height: documentHeight
2416      });
2417      return this.$box.css({
2418        top: (documentHeight - this.$box.outerHeight()) / 2,
2419        left: (windowWidth - this.$box.width()) / 2
2420      });
2421    }
2422
2423  };
2424
2425  ProjectsMapMailFloat.prototype.$slider = null;
2426
2427  ProjectsMapMailFloat.prototype.$scrollWrapper = null;
2428
2429  ProjectsMapMailFloat.prototype.$scrollInner = null;
2430
2431  ProjectsMapMailFloat.prototype.$box = null;
2432
2433  ProjectsMapMailFloat.prototype.scrollPoint = null;
2434
2435  ProjectsMapMailFloat.prototype.isOpen = false;
2436
2437  ProjectsMapMailFloat.prototype.nowPositionURL = null;
2438
2439  return ProjectsMapMailFloat;
2440
2441}).call(this);
2442
2443window.ProjectsMapMailFloat = ProjectsMapMailFloat;
2444
2445
2446/***/ }),
2447/* 18 */
2448/***/ (function(module, exports) {
2449
2450var ProjectsMapUtil;
2451
2452ProjectsMapUtil = (function() {
2453  class ProjectsMapUtil {
2454    constructor() {
2455      var model;
2456      this.loaded = this.loaded.bind(this);
2457      this.start = this.start.bind(this);
2458      this.getCaller = this.getCaller.bind(this);
2459      this.initialize = this.initialize.bind(this);
2460      this.openInformation = this.openInformation.bind(this);
2461      this.resizeHundler = this.resizeHundler.bind(this);
2462      this.setPosition = this.setPosition.bind(this);
2463      this.setLatLang = this.setLatLang.bind(this);
2464      this.idleHundler = this.idleHundler.bind(this);
2465      //        if showProjectListSort.length > 0
2466      //            @indexUtil.remove()
2467      //            @indexUtil.initialize(showProjectListSort, $("#projects"))
2468      //        else
2469      //            $("#loading").hide()
2470
2471      //        $("#result_noimage").hide()
2472      //        if showProjectListSort.length == 0 && noProjects.length >= 1
2473      //            $("#result_noimage").show()
2474      //            $("#result").css({height: ""})
2475      //        $("#result_noimage").find("> div").remove()
2476      //        for n in [0...noProjects.length]
2477      //            project = noProjects[n]
2478      //            project["no_image"] = true
2479      //            project["day_and_location"] = project["address"]
2480      //            htmlStr = Mustache.to_html(window.WonderWall.templ.project_ticker_single, project)
2481      //            @$htmlStr = $(htmlStr)
2482      //            $("#result_noimage").append(@$htmlStr)
2483
2484      //        @indexUtil.removeEventListener("allImageLoaded", @allImageLoadedhundler)
2485      //        @indexUtil.addEventListener("allImageLoaded", @allImageLoadedhundler)
2486
2487      //    allImageLoadedhundler: () =>
2488      //        $("#result_noimage").show()
2489      this.removeMarkers = this.removeMarkers.bind(this);
2490      model = Model;
2491      this.tickerWidth = model.tickerWidth;
2492      this.tickerMargin = model.tickerMargin;
2493      this.nameHeight = model.nameHeight;
2494      //@indexUtil = new Index("map")
2495      this.indexUtil = new IndexSingle("map");
2496      this.maps = window.WonderWall.maps;
2497      this.$map_canvas = $("#map-canvas");
2498      this.loaded();
2499    }
2500
2501    loaded() {
2502      this.isLoaded = true;
2503      if (!this.isInitialized) {
2504        return this.start();
2505      }
2506    }
2507
2508    start() { //最初にURLを読み ProjectsMap.changeArea から2回目を呼ばれる
2509      this.startCount++;
2510      // console.log('Called by:', @getCaller())
2511      if (this.startCount === 2) {
2512        return this.initialize();
2513      }
2514    }
2515
2516    getCaller() {
2517      var callerIndex, error, stack, stackLines;
2518      error = new Error();
2519      console.log(error);
2520      return;
2521      stack = error.stack || '';
2522      stackLines = stack.split('\n');
2523      callerIndex = stackLines.findIndex(line(() => {
2524        return line.includes('getCaller');
2525      })) + 2;
2526      if (stackLines[callerIndex]) {
2527        return stackLines[callerIndex].trim();
2528      }
2529      return 'Unknown';
2530    }
2531
2532    initialize() {
2533      var _image, key, latlng, mapOptions, move, o, project, projectsMapMailFloat, ref, selectStr, zoom;
2534      if (this.isInitialized) {
2535        return;
2536      }
2537      this.isInitialized = true;
2538      // 初期位置
2539      selectStr = this.select_country;
2540      if (this.select_area && this.select_area !== "all") {
2541        selectStr += "/" + this.select_area;
2542      }
2543      project = this.maps.area[selectStr];
2544      this.myLatlng = new google.maps.LatLng(project.lat, project.lng);
2545      zoom = project.zoom;
2546      mapOptions = {
2547        zoom: project.zoom,
2548        center: this.myLatlng
2549      };
2550      //scrollwheel: false
2551      this.gmap = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
2552      // google.maps.event.addDomListener(@gmap, 'idle', @idleHundler)
2553      google.maps.event.addListener(this.gmap, 'idle', this.idleHundler);
2554      // @gmap.addListener(@gmap, 'idle', @idleHundler)
2555      this.now_latlng = this.myLatlng;
2556      move = () => {
2557        var ichi;
2558        //console.log(@gmap.getCenter().lat(), @gmap.getCenter().lng());
2559        ichi = this.gmap.getCenter();
2560        //location.hash = "/lat="+ichi.G+"&lng="+ichi.K+"&zoom="[email protected]()
2561        return location.hash = "/lat=" + ichi.lat() + "&lng=" + ichi.lng() + "&zoom=" + this.gmap.getZoom();
2562      };
2563      google.maps.event.addListener(this.gmap, 'drag', move);
2564      google.maps.event.addListener(this.gmap, 'zoom_changed', move);
2565      // データ組み立て
2566      this.latlngs = [];
2567      this.projects = {};
2568      _image = null;
2569      ref = this.maps["project"];
2570      for (key in ref) {
2571        project = ref[key];
2572        latlng = new google.maps.LatLng(project.lat, project.lng);
2573        o = {
2574          "latlng": latlng,
2575          "prj_id": project["prj_id"]
2576        };
2577        this.latlngs.push(o);
2578        project["_name"] = project["name"];
2579        if (project.images) {
2580          if (!project.images[0]) {
2581            project.images = null;
2582          }
2583        } else {
2584          _image = project.images[0];
2585        }
2586        this.projects[project["prj_id"]] = project;
2587      }
2588      $window.bind('resize', this.resizeHundler);
2589      this.resizeHundler();
2590      projectsMapMailFloat = new ProjectsMapMailFloat();
2591      $("#bt_print").click(() => {
2592        return window.print();
2593      });
2594      return $("#bt_send").click(() => {
2595        var url;
2596        url = location.href.replace(location.hash, "") + this.nawLatLangStr;
2597        return projectsMapMailFloat.openModal(url);
2598      });
2599    }
2600
2601    openInformation(prj_id) {
2602      var check, html, infoWindow, project;
2603      project = this.maps["project"][prj_id];
2604      project = this.projects[prj_id];
2605      if (this.current_opened_info_window !== null) {
2606        this.current_opened_info_window.close();
2607        this.current_opened_info_window = null;
2608      }
2609      check = this.projects[prj_id];
2610      html = "";
2611      html += '<div style="font-family: "DINNextRoundedLTW01-Lig">';
2612      console.log(check);
2613      if (check) {
2614        if (check.images && !check.is_map_only) {
2615          html += '<a href="' + '/project/' + prj_id + '" style="text-decoration: underline; font-family: DINNextRoundedLTW01-Reg">';
2616        } else {
2617          html += '<span style="font-family: DINNextRoundedLTW01-Reg">';
2618        }
2619      }
2620      html += project["_name"];
2621      if (check) {
2622        if (check.images) {
2623          html += '</a>';
2624        } else {
2625          html += '</span>';
2626        }
2627      }
2628      html += "<br>" + project["address"];
2629      html += "</div>";
2630      infoWindow = new google.maps.InfoWindow({
2631        'content': html,
2632        'position': project["latlng"],
2633        'pixelOffset': new google.maps.Size(0, -34)
2634      });
2635      infoWindow.open(this.gmap);
2636      google.maps.event.addListener(infoWindow, 'closeclock', function() {
2637        var current_opened_info_window;
2638        current_opened_info_window = null;
2639        return google.maps.event.clearListener(infoWindow, 'closeclock');
2640      });
2641      return this.current_opened_info_window = infoWindow;
2642    }
2643
2644    resizeHundler() {
2645      var length, width, windowWidth;
2646      windowWidth = $window.width();
2647      width = $("#contents").width();
2648      //width = Math.floor((@stW+@tickerMargin)/(@tickerWidth+@tickerMargin)) * (@tickerWidth+@tickerMargin) - @tickerMargin
2649      if (windowWidth > 650) {
2650        length = Math.floor(($("#projects").width() + this.tickerMargin + 60) / (this.tickerWidth + this.tickerMargin));
2651        width = length * (this.tickerWidth + this.tickerMargin) - this.tickerMargin;
2652      } else {
2653        width = $("#contents").width();
2654      }
2655      if (windowWidth < 1080) {
2656        width = $window.width() - 40;
2657        this.$map_canvas.css({
2658          width: width, //width #windowWidth - @tickerMargin,
2659          height: "450",
2660          padding: "0"
2661        });
2662      } else {
2663        this.$map_canvas.css({
2664          width: width, //windowWidth - 280 - 60,
2665          height: "450",
2666          padding: "0"
2667        });
2668        this.$map_canvas.css({
2669          marginLeft: "",
2670          marginRight: ""
2671        });
2672      }
2673      return $("#map_util_button").css({
2674        width: width
2675      });
2676    }
2677
2678    setPosition(select_country, select_area) {
2679      var latlng, map, select_string;
2680      this.select_country = select_country;
2681      this.select_area = select_area;
2682      if (!this.isLoaded) {
2683        return;
2684      }
2685      select_string = select_country;
2686      if (select_area !== "all") {
2687        select_string += "/" + select_area;
2688      }
2689      select_string = select_string.toLowerCase().replace(/\ /g, "");
2690      map = window.WonderWall.maps.area[select_string];
2691      latlng = new google.maps.LatLng(map.lat, map.lng);
2692      if (this.gmap) {
2693        this.gmap.setCenter(latlng);
2694      }
2695      if (this.gmap) {
2696        this.gmap.setZoom(map.zoom);
2697      }
2698      this.now_latlng = latlng;
2699      return this.now_map = map;
2700    }
2701
2702    setLatLang(lat, lang, zoom) {
2703      var latlng;
2704      if (!this.isLoaded) {
2705        return;
2706      }
2707      latlng = new google.maps.LatLng(lat, lang);
2708      if (this.gmap) {
2709        this.gmap.setCenter(latlng);
2710      }
2711      if (this.gmap) {
2712        this.gmap.setZoom(parseInt(zoom));
2713      }
2714      return this.now_latlng = latlng;
2715    }
2716
2717    idleHundler() {
2718      var address, allShowProjectListSort, bounds, count, i, icon, iconSrc, id, isDetail, j, k, lang, latlng, map_id, marker, me, n, name, nowLatLang, num, prj_id, projectData, projects, ref, ref1, ref2, showProjectList;
2719      // console.log("idle");
2720      bounds = this.gmap.getBounds();
2721      showProjectList = [];
2722      this.removeMarkers();
2723      this.markers = [];
2724      nowLatLang = this.gmap.getCenter();
2725      this.nawLatLangStr = "#/lat=" + nowLatLang.lat() + "&lng=" + nowLatLang.lng() + "&zoom=" + this.gmap.getZoom();
2726      count = 0;
2727      projects = [];
2728      for (n = i = 0, ref = this.latlngs.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
2729        latlng = this.latlngs[n].latlng;
2730        prj_id = this.latlngs[n].prj_id;
2731        projectData = this.projects[prj_id];
2732        if (bounds.contains(latlng)) {
2733          if (projectData) {
2734            projectData.latlng = latlng;
2735            projects.push(projectData);
2736            count++;
2737          } else {
2738
2739          }
2740        }
2741      }
2742      //console.log "no", prj_id
2743
2744      //console.log(projectData);
2745
2746      // console.log(@select_country)
2747      // console.log(@select_area)
2748      isDetail = true;
2749      if (this.select_area === "all") {
2750        isDetail = false;
2751      }
2752      
2753      showProjectList = projects;
2754      $("#projects > div.project").remove();
2755      // 新しい順に並べ替え
2756      //        showProjectListSort = []
2757      //        noProjects = []
2758      //        for n in [0...showProjectList.length]
2759      //            if !showProjectList[n].images
2760      //                o = $.extend(true, [], showProjectList[n])
2761      //                noProjects.push(o)
2762      //            for nn in [0...window.WonderWall.projects.length]
2763      //                if showProjectList[n].prj_id == window.WonderWall.projects[nn].prj_id
2764      //                    showProjectListSort.push(showProjectList[n])
2765      //        showProjectListSort.reverse()
2766
2767      //        allShowProjectListSort = showProjectListSort.concat(noProjects)
2768      allShowProjectListSort = showProjectList; //.reverse()
2769      allShowProjectListSort.reverse();
2770      for (n = j = 0, ref1 = allShowProjectListSort.length; (0 <= ref1 ? j < ref1 : j > ref1); n = 0 <= ref1 ? ++j : --j) {
2771        projectData = allShowProjectListSort[n];
2772        num = allShowProjectListSort.length - n - 1;
2773        map_id = String.fromCharCode(65 + num);
2774        if (allShowProjectListSort.length <= 23) { //(num < 0 || num > 23) || !isDetail
2775          iconSrc = '/assets/images/markers_redx2/marker_' + map_id + '.png?8';
2776        } else {
2777          iconSrc = '/assets/images/markers_redx2/marker.png?13';
2778        }
2779        projectData.pin_src = iconSrc;
2780        projectData.map_id = map_id;
2781        icon = new google.maps.MarkerImage(projectData.pin_src);
2782        icon.scaledSize = new google.maps.Size(30, 49);
2783        marker = new google.maps.Marker({
2784          position: projectData.latlng,
2785          icon: icon,
2786          map: this.gmap,
2787          zIndex: n
2788        });
2789        marker.prj_id = projectData["prj_id"];
2790        me = this;
2791        google.maps.event.addListener(marker, 'click', function() {
2792          return me.openInformation(this.prj_id);
2793        });
2794        //@maps["project"][marker.prj_id]["latlng"] = projectData.latlng
2795        this.markers.push(marker);
2796      }
2797      allShowProjectListSort.reverse();
2798      // プリント用 テキスト
2799      $("#map_print_text li").remove();
2800      lang = window.WonderWall.language;
2801      for (n = k = 0, ref2 = allShowProjectListSort.length; (0 <= ref2 ? k < ref2 : k > ref2); n = 0 <= ref2 ? ++k : --k) {
2802        id = allShowProjectListSort[n].map_id;
2803        if (allShowProjectListSort.length > 25) {
2804          id = "・";
2805        } else {
2806          id += '. ';
2807        }
2808        name = allShowProjectListSort[n]["_name"];
2809        address = allShowProjectListSort[n]["address"];
2810        $("#map_print_text").append('<li><strong>' + id + name + ':</strong> ' + address + '</li>');
2811      }
2812      this.indexUtil.remove();
2813      if (allShowProjectListSort.length > 0) {
2814        return this.indexUtil.initialize(allShowProjectListSort, $("#projects"));
2815      } else {
2816        return $("#loading").hide();
2817      }
2818    }
2819
2820    removeMarkers() {
2821      var i, n, ref, results;
2822      results = [];
2823      for (n = i = 0, ref = this.markers.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
2824        results.push(this.markers[n].setMap(null));
2825      }
2826      return results;
2827    }
2828
2829  };
2830
2831  ProjectsMapUtil.prototype.gmap = null;
2832
2833  ProjectsMapUtil.prototype.projects = null;
2834
2835  ProjectsMapUtil.prototype.maps = null;
2836
2837  ProjectsMapUtil.prototype.latlngs = null;
2838
2839  ProjectsMapUtil.prototype.indexUtil = null;
2840
2841  ProjectsMapUtil.prototype.$map_canvas = null;
2842
2843  ProjectsMapUtil.prototype.isInitialized = false;
2844
2845  ProjectsMapUtil.prototype.isLoaded = false;
2846
2847  ProjectsMapUtil.prototype.tickerWidth = null;
2848
2849  //tickerHeight: null
2850  ProjectsMapUtil.prototype.tickerMargin = null;
2851
2852  ProjectsMapUtil.prototype.nameHeight = null;
2853
2854  ProjectsMapUtil.prototype.nawLatLangStr = null;
2855
2856  ProjectsMapUtil.prototype.startCount = 0;
2857
2858  //            location.href = "" +
2859  //                "mailto:?subject=WONDERWALL MAP&body=Place: " +
2860  //                location.href.replace(location.hash, "") +
2861  //                encodeURIComponent(@nawLatLangStr);
2862  ProjectsMapUtil.prototype.current_opened_info_window = null;
2863
2864  //$("#result").width(width+40)
2865
2866  //        if @gmap && @now_latlng
2867  //            @gmap.setCenter(@now_latlng)
2868  //        if @gmap && @now_map
2869  //            @gmap.setZoom(@now_map.zoom)
2870  ProjectsMapUtil.prototype.select_country = null;
2871
2872  ProjectsMapUtil.prototype.select_area = null;
2873
2874  ProjectsMapUtil.prototype.now_latlng = null;
2875
2876  ProjectsMapUtil.prototype.now_map = null;
2877
2878  ProjectsMapUtil.prototype.markers = [];
2879
2880  return ProjectsMapUtil;
2881
2882}).call(this);
2883
2884window.ProjectsMapUtil = ProjectsMapUtil;
2885
2886
2887/***/ }),
2888/* 19 */
2889/***/ (function(module, exports) {
2890
2891var ProjectsMapUtil;
2892
2893ProjectsMapUtil = (function() {
2894  class ProjectsMapUtil {
2895    constructor() {
2896      var i, model, n, prj_id, projects, ref;
2897      this.loaded = this.loaded.bind(this);
2898      this.start = this.start.bind(this);
2899      this.initialize = this.initialize.bind(this);
2900      this.openInformation = this.openInformation.bind(this);
2901      this.resizeHundler = this.resizeHundler.bind(this);
2902      this.setPosition = this.setPosition.bind(this);
2903      this.setLatLang = this.setLatLang.bind(this);
2904      this.idleHundler = this.idleHundler.bind(this);
2905      //        for n in [0...noProjects.length]
2906      //            project = noProjects[n]
2907      //            project["day_and_location"] = project["address"]
2908      //            htmlStr = Mustache.to_html(window.WonderWall.templ.project_ticker_single, project)
2909      //            @$htmlStr = $(htmlStr)
2910      //            $("#result_noimage").append(@$htmlStr)
2911      this.removeMarkers = this.removeMarkers.bind(this);
2912      model = Model;
2913      this.tickerWidth = model.tickerWidth;
2914      this.tickerMargin = model.tickerMargin;
2915      this.nameHeight = model.nameHeight;
2916      projects = window.WonderWall.projects;
2917      this.projects = {};
2918      this.projects_all = {};
2919      for (n = i = 0, ref = projects.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
2920        prj_id = projects[n]["prj_id"];
2921        this.projects[prj_id] = projects[n];
2922      }
2923      this.indexUtil = new Index("map");
2924      this.maps = window.WonderWall.maps;
2925      this.$map_canvas = $("#map-canvas");
2926      //        window.google.maps.event.addDomListener(window, 'load', @loaded)
2927
2928      //        console.log "constructor"
2929
2930      this.loaded();
2931    }
2932
2933    loaded() {
2934      this.isLoaded = true;
2935      if (!this.isInitialized) {
2936        return this.start();
2937      }
2938    }
2939
2940    start() {
2941      this.startCount++;
2942      if (this.startCount === 2) {
2943        return this.initialize();
2944      }
2945    }
2946
2947    initialize() {
2948      var count, key, latlng, mapOptions, o, project, projectsMapMailFloat, ref, selectStr;
2949      this.isInitialized = true;
2950      selectStr = this.select_country;
2951      if (this.select_area && this.select_area !== "all") {
2952        selectStr += "/" + this.select_area;
2953      }
2954      project = this.maps.area[selectStr];
2955      this.myLatlng = new google.maps.LatLng(project.lat, project.lng);
2956      mapOptions = {
2957        zoom: project.zoom,
2958        center: this.myLatlng
2959      };
2960      //scrollwheel: false
2961      this.gmap = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
2962      google.maps.event.addDomListener(this.gmap, 'idle', this.idleHundler);
2963      this.latlngs = [];
2964      count = 0;
2965      ref = this.maps["project"];
2966      for (key in ref) {
2967        project = ref[key];
2968        latlng = new google.maps.LatLng(project.lat, project.lng);
2969        o = {
2970          "latlng": latlng,
2971          "prj_id": project["prj_id"]
2972        };
2973        this.latlngs.push(o);
2974        if (!this.projects[project["prj_id"]]) {
2975          this.projects[project["prj_id"]] = project;
2976        }
2977      }
2978      this.now_latlng = this.myLatlng;
2979      $window.bind('resize', this.resizeHundler);
2980      this.resizeHundler();
2981      projectsMapMailFloat = new ProjectsMapMailFloat();
2982      $("#bt_print").click(() => {
2983        return window.print();
2984      });
2985      return $("#bt_send").click(() => {
2986        var url;
2987        url = location.href.replace(location.hash, "") + this.nawLatLangStr;
2988        return projectsMapMailFloat.openModal(url);
2989      });
2990    }
2991
2992    openInformation(prj_id) {
2993      var check, html, infoWindow, project;
2994      project = this.maps["project"][prj_id];
2995      if (this.current_opened_info_window !== null) {
2996        this.current_opened_info_window.close();
2997        this.current_opened_info_window = null;
2998      }
2999      check = this.projects[prj_id];
3000      html = "";
3001      html += '<div style="font-family: "DINNextRoundedLTW01-Lig">';
3002      if (check) {
3003        if (check.images) {
3004          html += '<a href="' + '/project/' + prj_id + '" style="text-decoration: underline; font-family: DINNextRoundedLTW01-Reg">';
3005        } else {
3006          html += '<span style="font-family: DINNextRoundedLTW01-Reg">';
3007        }
3008      }
3009      html += project["name"];
3010      if (check) {
3011        if (check.images) {
3012          html += '</a>';
3013        } else {
3014          html += '</span>';
3015        }
3016      }
3017      html += "<br>" + project["address"];
3018      html += "</div>";
3019      infoWindow = new google.maps.InfoWindow({
3020        'content': html,
3021        'position': project["latlng"],
3022        'pixelOffset': new google.maps.Size(0, -34)
3023      });
3024      //        check = @projects[prj_id]
3025      //        html = ""
3026      //        html += '<div style="font-family: "DINNextRoundedLTW01-Lig">'
3027      //        if check
3028      //            html += '<a href="' + '/project/' + prj_id + '" style="text-decoration: underline; font-family: DINNextRoundedLTW01-Reg">'
3029      //        html += project["name"]
3030      //        if check
3031      //            html += '</a>'
3032      //        html += "<br>" + project["address"]
3033      //        html += "</div>"
3034
3035      //        infoWindow = new google.maps.InfoWindow({
3036      //            'content': html
3037      //            'position': project["latlng"],
3038      //            'pixelOffset': new google.maps.Size(0, -34),
3039      //        })
3040      infoWindow.open(this.gmap);
3041      google.maps.event.addListener(infoWindow, 'closeclock', function() {
3042        var current_opened_info_window;
3043        current_opened_info_window = null;
3044        return google.maps.event.clearListener(infoWindow, 'closeclock');
3045      });
3046      return this.current_opened_info_window = infoWindow;
3047    }
3048
3049    resizeHundler() {
3050      var length, width, windowWidth;
3051      windowWidth = $window.width();
3052      width = $("#contents").width();
3053      //width = Math.floor((@stW+@tickerMargin)/(@tickerWidth+@tickerMargin)) * (@tickerWidth+@tickerMargin) - @tickerMargin
3054      if (windowWidth > 650) {
3055        length = Math.floor(($("#projects").width() + this.tickerMargin + 60) / (this.tickerWidth + this.tickerMargin));
3056        width = length * (this.tickerWidth + this.tickerMargin) - this.tickerMargin;
3057      } else {
3058        width = $("#contents").width();
3059      }
3060      if (windowWidth < 1080) {
3061        width = $window.width() - 40;
3062        this.$map_canvas.css({
3063          width: width, //width #windowWidth - @tickerMargin,
3064          height: "450",
3065          padding: "0"
3066        });
3067      } else {
3068        this.$map_canvas.css({
3069          width: width, //windowWidth - 280 - 60,
3070          height: "450",
3071          padding: "0"
3072        });
3073        this.$map_canvas.css({
3074          marginLeft: "",
3075          marginRight: ""
3076        });
3077      }
3078      return $("#map_util_button").css({
3079        width: width
3080      });
3081    }
3082
3083    setPosition(select_country, select_area) {
3084      var latlng, map, select_string;
3085      this.select_country = select_country;
3086      this.select_area = select_area;
3087      if (!this.isLoaded) {
3088        return;
3089      }
3090      select_string = select_country;
3091      if (select_area !== "all") {
3092        select_string += "/" + select_area;
3093      }
3094      select_string = select_string.toLowerCase().replace(/\ /g, "");
3095      map = window.WonderWall.maps.area[select_string];
3096      latlng = new google.maps.LatLng(map.lat, map.lng);
3097      if (this.gmap) {
3098        this.gmap.setCenter(latlng);
3099      }
3100      if (this.gmap) {
3101        this.gmap.setZoom(map.zoom);
3102      }
3103      this.now_latlng = latlng;
3104      return this.now_map = map;
3105    }
3106
3107    setLatLang(lat, lang, zoom) {
3108      var latlng;
3109      if (!this.isLoaded) {
3110        return;
3111      }
3112      latlng = new google.maps.LatLng(lat, lang);
3113      if (this.gmap) {
3114        this.gmap.setCenter(latlng);
3115      }
3116      if (this.gmap) {
3117        this.gmap.setZoom(parseInt(zoom));
3118      }
3119      return this.now_latlng = latlng;
3120    }
3121
3122    idleHundler() {
3123      var address, allShowProjectListSort, bounds, count, i, icon, iconSrc, id, isDetail, j, k, l, lang, latlng, m, map_id, marker, me, n, name, nn, noProjects, nowLatLang, num, prj_id, projectData, projects, ref, ref1, ref2, ref3, ref4, showProjectList, showProjectListSort;
3124      bounds = this.gmap.getBounds();
3125      showProjectList = [];
3126      this.removeMarkers();
3127      this.markers = [];
3128      nowLatLang = this.gmap.getCenter();
3129      this.nawLatLangStr = "#/lat=" + nowLatLang.A + "&lng=" + nowLatLang.F + "&zoom=" + this.gmap.getZoom();
3130      console.log(this.nawLatLangStr);
3131      count = 0;
3132      projects = [];
3133      for (n = i = 0, ref = this.latlngs.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
3134        latlng = this.latlngs[n].latlng;
3135        prj_id = this.latlngs[n].prj_id;
3136        projectData = this.projects[prj_id];
3137        if (bounds.contains(latlng)) {
3138          if (projectData) {
3139            projectData.latlng = latlng;
3140            projects.push(projectData);
3141            count++;
3142          } else {
3143
3144          }
3145        }
3146      }
3147      //console.log "no", prj_id
3148      isDetail = true;
3149      if (this.select_area === "all") {
3150        isDetail = false;
3151      }
3152      
3153      showProjectList = projects;
3154      $("#projects > div.project").remove();
3155      // 新しい順に並べ替え
3156      showProjectListSort = [];
3157      noProjects = [];
3158      for (n = j = 0, ref1 = showProjectList.length; (0 <= ref1 ? j < ref1 : j > ref1); n = 0 <= ref1 ? ++j : --j) {
3159        if (!showProjectList[n].images) {
3160          noProjects.push($.extend(true, [], showProjectList[n]));
3161        }
3162        for (nn = k = 0, ref2 = window.WonderWall.projects.length; (0 <= ref2 ? k < ref2 : k > ref2); nn = 0 <= ref2 ? ++k : --k) {
3163          if (showProjectList[n].prj_id === window.WonderWall.projects[nn].prj_id) {
3164            showProjectListSort.push(showProjectList[n]);
3165          }
3166        }
3167      }
3168      showProjectListSort.reverse();
3169      allShowProjectListSort = showProjectListSort.concat(noProjects);
3170      showProjectListSort.reverse();
3171      for (n = l = 0, ref3 = showProjectListSort.length; (0 <= ref3 ? l < ref3 : l > ref3); n = 0 <= ref3 ? ++l : --l) {
3172        projectData = showProjectListSort[n];
3173        num = showProjectListSort.length - n - 1;
3174        map_id = String.fromCharCode(65 + num);
3175        if (showProjectListSort.length <= 23) { //(num < 0 || num > 23) || !isDetail
3176          iconSrc = '/assets/images/markers_redx2/marker_' + map_id + '.png?8';
3177        } else {
3178          iconSrc = '/assets/images/markers_redx2/marker.png?13';
3179        }
3180        projectData.pin_src = iconSrc;
3181        projectData.map_id = map_id;
3182        icon = new google.maps.MarkerImage(projectData.pin_src);
3183        icon.scaledSize = new google.maps.Size(30, 49);
3184        marker = new google.maps.Marker({
3185          position: projectData.latlng,
3186          icon: icon,
3187          map: this.gmap,
3188          zIndex: n
3189        });
3190        marker.prj_id = projectData["prj_id"];
3191        me = this;
3192        google.maps.event.addListener(marker, 'click', function() {
3193          return me.openInformation(this.prj_id);
3194        });
3195        this.maps["project"][marker.prj_id]["latlng"] = projectData.latlng;
3196        this.markers.push(marker);
3197      }
3198      showProjectListSort.reverse();
3199      // プリント用 テキスト
3200      $("#map_print_text li").remove();
3201      lang = window.WonderWall.language;
3202      for (n = m = 0, ref4 = showProjectListSort.length; (0 <= ref4 ? m < ref4 : m > ref4); n = 0 <= ref4 ? ++m : --m) {
3203        id = showProjectListSort[n].map_id;
3204        if (showProjectListSort.length > 25) {
3205          id = "・";
3206        } else {
3207          id += '. ';
3208        }
3209        name = showProjectListSort[n]["name_" + lang];
3210        address = showProjectListSort[n]["address_" + lang];
3211        if (name === void 0) {
3212          name = showProjectListSort[n]["name"];
3213          address = showProjectListSort[n]["address"];
3214        }
3215        $("#map_print_text").append('<li><strong>' + id + name + ':</strong> ' + address + '</li>');
3216      }
3217      if (showProjectListSort.length > 0) {
3218        return this.indexUtil.initialize(showProjectListSort, $("#projects"));
3219      } else {
3220        return $("#loading").hide();
3221      }
3222    }
3223
3224    removeMarkers() {
3225      var i, n, ref, results;
3226      results = [];
3227      for (n = i = 0, ref = this.markers.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
3228        results.push(this.markers[n].setMap(null));
3229      }
3230      return results;
3231    }
3232
3233  };
3234
3235  ProjectsMapUtil.prototype.gmap = null;
3236
3237  ProjectsMapUtil.prototype.projects = null;
3238
3239  ProjectsMapUtil.prototype.projects_all = null;
3240
3241  ProjectsMapUtil.prototype.maps = null;
3242
3243  ProjectsMapUtil.prototype.latlngs = null;
3244
3245  ProjectsMapUtil.prototype.indexUtil = null;
3246
3247  ProjectsMapUtil.prototype.$map_canvas = null;
3248
3249  ProjectsMapUtil.prototype.isInitialized = false;
3250
3251  ProjectsMapUtil.prototype.isLoaded = false;
3252
3253  ProjectsMapUtil.prototype.tickerWidth = null;
3254
3255  //tickerHeight: null
3256  ProjectsMapUtil.prototype.tickerMargin = null;
3257
3258  ProjectsMapUtil.prototype.nameHeight = null;
3259
3260  ProjectsMapUtil.prototype.nawLatLangStr = null;
3261
3262  ProjectsMapUtil.prototype.startCount = 0;
3263
3264  //            location.href = "" +
3265  //                "mailto:?subject=WONDERWALL MAP&body=Place: " +
3266  //                location.href.replace(location.hash, "") +
3267  //                encodeURIComponent(@nawLatLangStr);
3268  ProjectsMapUtil.prototype.current_opened_info_window = null;
3269
3270  //$("#result").width(width+40)
3271
3272  //        if @gmap && @now_latlng
3273  //            @gmap.setCenter(@now_latlng)
3274  //        if @gmap && @now_map
3275  //            @gmap.setZoom(@now_map.zoom)
3276  ProjectsMapUtil.prototype.select_country = null;
3277
3278  ProjectsMapUtil.prototype.select_area = null;
3279
3280  ProjectsMapUtil.prototype.now_latlng = null;
3281
3282  ProjectsMapUtil.prototype.now_map = null;
3283
3284  ProjectsMapUtil.prototype.markers = [];
3285
3286  return ProjectsMapUtil;
3287
3288}).call(this);
3289
3290
3291/***/ }),
3292/* 20 */
3293/***/ (function(module, exports) {
3294
3295var ProjectsMap;
3296
3297ProjectsMap = (function() {
3298  class ProjectsMap {
3299    constructor() {
3300      this.initialize = this.initialize.bind(this);
3301      this.changeCountry = this.changeCountry.bind(this);
3302      this.changeArea = this.changeArea.bind(this);
3303      this.getQueryString = this.getQueryString.bind(this);
3304      this.getQueryString2 = this.getQueryString2.bind(this);
3305      this.navigation = window.WonderWall.navigation["project map"];
3306      this.mapUtil = new ProjectsMapUtil();
3307      this.initialize();
3308    }
3309
3310    initialize() {
3311      var $bt, $bts, $selectedCountry, count, getURL, j, k, key, me, n, obj, ref, ref1, ref2, ref3, ref4, selectArrword, selectedAreaCount, slushs, slushsText, text, urls, val;
3312      if (this.is_initialize) {
3313        return;
3314      }
3315      this.is_initialize = true;
3316      this.tmp = '<ul id="{{id}}" class="clearfix"> {{#list}} <li><a>{{name}}</a></li> {{/list}} </ul>';
3317      obj = {};
3318      obj.id = "country";
3319      obj.list = [];
3320      ref = this.navigation;
3321      for (key in ref) {
3322        val = ref[key];
3323        obj.list.push({
3324          "name": key
3325        });
3326      }
3327      $("#navigation").append(Mustache.to_html(this.tmp, obj));
3328      $bts = $("#country li");
3329      me = this;
3330      for (n = j = 0, ref1 = $bts.length; (0 <= ref1 ? j < ref1 : j > ref1); n = 0 <= ref1 ? ++j : --j) {
3331        $bt = $($bts[n]);
3332        this.bt_countrys.push($bt);
3333        $bt.click(function() {
3334          return me.changeCountry($(this));
3335        });
3336      }
3337      
3338      urls = window.location.href.split("#");
3339      getURL = this.getQueryString();
3340      if (getURL.lat && getURL.lng && getURL.zoom) {
3341        this.isFirstLatLang = true;
3342        this.changeCountry($($("#country li")[0]));
3343        this.mapUtil.setLatLang(getURL.lat, getURL.lng, getURL.zoom);
3344        return this.isFirstLatLang = false;
3345      } else if (urls.length === 1) {
3346        return this.changeCountry(this.bt_countrys[0]);
3347      } else {
3348        slushs = urls[1].split("/");
3349        slushsText = [];
3350        for (n = k = 0, ref2 = slushs.length; (0 <= ref2 ? k < ref2 : k > ref2); n = 0 <= ref2 ? ++k : --k) {
3351          text = slushs[n];
3352          if (text !== "") {
3353            slushsText.push(text);
3354          }
3355        }
3356        if (slushsText[0]) {
3357          count = 0;
3358          $selectedCountry = null;
3359          ref3 = this.navigation;
3360          for (key in ref3) {
3361            val = ref3[key];
3362            if (key.toLowerCase() === slushsText[0]) {
3363              $selectedCountry = $($("#country li")[count]);
3364            }
3365            count++;
3366          }
3367          selectedAreaCount = null;
3368          if (slushsText[1]) {
3369            count = 0;
3370            selectArrword = slushsText[0].substr(0, 1).toLocaleUpperCase() + slushsText[0].substr(1, slushsText[0].length);
3371            ref4 = this.navigation[selectArrword];
3372            for (key in ref4) {
3373              val = ref4[key];
3374              if (val.replace(/\ /g, "").toLocaleLowerCase() === slushsText[1]) {
3375                selectedAreaCount = count;
3376              }
3377              count++;
3378            }
3379          }
3380          if ($selectedCountry && selectedAreaCount) {
3381            return this.changeCountry($selectedCountry, selectedAreaCount);
3382          } else if ($selectedCountry && !selectedAreaCount) {
3383            return this.changeCountry($selectedCountry);
3384          } else {
3385            return this.changeCountry($($("#country li")[0]));
3386          }
3387        }
3388      }
3389    }
3390
3391    changeCountry($select, areaID) {
3392      var $bt, areas, j, k, l, me, menuList, n, obj, ref, ref1, ref2, select;
3393      me = this;
3394      for (n = j = 0, ref = this.bt_countrys.length; (0 <= ref ? j < ref : j > ref); n = 0 <= ref ? ++j : --j) {
3395        $(this.bt_countrys[n]).removeClass("select");
3396      }
3397      $select.addClass("select");
3398      select = $select.text();
3399      this.select_country = select.toLocaleLowerCase().replace(/\ /g, "");
3400      menuList = this.navigation[select];
3401      $("#area").remove();
3402      obj = {};
3403      obj.id = "area";
3404      obj.list = [];
3405      for (n = k = 0, ref1 = menuList.length; (0 <= ref1 ? k < ref1 : k > ref1); n = 0 <= ref1 ? ++k : --k) {
3406        obj.list.push({
3407          "name": menuList[n]
3408        });
3409      }
3410      $("#navigation").append(Mustache.to_html(this.tmp, obj));
3411      me = this;
3412      areas = $("#area li");
3413      for (n = l = 0, ref2 = areas.length; (0 <= ref2 ? l < ref2 : l > ref2); n = 0 <= ref2 ? ++l : --l) {
3414        $bt = $(areas[n]);
3415        $bt.click(function() {
3416          return me.changeArea($(this));
3417        });
3418      }
3419      if (areas.length <= 1) {
3420        $("#area").hide();
3421      } else {
3422        $("#area").show();
3423      }
3424      if (areaID) {
3425        return this.changeArea($(areas[areaID]));
3426      } else {
3427        return this.changeArea($(areas[0]));
3428      }
3429    }
3430
3431    changeArea($select) {
3432      var areabts, j, n, ref, select_area, select_country, url;
3433      this.select_area = $select.text().toLocaleLowerCase().replace(/\ /g, "");
3434      url = "";
3435      select_country = this.select_country;
3436      select_area = this.select_area;
3437      if (!this.isFirstLatLang) {
3438        url += "#/";
3439        url += select_country + "/";
3440        if (select_area !== "all") {
3441          url += select_area + "/";
3442        }
3443        window.location.href = url;
3444      }
3445      areabts = $("#area li");
3446      for (n = j = 0, ref = areabts.length; (0 <= ref ? j < ref : j > ref); n = 0 <= ref ? ++j : --j) {
3447        $(areabts[n]).removeClass("select");
3448      }
3449      $select.addClass("select");
3450      this.mapUtil.setPosition(this.select_country, this.select_area);
3451      if (!this.isFirst) {
3452        return this.mapUtil.start();
3453      }
3454    }
3455
3456    getQueryString() {
3457      var element, i, j, paramName, paramValue, parameters, query, ref, result;
3458      result = {};
3459      query = window.location.hash.substring(2);
3460      // クエリの区切り記号 (&) で文字列を配列に分割する
3461      parameters = query.split('&');
3462      for (i = j = 0, ref = parameters.length; (0 <= ref ? j < ref : j > ref); i = 0 <= ref ? ++j : --j) {
3463        // パラメータ名とパラメータ値に分割する
3464        element = parameters[i].split('=');
3465        paramName = decodeURIComponent(element[0]);
3466        paramValue = decodeURIComponent(element[1]);
3467        // パラメータ名をキーとして連想配列に追加する
3468        result[paramName] = paramValue;
3469      }
3470      return result;
3471    }
3472
3473    getQueryString2() {
3474      var element, i, j, paramName, paramValue, parameters, query, ref, result;
3475      result = {};
3476      if (1 < window.location.search.length) {
3477        // 最初の1文字 (?記号) を除いた文字列を取得する
3478        query = window.location.search.substring(1);
3479        parameters = query.split('&');
3480        for (i = j = 0, ref = parameters.length; (0 <= ref ? j < ref : j > ref); i = 0 <= ref ? ++j : --j) {
3481          // パラメータ名とパラメータ値に分割する
3482          element = parameters[i].split('=');
3483          paramName = decodeURIComponent(element[0]);
3484          paramValue = decodeURIComponent(element[1]);
3485          result[paramName] = paramValue;
3486        }
3487      }
3488      return result;
3489    }
3490
3491  };
3492
3493  ProjectsMap.prototype.navigation = null;
3494
3495  ProjectsMap.prototype.tmp = null;
3496
3497  ProjectsMap.prototype.bt_countrys = [];
3498
3499  ProjectsMap.prototype.mapUtil = null;
3500
3501  ProjectsMap.prototype.is_initialize = false;
3502
3503  ProjectsMap.prototype.isFirstLatLang = false;
3504
3505  ProjectsMap.prototype.isFirst = false;
3506
3507  ProjectsMap.prototype.select_country = null;
3508
3509  ProjectsMap.prototype.select_area = null;
3510
3511  return ProjectsMap;
3512
3513}).call(this);
3514
3515window.ProjectsMap = ProjectsMap;
3516
3517
3518/***/ }),
3519/* 21 */
3520/***/ (function(module, exports) {
3521
3522var ProjectsSearch;
3523
3524ProjectsSearch = (function() {
3525  var serchHeightTimeoutID;
3526
3527  class ProjectsSearch {
3528    constructor() {
3529      var me, model;
3530      this.initialize = this.initialize.bind(this);
3531      this.resizeHundler = this.resizeHundler.bind(this);
3532      //"marginLeft": ""
3533      this.change = this.change.bind(this);
3534      this.serchClick = this.serchClick.bind(this);
3535      this.search = this.search.bind(this);
3536      this.checkYearLength = this.checkYearLength.bind(this);
3537      this.checkCategory = this.checkCategory.bind(this);
3538      this.checkYear = this.checkYear.bind(this);
3539      this.checkPlace = this.checkPlace.bind(this);
3540      this.checkWord = this.checkWord.bind(this);
3541      me = this;
3542      this.indexUtil = new Index("search");
3543      model = Model;
3544      this.tickerWidth = model.tickerWidth;
3545      this.tickerMargin = model.tickerMargin;
3546      this.nameHeight = model.nameHeight;
3547      this.projects = $.extend(true, [], window.WonderWall.projects);
3548      this.project_map = JSON.parse(JSON.stringify(window.WonderWall.navigation["project map"]));
3549      this.navigation = window.WonderWall.navigation;
3550      // console.log(window.WonderWall.navigation);
3551      this.initialize();
3552    }
3553
3554    initialize() {
3555      var $li, arr, countryes, countryesArr, data, hash, i, id, j, k, key, key2, l, lis, m, me, n, name, nn, nnn, obj, ref, ref1, ref2, ref3, ref4, ref5, search, select, val, val2, years;
3556      // 年メニューを自動作成
3557      // @navigation["year"] = []
3558      // years = []
3559      // nowYear = new Date().getFullYear()+1
3560      // for n in [0...(nowYear-1995)]
3561      //     if (1995+n)%5 == 0
3562      //         years.push(1995+n)
3563      // years.reverse()
3564      // @navigation["year"].push("All")
3565      // for n in [0...years.length]
3566      //     if n == 0
3567      //         str = years[n] + " - NOW"
3568      //     else
3569      //         str = years[n] + " - " + (years[n]+4)
3570      //     @navigation["year"].push(str)
3571      // if @checkYearLength(@navigation["year"].slice(1, 2)) <= 0 #最新のボタンがたまってなかったら表示しない
3572      //     @navigation["year"].splice(1, 1)
3573      //     strs = @navigation["year"][1].split(" ")
3574      //     strs[2] = "NOW"
3575      //     @navigation["year"][1] = strs.join(" ")
3576      years = ["All", "2021 - ", "2015 - 2020", "2010 - 2014", "2005 - 2009", "2000 - 2004", "1995 - 1999"];
3577      this.navigation["year"] = years;
3578      this.selects = ["category", "year", "place"];
3579      countryes = window.WonderWall.navigation["project map"];
3580      countryesArr = [];
3581      for (key in countryes) {
3582        val = countryes[key];
3583        if (key !== "World") {
3584          countryesArr.push(key);
3585          //配下がある場合は追加
3586          arr = [];
3587          ref = countryes[key];
3588          for (key2 in ref) {
3589            val2 = ref[key2];
3590            if (val2 !== "All") {
3591              arr.push(val2);
3592            }
3593          }
3594          if (arr.length > 0) {
3595            countryesArr.push(arr);
3596          }
3597        }
3598      }
3599      countryesArr.unshift("All");
3600      this.navigation["place"] = countryesArr;
3601      this.tmp = '<ul id="{{id}}" class="clearfix"> {{#list}} <li data-mode="{{mode}}" data-val="{{data}}"><a><span class="icon" /><span class="name">{{name}}</span></a></li> {{/list}} </ul>';
3602      this.tmp_sp = '{{#list}} <option value="{{name}}">{{name}}</option> {{/list}}';
3603      for (n = i = 0, ref1 = this.selects.length; (0 <= ref1 ? i < ref1 : i > ref1); n = 0 <= ref1 ? ++i : --i) {
3604        id = this.selects[n];
3605        obj = {};
3606        obj.id = "bt_" + id;
3607        obj.list = [];
3608        arr = this.navigation[id];
3609        for (nn = j = 0, ref2 = arr.length; (0 <= ref2 ? j < ref2 : j > ref2); nn = 0 <= ref2 ? ++j : --j) {
3610          if (typeof arr[nn] === "object") {
3611            for (nnn = k = 0, ref3 = arr[nn].length; (0 <= ref3 ? k < ref3 : k > ref3); nnn = 0 <= ref3 ? ++k : --k) {
3612              data = name = arr[nn][nnn];
3613              obj.list.push({
3614                "data": data,
3615                "name": "- " + name,
3616                "mode": id
3617              });
3618            }
3619          } else {
3620            data = name = arr[nn];
3621            if (name === "Fixtures & Product") {
3622              name = "Furniture & Product";
3623            }
3624            obj.list.push({
3625              "data": data,
3626              "name": name,
3627              "mode": id
3628            });
3629          }
3630        }
3631        $("#bt_" + id + "_area").append(Mustache.to_html(this.tmp, obj));
3632        $("#bt_" + id + "_sp").append(Mustache.to_html(this.tmp_sp, obj));
3633      }
3634      this.checkList = {};
3635      for (n = l = 0, ref4 = this.selects.length; (0 <= ref4 ? l < ref4 : l > ref4); n = 0 <= ref4 ? ++l : --l) {
3636        select = this.selects[n];
3637        lis = $("#bt_" + select).find("> li");
3638        this.checkList[select] = {};
3639        for (nn = m = 0, ref5 = lis.length; (0 <= ref5 ? m < ref5 : m > ref5); nn = 0 <= ref5 ? ++m : --m) {
3640          this.checkList[select][$(lis[nn]).attr("data-val")] = 0;
3641          me = this;
3642          $li = $(lis[nn]);
3643          if (nn === 0) {
3644            $li.addClass("select");
3645            this.checkList[select][$(lis[nn]).attr("data-val")] = true;
3646          }
3647          $li.bind("click", function() {
3648            var $me, mode, v;
3649            $me = $(this);
3650            mode = $me.attr("data-mode");
3651            val = $me.attr("data-val");
3652            v = me.checkList[mode][val];
3653            return me.change(val, mode, v);
3654          });
3655        }
3656      }
3657      $("#bt_search").click("click", this.serchClick);
3658      $("#search_box").keypress(function(e) {
3659        if (e.keyCode === 13 || e.which === 13) {
3660          return me.serchClick();
3661        }
3662      });
3663      $("#search_box").focus(() => {
3664        return $("#bt_keyword_area > .search_box").addClass("select");
3665      });
3666      $("#search_box").blur(() => {
3667        return $("#bt_keyword_area > .search_box").removeClass("select");
3668      });
3669      hash = location.hash;
3670      if (hash !== "") {
3671        search = decodeURIComponent(hash.split("/")[1]);
3672        $("#search_box").val(search);
3673        //location.hash = ""
3674        //@serchClick()
3675        this.keyword = $("#search_box").val();
3676        this.search();
3677      } else {
3678        this.search();
3679      }
3680      
3681      //        $bt_category_sp = $("#bt_category_sp")
3682      //        $bt_category_sp.change =>
3683      //            @change($bt_category_sp.val(), "category", false)
3684      //        $bt_year_sp = $("#bt_year_sp")
3685      //        $bt_year_sp.change =>
3686      //            @change($bt_year_sp.val(), "year", false)
3687      //        $bt_place_sp = $("#bt_place_sp")
3688      //        $bt_place_sp.change =>
3689      //            @change($bt_place_sp.val(), "place", false)
3690      $window.bind('resize', this.resizeHundler);
3691      return this.resizeHundler();
3692    }
3693
3694    resizeHundler() {
3695      var length, naviWidth, width;
3696      this.stW = $window.width();
3697      this.stH = $window.height();
3698      //        length = Math.floor( ($("#projects").width()+@tickerMargin) / (@tickerWidth+@tickerMargin))
3699      //        naviWidth = length*(@tickerWidth+@tickerMargin)-@tickerMargin
3700      length = Math.floor(($("#projects").width() + this.tickerMargin + 60) / (this.tickerWidth + this.tickerMargin));
3701      width = length * (this.tickerWidth + this.tickerMargin) - this.tickerMargin;
3702      if (naviWidth < 240) {
3703        naviWidth = 240;
3704      }
3705      $(".navigation").css({
3706        "width": naviWidth
3707      });
3708      if (this.stW < 1080) {
3709        return $(".navigation").css({
3710          width: $window.width() - 40
3711        });
3712      } else {
3713        //"marginLeft": (@stW-naviWidth)/2 - 60
3714        return $(".navigation").css({
3715          width: width
3716        });
3717      }
3718    }
3719
3720    change(val, mode, v) {
3721      var $li, $me, check, i, j, lis, nnn, ref, ref1;
3722      //console.log val, mode, v
3723      $me = $("[data-mode=" + mode + "][data-val^=" + val.split(" ")[0] + "]");
3724      lis = $("#bt_" + mode).find("> li");
3725      for (nnn = i = 0, ref = lis.length; (0 <= ref ? i < ref : i > ref); nnn = 0 <= ref ? ++i : --i) {
3726        $li = $(lis[nnn]);
3727        $li.removeClass("select");
3728        this.checkList[mode][$li.attr("data-val")] = false;
3729      }
3730      //        if val == "All"
3731      //            lis = $("#bt_"+mode).find("> li")
3732      //            for nnn in [0...lis.length]
3733      //                $li = $(lis[nnn])
3734      //                $li.removeClass("select")
3735      //                @checkList[mode][$li.attr("data-val")] = false
3736      //        else
3737      //            $($("#bt_"+mode).find("> li")[0]).removeClass("select")
3738      //            @checkList[mode]["All"] = false
3739      if (v) {
3740        this.checkList[mode][val] = false;
3741        $me.removeClass("select");
3742        // 全てOFF
3743        check = true;
3744        lis = $("#bt_" + mode).find("> li");
3745        for (nnn = j = 0, ref1 = lis.length; (0 <= ref1 ? j < ref1 : j > ref1); nnn = 0 <= ref1 ? ++j : --j) {
3746          $li = $(lis[nnn]);
3747          if ($li.attr("class") === "select") {
3748            check = false;
3749          }
3750        }
3751        if (check) {
3752          $($("#bt_" + mode).find("> li")[0]).addClass("select");
3753          this.checkList[mode]["All"] = true;
3754        }
3755      } else {
3756        this.checkList[mode][val] = true;
3757        $me.addClass("select");
3758      }
3759      //        if $window.width() < 750
3760      //            return
3761      return this.search();
3762    }
3763
3764    serchClick() {
3765      var eventName, me;
3766      this.keyword = $("#search_box").val();
3767      if ($window.width() < 750) {
3768        this.search();
3769        $window.scrollTop(0);
3770        $(".navigation").hide();
3771        eventName = "mousedown";
3772        if (Model.isIos) {
3773          eventName = "touchstart";
3774        }
3775        if (document.domain === "localhost") {
3776          eventName = "mousedown";
3777        }
3778        me = this;
3779        return $("#bt_search_show").show().bind(eventName, function() {
3780          me.indexUtil.remove();
3781          $("#projects > div.project").remove();
3782          $(".navigation").show();
3783          $("#bt_search_show").hide();
3784          $("#bt_search_show").unbind('click', arguments.callee);
3785          //$('body,html').animate({ scrollTop: 0 }, {duration: 0, easing: "easeOutCubic"})
3786          return $window.scrollTop(0);
3787        });
3788      } else {
3789        return this.search();
3790      }
3791    }
3792
3793    search() {
3794      var addList, i, isCategory, isPlace, isWord, isYear, key, key2, n, project, projects, ref, ref1, ref2, val, val2;
3795      this.chekedList = {};
3796      ref = this.checkList;
3797      for (key in ref) {
3798        val = ref[key];
3799        this.chekedList[key] = [];
3800        ref1 = this.checkList[key];
3801        for (key2 in ref1) {
3802          val2 = ref1[key2];
3803          if (val2) {
3804            this.chekedList[key].push(key2);
3805          }
3806        }
3807      }
3808      projects = this.projects;
3809      addList = [];
3810      for (n = i = 0, ref2 = projects.length; (0 <= ref2 ? i < ref2 : i > ref2); n = 0 <= ref2 ? ++i : --i) {
3811        project = projects[n];
3812        isCategory = true;
3813        isYear = true;
3814        isPlace = true;
3815        isWord = true;
3816        if (!this.checkCategory(project)) {
3817          isCategory = false;
3818        }
3819        if (!this.checkYear(project)) {
3820          isYear = false;
3821        }
3822        if (!this.checkPlace(project)) {
3823          isPlace = false;
3824        }
3825        if (this.keyword !== "") {
3826          if (!this.checkWord(project)) {
3827            isWord = false;
3828          }
3829        }
3830        if (isCategory && isYear && isPlace && isWord) {
3831          addList.push(project);
3832        }
3833      }
3834      $("#projects > div.project").remove();
3835      this.indexUtil.initialize(addList, $("#projects"));
3836      if (addList.length > 0) {
3837        return $("#result_text").hide();
3838      } else {
3839        $("#result_text").show();
3840        return $("#loading").hide();
3841      }
3842    }
3843
3844    checkYearLength(year) {
3845      var i, length, n, project, projects, ref;
3846      length = 0;
3847      this.chekedList = {};
3848      this.chekedList["year"] = year;
3849      projects = this.projects;
3850      for (n = i = 0, ref = projects.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
3851        project = projects[n];
3852        if (this.checkYear(project)) {
3853          length++;
3854        }
3855      }
3856      this.chekedList = {};
3857      return length;
3858    }
3859
3860    checkCategory(project) {
3861      var category, check, i, j, k, n, ref, ref1, ref2;
3862      check = false;
3863      for (n = i = 0, ref = this.chekedList["category"].length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
3864        category = this.chekedList["category"][n];
3865        if (category === "All") {
3866          check = true;
3867        //            else if category == "Others"
3868        //                check = false
3869        //                if project["category"].length == 0
3870        //                    check = true
3871        } else if (category === "Others") {
3872          for (n = j = 0, ref1 = project["category"].length; (0 <= ref1 ? j < ref1 : j > ref1); n = 0 <= ref1 ? ++j : --j) {
3873            if (project["category"][n]["category1"].replace(/\ /g, "").toLocaleLowerCase() === "other") {
3874              check = true;
3875            }
3876          }
3877        } else {
3878          for (n = k = 0, ref2 = project["category"].length; (0 <= ref2 ? k < ref2 : k > ref2); n = 0 <= ref2 ? ++k : --k) {
3879            if (project["category"][n]["category1"].replace(/\ /g, "").toLocaleLowerCase() === category.replace(/\ /g, "").toLocaleLowerCase()) {
3880              check = true;
3881            }
3882          }
3883        }
3884      }
3885      //console.log project["category"], project
3886      return check;
3887    }
3888
3889    checkYear(project) {
3890      var _on, _to, date, i, n, ref, year;
3891      date = Number(project["date"].split(".")[0]);
3892// if date == 2016
3893//     date = 2021
3894      for (n = i = 0, ref = this.chekedList["year"].length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
3895        year = this.chekedList["year"][n];
3896        if (year === "All") {
3897          return true;
3898        }
3899        year = year.split(" - ");
3900        _on = Number(year[0]);
3901        _to = Number(year[1]);
3902        // if String(year[1]).toLocaleLowerCase() == "now" // 190603 now削除
3903        if (String(year[1]).toLocaleLowerCase() === "") {
3904          if (date >= _on) {
3905            return true;
3906          }
3907        } else if (date >= _on && date <= _to) {
3908          return true;
3909        }
3910      }
3911      return false;
3912    }
3913
3914    checkPlace(project) {
3915      var check, i, j, k, l, locations, n, nn, ref, ref1, ref2, ref3, searchArr, searchList, select, text, word;
3916      check = false;
3917      for (n = i = 0, ref = this.chekedList["place"].length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
3918        select = this.chekedList["place"][n];
3919        if (select === "All") {
3920          return true;
3921        }
3922      }
3923      locations = [];
3924      if (project["location_en"]) {
3925        locations.push(project["location_en"]);
3926      }
3927      if (project["address_en"]) {
3928        locations.push(project["address_en"]);
3929      }
3930      for (n = j = 0, ref1 = locations.length; (0 <= ref1 ? j < ref1 : j > ref1); n = 0 <= ref1 ? ++j : --j) {
3931        if (!locations[n]) {
3932          continue;
3933        }
3934        text = locations[n].toLocaleLowerCase();
3935        searchList = this.chekedList["place"];
3936        for (n = k = 0, ref2 = searchList.length; (0 <= ref2 ? k < ref2 : k > ref2); n = 0 <= ref2 ? ++k : --k) {
3937          select = searchList[n];
3938          if (select === "All") {
3939            return true;
3940          }
3941          //                searchArr = @project_map[select]
3942          //                searchArr[0] = select
3943          if (select.indexOf(" & ") > 0) {
3944            searchArr = select.split(" & ");
3945          } else {
3946            searchArr = [select];
3947          }
3948          if (select === "Japan") {
3949            searchArr = searchArr.concat(this.japan_areas);
3950          }
3951          if (select === "Asia") {
3952            searchArr = searchArr.concat(this.asia_areas);
3953          }
3954          if (select === "Middle East") {
3955            searchArr = searchArr.concat(this.middle_east_ares);
3956          }
3957          if (select === "Europe") {
3958            searchArr = searchArr.concat(this.europe_areas);
3959          }
3960          for (nn = l = 0, ref3 = searchArr.length; (0 <= ref3 ? l < ref3 : l > ref3); nn = 0 <= ref3 ? ++l : --l) {
3961            word = searchArr[nn].toLocaleLowerCase();
3962            if (select === "USA") {
3963              if (text.indexOf(" " + word) !== -1) {
3964                return true;
3965              }
3966            } else {
3967              if (text.indexOf(word) !== -1) {
3968                return true;
3969              }
3970            }
3971          }
3972        }
3973      }
3974      return false;
3975    }
3976
3977    checkWord(object) {
3978      var check, key, val;
3979      check = true;
3980      for (key in object) {
3981        val = object[key];
3982        if (key === "prj_id" || key === "url" || key === "maker_en" || key === "maker_ja" || key === "swfthumb_frames" || key === "role_en" || key === "role_ja" || key === "w" || key === "h" || key === "date" || key === "__proto__" || key === "description_en" || key === "description_ja") {
3983          continue;
3984        }
3985        if (key === "category") {
3986          check = this.checkWord(val);
3987          if (check) {
3988            return true;
3989          }
3990        } else {
3991          if (key === "name_en" || key === "name_ja") {
3992            if (String(val).toLowerCase().indexOf(this.keyword.toLocaleLowerCase()) !== -1) {
3993              //console.log val
3994              return true;
3995            }
3996          } else if (key === "keyword") {
3997            if (String(val).toLowerCase().indexOf(this.keyword.toLocaleLowerCase()) !== -1) {
3998              console.log(this.keyword.toLocaleLowerCase());
3999              return true;
4000            }
4001          } else {
4002            if (String(val).toLowerCase().indexOf(" " + this.keyword.toLocaleLowerCase() + " ") !== -1) {
4003              console.log(this.keyword.toLocaleLowerCase());
4004              return true;
4005            }
4006          }
4007        }
4008      }
4009      return false;
4010    }
4011
4012  };
4013
4014  ProjectsSearch.prototype.tmp = null;
4015
4016  ProjectsSearch.prototype.checkList = null;
4017
4018  ProjectsSearch.prototype.keyword = "";
4019
4020  ProjectsSearch.prototype.selects = null;
4021
4022  ProjectsSearch.prototype.indexUtil = null;
4023
4024  ProjectsSearch.prototype.tickerWidth = null;
4025
4026  //tickerHeight: null
4027  ProjectsSearch.prototype.tickerMargin = null;
4028
4029  ProjectsSearch.prototype.nameHeight = null;
4030
4031  ProjectsSearch.prototype.navigation = null;
4032
4033  ProjectsSearch.stW = null;
4034
4035  ProjectsSearch.stH = null;
4036
4037  ProjectsSearch.prototype.chekedList = null;
4038
4039  ProjectsSearch.prototype.projects = null;
4040
4041  ProjectsSearch.prototype.project_map = null;
4042
4043  serchHeightTimeoutID = null;
4044
4045  ProjectsSearch.prototype.japan_areas = ["Hokkaido", "Aomori", "Iwate", "Miyagi", "Akita", "Yamagata", "Fukushima", "Ibaraki", "Tochigi", "Gunma", "Saitama", "Chiba", "Tokyo", "Kanagawa", "Niigata", "Toyama", "Ishikawa", "Fukui", "Yamanashi", "Nagano", "Gifu", "Shizuoka", "Aichi", "Mie", "Shiga", "Kyoto", "Osaka", "Hyogo", "Nara", "Wakayama", "Tottori", "Shimane", "Okayama", "Hiroshima", "Yamaguchi", "Tokushima", "Kagawa", "Ehime", "Kochi", "Fukuoka", "Saga", "Nagasaki", "Kumamoto", "Oita", "Miyazaki", "Kagoshima", "Okinawa"];
4046
4047  ProjectsSearch.prototype.europe_areas = ["Ireland", "Azerbaijan", "Albania", "Armenia", "Andorra", "United Kingdom", "Italy", "Ukraine", "Uzbekistan", "Estonia", "Netherlands", "Austria", "Kazakhstan", "Cyprus", "Kyrgyz Republic", "Greece", "Croatia", "Kosovo", "San Marino", "Georgia", "Switzerland", "Sweden", "Spain", "Slovak Republic", "Slovenia", "Serbia", "Tajikistan", "Czech Republic", "Denmark", "Turkmenistan", "Germany", "Norway", "Hungary", "Vatican", "Finland", "France", "Bulgaria", "Belarus", "Belgium", "Bosnia and Herzegovina", "Portugal", "Poland", "FYR Macedonia", "Malta", "Monaco", "Moldova", "Montenegro", "Latvia", "Lithuania", "Liechtenstein", "Luxembourg", "Romania", "Russia"];
4048
4049  ProjectsSearch.prototype.middle_east_ares = ["Afghanistan", "United Arab Emirates", "Yemen", "Israel", "Iraq", "Iran", "Oman", "Qatar", "Kuwait", "Saudi Arabia", "Syria", "Turkey", "Bahrain", "Palestine", "Jordan", "Lebanon"];
4050
4051  ProjectsSearch.prototype.asia_areas = ["India", "Indonesia", "South Korea", "Cambodia", "North Korea", "Singapore", "Sri Lanka", "Thailand", "Taiwan", "China", "Nepal", "Bangladesh", "Pakistan", "Timor-Leste", "Philippines", "Brunei Darussalam", "Bhutan", "Vietnam", "Hong Kong", "Macao", "Malaysia", "Myanmar", "Maldives", "Mongolia", "Lao P.D.R."];
4052
4053  return ProjectsSearch;
4054
4055}).call(this);
4056
4057window.ProjectsSearch = ProjectsSearch;
4058
4059
4060/***/ }),
4061/* 22 */
4062/***/ (function(module, exports) {
4063
4064var RedirectMailNews;
4065
4066RedirectMailNews = class RedirectMailNews {
4067  constructor() {}
4068
4069};
4070
4071
4072/***/ }),
4073/* 23 */
4074/***/ (function(module, exports) {
4075
4076var Top;
4077
4078Top = (function() {
4079  class Top {
4080    constructor() {
4081      this.init = this.init.bind(this);
4082      /*
4083      setTimeout(=>
4084
4085          loadLength = 8
4086          loadLengthCount = loadLength*2
4087
4088          loadedHundler = (e, loader) =>
4089              loadLengthCount--
4090              if loadLengthCount == 0
4091                  topAnimation.loaded()
4092
4093          load = (url) =>
4094              timeout = AmathUtil.randomRange(0, 800)
4095              loader = new Loader(url, timeout)
4096              loader.bind(url, loadedHundler)
4097              loader.start()
4098
4099          for n in [0...loadLength]
4100              #window.WonderWall.projects[n].images[0].thumb_l.url.replace("http://wonder-wall.com", "")
4101              load(window.WonderWall.projects[n].images[0].thumb_l.url)
4102              load(window.WonderWall.projects[n].images[1].thumb_l.url)
4103
4104      1000)
4105
4106       */
4107      this.imageLoad = this.imageLoad.bind(this);
4108      this.imageLoadedHundler = this.imageLoadedHundler.bind(this);
4109      this.indexStart = this.indexStart.bind(this);
4110      //        index = new IndexIPad()
4111      //        index.initialize(Model.projects, $("#projects"))
4112      //        return
4113
4114      //        index = new Index()
4115      //        index.initialize(Model.projects, $("#projects"))
4116      //        return
4117      this.wrapper = $("#contents");
4118      $("h1 > a").css({
4119        "width": 108.453
4120      }).html("").attr({
4121        "data-text": "WONDERWALL"
4122      });
4123      $("#loading").hide();
4124      $("#global_navigation").hide();
4125      this.$loading = $('<div id="now_loading"><span style="color:#fff">...</span><span class="r_text" data-text="NOW LOADING"></span><span class="p"><span style="color:#fff">...</span></span></div>');
4126      $body.append(this.$loading);
4127      window.onload = () => {
4128        if (!Model.windowLoaded) {
4129          return this.init();
4130        }
4131      };
4132      if (Model.windowLoaded) {
4133        this.init();
4134      }
4135    }
4136
4137    init() {
4138      return setTimeout(() => {
4139        if ($(window).width() <= 1080) {
4140          this.topAnimation = new TopAnimationIPad();
4141        } else {
4142          this.topAnimation = new TopAnimation();
4143        }
4144        this.topAnimation.addEventListener("animationEnd", () => {
4145          return this.imageLoad();
4146        });
4147        return this.topAnimation.addEventListener("end", () => {
4148          return this.indexStart();
4149        });
4150      }, 100);
4151    }
4152
4153    imageLoad() {
4154      var i, n, ref, results;
4155      this.wrapper.hide();
4156      this.index = new Index();
4157      this.index.addEventListener("imageLoaded", this.imageLoadedHundler);
4158      this.index.initialize(Model.projects, $("#projects"), true);
4159      this.index.loadingCount = 8 * 2;
4160      if (Model.isSp) {
4161        this.index.loadingCount = 10;
4162      }
4163      results = [];
4164      for (n = i = 0, ref = this.index.loadingCount; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
4165        results.push(this.index.addTicker(true));
4166      }
4167      return results;
4168    }
4169
4170    imageLoadedHundler() {
4171      if (this.index.loadingCount === 0) {
4172        this.index.removeEventListener("imageLoaded", this.imageLoadedHundler);
4173        return this.topAnimation.loaded();
4174      }
4175    }
4176
4177    indexStart() {
4178      var counter, i, n, ref;
4179      //        index = new Index()
4180      //        index.initialize(Model.projects, $("#projects"))
4181      //        return
4182      if (this.$loading) {
4183        this.$loading.remove();
4184      }
4185      $("#loading").hide();
4186      this.wrapper.show();
4187      this.index.resizeHundler();
4188      this.index.isLoading = false;
4189      for (n = i = 0, ref = this.index.showTickers.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
4190        if (this.index.showTickers[n].$ticker) {
4191          this.index.showTickers[n].$ticker.hide();
4192        }
4193        if (this.index.showTickers[n].$inner) {
4194          this.index.showTickers[n].$inner.hide();
4195        }
4196      }
4197      counter = 0;
4198      return setTimeout(() => {
4199        var setIntervalID;
4200        setIntervalID = setInterval(() => {
4201          //                @index.showTickers[counter].$ticker.show()
4202          //                @index.showTickers[counter].$inner.show()
4203          this.index.showTickers[counter].inSide();
4204          //@index.showTickers[counter].firstShow()
4205          if (counter === this.index.showTickers.length - 1) {
4206            clearInterval(setIntervalID);
4207            this.index.eventBind();
4208          }
4209          return counter++;
4210        }, 100);
4211        this.index.update();
4212        return this.index.intervalSet();
4213      }, 0);
4214    }
4215
4216  };
4217
4218  Top.prototype.index = null;
4219
4220  Top.prototype.wrapper = null;
4221
4222  Top.prototype.topAnimation = null;
4223
4224  return Top;
4225
4226}).call(this);
4227
4228window.Top = Top;
4229
4230
4231/***/ }),
4232/* 24 */
4233/***/ (function(module, exports, __webpack_require__) {
4234
4235var EventObserver, TopAnimation,
4236  boundMethodCheck = function(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new Error('Bound instance method accessed before binding'); } };
4237
4238EventObserver = __webpack_require__(0);
4239
4240TopAnimation = (function() {
4241  class TopAnimation extends EventObserver {
4242    constructor() {
4243      var $loadingHeight, $loadingWidth, $logoHeight, $logoWidth, randumtypoTime;
4244      super();
4245      this.loaded = this.loaded.bind(this);
4246      this.start = this.start.bind(this);
4247      this.end = this.end.bind(this);
4248      this.stW = $window.width();
4249      this.stH = $window.height();
4250      this.$projects = $("#projects");
4251      this.$globalNavigation = $("#global_navigation");
4252      this.$globalNavigation.velocity({
4253        translateX: -200
4254      }, {
4255        duration: 0,
4256        loop: false
4257      });
4258      this.$bt_sand = $("#bt_sand");
4259      this.$logo = $("h1 > a");
4260      this.$logo.css({
4261        position: "absolute",
4262        margin: 0,
4263        "white-space": "nowrap"
4264      });
4265      $logoWidth = 108; //@$logo.width()
4266      $logoHeight = this.$logo.height();
4267      this.herderMargin = $("header").offset().left;
4268      this.$logo.velocity({
4269        translateX: (this.stW - $logoWidth) / 2 - 1 - this.herderMargin,
4270        translateY: (this.stH - $logoHeight) / 2 - 12 - 60
4271      }, {
4272        duration: 0,
4273        loop: false
4274      });
4275      this.$loading = $("#now_loading");
4276      this.$loading.css({
4277        width: 200
4278      });
4279      $body.append(this.$loading);
4280      this.$loading.css({
4281        position: "fixed",
4282        top: 0,
4283        left: 0,
4284        "text-align": "center",
4285        "font-size": 12
4286      });
4287      $loadingWidth = 200; //@$loading.width()
4288      $loadingHeight = 22; //@$loading.width()
4289      this.$loading.velocity({
4290        translateX: (this.stW - $loadingWidth) / 2,
4291        translateY: (this.stH - $loadingHeight) / 2 + 12
4292      }, {
4293        duration: 0,
4294        loop: false
4295      });
4296      randumtypoTime = 1000;
4297      new RandumText($("h1 > a"), randumtypoTime, false, true);
4298      new RandumText(this.$loading.find(".r_text"), randumtypoTime, false, true);
4299      setTimeout(() => {
4300        var count, text;
4301        text = this.$loading.find(".r_text").attr("data-text");
4302        count = 0;
4303        return this.setIntervalId = setInterval(() => {
4304          var i, j, n, ref, ref1, ten;
4305          count++;
4306          if (count > 3) {
4307            count = 0;
4308          }
4309          ten = "";
4310          for (n = i = 0, ref = count; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
4311            ten += "<span>.</span>";
4312          }
4313          for (n = j = 0, ref1 = 3 - count; (0 <= ref1 ? j < ref1 : j > ref1); n = 0 <= ref1 ? ++j : --j) {
4314            ten += '<span style="color:#ffffff">.</span>';
4315          }
4316          return this.$loading.find(".p").html(ten);
4317        }, 40);
4318      }, randumtypoTime + 10);
4319      setTimeout(() => {
4320        return this.trigger("animationEnd");
4321      }, randumtypoTime + 400);
4322    }
4323
4324    loaded() {
4325      var i, n, ten;
4326      boundMethodCheck(this, TopAnimation);
4327      clearInterval(this.setIntervalId);
4328      ten = "";
4329      for (n = i = 0; i < 3; n = ++i) {
4330        ten += '<span style="color:#ffffff">.</span>';
4331      }
4332      this.$loading.find(".p").html(ten);
4333      return setTimeout(() => {
4334        return this.start();
4335      }, 500);
4336    }
4337
4338    start() {
4339      var top;
4340      boundMethodCheck(this, TopAnimation);
4341      this.$bt_sand.velocity({
4342        left: '0px'
4343      }, {
4344        duration: 200,
4345        easing: 'ease-out',
4346        loop: false,
4347        delay: 300,
4348        complete: () => {
4349          return {};
4350        }
4351      });
4352      this.$logo.velocity({
4353        translateY: -75
4354      }, {
4355        duration: 400,
4356        easing: 'easeInOutSine',
4357        loop: false,
4358        display: 'block',
4359        complete: () => {}
4360      }).velocity({
4361        translateX: 0
4362      }, {
4363        duration: 0
4364      }).velocity({
4365        //top: '0px',
4366        translateY: 0
4367      }, {
4368        duration: 500,
4369        easing: 'easeOutCubic',
4370        loop: false,
4371        display: 'block',
4372        complete: () => {
4373          return this.$logo.css({
4374            left: "",
4375            "margin-left": "",
4376            transform: ""
4377          });
4378        }
4379      });
4380      if (!this.isIpad) {
4381        this.$globalNavigation.velocity({
4382          //top: '0px',
4383          translateX: 0
4384        }, {
4385          delay: 600,
4386          duration: 300,
4387          easing: 'easeOutSine',
4388          loop: false,
4389          display: 'block',
4390          complete: () => {}
4391        });
4392      }
4393      top = `${this.stH}px`;
4394      this.$loading.velocity({
4395        //top: top,
4396        translateY: top
4397      }, {
4398        duration: 400,
4399        easing: 'easeInOutSinet',
4400        loop: false,
4401        display: 'block',
4402        complete: () => {
4403          return this.$loading.remove();
4404        }
4405      });
4406      return setTimeout(() => {
4407        return this.end();
4408      }, 900);
4409    }
4410
4411    end() {
4412      boundMethodCheck(this, TopAnimation);
4413      return this.trigger("end");
4414    }
4415
4416  };
4417
4418  TopAnimation.prototype.$bt_sand = null;
4419
4420  TopAnimation.prototype.$logo = null;
4421
4422  TopAnimation.prototype.$loading = null;
4423
4424  TopAnimation.prototype.$projects = null;
4425
4426  TopAnimation.prototype.$globalNavigation = null;
4427
4428  TopAnimation.prototype.stW = null;
4429
4430  TopAnimation.prototype.stH = null;
4431
4432  TopAnimation.prototype.herderMargin = 60;
4433
4434  TopAnimation.prototype.setIntervalId = null;
4435
4436  TopAnimation.prototype.loadedCount = 0;
4437
4438  return TopAnimation;
4439
4440}).call(this);
4441
4442window.TopAnimation = TopAnimation;
4443
4444
4445/***/ }),
4446/* 25 */
4447/***/ (function(module, exports, __webpack_require__) {
4448
4449var EventObserver, TopAnimationIPad,
4450  boundMethodCheck = function(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new Error('Bound instance method accessed before binding'); } };
4451
4452EventObserver = __webpack_require__(0);
4453
4454TopAnimationIPad = (function() {
4455  class TopAnimationIPad extends EventObserver {
4456    constructor() {
4457      var $loadingHeight, $loadingWidth, $logoHeight, $logoWidth, randumtypoTime;
4458      super();
4459      this.loaded = this.loaded.bind(this);
4460      this.start = this.start.bind(this);
4461      this.end = this.end.bind(this);
4462      this.stW = $window.width();
4463      this.stH = $window.height();
4464      this.$projects = $("#projects");
4465      this.$globalNavigation = $("#global_navigation");
4466      this.$logo = $("h1 > a");
4467      this.$logo.css({
4468        position: "absolute",
4469        left: 0,
4470        "margin-left": 0,
4471        //margin: 0
4472        "white-space": "nowrap"
4473      });
4474      $logoWidth = 108; //@$logo.width()
4475      $logoHeight = this.$logo.height();
4476      this.herderMargin = $("header").offset().left;
4477      this.$logo.velocity({
4478        translateX: (this.stW - $logoWidth) / 2 - 1 - this.herderMargin,
4479        translateY: (this.stH - $logoHeight) / 2 - 12 - 25 // - @herderMargin
4480      }, {
4481        duration: 0,
4482        loop: false
4483      });
4484      this.$bt_sand = $("#bt_sand");
4485      this.$bt_sand.css({
4486        left: -40
4487      });
4488      this.$loading = $("#now_loading");
4489      this.$loading.css({
4490        width: 200
4491      });
4492      $body.append(this.$loading);
4493      this.$loading.css({
4494        position: "fixed",
4495        top: 0,
4496        left: 0,
4497        "text-align": "center",
4498        "font-size": 12
4499      });
4500      $loadingWidth = 200; //@$loading.width()
4501      $loadingHeight = 22; //@$loading.width()
4502      this.$loading.velocity({
4503        translateX: (this.stW - $loadingWidth) / 2,
4504        translateY: (this.stH - $loadingHeight) / 2 + 12
4505      }, {
4506        duration: 0,
4507        loop: false
4508      });
4509      randumtypoTime = 1000;
4510      new RandumText($("h1 > a"), randumtypoTime, false, true);
4511      new RandumText(this.$loading.find(".r_text"), randumtypoTime, false, true);
4512      setTimeout(() => {
4513        var count, text;
4514        text = this.$loading.find(".r_text").attr("data-text");
4515        count = 0;
4516        return this.setIntervalId = setInterval(() => {
4517          var i, j, n, ref, ref1, ten;
4518          count++;
4519          if (count > 3) {
4520            count = 0;
4521          }
4522          ten = "";
4523          for (n = i = 0, ref = count; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
4524            ten += "<span>.</span>";
4525          }
4526          for (n = j = 0, ref1 = 3 - count; (0 <= ref1 ? j < ref1 : j > ref1); n = 0 <= ref1 ? ++j : --j) {
4527            ten += '<span style="color:#ffffff">.</span>';
4528          }
4529          return this.$loading.find(".p").html(ten);
4530        }, 40);
4531      }, randumtypoTime + 10);
4532      setTimeout(() => {
4533        return this.trigger("animationEnd");
4534      }, randumtypoTime);
4535    }
4536
4537    loaded() {
4538      var i, n, ten;
4539      boundMethodCheck(this, TopAnimationIPad);
4540      clearInterval(this.setIntervalId);
4541      ten = "";
4542      for (n = i = 0; i < 3; n = ++i) {
4543        ten += '<span style="color:#ffffff">.</span>';
4544      }
4545      this.$loading.find(".p").html(ten);
4546      return setTimeout(() => {
4547        return this.start();
4548      }, 500);
4549    }
4550
4551    start() {
4552      var top;
4553      boundMethodCheck(this, TopAnimationIPad);
4554      this.$bt_sand.velocity({
4555        left: '0px'
4556      }, {
4557        duration: 200,
4558        easing: 'easeOutSine',
4559        loop: false,
4560        delay: 300,
4561        complete: () => {
4562          return {};
4563        }
4564      });
4565      this.$logo.velocity({
4566        translateY: 0
4567      }, {
4568        duration: 500,
4569        easing: 'easeOutSine',
4570        loop: false,
4571        display: 'block',
4572        complete: () => {
4573          return this.$logo.css({
4574            left: "",
4575            "margin-left": "",
4576            transform: ""
4577          });
4578        }
4579      });
4580      //        @$globalNavigation.velocity(
4581      //            {
4582      //            #top: '0px',
4583      //                translateX: 0
4584      //            }, {
4585      //                delay: 500
4586      //                duration: 800,
4587      //                easing: 'easeOutSine',
4588      //                loop: false
4589      //                display: 'block'
4590      //                complete: =>
4591      //            }
4592      //        )
4593      top = `${this.stH}px`;
4594      this.$loading.velocity({
4595        //top: top,
4596        translateY: top
4597      }, {
4598        duration: 500,
4599        easing: 'ease-out',
4600        loop: false,
4601        display: 'block',
4602        complete: () => {
4603          return this.$loading.remove();
4604        }
4605      });
4606      return setTimeout(() => {
4607        return this.end();
4608      }, 501);
4609    }
4610
4611    end() {
4612      boundMethodCheck(this, TopAnimationIPad);
4613      return this.trigger("end");
4614    }
4615
4616  };
4617
4618  TopAnimationIPad.prototype.$bt_sand = null;
4619
4620  TopAnimationIPad.prototype.$logo = null;
4621
4622  TopAnimationIPad.prototype.$loading = null;
4623
4624  TopAnimationIPad.prototype.$projects = null;
4625
4626  TopAnimationIPad.prototype.$globalNavigation = null;
4627
4628  TopAnimationIPad.prototype.stW = null;
4629
4630  TopAnimationIPad.prototype.stH = null;
4631
4632  TopAnimationIPad.prototype.herderMargin = 60;
4633
4634  TopAnimationIPad.prototype.setIntervalId = null;
4635
4636  TopAnimationIPad.prototype.loadedCount = 0;
4637
4638  return TopAnimationIPad;
4639
4640}).call(this);
4641
4642window.TopAnimationIPad = TopAnimationIPad;
4643
4644
4645/***/ }),
4646/* 26 */
4647/***/ (function(module, exports) {
4648
4649var Header;
4650
4651Header = (function() {
4652  class Header {
4653    constructor() {
4654      var $btSearch, $searchArea, eventName, link, me, scrollPoint;
4655      this.resize = this.resize.bind(this);
4656      me = this;
4657      this.$header = $("#global_navigation");
4658      this.$contents = $("#contents");
4659      this.$btSand = $("#bt_sand");
4660      this.$copyright = $("header > div.copyright");
4661      $searchArea = $("#header_area_search");
4662      $btSearch = $("#header_bt_search");
4663      link = function() {
4664        var url, val;
4665        val = $searchArea.val();
4666        url = "";
4667        if (window.WonderWall.language === "ja") {
4668          url += "/ja";
4669        }
4670        url += "/project_search/#/" + val;
4671        location.href = url;
4672        if (location.href.indexOf("project_search") > -1) {
4673          return location.reload();
4674        }
4675      };
4676      $btSearch.bind("click", link);
4677      $searchArea.keypress(function(e) {
4678        if (e.keyCode === 13 || e.which === 13) {
4679          return link();
4680        }
4681      });
4682      $searchArea.focus(() => {
4683        return $("#global_navigation > div.search > div.bt").addClass("select");
4684      });
4685      $searchArea.blur(() => {
4686        return $("#global_navigation > div.search > div.bt").removeClass("select");
4687      });
4688      this.isShow = false;
4689      eventName = "mousedown";
4690      if (Model.isIos) {
4691        eventName = "touchstart";
4692      }
4693      if (document.domain === "localhost") {
4694        eventName = "mousedown";
4695      }
4696      scrollPoint = 0;
4697      this.$btSand.bind(eventName, function() {
4698        if (me.isShow) {
4699          if (window.WonderWall.page === "project_search") {
4700            $("#bt_search_show").show();
4701          }
4702          me.$header.hide();
4703          $("#contents").show();
4704          $("#contents").show();
4705          me.isShow = false;
4706          me.$btSand.removeClass("close");
4707          return $window.scrollTop(scrollPoint);
4708        } else if (!me.isShow) {
4709          if (window.WonderWall.page === "project_search") {
4710            $("#bt_search_show").hide();
4711          }
4712          scrollPoint = $window.scrollTop();
4713          $window.scrollTop(0);
4714          me.$header.show();
4715          $("#contents").hide();
4716          me.isShow = true;
4717          return me.$btSand.addClass("close");
4718        }
4719      });
4720      if (window.WonderWall.language === "ja") {
4721        $("#bt_language_en").bind("click", function(e) {
4722          var hrefs, i, n, ref, url;
4723          hrefs = window.location.href.split("/");
4724          url = "";
4725          for (n = i = 0, ref = hrefs.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
4726            if (n !== 3) {
4727              url += hrefs[n] + "/";
4728            }
4729          }
4730          if (url.split("//").length >= 2) {
4731            url = url.substring(0, url.length - 1 - 1);
4732            url += "/";
4733          }
4734          location.href = url;
4735          //["http:", "", "192.168.11.28:8888", "ja", "project", "310", ""]
4736          e.preventDefault();
4737          return false;
4738        });
4739      }
4740      if (window.WonderWall.language === "en") {
4741        $("#bt_language_ja").bind("click", function(e) {
4742          var hrefs, i, n, ref, url;
4743          hrefs = window.location.href.split("/");
4744          url = "";
4745          for (n = i = 0, ref = hrefs.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
4746            if (n === 3) {
4747              url += "ja/";
4748            }
4749            url += hrefs[n] + "/";
4750          }
4751          if (url.split("//").length >= 2) {
4752            url = url.substring(0, url.length - 1 - 1);
4753            url += "/";
4754          }
4755          location.href = url;
4756          //["http:", "", "192.168.11.28:8888", "project", "310", ""]
4757          e.preventDefault();
4758          return false;
4759        });
4760      }
4761      $window.resize(() => {
4762        return this.resize();
4763      });
4764      this.resize();
4765    }
4766
4767    resize() {
4768      var stW;
4769      stW = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
4770      //stW = $window.width()
4771      if (stW > 1695) {
4772        $("header").css({
4773          "left": 60 + (stW - 1695) / 2
4774        });
4775      } else {
4776        $("header").css({
4777          "left": 60
4778        });
4779      }
4780      if (!this.isShow) {
4781        //console.log window.innerWidth, document.body.clientWidth
4782        if (stW <= 1080) {
4783          return $("#global_navigation").hide();
4784        } else {
4785          return $("#global_navigation").show();
4786        }
4787      } else {
4788        return $("#contents").show();
4789      }
4790    }
4791
4792  };
4793
4794  Header.prototype.$header = null;
4795
4796  Header.prototype.$contents = null;
4797
4798  Header.prototype.$copyright = null;
4799
4800  Header.prototype.$btSand = null;
4801
4802  Header.prototype.isShow = false;
4803
4804  Header.prototype.duration = 200;
4805
4806  return Header;
4807
4808}).call(this);
4809
4810window.Header = Header;
4811
4812
4813/***/ }),
4814/* 27 */
4815/***/ (function(module, exports, __webpack_require__) {
4816
4817var EventObserver, Index,
4818  boundMethodCheck = function(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new Error('Bound instance method accessed before binding'); } };
4819
4820EventObserver = __webpack_require__(0);
4821
4822Index = (function() {
4823  class Index extends EventObserver {
4824    constructor(mode) {
4825      super();
4826      this.initialize = this.initialize.bind(this);
4827      //        $(window).keydown((e) =>
4828      //            if e.keyCode == 32
4829      //                if @isInterval
4830      //                    @isInterval = false
4831      //                else
4832      //                    @isInterval = true
4833      //        )
4834      this.eventBind = this.eventBind.bind(this);
4835      this.remove = this.remove.bind(this);
4836      this.update = this.update.bind(this);
4837      //@update()
4838      this.intervalSet = this.intervalSet.bind(this);
4839      this.loaded = this.loaded.bind(this);
4840      this.firstShow = this.firstShow.bind(this);
4841      this.interval = this.interval.bind(this);
4842      this.stageUpdate = this.stageUpdate.bind(this);
4843      this.resizeHundler = this.resizeHundler.bind(this);
4844      this.resizeWrapper = this.resizeWrapper.bind(this);
4845      this.scrollHundler = this.scrollHundler.bind(this);
4846      this.scrollMove = this.scrollMove.bind(this);
4847      this.getNextColumnID = this.getNextColumnID.bind(this);
4848      this.alignment = this.alignment.bind(this);
4849      this.mode = mode;
4850      this.model = Model;
4851      this.model.isFirefox;
4852    }
4853
4854    initialize(projects, $addArea, isTop = false) {
4855      boundMethodCheck(this, Index);
4856      this.$addArea = $addArea;
4857      this.projects = projects;
4858      this.$loading = $("#loading");
4859      // projectデータ 整形
4860      IndexUtil.dataSet(this.projects);
4861      /*
4862      for n in [[email protected]]
4863          project = @projects[n]
4864
4865       * 言語
4866          lang = ""
4867          if window.location.href.indexOf("/ja/") > 0
4868              lang = "/ja"
4869          project["lang"] = lang
4870
4871       * color
4872          if project.category
4873              project["color"] = @model.category1[project.category[0].category1]
4874          else
4875              project["color"] = "333333"
4876
4877       * Name
4878          if window.WonderWall.page == "project_map"
4879              project["name"] = project["name"]
4880          else
4881              if project["name_en"]
4882                  project["name"] = project["name_en"]
4883              if project["name"].length > 20
4884                  project["name"] = project["name"].slice(0, 20-1) + "..."
4885
4886       * Day and Location
4887          if window.WonderWall.page == "project_map"
4888              project["day_and_location"] = project["address"]
4889          else
4890              dayAndLocation = ""
4891              if project["date"] || project["location_en"]
4892                  date = project["date"].split(".")
4893                  if date[0] && project["location_en"]
4894                      dayAndLocation = date[0]
4895                      dayAndLocation += " - "
4896                      dayAndLocation += project["location_en"]
4897                  else if date[0]
4898                      dayAndLocation += date[0]
4899                  else if project["location_en"]
4900                      dayAndLocation += project["location_en"]
4901
4902              if dayAndLocation.length > 26
4903                  dayAndLocation = dayAndLocation.slice(0, 26) + "..."
4904
4905              project["day_and_location"] = dayAndLocation
4906
4907          project["thumbs"] = []
4908          images = project["images"]
4909
4910       *            if project.lat
4911       *                console.log project["images"]
4912
4913          if images
4914              all = []
4915              top_only = []
4916              for nn in [0...images.length]
4917                  image = images[nn]
4918                  if image["thumb_v2_top"]
4919                      thumb_l = image["thumb_v2_top"]
4920                      o = {
4921                          "url": thumb_l["url"] #.replace("http://wonder-wall.com", ""),
4922                          "w": 265,
4923                          "h": thumb_l["h"] * (265 / thumb_l["w"]),
4924                          "ww": thumb_l.w,
4925                          "hh": thumb_l.h
4926                      }
4927                      all.push(o)
4928                      if image["use_v2_index"]
4929                          top_only.push(o)
4930
4931              if top_only.length == 0
4932                  project["thumbs"] = all
4933              if top_only.length > 0
4934                  project["thumbs"] = top_only
4935       */
4936      this.projectCount = 0;
4937      this.isLoading = false;
4938      this.remove();
4939      clearTimeout(this.setTimeoutID);
4940      this.addedTickers = [];
4941      this.showTickers = [];
4942      this.tickers = [];
4943      this.isUpdate = true;
4944      createjs.Ticker.setFPS(60);
4945      if (!isTop) {
4946        this.update();
4947        this.intervalSet();
4948        this.eventBind();
4949        this.resizeHundler();
4950        this.scrollMove();
4951        return this.addTicker();
4952      }
4953    }
4954
4955    eventBind() {
4956      boundMethodCheck(this, Index);
4957      $window.bind('resize', this.resizeHundler);
4958      return $window.bind('scroll', this.scrollHundler);
4959    }
4960
4961    remove() {
4962      boundMethodCheck(this, Index);
4963      this.allLoadedCount = 0;
4964      this.isUpdate = false;
4965      $window.unbind('resize', this.resizeHundler);
4966      $window.unbind('scroll', this.scrollHundler);
4967      if (this.setIntervalID) {
4968        return clearInterval(this.setIntervalID);
4969      }
4970    }
4971
4972    update() {
4973      boundMethodCheck(this, Index);
4974      if (this.model.isSp) {
4975        return;
4976      }
4977      if (!this.isUpdate) {
4978        return;
4979      }
4980      this.stageUpdate();
4981      if (!window.requestAnimationFrame) { // old
4982        return setTimeout(() => {
4983          return this.update();
4984        }, 50);
4985      } else if (this.model.isFirefox) {
4986        return setTimeout(() => {
4987          return this.update();
4988        }, 10);
4989      } else if (window.requestAnimationFrame) { // modern
4990        return window.requestAnimationFrame(this.update);
4991      }
4992    }
4993
4994    intervalSet() {
4995      boundMethodCheck(this, Index);
4996      if (this.model.isSp) {
4997        return;
4998      }
4999      return this.setIntervalID = setInterval(() => {
5000        return this.interval();
5001      }, 2000);
5002    }
5003
5004    addTicker(isTopFirst = false) {
5005      var project, ticker;
5006      if (this.projectCount >= this.projects.length) {
5007        this.isLoading = false;
5008        return;
5009      }
5010      project = this.projects[this.projectCount];
5011      if (this.model.isSp || this.mode === "map" || this.mode === "search") {
5012        ticker = new TickerSingleImage(project, this.$addArea, this.tickerWidth, this.nameHeight, isTopFirst);
5013      } else {
5014        ticker = new Ticker(project, this.$addArea, this.tickerWidth, this.nameHeight, isTopFirst);
5015      }
5016      ticker.addEventListener("loaded", this.loaded);
5017      ticker.addEventListener("firstShow", this.firstShow);
5018      this.tickers.push(ticker);
5019      this.addedTickers.push(ticker);
5020      this.projectCount++;
5021      return ticker.start();
5022    }
5023
5024    loaded() {
5025      var i, j, n, ref, ref1;
5026      boundMethodCheck(this, Index);
5027      this.loadingCount--;
5028      for (n = i = 0, ref = this.addedTickers.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
5029        this.addedTickers[n].isAreaIn = true;
5030      }
5031      if (this.loadingCount <= 0) {
5032        this.loadingCount = 0;
5033        this.isLoading = false;
5034        for (n = j = 0, ref1 = this.addedTickers.length; (0 <= ref1 ? j < ref1 : j > ref1); n = 0 <= ref1 ? ++j : --j) {
5035          this.showTickers.push(this.addedTickers[n]);
5036        }
5037        this.documentHeight = $(document).height();
5038        this.alignment($(window).scrollTop());
5039        this.addedTickers = [];
5040      } else {
5041        //            if !@isDebug
5042        //                @scrollMove()
5043        //            @scrollMove()
5044        this.isLoading = true;
5045      }
5046      this.scrollMove();
5047      this.allLoadedCount++;
5048      if (this.allLoadedCount >= this.projects.length) {
5049        this.trigger("allImageLoaded"); // map で使用
5050      }
5051      if (this.projectCount >= this.projects.length || this.isDebug) { // 全て表示したらローディング消す
5052        this.$loading.hide();
5053        this.isLoading = false;
5054        this.loadingCount = 0;
5055        return;
5056      } else {
5057        this.$loading.show();
5058      }
5059      return this.trigger("imageLoaded"); // topanimation で使用
5060    }
5061
5062    firstShow(e, d) {
5063      boundMethodCheck(this, Index);
5064    }
5065
5066    interval() {
5067      var i, n, ref, results;
5068      boundMethodCheck(this, Index);
5069      if (!this.isInterval) {
5070        return;
5071      }
5072      results = [];
5073      for (n = i = 0, ref = this.tickers.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
5074        results.push(this.tickers[n].interval());
5075      }
5076      return results;
5077    }
5078
5079    stageUpdate() {
5080      var i, n, ref, results;
5081      boundMethodCheck(this, Index);
5082      results = [];
5083      for (n = i = 0, ref = this.tickers.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
5084        results.push(this.tickers[n].stageUpdate());
5085      }
5086      return results;
5087    }
5088
5089    resizeHundler() {
5090      boundMethodCheck(this, Index);
5091      this.stW = $window.width();
5092      this.stH = $window.height();
5093      //@scrollMove(true)
5094      this.resizeWrapper();
5095      //@scrollMove()
5096      return this.alignment($(window).scrollTop());
5097    }
5098
5099    resizeWrapper() {
5100      var width, windowWidth;
5101      boundMethodCheck(this, Index);
5102      this.contentswidth = $("#contents").width();
5103      windowWidth = AbrowserUtil.windowBarWidth();
5104      if (windowWidth <= 1080) {
5105        width = Math.floor((this.stW + this.tickerMargin) / (this.tickerWidth + this.tickerMargin)) * (this.tickerWidth + this.tickerMargin) - this.tickerMargin;
5106        return $("#result").css({
5107          width: width,
5108          "marginLeft": (this.contentswidth - width) / 2
5109        });
5110      } else {
5111        return $("#result").css({
5112          width: "",
5113          "marginLeft": "",
5114          "marginRight": ""
5115        });
5116      }
5117    }
5118
5119    scrollHundler() {
5120      boundMethodCheck(this, Index);
5121      //clearTimeout(@scrollHundlerTimer)
5122      this.scrollTop = $(window).scrollTop() + $("#result").offset().top;
5123      return this.scrollMove();
5124    }
5125
5126    scrollMove() {
5127      var addlength, i, j, length, n, ref, ref1, results, stH, stW;
5128      boundMethodCheck(this, Index);
5129      if (this.isLoading) {
5130        return;
5131      }
5132      stW = this.stW;
5133      stH = this.stH;
5134      for (n = i = 0, ref = this.tickers.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
5135        this.tickers[n].resize(this.scrollTop, stW, stH);
5136      }
5137      if ((this.model.isSp && this.scrollTop + stH > $(document).height() - 100) || (!this.model.isSp && this.scrollTop + stH > $(document).height() - stH)) { // 下からウインドウの高さ分にスクロールしてきたら
5138        length = Math.floor((this.contentswidth + this.tickerMargin) / (this.tickerWidth + this.tickerMargin));
5139        if (this.isFirstResize) {
5140          addlength = length;
5141          this.isFirstResize = false;
5142        } else {
5143          addlength = length; // * 2
5144        }
5145        
5146        //            if @model.isSp
5147        //                addlength *= 3
5148        addlength += this.tickers.length % length; // 列を会わせる
5149        if (!addlength) { // length=0の時Nanになる
5150          addlength = 0;
5151        }
5152        this.isLoading = true;
5153        this.loadingCount += addlength;
5154        if (this.loadingCount >= this.projects.length - this.projectCount) { // プロジェクト数より多いときは増やさない
5155          this.loadingCount = this.projects.length - this.projectCount;
5156        }
5157        results = [];
5158        for (n = j = 0, ref1 = addlength; (0 <= ref1 ? j < ref1 : j > ref1); n = 0 <= ref1 ? ++j : --j) {
5159          results.push(this.addTicker());
5160        }
5161        return results;
5162      }
5163    }
5164
5165    getNextColumnID() {
5166      var i, id, n, ref;
5167      boundMethodCheck(this, Index);
5168      id = 0;
5169      for (n = i = 0, ref = this.column; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
5170        if (this.columnHeights[id] > this.columnHeights[n]) {
5171          id = n;
5172        }
5173      }
5174      return id;
5175    }
5176
5177    alignment(scrollTop) {
5178      var $ticker, i, id, j, n, ref, ref1, tickerHeight, tickerWidth;
5179      boundMethodCheck(this, Index);
5180      this.column = Math.floor(($("#projects").width() + this.tickerMargin + 60) / (this.tickerWidth + this.tickerMargin));
5181      this.columnHeights = [];
5182      for (n = i = 0, ref = this.column; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
5183        this.columnHeights[n] = 0;
5184      }
5185      for (n = j = 0, ref1 = this.showTickers.length; (0 <= ref1 ? j < ref1 : j > ref1); n = 0 <= ref1 ? ++j : --j) {
5186        $ticker = this.showTickers[n].$ticker;
5187        if (!$ticker) {
5188          continue;
5189        }
5190        tickerWidth = this.showTickers[n].tickerWidth;
5191        tickerHeight = this.showTickers[n].tickerHeight;
5192        id = this.getNextColumnID();
5193        $ticker.css({
5194          position: "absolute",
5195          top: this.columnHeights[id],
5196          left: id * (this.tickerWidth + this.tickerMargin)
5197        });
5198        this.columnHeights[id] += tickerHeight + this.nameHeight + this.tickerMargin;
5199      }
5200      this.$loading.css({
5201        position: "absolute",
5202        top: Math.max.apply(null, this.columnHeights) + 25 + this.tickerMargin,
5203        left: (this.column * (this.tickerWidth + this.tickerMargin) - this.tickerMargin) / 2 - (25 / 2)
5204      });
5205      $("#result").css({
5206        height: Math.max.apply(null, this.columnHeights) + (60 - this.tickerMargin)
5207      });
5208    }
5209
5210  };
5211
5212  Index.prototype.mode = null;
5213
5214  Index.prototype.model = null;
5215
5216  Index.prototype.projects = null;
5217
5218  Index.prototype.$addArea = null;
5219
5220  Index.prototype.$loading = null;
5221
5222  Index.prototype.tickerWidth = 200;
5223
5224  //tickerHeight: null
5225  Index.prototype.tickerMargin = 30;
5226
5227  Index.prototype.nameHeight = 60;
5228
5229  Index.prototype.isDebug = false;
5230
5231  Index.prototype.setIntervalID = null;
5232
5233  Index.prototype.setTimeoutID = null;
5234
5235  Index.prototype.isUpdate = true;
5236
5237  Index.prototype.projectCount = 0;
5238
5239  Index.prototype.isLoading = false;
5240
5241  Index.prototype.showTickers = [];
5242
5243  Index.prototype.addedTickers = [];
5244
5245  Index.prototype.loadingCount = 0;
5246
5247  Index.prototype.allLoadedCount = 0;
5248
5249  //@scrollMove()
5250
5251  //        @showTickers.push(d[0])
5252  //        @alignment($(window).scrollTop())
5253  Index.prototype.tickers = null;
5254
5255  Index.prototype.isInterval = true;
5256
5257  Index.prototype.scrollHundlerTimer = null;
5258
5259  /*
5260  @scrollHundlerTimer = setTimeout(=>
5261      @scrollMove()
5262  , 0)
5263  */
5264  Index.prototype.stW = 0;
5265
5266  Index.prototype.stH = 0;
5267
5268  Index.prototype.isFirstResize = true;
5269
5270  Index.prototype.scrollTop = 0;
5271
5272  Index.prototype.documentHeight = 0;
5273
5274  Index.prototype.contentswidth = 0;
5275
5276  Index.prototype.column = null;
5277
5278  Index.prototype.columnHeights = null;
5279
5280  return Index;
5281
5282}).call(this);
5283
5284window.Index = Index;
5285
5286
5287/***/ }),
5288/* 28 */
5289/***/ (function(module, exports, __webpack_require__) {
5290
5291var EventObserver, IndexIPad,
5292  boundMethodCheck = function(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new Error('Bound instance method accessed before binding'); } };
5293
5294EventObserver = __webpack_require__(0);
5295
5296IndexIPad = (function() {
5297  class IndexIPad extends EventObserver {
5298    constructor(mode) {
5299      super();
5300      this.initialize = this.initialize.bind(this);
5301      this.eventBind = this.eventBind.bind(this);
5302      this.remove = this.remove.bind(this);
5303      this.loaded = this.loaded.bind(this);
5304      this.firstShow = this.firstShow.bind(this);
5305      this.interval = this.interval.bind(this);
5306      this.stageUpdate = this.stageUpdate.bind(this);
5307      this.resizeHundler = this.resizeHundler.bind(this);
5308      this.resizeWrapper = this.resizeWrapper.bind(this);
5309      this.scrollHundler = this.scrollHundler.bind(this);
5310      this.scrollMove = this.scrollMove.bind(this);
5311      this.getNextColumnID = this.getNextColumnID.bind(this);
5312      this.alignment = this.alignment.bind(this);
5313      this.mode = mode;
5314      this.model = Model;
5315      this.model.isFirefox;
5316    }
5317
5318    initialize(projects, $addArea, isTop = false) {
5319      var add, date, dayAndLocation, i, image, images, j, k, lang, me, n, nn, o, project, ref, ref1, stH, thumb_l;
5320      boundMethodCheck(this, IndexIPad);
5321      this.$addArea = $addArea;
5322      this.projects = projects;
5323      this.$loading = $("#loading");
5324// projectデータ 整形
5325      for (n = i = 0, ref = this.projects.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
5326        project = this.projects[n];
5327        // 言語
5328        lang = "";
5329        if (window.location.href.indexOf("/ja/") > 0) {
5330          lang = "/ja";
5331        }
5332        project["lang"] = lang;
5333        // color
5334        project["color"] = this.model.category1[project.category[0].category1];
5335        // Name
5336        project["name"] = project["name_en"];
5337        //            if project["name"].length > 18
5338        //                project["name"] = project["name"].slice(0, 18) + "..."
5339        if (project["name"].length > 20) {
5340          project["name"] = project["name"].slice(0, 20 - 1) + "...";
5341        }
5342        // Day and Location
5343        dayAndLocation = "";
5344        date = project["date"].split(".");
5345        if (date[1]) {
5346          dayAndLocation += this.model.day[date[1]]["long"] + " ";
5347        }
5348        if (date[0]) {
5349          dayAndLocation += date[0];
5350        }
5351        if (date[0] && project["location_en"]) {
5352          dayAndLocation = dayAndLocation.split(" ")[1];
5353          dayAndLocation += " - ";
5354        }
5355        if (project["location_en"]) {
5356          dayAndLocation += project["location_en"];
5357        }
5358        if (dayAndLocation.length > 26) {
5359          dayAndLocation = dayAndLocation.slice(0, 26) + "...";
5360        }
5361        project["day_and_location"] = dayAndLocation;
5362        project["thumbs"] = [];
5363        images = project["images"];
5364        for (nn = j = 0, ref1 = images.length; (0 <= ref1 ? j < ref1 : j > ref1); nn = 0 <= ref1 ? ++j : --j) {
5365          image = images[nn];
5366          if (image["thumb_v2_top"]) {
5367            thumb_l = image["thumb_v2_top"];
5368            o = {
5369              "url": thumb_l["url"].replace("http://wonder-wall.com", ""),
5370              "w": 265,
5371              "h": thumb_l["h"] * (265 / thumb_l["w"]),
5372              "ww": thumb_l.w,
5373              "hh": thumb_l.h
5374            };
5375            project["thumbs"].push(o);
5376          }
5377        }
5378      }
5379      this.projectCount = 0;
5380      this.isLoading = false;
5381      this.remove();
5382      clearTimeout(this.setTimeoutID);
5383      this.addedTickers = [];
5384      this.showTickers = [];
5385      this.tickers = [];
5386      this.isUpdate = true;
5387      me = this;
5388      ({
5389        alignment: (scrollTop) => {
5390          var $ticker, id, k, l, ref2, ref3, tickerHeight, tickerWidth;
5391          this.column = Math.floor(($("#projects").width() + this.tickerMargin + 60) / (this.tickerWidth + this.tickerMargin));
5392          this.columnHeights = [];
5393          for (n = k = 0, ref2 = this.column; (0 <= ref2 ? k < ref2 : k > ref2); n = 0 <= ref2 ? ++k : --k) {
5394            this.columnHeights[n] = 0;
5395          }
5396          for (n = l = 0, ref3 = this.showTickers.length; (0 <= ref3 ? l < ref3 : l > ref3); n = 0 <= ref3 ? ++l : --l) {
5397            $ticker = this.showTickers[n].$ticker;
5398            if (!$ticker) {
5399              continue;
5400            }
5401            tickerWidth = this.showTickers[n].tickerWidth;
5402            tickerHeight = this.showTickers[n].tickerHeight;
5403            id = this.getNextColumnID();
5404            $ticker.css({
5405              position: "absolute",
5406              top: this.columnHeights[id],
5407              left: id * (this.tickerWidth + this.tickerMargin)
5408            });
5409            this.columnHeights[id] += tickerHeight + this.nameHeight + this.tickerMargin;
5410          }
5411          this.$loading.css({
5412            position: "absolute",
5413            top: Math.max.apply(null, this.columnHeights) + 25 + this.tickerMargin,
5414            left: (this.column * (this.tickerWidth + this.tickerMargin) - this.tickerMargin) / 2 - (25 / 2)
5415          });
5416          return $("#result").css({
5417            height: Math.max.apply(null, this.columnHeights) + (60 - this.tickerMargin)
5418          });
5419        }
5420      });
5421      add = () => {
5422        var ticker;
5423        if (this.projectCount >= this.projects.length) {
5424          return;
5425        }
5426        project = this.projects[this.projectCount];
5427        this.projectCount++;
5428        ticker = new TickerSingleImage(project, this.$addArea, this.tickerWidth, this.nameHeight, false);
5429        this.showTickers.push(ticker);
5430        return ticker.start();
5431      };
5432      //me.alignment()
5433      stH = $window.height();
5434      $window.bind('scroll', () => {
5435        this.scrollTop = $window.scrollTop();
5436        if (this.scrollTop + stH > $(document).height() - 100) {
5437          return add();
5438        }
5439      });
5440      for (n = k = 0; k < 5; n = ++k) {
5441        add();
5442      }
5443      return;
5444      if (!isTop) {
5445        this.update();
5446        this.eventBind();
5447        this.resizeHundler();
5448        this.scrollMove();
5449        return this.addTicker();
5450      }
5451    }
5452
5453    eventBind() {
5454      boundMethodCheck(this, IndexIPad);
5455      $window.bind('resize', this.resizeHundler);
5456      return $window.bind('scroll', this.scrollHundler);
5457    }
5458
5459    remove() {
5460      boundMethodCheck(this, IndexIPad);
5461      this.isUpdate = false;
5462      $window.unbind('resize', this.resizeHundler);
5463      $window.unbind('scroll', this.scrollHundler);
5464      if (this.setIntervalID) {
5465        return clearInterval(this.setIntervalID);
5466      }
5467    }
5468
5469    addTicker(isTopFirst = false) {
5470      var project, ticker;
5471      if (this.projectCount >= this.projects.length) {
5472        this.isLoading = false;
5473        return;
5474      }
5475      project = this.projects[this.projectCount];
5476      if (this.model.isSp || this.mode === "map" || this.mode === "search") {
5477        ticker = new TickerSingleImage(project, this.$addArea, this.tickerWidth, this.nameHeight, isTopFirst);
5478      } else {
5479        ticker = new Ticker(project, this.$addArea, this.tickerWidth, this.nameHeight, isTopFirst);
5480      }
5481      ticker.addEventListener("loaded", this.loaded);
5482      ticker.addEventListener("firstShow", this.firstShow);
5483      this.tickers.push(ticker);
5484      this.addedTickers.push(ticker);
5485      this.projectCount++;
5486      return ticker.start();
5487    }
5488
5489    loaded() {
5490      var i, j, n, ref, ref1;
5491      boundMethodCheck(this, IndexIPad);
5492      this.loadingCount--;
5493      for (n = i = 0, ref = this.addedTickers.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
5494        this.addedTickers[n].isAreaIn = true;
5495      }
5496      if (this.loadingCount <= 0) {
5497        this.loadingCount = 0;
5498        this.isLoading = false;
5499        for (n = j = 0, ref1 = this.addedTickers.length; (0 <= ref1 ? j < ref1 : j > ref1); n = 0 <= ref1 ? ++j : --j) {
5500          this.showTickers.push(this.addedTickers[n]);
5501        }
5502        this.documentHeight = $(document).height();
5503        this.alignment($(window).scrollTop());
5504        this.addedTickers = [];
5505        if (!this.isDebug) {
5506          this.scrollMove();
5507        }
5508      } else {
5509        this.isLoading = true;
5510      }
5511      if (this.projectCount >= this.projects.length || this.isDebug) { // 全て表示したらローディング消す
5512        this.$loading.hide();
5513        this.isLoading = false;
5514        this.loadingCount = 0;
5515        return;
5516      } else {
5517        this.$loading.show();
5518      }
5519      return this.trigger("imageLoaded"); // topanimation で使用
5520    }
5521
5522    firstShow(e, d) {
5523      boundMethodCheck(this, IndexIPad);
5524    }
5525
5526    interval() {
5527      var i, n, ref, results;
5528      boundMethodCheck(this, IndexIPad);
5529      results = [];
5530      for (n = i = 0, ref = this.tickers.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
5531        results.push(this.tickers[n].interval());
5532      }
5533      return results;
5534    }
5535
5536    stageUpdate() {
5537      var i, n, ref, results;
5538      boundMethodCheck(this, IndexIPad);
5539      results = [];
5540      for (n = i = 0, ref = this.tickers.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
5541        results.push(this.tickers[n].stageUpdate());
5542      }
5543      return results;
5544    }
5545
5546    resizeHundler() {
5547      boundMethodCheck(this, IndexIPad);
5548      this.stW = $window.width();
5549      this.stH = $window.height();
5550      //@scrollMove(true)
5551      this.resizeWrapper();
5552      //@scrollMove()
5553      return this.alignment($(window).scrollTop());
5554    }
5555
5556    resizeWrapper() {
5557      var width, windowWidth;
5558      boundMethodCheck(this, IndexIPad);
5559      this.contentswidth = $("#contents").width();
5560      windowWidth = AbrowserUtil.windowBarWidth();
5561      if (windowWidth <= 1080) {
5562        width = Math.floor((this.stW + this.tickerMargin) / (this.tickerWidth + this.tickerMargin)) * (this.tickerWidth + this.tickerMargin) - this.tickerMargin;
5563        return $("#result").css({
5564          width: width,
5565          "marginLeft": (this.contentswidth - width) / 2
5566        });
5567      } else {
5568        return $("#result").css({
5569          width: "",
5570          "marginLeft": "",
5571          "marginRight": ""
5572        });
5573      }
5574    }
5575
5576    scrollHundler() {
5577      boundMethodCheck(this, IndexIPad);
5578      //clearTimeout(@scrollHundlerTimer)
5579      this.scrollTop = $(window).scrollTop() + $("#result").offset().top;
5580      return this.scrollMove();
5581    }
5582
5583    scrollMove() {
5584      var addlength, i, j, length, n, ref, ref1, results, stH, stW;
5585      boundMethodCheck(this, IndexIPad);
5586      if (this.isLoading) {
5587        return;
5588      }
5589      stW = this.stW;
5590      stH = this.stH;
5591      for (n = i = 0, ref = this.tickers.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
5592        this.tickers[n].resize(this.scrollTop, stW, stH);
5593      }
5594      if ((this.model.isSp && this.scrollTop + stH > $(document).height() - 100) || (!this.model.isSp && this.scrollTop + stH > $(document).height() - stH)) { // 下からウインドウの高さ分にスクロールしてきたら
5595        length = Math.floor((this.contentswidth + this.tickerMargin) / (this.tickerWidth + this.tickerMargin));
5596        if (this.isFirstResize) {
5597          addlength = length;
5598          this.isFirstResize = false;
5599        } else {
5600          addlength = length; // * 2
5601        }
5602        
5603        //            if @model.isSp
5604        //                addlength *= 3
5605        addlength += this.tickers.length % length; // 列を会わせる
5606        if (!addlength) { // length=0の時Nanになる
5607          addlength = 0;
5608        }
5609        console.log(addlength);
5610        this.isLoading = true;
5611        this.loadingCount += addlength;
5612        if (this.loadingCount >= this.projects.length - this.projectCount) { // プロジェクト数より多いときは増やさない
5613          this.loadingCount = this.projects.length - this.projectCount;
5614        }
5615        results = [];
5616        for (n = j = 0, ref1 = addlength; (0 <= ref1 ? j < ref1 : j > ref1); n = 0 <= ref1 ? ++j : --j) {
5617          results.push(this.addTicker());
5618        }
5619        return results;
5620      }
5621    }
5622
5623    getNextColumnID() {
5624      var i, id, n, ref;
5625      boundMethodCheck(this, IndexIPad);
5626      id = 0;
5627      for (n = i = 0, ref = this.column; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
5628        if (this.columnHeights[id] > this.columnHeights[n]) {
5629          id = n;
5630        }
5631      }
5632      return id;
5633    }
5634
5635    alignment(scrollTop) {
5636      var $ticker, i, id, j, n, ref, ref1, tickerHeight, tickerWidth;
5637      boundMethodCheck(this, IndexIPad);
5638      this.column = Math.floor(($("#projects").width() + this.tickerMargin + 60) / (this.tickerWidth + this.tickerMargin));
5639      this.columnHeights = [];
5640      for (n = i = 0, ref = this.column; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
5641        this.columnHeights[n] = 0;
5642      }
5643      for (n = j = 0, ref1 = this.showTickers.length; (0 <= ref1 ? j < ref1 : j > ref1); n = 0 <= ref1 ? ++j : --j) {
5644        $ticker = this.showTickers[n].$ticker;
5645        if (!$ticker) {
5646          continue;
5647        }
5648        tickerWidth = this.showTickers[n].tickerWidth;
5649        tickerHeight = this.showTickers[n].tickerHeight;
5650        id = this.getNextColumnID();
5651        $ticker.css({
5652          position: "absolute",
5653          top: this.columnHeights[id],
5654          left: id * (this.tickerWidth + this.tickerMargin)
5655        });
5656        this.columnHeights[id] += tickerHeight + this.nameHeight + this.tickerMargin;
5657      }
5658      this.$loading.css({
5659        position: "absolute",
5660        top: Math.max.apply(null, this.columnHeights) + 25 + this.tickerMargin,
5661        left: (this.column * (this.tickerWidth + this.tickerMargin) - this.tickerMargin) / 2 - (25 / 2)
5662      });
5663      $("#result").css({
5664        height: Math.max.apply(null, this.columnHeights) + (60 - this.tickerMargin)
5665      });
5666    }
5667
5668  };
5669
5670  IndexIPad.prototype.mode = null;
5671
5672  IndexIPad.prototype.model = null;
5673
5674  IndexIPad.prototype.projects = null;
5675
5676  IndexIPad.prototype.$addArea = null;
5677
5678  IndexIPad.prototype.$loading = null;
5679
5680  IndexIPad.prototype.tickerWidth = 200;
5681
5682  //tickerHeight: null
5683  IndexIPad.prototype.tickerMargin = 30;
5684
5685  IndexIPad.prototype.nameHeight = 60;
5686
5687  IndexIPad.prototype.isDebug = false;
5688
5689  IndexIPad.prototype.setIntervalID = null;
5690
5691  IndexIPad.prototype.setTimeoutID = null;
5692
5693  IndexIPad.prototype.projectCount = 0;
5694
5695  IndexIPad.prototype.isLoading = false;
5696
5697  IndexIPad.prototype.showTickers = [];
5698
5699  IndexIPad.prototype.addedTickers = [];
5700
5701  IndexIPad.prototype.loadingCount = 0;
5702
5703  //@scrollMove()
5704
5705  //        @showTickers.push(d[0])
5706  //        @alignment($(window).scrollTop())
5707  IndexIPad.prototype.tickers = null;
5708
5709  IndexIPad.prototype.scrollHundlerTimer = null;
5710
5711  /*
5712  @scrollHundlerTimer = setTimeout(=>
5713      @scrollMove()
5714  , 0)
5715  */
5716  IndexIPad.prototype.stW = 0;
5717
5718  IndexIPad.prototype.stH = 0;
5719
5720  IndexIPad.prototype.isFirstResize = true;
5721
5722  IndexIPad.prototype.scrollTop = 0;
5723
5724  IndexIPad.prototype.documentHeight = 0;
5725
5726  IndexIPad.prototype.contentswidth = 0;
5727
5728  IndexIPad.prototype.column = null;
5729
5730  IndexIPad.prototype.columnHeights = null;
5731
5732  return IndexIPad;
5733
5734}).call(this);
5735
5736
5737/***/ }),
5738/* 29 */
5739/***/ (function(module, exports, __webpack_require__) {
5740
5741var EventObserver, IndexSingle,
5742  boundMethodCheck = function(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new Error('Bound instance method accessed before binding'); } };
5743
5744EventObserver = __webpack_require__(0);
5745
5746IndexSingle = (function() {
5747  class IndexSingle extends EventObserver {
5748    constructor() {
5749      super();
5750      this.initialize = this.initialize.bind(this);
5751      this.getAddAreaID = this.getAddAreaID.bind(this);
5752      this.heightFix = this.heightFix.bind(this);
5753      this.scrollHundler = this.scrollHundler.bind(this);
5754      this.resizeHundler = this.resizeHundler.bind(this);
5755      this.remove = this.remove.bind(this);
5756    }
5757
5758    initialize(projects, $addArea, isTop = false) {
5759      boundMethodCheck(this, IndexSingle);
5760      this.$addArea = $addArea;
5761      this.projects = projects;
5762      this.$loading = $("#loading");
5763      this.$addArea.find("> div").remove();
5764      this.projectCount = 0;
5765      this.addedTickers = [];
5766      this.wraplength = 0;
5767      // projectデータ 整形
5768      IndexUtil.dataSet(this.projects);
5769      $window.bind('resize', this.resizeHundler);
5770      $window.bind('scroll', this.scrollHundler);
5771      $window.bind('mousewheel', this.scrollHundler);
5772      this.resizeHundler();
5773      return this.addTicker();
5774    }
5775
5776    addTicker(isTopFirst = false) {
5777      var $addArea, $ticker, i, id, isAllLoaded, n, project, ticker;
5778      isAllLoaded = false;
5779      for (n = i = 0; i < 20; n = ++i) {
5780        if (this.projectCount >= this.projects.length) {
5781          this.$loading.remove();
5782          isAllLoaded = true;
5783          break;
5784        }
5785        project = this.projects[this.projectCount];
5786        id = this.getAddAreaID(this.wrapeHeights);
5787        $addArea = this.wrapes[id];
5788        ticker = new TickerSingleImage(project, $addArea, this.tickerWidth, this.nameHeight, isTopFirst);
5789        ticker.start();
5790        $ticker = $("#" + project.prj_id);
5791        $ticker.css({
5792          width: this.tickerWidth,
5793          "margin-bottom": this.tickerMargin
5794        });
5795        this.addedTickers.push($ticker);
5796        this.wrapeHeights[id] += $ticker.height() + this.tickerMargin + 5;
5797        this.projectCount++;
5798      }
5799      this.heightFix();
5800      if (isAllLoaded) {
5801        return;
5802      }
5803      if ($("html").height() < $window.height()) { // windowsの高さにはみ出るまでロード
5804        return this.addTicker();
5805      }
5806    }
5807
5808    getAddAreaID(arr) {
5809      var i, id, n, ref;
5810      boundMethodCheck(this, IndexSingle);
5811      id = 0;
5812      for (n = i = 0, ref = arr.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
5813        if (arr[n] < arr[id]) {
5814          id = n;
5815        }
5816      }
5817      return id;
5818    }
5819
5820    heightFix() {
5821      var _height, height, i, n, ref;
5822      boundMethodCheck(this, IndexSingle);
5823      height = 0;
5824      for (n = i = 0, ref = this.wrapeHeights.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
5825        if (n === 0) {
5826          height = this.wrapeHeights[n];
5827        } else {
5828          _height = this.wrapeHeights[n];
5829          if (_height > height) {
5830            height = _height;
5831          }
5832        }
5833      }
5834      return this.$addArea.css({
5835        height: height
5836      });
5837    }
5838
5839    scrollHundler() {
5840      boundMethodCheck(this, IndexSingle);
5841      this.scrollTop = $(window).scrollTop() + $("#result").offset().top;
5842      if (this.scrollTop + this.stH > $(document).height() - 400) {
5843        return this.addTicker();
5844      }
5845    }
5846
5847    resizeHundler() {
5848      var $addArea, $ticker, $wrap, i, id, j, k, n, ref, ref1, ref2, wrapeHeights, wrapes, wraplength;
5849      boundMethodCheck(this, IndexSingle);
5850      this.stW = $window.width();
5851      this.stH = $window.height();
5852      wraplength = Math.floor(($("#projects").width() + this.tickerMargin + 60) / (this.tickerWidth + this.tickerMargin));
5853      if (wraplength !== this.wraplength) {
5854        wrapes = [];
5855        wrapeHeights = [];
5856        for (n = i = 0, ref = wraplength; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
5857          $wrap = $("<div />").css({
5858            left: n * (200 + this.tickerMargin),
5859            position: "absolute",
5860            width: 200,
5861            float: "left"
5862          });
5863          this.$addArea.append($wrap);
5864          wrapes.push($wrap);
5865          wrapeHeights[n] = 0;
5866        }
5867//#
5868        for (n = j = 0, ref1 = this.addedTickers.length; (0 <= ref1 ? j < ref1 : j > ref1); n = 0 <= ref1 ? ++j : --j) {
5869          $ticker = this.addedTickers[n];
5870          id = this.getAddAreaID(wrapeHeights);
5871          $addArea = wrapes[id];
5872          wrapeHeights[id] += $ticker.height() + this.tickerMargin + 5;
5873          $addArea.append($ticker);
5874        }
5875//#
5876        for (n = k = 0, ref2 = this.wrapes.length; (0 <= ref2 ? k < ref2 : k > ref2); n = 0 <= ref2 ? ++k : --k) {
5877          this.wrapes[n].remove();
5878        }
5879        this.wrapes = wrapes;
5880        this.wrapeHeights = wrapeHeights;
5881        return this.wraplength = wraplength;
5882      }
5883    }
5884
5885    remove() {
5886      boundMethodCheck(this, IndexSingle);
5887      $window.unbind('resize', this.resizeHundler);
5888      return $window.unbind('scroll', this.scrollHundler);
5889    }
5890
5891  };
5892
5893  IndexSingle.prototype.$addArea = null;
5894
5895  IndexSingle.prototype.projects = null;
5896
5897  IndexSingle.prototype.$loading = null;
5898
5899  IndexSingle.prototype.tickerWidth = 200;
5900
5901  IndexSingle.prototype.tickerMargin = 30;
5902
5903  IndexSingle.prototype.addedTickers = [];
5904
5905  IndexSingle.prototype.scrollTop = 0;
5906
5907  IndexSingle.prototype.projectCount = 0;
5908
5909  IndexSingle.prototype.wrapes = [];
5910
5911  IndexSingle.prototype.wrapeHeights = [];
5912
5913  IndexSingle.prototype.wraplength = 0;
5914
5915  return IndexSingle;
5916
5917}).call(this);
5918
5919window.IndexSingle = IndexSingle;
5920
5921
5922/***/ }),
5923/* 30 */
5924/***/ (function(module, exports) {
5925
5926var Loading;
5927
5928Loading = (function() {
5929  class Loading {
5930    constructor() {
5931      var $svg;
5932      $svg = $(this.src).css({
5933        width: 40,
5934        height: 40,
5935        border: 0
5936      });
5937      $("#loading > div").append($svg);
5938      $svg.velocity({
5939        rotateZ: "360deg"
5940      }, {
5941        loop: true,
5942        easing: "linear",
5943        duration: 500
5944      });
5945    }
5946
5947  };
5948
5949  Loading.prototype.src = '<iframe id="loading" src="/assets/images/loading.svg?1"></iframe>';
5950
5951  return Loading;
5952
5953}).call(this);
5954
5955window.Loading = Loading;
5956
5957
5958/***/ }),
5959/* 31 */
5960/***/ (function(module, exports, __webpack_require__) {
5961
5962var Event, EventObserver, Loader, Ticker,
5963  boundMethodCheck = function(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new Error('Bound instance method accessed before binding'); } };
5964
5965EventObserver = __webpack_require__(0);
5966
5967Ticker = (function() {
5968  class Ticker extends EventObserver {
5969    constructor(project, $addArea, tickerWidth, nameHeight, isTopFirst) {
5970      var canvas, htmlStr, rnd;
5971      super();
5972      this.addChild = this.addChild.bind(this);
5973      this.start = this.start.bind(this);
5974      this.stageUpdate = this.stageUpdate.bind(this);
5975      this.interval = this.interval.bind(this);
5976      this.firstShow = this.firstShow.bind(this);
5977      this.add = this.add.bind(this);
5978      this.isAreaInChange = this.isAreaInChange.bind(this);
5979      this.resize = this.resize.bind(this);
5980      this.inSide = this.inSide.bind(this);
5981      this.outSide = this.outSide.bind(this);
5982      this.getThumbOne = this.getThumbOne.bind(this);
5983      this.getThumb = this.getThumb.bind(this);
5984      this.getNextNearest = this.getNextNearest.bind(this);
5985      this.isTopFirst = isTopFirst;
5986      this.tickerWidth = tickerWidth;
5987      this.nameHeight = nameHeight;
5988      this.me = this;
5989      this.project = project;
5990      this.thumbs = project["thumbs"];
5991      this.$addArea = $addArea;
5992      this.project["tickerWidth"] = this.tickerWidth;
5993      this.project["tickerHeight"] = this.tickerHeight;
5994      rnd = AmathUtil.randomRange(0, 10);
5995      if (rnd < 5) {
5996        this.tickerHeight = this.smallHeight * 1;
5997        this.removeLength = 6;
5998      } else if (rnd < 9) {
5999        this.tickerHeight = this.smallHeight * 2;
6000        this.removeLength = 8;
6001      } else {
6002        this.tickerHeight = this.smallHeight * 3;
6003        this.removeLength = 14;
6004      }
6005      if (project.thumbs.length < 3) {
6006        this.tickerHeight = this.smallHeight * 1;
6007      }
6008      //        @tickerHeight = @smallHeight*2
6009      this.project["tickerHeight"] = this.tickerHeight;
6010      //@project["tickerHeight"] = AmathUtil.randomRange(@tickerHeight*0.4, @tickerHeight*0.5)
6011
6012      //        console.log @project["tickerHeight"]
6013
6014      //        @tickerWidth = @project["tickerWidth"]
6015      //        @tickerHeight = @project["tickerHeight"]
6016      htmlStr = Mustache.to_html(window.WonderWall.templ.project_ticker, this.project);
6017      this.$htmlStr = $(htmlStr);
6018      this.$addArea.append(this.$htmlStr);
6019      this.$ticker = $("#" + project["prj_id"]);
6020      this.$area = this.$ticker.find(".slide");
6021      this.$inner = this.$ticker.find("> a");
6022      canvas = document.getElementById("canvas" + this.project["prj_id"]);
6023      this.stage = new createjs.Stage(canvas);
6024      this.border = this.tickerHeight / 10 * (AmathUtil.randomRange(6, 9));
6025      this.model = Model;
6026      this.$ticker.hide();
6027      this.$inner.hide();
6028      this.$ticker.find("ul.text").css({
6029        opacity: 0
6030      });
6031    }
6032
6033    addChild() {
6034      boundMethodCheck(this, Ticker);
6035      return this.$htmlStr.append(this.$htmlStr);
6036    }
6037
6038    start() {
6039      var load, loadedCount, loadedHundler, nameObj;
6040      boundMethodCheck(this, Ticker);
6041      this.tickerLines = [];
6042      this.loadedThumb = [];
6043      nameObj = {};
6044      loadedCount = 0;
6045      loadedHundler = (e, loader) => {
6046        if (!loader.url) {
6047          console.log('error', e);
6048          console.log(loader);
6049          console.log(loader.url);
6050        } else {
6051          this.loadedThumb.push(nameObj[loader.url]);
6052          loadedCount++;
6053          load();
6054        }
6055        // 画像が多いProjectは、2枚読み込ませておく。 2回目に同じ写真が表示されることが多いため
6056        if (this.thumbs.length >= 2 && loadedCount <= 3) {
6057          return;
6058        }
6059        if (!this.isLoaded) {
6060          this.trigger("loaded");
6061          if (!this.isTopFirst) {
6062            this.interval();
6063          }
6064        }
6065        return this.isLoaded = true;
6066      };
6067      load = () => {
6068        var loader, timeout, url;
6069        if (loadedCount >= this.thumbs.length) {
6070          return;
6071        }
6072        url = this.thumbs[loadedCount].url;
6073        timeout = AmathUtil.randomRange(0, 800);
6074        loader = new Loader(url, timeout);
6075        this.thumbs[loadedCount].loader = loader;
6076        this.thumbs[loadedCount].url = url;
6077        this.thumbs[loadedCount].timeout = timeout;
6078        nameObj[url] = this.thumbs[loadedCount];
6079        loader.bind(url, loadedHundler);
6080        return loader.start();
6081      };
6082      load();
6083      return load();
6084    }
6085
6086    stageUpdate() {
6087      boundMethodCheck(this, Ticker);
6088      if (this.tickerLines && this.isAreaIn && this.stage) {
6089        return this.stage.update();
6090      }
6091    }
6092
6093    interval() {
6094      boundMethodCheck(this, Ticker);
6095      if (this.tickerLines && this.isAreaIn && this.isLoaded && !this.isFirstInsideMove) {
6096        if (this.isFirstInterval) {
6097          return this.firstShow();
6098        } else {
6099          return this.add();
6100        }
6101      }
6102    }
6103
6104    firstShow() {
6105      boundMethodCheck(this, Ticker);
6106      if (this.loadedThumb.length === 0 || (this.thumbs.length >= 3 && this.loadedThumb.length <= 2)) {
6107        return;
6108      }
6109      this.trigger("firstShow", this);
6110      this.isFirstInterval = false;
6111      this.$ticker.find("ul.text").animate({
6112        "opacity": 1
6113      }, 500);
6114      this.$inner.show();
6115      this.$ticker.show();
6116      return this.add();
6117    }
6118
6119    add(isAnimation = true) {
6120      var h, i, id, isBreak, isLast, j, length, lengths, n, ref, ref1, ref2, tickerLine, tickerLine1, yy;
6121      boundMethodCheck(this, Ticker);
6122      isAnimation = true;
6123      lengths = [];
6124      yy = 0;
6125      n = 0;
6126      length = 1;
6127      id = 1;
6128      tickerLine1 = new TickerLine(this, this.stage, this.getThumb(), this.tickerWidth, this.tickerHeight, this.margin, false, this.border, this._firstThumbURL, this.getNextNearest(), this.isMouseOver);
6129      lengths.push(length);
6130      this._firstThumbURL = tickerLine1.firstThumbURL;
6131      yy = h = tickerLine1.set(id, length, 0, isAnimation, this.animationTime);
6132      isBreak = false;
6133      //685 / 3
6134      isLast = false;
6135      for (n = i = 0, ref = this.tickerLines.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
6136        tickerLine = this.tickerLines[n];
6137        length++;
6138        if (this.tickerHeight === this.smallHeight) {
6139
6140        } else if (yy < this.tickerHeight / 3 * 2) {
6141          length = 1;
6142        } else if (this.tickerHeight > 685 && yy < 685 / 3 + (this.tickerHeight - 685)) {
6143          length = 1;
6144        }
6145        yy += this.margin;
6146        //yy = Math.ceil(yy)
6147        if (n === this.tickerLines.length - 2) {
6148          isLast = true;
6149        } else {
6150          isLast = false;
6151        }
6152        h = tickerLine.set(n, length, yy, isAnimation, this.animationTime, isLast);
6153        lengths.push(length);
6154        yy += h;
6155        id++;
6156      }
6157      this.tickerLines.unshift(tickerLine1);
6158      //削除
6159
6160      //        removeCount = @tickerLines.length
6161      //        for n in [[email protected]]
6162      //            tickerLine = @tickerLines[n]
6163      //            if tickerLine._top >= @tickerHeight
6164      //                removeCount = n
6165      //                break
6166      //        removes = @tickerLines.slice(removeCount, @tickerLines.length)
6167      //        for n in [0...removes.length]
6168      //            tickerLine = removes[n]
6169      //            tickerLine.remove()
6170      //        @tickerLines = @tickerLines.slice(0, removeCount)
6171      if (this.smallHeight * 1 === this.tickerHeight) {
6172        this.removeLength = 7;
6173      } else if (this.smallHeight * 2 === this.tickerHeight) {
6174        this.removeLength = 10;
6175      } else if (this.smallHeight * 3 === this.tickerHeight) {
6176        this.removeLength = 13;
6177      }
6178      if (this.tickerLines.length > this.removeLength) {
6179        for (n = j = ref1 = this.removeLength, ref2 = this.tickerLines.length; (ref1 <= ref2 ? j < ref2 : j > ref2); n = ref1 <= ref2 ? ++j : --j) {
6180          tickerLine = this.tickerLines[n];
6181          tickerLine.remove();
6182        }
6183        return this.tickerLines = this.tickerLines.slice(0, this.removeLength);
6184      }
6185    }
6186
6187    isAreaInChange() {
6188      boundMethodCheck(this, Ticker);
6189      return this.isAreaIn = true;
6190    }
6191
6192    resize(scrollTop, stW, stH) {
6193      var offset;
6194      boundMethodCheck(this, Ticker);
6195      offset = this.$ticker.offset();
6196      if (!offset) {
6197        return;
6198      }
6199      if (offset.top + this.tickerHeight + this.nameHeight > scrollTop && offset.top < scrollTop + stH) {
6200        return this.inSide();
6201      } else {
6202        return this.outSide();
6203      }
6204    }
6205
6206    inSide() {
6207      var i, n, ref;
6208      boundMethodCheck(this, Ticker);
6209      this.isAreaIn = true;
6210      this.$inner.show();
6211//@$ticker.find("canvas").show()
6212      for (n = i = 0, ref = this.tickerLines.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
6213        this.tickerLines[n].inSide();
6214      }
6215      if (this.isFirstInterval) {
6216        this.firstShow();
6217        this.isFirstInsideMove = true;
6218        return setTimeout(() => {
6219          return this.isFirstInsideMove = false;
6220        }, this.animationTime);
6221      }
6222    }
6223
6224    outSide() {
6225      var i, n, ref, results;
6226      boundMethodCheck(this, Ticker);
6227      this.isAreaIn = false;
6228      this.$inner.hide();
6229//@$ticker.find("canvas").hide()
6230      results = [];
6231      for (n = i = 0, ref = this.tickerLines.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
6232        results.push(this.tickerLines[n].outSide());
6233      }
6234      return results;
6235    }
6236
6237    getThumbOne(prevURL) {
6238      var i, n, ref, thumb;
6239      boundMethodCheck(this, Ticker);
6240      //        thumb = @loadedThumb[@getThumbOneCount]
6241
6242      //        @getThumbOneCount++
6243      //        if @getThumbOneCount >= @loadedThumb.length
6244      //            @getThumbOneCount = 0
6245
6246      //        return thumb
6247      thumb = this.loadedThumb[AmathUtil.randomRange(0, this.loadedThumb.length - 1)];
6248      if (this.loadedThumb.length >= 2 && (prevURL === thumb.url || this._firstThumbURL === thumb.url)) {
6249        this.loadedThumb = AmathUtil.arrayShuffle(this.loadedThumb);
6250        for (n = i = 0, ref = this.loadedThumb.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
6251          thumb = this.loadedThumb[n];
6252          if (prevURL !== thumb.url && this._firstThumbURL !== thumb.url) {
6253            break;
6254          }
6255        }
6256      }
6257      //console.log prevURL == thumb.url
6258      this.getThumbOneCount++;
6259      if (this.getThumbOneCount >= this.loadedThumb.length) {
6260        this.getThumbOneCount = 0;
6261      }
6262      return thumb;
6263    }
6264
6265    getThumb() {
6266      var arr1, arr2, arr3, arr4, arrr, o;
6267      boundMethodCheck(this, Ticker);
6268      arrr = this.thumbs;
6269      if (this.sortThumbCount > arrr.length - 1) {
6270        this.sortThumbCount = 0;
6271      }
6272      if (this.sortThumbCount === 0) {
6273        this.sortThumbCount++;
6274        return arrr;
6275      }
6276      arr1 = arrr.slice(this.sortThumbCount, arrr.length);
6277      arr2 = arrr.slice(0, this.sortThumbCount);
6278      this.sortThumbCount++;
6279      arr3 = arr1.concat(arr2);
6280      o = arr3[0];
6281      arr4 = AmathUtil.arrayShuffle(arr3.slice(1, arr3.length));
6282      arr4.unshift(o);
6283      return arr4;
6284    }
6285
6286    getNextNearest() {
6287      boundMethodCheck(this, Ticker);
6288      if (this.nearestsCount === -1) {
6289        this.nearest = AmathUtil.arrayShuffle(this.nearests);
6290      }
6291      if (this.nearestsCount >= this.nearests.length - 1) {
6292        this.nearestsCount = -1;
6293      }
6294      this.nearestsCount++;
6295      return this.nearests[this.nearestsCount];
6296    }
6297
6298  };
6299
6300  Ticker.prototype.project = null;
6301
6302  Ticker.prototype.thumbs = null;
6303
6304  Ticker.prototype.tickerLines = null;
6305
6306  Ticker.prototype.$ticker = null;
6307
6308  Ticker.prototype.$area = null;
6309
6310  Ticker.prototype.$inner = null;
6311
6312  Ticker.prototype.margin = 3;
6313
6314  Ticker.prototype.stage = null;
6315
6316  Ticker.prototype.images = null;
6317
6318  Ticker.prototype.removeLength = 13;
6319
6320  Ticker.prototype.me = null;
6321
6322  Ticker.prototype.border = null;
6323
6324  Ticker.prototype.isMouseOver = false;
6325
6326  Ticker.prototype.$addArea = null;
6327
6328  Ticker.prototype.tickerWidth = null;
6329
6330  Ticker.prototype.tickerHeight = null;
6331
6332  Ticker.prototype.nameHeight = null;
6333
6334  Ticker.prototype.$htmlStr = null;
6335
6336  Ticker.prototype.isTopFirst = null;
6337
6338  Ticker.prototype.smallHeight = 320;
6339
6340  Ticker.prototype.isLoaded = false;
6341
6342  Ticker.prototype.isFirstInterval = true;
6343
6344  Ticker.prototype._firstThumbURL = null;
6345
6346  Ticker.prototype.animationTime = 800;
6347
6348  Ticker.prototype.isAreaIn = false;
6349
6350  Ticker.prototype.isFirstInsideMove = false;
6351
6352  Ticker.prototype.getThumbOneCount = 0;
6353
6354  Ticker.prototype.loadedThumb = null;
6355
6356  Ticker.prototype.sortThumbCount = 0;
6357
6358  Ticker.prototype.nearests = ["left", "right"];
6359
6360  Ticker.prototype.nearestsCount = -1;
6361
6362  return Ticker;
6363
6364}).call(this);
6365
6366Event = __webpack_require__(1);
6367
6368Loader = (function() {
6369  class Loader extends Event {
6370    constructor(url, timeout) {
6371      super();
6372      this.start = this.start.bind(this);
6373      this.completeHandler = this.completeHandler.bind(this);
6374      this.end = this.end.bind(this);
6375      this.me = this;
6376      this.url = url;
6377      this.timeout = timeout;
6378    }
6379
6380    start() {
6381      boundMethodCheck(this, Loader);
6382      this.queue = new createjs.LoadQueue(false);
6383      this.queue.addEventListener("complete", this.completeHandler);
6384      return this.queue.loadFile({
6385        src: this.url,
6386        id: this.url
6387      });
6388    }
6389
6390    completeHandler(evt) {
6391      boundMethodCheck(this, Loader);
6392      this.queue = evt.target;
6393      this.queue.removeEventListener("complete", this.completeHandler);
6394      this.img = this.queue.getResult(this.url);
6395      //        setTimeout(=>
6396      //            @end()
6397      //        , @timeout)
6398      return this.end();
6399    }
6400
6401    end() {
6402      boundMethodCheck(this, Loader);
6403      this.endCount++;
6404      return this.me.trigger(this.url, this.me);
6405    }
6406
6407  };
6408
6409  Loader.prototype.me = null;
6410
6411  Loader.prototype.url = null;
6412
6413  Loader.prototype.img = null;
6414
6415  Loader.prototype.queue = null;
6416
6417  Loader.prototype.timeout = null;
6418
6419  Loader.prototype.endCount = 0;
6420
6421  return Loader;
6422
6423}).call(this);
6424
6425window.Ticker = Ticker;
6426
6427window.Loader = Loader;
6428
6429
6430/***/ }),
6431/* 32 */
6432/***/ (function(module, exports) {
6433
6434var BitmapWrap, TickerLine,
6435  boundMethodCheck = function(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new Error('Bound instance method accessed before binding'); } };
6436
6437TickerLine = (function() {
6438  class TickerLine {
6439    constructor(parent, _stage, thumbs, tickerWidth, tickerHeight, margin, isFirst, _border, previousFirstThumbURL, nearest = "left", isMouseOver = false) {
6440      var bitmap, img, scale;
6441      this.addImageScale = this.addImageScale.bind(this);
6442      this.set = this.set.bind(this);
6443      this.onTweenChangeHandler = this.onTweenChangeHandler.bind(this);
6444      this.addImg = this.addImg.bind(this);
6445      this.createBitmap = this.createBitmap.bind(this);
6446      this.bitmapShowed = this.bitmapShowed.bind(this);
6447      this.mouseOver = this.mouseOver.bind(this);
6448      this.mouseOut = this.mouseOut.bind(this);
6449      this.stopAll = this.stopAll.bind(this);
6450      //@set(0, @_length, @_top, false)
6451      this.outSide = this.outSide.bind(this);
6452      //        for n in [[email protected]]
6453      //            img = @imgs[n]
6454      //            img.$.isInside = false
6455      this.inSide = this.inSide.bind(this);
6456      this.remove = this.remove.bind(this);
6457      this.parent = parent;
6458      this.model = Model;
6459      this.stage = _stage;
6460      this.imgs = [];
6461      this.thumbs = thumbs;
6462      this.nearest = nearest;
6463      this.canvasWidth = tickerWidth;
6464      this.tickerHeight = tickerHeight;
6465      this.margin = margin;
6466      this.previousFirstThumbURL = previousFirstThumbURL;
6467      img = this.addImg();
6468      bitmap = img.$;
6469      scale = this.canvasWidth / img.originalW;
6470      this._top = this.top = bitmap.y = 0 - (img.originalH * scale) - this.margin;
6471      img.$.scaleX = img.$.scaleY = scale;
6472      this.imgs.push(img);
6473      this._height = img.originalH * scale;
6474      this._length = 1;
6475      this.isFirst = isFirst;
6476      this.border = _border;
6477      this.isMouseOver = isMouseOver;
6478      if (this.isMouseOver) {
6479        this.mouseOver();
6480      }
6481    }
6482
6483    addImageScale(addLength) {
6484      var bitmap, i, img, n, ref, results;
6485      results = [];
6486      for (n = i = 0, ref = addLength; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
6487        img = this.addImg();
6488        bitmap = img.$;
6489        if (this.nearest === "left") {
6490          this.imgs.push(img);
6491          bitmap.x = (this.canvasWidth + this.margin) + this.xAddPosition;
6492          this.xAddPosition += img.originalW * (this._height / img.originalH);
6493        } else if (this.nearest === "right") {
6494          this.imgs.unshift(img);
6495          this.xAddPosition -= img.originalW * (this._height / img.originalH) + this.margin;
6496          bitmap.x = this.xAddPosition;
6497        }
6498        bitmap.y = this._top;
6499        bitmap.scaleX = bitmap.scaleY = this._height / img.originalH;
6500        if (this.isFirst) {
6501          results.push(bitmap.y = 0 - this._height);
6502        } else {
6503          results.push(void 0);
6504        }
6505      }
6506      return results;
6507    }
6508
6509    set(id, length, top, isAnimation = false, animationTime = 800, isLast = false) {
6510      var _left, _scale, _scaleX, _scaleY, _top, addLength, bitmap, count, fadeScale, height, height2, heightheight, i, img, isNoImageAdd, j, k, left, n, ref, ref1, ref2, scale, width, width2, widths;
6511      //@nearest = "left"
6512      this.top = top;
6513      if (this.top < this.tickerHeight) {
6514        for (n = i = 0, ref = this.imgs.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
6515          this.imgs[n].$.show();
6516        }
6517      }
6518      //        if @_top > @tickerHeight && @top <= @tickerHeight
6519      //            console.log ""
6520      //            console.log @imgs.length
6521      //            delId = 0
6522      //            for n in [[email protected]]
6523      //                bitmap = @imgs[n].$
6524      //                if bitmap.isNoImage
6525      //                    console.log "remove"
6526      //                    @stage.removeChild(bitmap)
6527      //                    if @nearest == "left" || @nearest == "right" && delId
6528      //                        delId = n
6529      //            if !delId
6530      //                console.log "no"
6531      //            else if @nearest == "left"
6532      //                console.log "---", length
6533      //                @imgs = @imgs.slice(0, delId)
6534      //            else if @nearest == "right"
6535      //                @imgs = @imgs.slice(delId, @imgs.length-1)
6536      this.isStopAll = true;
6537      if (this.isRemove) {
6538        return;
6539      }
6540      // 追加 前回と比べて
6541      addLength = length - this._length;
6542      // 前回はみ出た分を足す
6543      this.xAddPosition = this.amariX;
6544      // サムネイル追加
6545      if (addLength > 0) {
6546        this.addImageScale(addLength);
6547      }
6548      // スケール
6549      scale = this.getScale(this.imgs, length);
6550      //scale = @getScale(@imgs, @imgs.length)
6551
6552      // 100px以上でダミーを追加する場合は、写真を足す
6553      if (top < this.tickerHeight && top + (this.imgs[0].h * scale) + this.margin > this.tickerHeight) {
6554        while (this.imgs[0].h * scale > 60) { //@colorHeight
6555          this.addImageScale(1); // 一個ずつ増やす
6556          scale = this.getScale(this.imgs, this.imgs.length);
6557        }
6558      }
6559      // ダミーを追加したか
6560      isNoImageAdd = false;
6561      // @tickerHeightからはみ出る場合 足らない分のサムネイルを追加する
6562      if (top < this.tickerHeight && top + (this.imgs[0].h * scale) + this.margin > this.tickerHeight) {
6563        widths = 0;
6564        for (n = j = 0, ref1 = this.imgs.length; (0 <= ref1 ? j < ref1 : j > ref1); n = 0 <= ref1 ? ++j : --j) {
6565          img = this.imgs[n];
6566          height = this.tickerHeight - top;
6567          width = img.w * (height / img.h);
6568          widths += width + this.margin;
6569        }
6570        count = 0;
6571        while (widths <= this.canvasWidth + this.margin) {
6572          //                img = @addImg(true)
6573          if (this.top < this.tickerHeight - 50) {
6574            img = this.addImg(false);
6575          } else {
6576            img = this.addImg(true);
6577          }
6578          bitmap = img.$;
6579          // 初期位置
6580          if (this.nearest === "left") {
6581            this.imgs.push(img);
6582            bitmap.x = (this.canvasWidth + this.margin) + this.xAddPosition;
6583            this.xAddPosition += img.originalW * (this._height / img.originalH);
6584          } else if (this.nearest === "right") {
6585            this.imgs.unshift(img);
6586            this.xAddPosition -= img.originalW * (this._height / img.originalH) + this.margin;
6587            bitmap.x = this.xAddPosition;
6588          }
6589          bitmap.y = this._top;
6590          bitmap.scaleX = bitmap.scaleY = this._height / img.originalH;
6591          widths += img.w * (height / img.h) + this.margin;
6592          count++;
6593        }
6594        //scale = @getScale(@imgs, @imgs.length)
6595        if (count > 0) {
6596          isNoImageAdd = true;
6597        }
6598      }
6599      //        if @top < @tickerHeight
6600      //            ww = 0
6601      //            for n in [[email protected]]
6602      //                img = @imgs[n]
6603      //                ww += (img.w*scale) + @margin
6604      //            console.log ww
6605
6606      // アニメーション
6607      fadeScale = 1;
6608      img = null;
6609      width = null;
6610      height = null;
6611      left = 0;
6612      if (this.nearest === "left") {
6613        left = 0;
6614      } else if (this.nearest === "right") {
6615        left = this.canvasWidth;
6616      }
6617      for (n = k = 0, ref2 = this.imgs.length; (0 <= ref2 ? k < ref2 : k > ref2); n = 0 <= ref2 ? ++k : --k) {
6618        if (this.nearest === "left") {
6619          img = this.imgs[n];
6620        } else if (this.nearest === "right") {
6621          img = this.imgs[this.imgs.length - n - 1];
6622        }
6623        width = img.w * scale;
6624        height = img.h * scale;
6625        width2 = width * fadeScale;
6626        height2 = height * fadeScale;
6627        if (top + height2 + this.margin > this.tickerHeight) {
6628          height = height2 = this.tickerHeight - top;
6629          width = width2 = img.w * (height2 / img.h);
6630        }
6631        width = Math.round(width);
6632        _scale = width2 / img.originalW; //***********
6633        if (this.nearest === "right") {
6634          left -= width;
6635        }
6636        _top = top;
6637        _left = left;
6638        createjs.Tween.removeTweens(img.$);
6639        _scaleX = _scale;
6640        _scaleY = _scale;
6641        //            canvasWidthMargin = @canvasWidth + @margin
6642        //            if @nearest == "left" && n == @imgs.length
6643        //                if _left+width2 > canvasWidthMargin
6644        //                    width2 -= (_top + width2 - canvasWidthMargin)
6645        //#                else
6646        //#                    width2 += (canvasWidthMargin - (_top + width2))
6647        //                _scaleX = width2 / img.originalW
6648        if (_top > this.tickerHeight) {
6649          height2 = height = this._height;
6650          createjs.Tween.get(img.$, {
6651            onChange: this.onTweenChangeHandler
6652          }).to({
6653            y: _top
6654          }, animationTime, createjs.Ease.sineInOut);
6655          continue;
6656        }
6657        if (isAnimation) {
6658          createjs.Tween.get(img.$, {
6659            onChange: this.onTweenChangeHandler
6660          }).to({
6661            x: _left,
6662            y: _top,
6663            scaleX: _scaleX,
6664            scaleY: _scaleY
6665          }, animationTime, createjs.Ease.sineInOut);
6666        } else {
6667          img.$.x = _left;
6668          img.$.y = _top;
6669          img.$.scaleX = _scaleX;
6670          img.$.scaleY = _scaleY;
6671        }
6672        this.onTweenChangeHandler({
6673          target: {
6674            target: img.$
6675          }
6676        });
6677        if (this.nearest === "left") {
6678          left += width + this.margin;
6679        } else if (this.nearest === "right") {
6680          left -= this.margin;
6681        }
6682      }
6683      // はみ出た分を計算
6684      if (this.nearest === "left") {
6685        this.amariX = left - this.margin - this.canvasWidth;
6686        if (this.amariX < 0) {
6687          this.amariX = 0;
6688        }
6689      } else if (this.nearest === "right") {
6690        this.amariX = left + this.margin;
6691        if (this.amariX > 0) {
6692          this.amariX = 0;
6693        }
6694      }
6695      //        if @nearest == "left"
6696      //            console.log @nearest, left - @margin - @canvasWidth
6697      //            @amariX = left - @margin - @canvasWidth
6698
6699      //        else if @nearest == "right"
6700      //            #console.log @nearest, left + @margin
6701      //            @amariX = left - @margin - @canvasWidth
6702      heightheight = height2;
6703      setTimeout(() => {
6704        var l, ref3, results;
6705        this._top = top;
6706        if (this._top > this.tickerHeight) {
6707          results = [];
6708          for (n = l = 0, ref3 = this.imgs.length; (0 <= ref3 ? l < ref3 : l > ref3); n = 0 <= ref3 ? ++l : --l) {
6709            results.push(this.imgs[n].$.hide());
6710          }
6711          return results;
6712        }
6713      }, animationTime - 1);
6714      this._height = heightheight;
6715      this._length = this.imgs.length;
6716      return Math.floor(height);
6717    }
6718
6719    onTweenChangeHandler(e) {
6720      var target;
6721      target = e.target.target;
6722      this.top = e.target.target.y;
6723      if (target.scaleX < 0 || target.scaleY < 0) {
6724        target.scaleX = target.scaleY = 0;
6725      }
6726      /* no alpha animation
6727             if target.children[3]
6728                 target.children[2].visible = false
6729                 target.children[1].visible = false
6730             else
6731             if target.y > 550
6732                 target.children[2].visible = false
6733                 target.children[1].visible = true
6734             else
6735                 target.children[2].visible = true
6736                 target.children[1].visible = false
6737             */
6738      if (this.isMouseOver) {
6739        return;
6740      }
6741      if (!target.children[0] || !target.children[1] || !target.children[2]) {
6742        return;
6743      }
6744      if (target.children[3]) {
6745        target.children[2].visible = false;
6746        target.children[1].visible = false;
6747      } else {
6748
6749      }
6750      if (target.y > this.tickerHeight - 50) {
6751        //if target.y > @tickerHeight/10*9
6752        //if target.thumb.h * target.scaleY < @colorHeight #target.y > @tickerHeight/10*8
6753        if (target.children[2].visible) {
6754          createjs.Tween.get(target.children[2]).to({
6755            alpha: 0
6756          }, 200, createjs.Ease.sineInOut);
6757          return target.children[1].visible = true;
6758        } else {
6759          target.children[2].visible = false;
6760          return target.children[1].visible = true;
6761        }
6762      } else {
6763        target.children[2].visible = true;
6764        if (target.children[2].alpha === 0) {
6765          return createjs.Tween.get(target.children[2]).to({
6766            alpha: 1
6767          }, 500, createjs.Ease.sineInOut);
6768        }
6769      }
6770    }
6771
6772    // 縦合わせにして画像を横に並べて、横いっぱいになるスケールを取得
6773    getScale(imas, length) {
6774      var allW, i, n, ref, scale;
6775      allW = 0;
6776      for (n = i = 0, ref = length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
6777        allW += imas[n].w;
6778      }
6779      scale = (this.canvasWidth - this.margin * (length - 1)) / allW;
6780      return scale;
6781    }
6782
6783    addImg(isNoImage = false) {
6784      var bitmap, img, thumb, w;
6785      if (this.imgs.length >= 1) {
6786        if (this.nearest === "left") {
6787          thumb = this.parent.getThumbOne(this.imgs[this.imgs.length - 1].$.thumb.url);
6788        } else if (this.nearest === "right") {
6789          thumb = this.parent.getThumbOne(this.imgs[0].$.thumb.url);
6790        }
6791      } else {
6792        thumb = this.parent.getThumbOne();
6793      }
6794      //        if @firstThumbURL == null
6795      //            count = 0
6796
6797      //            # 一枚目が同じ画像にならないように
6798      //            if thumb
6799      //                if thumb.url
6800      //                    if thumb.url == @previousFirstThumbURL && @thumbs.length >= 2
6801      //                        while thumb.url == @previousFirstThumbURL
6802      //                            thumb = @parent.getThumbOne()
6803      //                            #console.log "change", count
6804      if (thumb) {
6805        if (thumb.url) {
6806          if (!this.firstThumbURL) {
6807            this.firstThumbURL = thumb.url;
6808          }
6809        }
6810      }
6811      if (thumb) {
6812        if (thumb.url) {
6813          bitmap = this.createBitmap(thumb, isNoImage);
6814        }
6815      } else {
6816        bitmap = this.createBitmap(thumb, true);
6817      }
6818      w = thumb.w * (100 / thumb.h);
6819      img = {
6820        "$": bitmap,
6821        "w": w,
6822        "h": 100,
6823        "ww": this.canvasWidth,
6824        "hh": thumb.h * (this.canvasWidth / thumb.w),
6825        "originalW": thumb.w,
6826        "originalH": thumb.h
6827      };
6828      return img;
6829    }
6830
6831    createBitmap(thumb, isNoImage) {
6832      var container, me;
6833      container = new BitmapWrap(this.stage, thumb, this.isMouseOver, isNoImage);
6834      me = this;
6835      container.addEventListener("showed", function() {
6836        return me.bitmapShowed();
6837      });
6838      this.stage.addChild(container);
6839      if (!isNoImage) {
6840        container.start();
6841      }
6842      //        container.start()
6843      return container;
6844    }
6845
6846    bitmapShowed() {
6847      this.bitmapShowedCount++;
6848      if (this.bitmapShowedCount >= this.thumbs.length - 1) {
6849        return this.isShowed = true;
6850      }
6851    }
6852
6853    mouseOver() {
6854      var i, img, n, ref, results;
6855      this.isMouseOver = true;
6856      results = [];
6857      for (n = i = 0, ref = this.imgs.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
6858        img = this.imgs[n];
6859        img.$.isMouseOver = true;
6860        if (img.$.bitmapBase) {
6861          //img.$.bitmapBase.visible = false
6862          createjs.Tween.get(img.$.bitmapBase, {
6863            override: true
6864          }).to({
6865            alpha: 0
6866          }, 10);
6867          //createjs.Tween.get(img.$.bitmapBase, {override: true}).to({alpha:0}, 100).to({alpha:1}, 300)
6868
6869          //createjs.Tween.get(img.$.bitmapBase).delay(50).to({alpha:0}, 50)
6870          results.push(img.$.bitmapScale.visible = true);
6871        } else {
6872          results.push(void 0);
6873        }
6874      }
6875      return results;
6876    }
6877
6878    mouseOut() {
6879      var i, img, n, ref, results;
6880      this.isMouseOver = false;
6881      results = [];
6882      for (n = i = 0, ref = this.imgs.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
6883        img = this.imgs[n];
6884        img.$.isMouseOver = false;
6885        if (img.$.bitmapBase) {
6886          results.push(createjs.Tween.get(img.$.bitmapBase, {
6887            override: true
6888          }).to({
6889            alpha: 1
6890          }, 100));
6891        } else {
6892          results.push(void 0);
6893        }
6894      }
6895      return results;
6896    }
6897
6898    stopAll() {
6899      var i, img, n, ref, results;
6900      if (this.isStopAll) {
6901        return;
6902      }
6903      this.isStopAll = true;
6904      results = [];
6905      for (n = i = 0, ref = this.imgs.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
6906        img = this.imgs[n];
6907        results.push(createjs.Tween.removeTweens(img.$));
6908      }
6909      return results;
6910    }
6911
6912    outSide() {
6913      return this.stopAll();
6914    }
6915
6916    inSide() {}
6917
6918    remove() {
6919      var bitmap, i, n, ref, results;
6920      this.isRemove = true;
6921      results = [];
6922      for (n = i = 0, ref = this.imgs.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
6923        bitmap = this.imgs[n].$;
6924        results.push(this.stage.removeChild(bitmap));
6925      }
6926      return results;
6927    }
6928
6929  };
6930
6931  TickerLine.prototype.thumbs = null;
6932
6933  TickerLine.prototype.stage = null;
6934
6935  TickerLine.prototype.imgs = null;
6936
6937  TickerLine.prototype.model = null;
6938
6939  TickerLine.prototype.canvasWidth = 265;
6940
6941  TickerLine.prototype.tickerHeight = null;
6942
6943  TickerLine.prototype.margin = null;
6944
6945  TickerLine.prototype.nearest = null;
6946
6947  TickerLine.prototype.isMouseOver = false;
6948
6949  TickerLine.prototype.parent = null;
6950
6951  TickerLine.prototype.previousFirstThumbURL = null;
6952
6953  //@nearest = "right"
6954  TickerLine.prototype.isFirst = false;
6955
6956  TickerLine.prototype.top = null;
6957
6958  TickerLine.prototype._top = 0;
6959
6960  TickerLine.prototype._length = 1;
6961
6962  TickerLine.prototype._height = 0;
6963
6964  TickerLine.prototype.thumbSelectCount = 0;
6965
6966  TickerLine.prototype.border = null;
6967
6968  TickerLine.prototype.isShowed = false;
6969
6970  TickerLine.prototype.amariX = 0;
6971
6972  TickerLine.prototype.xAddPosition = 0;
6973
6974  TickerLine.prototype.colorHeight = 60;
6975
6976  TickerLine.prototype.firstThumbURL = null;
6977
6978  TickerLine.prototype.bitmapShowedCount = 0;
6979
6980  //img.$.bitmapBase.visible = true
6981  //img.$.bitmapScale.visible = false
6982  TickerLine.prototype.isStopAll = false;
6983
6984  //        for n in [[email protected]]
6985  //            img = @imgs[n]
6986  //            img.$.isInside = true
6987  TickerLine.prototype.isRemove = false;
6988
6989  return TickerLine;
6990
6991}).call(this);
6992
6993BitmapWrap = (function() {
6994  class BitmapWrap extends createjs.Container {
6995    constructor(stage, thumb, isMouseOver, isNoImage) {
6996      super();
6997      //        if @thumb
6998      //            if @thumb.loader
6999      //                @loader = @thumb.loader
7000
7001      //                @shape = new createjs.Shape()
7002      //                @shape.graphics.beginFill("#dddddd").drawRect(0, 0, @thumb.w, @thumb.h)
7003      //                this.addChild(@shape)
7004
7005      //        @shape = new createjs.Shape()
7006      //        if !@thumb || [email protected]
7007      //            @shape.graphics.beginFill("#"+Math.floor(Math.random() * 0xFFFFFF).toString(16)).drawRect(0, 0, 100, 100)
7008      //        else
7009      //            @loader = @thumb.loader
7010      //            @shape.graphics.beginFill("#dddddd").drawRect(0, 0, @thumb.w, @thumb.h)
7011      //            this.addChild(@shape)
7012      this.start = this.start.bind(this);
7013      this.hide = this.hide.bind(this);
7014      this.show = this.show.bind(this);
7015      this.imageLoaded = this.imageLoaded.bind(this);
7016      this.showed = this.showed.bind(this);
7017      this.initialize();
7018      this.isMouseOver = isMouseOver;
7019      this.thumb = thumb;
7020      this.isNoImage = isNoImage;
7021      if (!this.thumb) {
7022        return;
7023      }
7024      this.loader = this.thumb.loader;
7025      this.shape = new createjs.Shape();
7026      this.shape.graphics.beginFill(this.colorSmaple[AmathUtil.randomRange(0, this.colorSmaple.length - 1)]).drawRect(0, 0, this.thumb.w, this.thumb.h);
7027      this.addChild(this.shape);
7028    }
7029
7030    start() {
7031      var img;
7032      boundMethodCheck(this, BitmapWrap);
7033      img = this.loader.img;
7034      if (!img) {
7035        return this.loader.bind(this.thumb.url, this.imageLoaded);
7036      } else {
7037        return this.imageLoaded(null, img, true);
7038      }
7039    }
7040
7041    hide() {
7042      boundMethodCheck(this, BitmapWrap);
7043      if (this.shape) {
7044        this.shape.visible = false;
7045      }
7046      if (this.bitmapScale) {
7047        this.bitmapScale.visible = false;
7048      }
7049      if (this.bitmapBase) {
7050        return this.bitmapBase.visible = false;
7051      }
7052    }
7053
7054    show() {
7055      boundMethodCheck(this, BitmapWrap);
7056      if (this.shape) {
7057        this.shape.visible = true;
7058      }
7059      if (this.bitmapScale) {
7060        this.bitmapScale.visible = true;
7061      }
7062      if (this.bitmapBase) {
7063        return this.bitmapBase.visible = true;
7064      }
7065    }
7066
7067    imageLoaded(e, img, isLoaded) {
7068      var scale;
7069      boundMethodCheck(this, BitmapWrap);
7070      if (this.loader.unbind) {
7071        this.loader.unbind(this.thumb.url, this.imageLoaded);
7072      }
7073      this.bitmapBase = new createjs.Bitmap(img);
7074      this.bitmapScale = new createjs.Bitmap(img);
7075      scale = 200;
7076      this.bitmapScale.scaleX = this.bitmapScale.scaleY = scale;
7077      this.bitmapScale.x = 0 - (this.bitmapScale.image.width * scale - this.bitmapBase.image.width) / 2;
7078      this.bitmapScale.y = 0 - (this.bitmapScale.image.height * scale - this.bitmapBase.image.height) / 2;
7079      this.bitmapScale.visible = false;
7080      this.addChild(this.bitmapScale);
7081      this.addChild(this.bitmapBase);
7082      
7083      //        if !isLoaded && @isInside
7084      //            @bitmapBase.alpha = 0
7085      //            setTimeout(=>
7086      //                if !@isMouseOver && @isInside
7087      //                    @bitmapBase.alpha = 0
7088      //                    createjs.Tween.get(@bitmapBase, ).to({alpha:1}, 200, createjs.Ease.sineInOut)
7089      //            , @thumb.timeout)
7090      this.bitmapScale.visible = false;
7091      //        bitmap2.alpha = 0
7092      this.bitmapScale.mask = this.shape;
7093      if (this.isMouseOver) {
7094        this.bitmapBase.alpha = 0;
7095        this.bitmapScale.visible = true;
7096      }
7097      //            @bitmapScale.alpha = 0
7098      //            createjs.Tween.get(@bitmapScale, ).to({alpha:1}, 200, createjs.Ease.sineInOut)
7099      return setTimeout(() => {
7100        return this.showed();
7101      }, 100);
7102    }
7103
7104    showed() {
7105      boundMethodCheck(this, BitmapWrap);
7106      return this.dispatchEvent(new createjs.Event('showed'));
7107    }
7108
7109  };
7110
7111  BitmapWrap.prototype.shape = null;
7112
7113  BitmapWrap.prototype.bitmapBase = null;
7114
7115  BitmapWrap.prototype.bitmapScale = null;
7116
7117  BitmapWrap.prototype.loader = null;
7118
7119  BitmapWrap.prototype.thumb = null;
7120
7121  BitmapWrap.prototype.isMouseOver = false;
7122
7123  BitmapWrap.prototype.isInside = false;
7124
7125  BitmapWrap.prototype.colorSmaple = ["#dddddd", "#cccccc", "#bbbbbb", "#aaaaaa"];
7126
7127  BitmapWrap.prototype.isNoImage = false;
7128
7129  return BitmapWrap;
7130
7131}).call(this);
7132
7133window.TickerLine = TickerLine;
7134
7135
7136/***/ }),
7137/* 33 */
7138/***/ (function(module, exports, __webpack_require__) {
7139
7140var EventObserver, TickerSingleImage,
7141  boundMethodCheck = function(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new Error('Bound instance method accessed before binding'); } };
7142
7143EventObserver = __webpack_require__(0);
7144
7145TickerSingleImage = (function() {
7146  class TickerSingleImage extends EventObserver {
7147    constructor(project, $addArea, tickerWidth, nameHeight, isTopFirst) {
7148      var htmlStr, i, n, ref;
7149      super();
7150      this.start = this.start.bind(this);
7151      this.stageUpdate = this.stageUpdate.bind(this);
7152      this.interval = this.interval.bind(this);
7153      this.firstShow = this.firstShow.bind(this);
7154      this.add = this.add.bind(this);
7155      this.isAreaInChange = this.isAreaInChange.bind(this);
7156      this.resize = this.resize.bind(this);
7157      this.inSide = this.inSide.bind(this);
7158      this.outSide = this.outSide.bind(this);
7159      this.getThumbOne = this.getThumbOne.bind(this);
7160      this.getThumb = this.getThumb.bind(this);
7161      this.getNextNearest = this.getNextNearest.bind(this);
7162      this.isTopFirst = isTopFirst;
7163      this.tickerWidth = tickerWidth;
7164      this.nameHeight = nameHeight;
7165      //console.log project.name_en
7166      this.me = this;
7167      this.project = project;
7168      this.thumbs = project["thumbs"];
7169      //        @tickerWidth = project["tickerWidth"]
7170      //        @tickerHeight = project["tickerHeight"]
7171      this.$addArea = $addArea;
7172      //        if !@project["thumbs"][0]
7173      //            @project["thumbs"][0] = {url: "http://wonderwall.p.tha.jp/static-data/assets/4/0ebea5bb372684a36dfaeff1a50d84c32762a9ba_v2_top/0411-01.jpg", w: 265, h: 343, ww: 265, hh: 343}
7174      this.$noImageHeight = this.tickerWidth / 2;
7175      this.project["tickerWidth"] = this.tickerWidth;
7176//        if @project["thumbs"][0]
7177
7178//            @tickerHeight = @project["tickerHeight"] = @project["thumbs"][0].h*(@tickerWidth/@project["thumbs"][0].w)
7179
7180//            #console.log project["thumbs"]
7181
7182//            @project.single_image = project["thumbs"][0]
7183//            @project.single_image.ww = @tickerWidth
7184//            @project.single_image.hh = @tickerHeight
7185
7186      // 選択した画像を差し込み  // 納品後調整
7187      for (n = i = 0, ref = this.thumbs.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
7188        if (this.thumbs[n]["use_v2_mobile_index"] === true) {
7189          this.project.single_image = this.thumbs[n];
7190        }
7191      }
7192      if (!this.project.single_image) {
7193        this.project.single_image = this.thumbs[0];
7194      }
7195      if (this.project.single_image) {
7196        this.tickerHeight = this.project["tickerHeight"] = this.project.single_image.h * (this.tickerWidth / this.project.single_image.w);
7197        this.project.single_image.ww = this.tickerWidth;
7198        this.project.single_image.hh = this.tickerHeight;
7199      }
7200      if (this.project["is_map_only"] && !this.project.single_image) {
7201        this.tickerHeight = this.$noImageHeight;
7202      }
7203      htmlStr = Mustache.to_html(window.WonderWall.templ.project_ticker_single, this.project);
7204      this.$htmlStr = $(htmlStr);
7205      this.$addArea.append(this.$htmlStr);
7206      this.$ticker = $("#" + this.project["prj_id"]);
7207      this.$area = this.$ticker.find(".slide");
7208      this.$inner = this.$ticker.find("> a");
7209      if (window.WonderWall.page === "project_map") {
7210        this.$ticker.addClass("map");
7211        this.tickerHeight = this.$ticker.height() - 60;
7212      }
7213      if (this.isTopFirst) {
7214        this.$ticker.find("ul.text").css({
7215          opacity: 0
7216        });
7217        this.$ticker.find("div.images").css({
7218          opacity: 0
7219        });
7220      }
7221      this.$ticker.hide();
7222    }
7223
7224    start() {
7225      var $dummy, imgPreloader, isLoaded, url;
7226      boundMethodCheck(this, TickerSingleImage);
7227      this.tickerLines = [];
7228      if (this.thumbs.length <= 0) {
7229        $dummy = $('<div class="images" />').css({
7230          width: this.tickerWidth,
7231          height: this.$noImageHeight,
7232          "background-color": "#eeeeee"
7233        });
7234        this.$htmlStr.append($dummy);
7235        isLoaded = true;
7236        if (!this.isTopFirst) {
7237          this.firstShow();
7238        }
7239        setTimeout(() => {
7240          return this.trigger("loaded");
7241        }, 0);
7242        return;
7243      }
7244      isLoaded = false;
7245      url = this.thumbs[0].url;
7246      imgPreloader = new Image();
7247      imgPreloader.onload = () => {
7248        if (isLoaded) {
7249          return;
7250        }
7251        isLoaded = true;
7252        if (!this.isTopFirst) {
7253          this.firstShow();
7254        }
7255        this.trigger("loaded");
7256        return imgPreloader = null;
7257      };
7258      imgPreloader.src = url;
7259      if (!imgPreloader.complete) {
7260        return imgPreloader.onload();
7261      }
7262    }
7263
7264    stageUpdate() {
7265      boundMethodCheck(this, TickerSingleImage);
7266    }
7267
7268    interval() {
7269      boundMethodCheck(this, TickerSingleImage);
7270    }
7271
7272    firstShow() {
7273      boundMethodCheck(this, TickerSingleImage);
7274      this.isFirstInterval = false;
7275      if (this.isTopFirst) {
7276        this.$ticker.find("ul.text").animate({
7277          "opacity": 1
7278        }, 500);
7279        this.$ticker.find("div.images").animate({
7280          "opacity": 1
7281        }, 500);
7282      }
7283      this.$inner.show();
7284      this.$ticker.show();
7285      this.trigger("firstShow", this);
7286    }
7287
7288    add(isAnimation = true) {
7289      boundMethodCheck(this, TickerSingleImage);
7290    }
7291
7292    isAreaInChange() {
7293      boundMethodCheck(this, TickerSingleImage);
7294      return this.isAreaIn = true;
7295    }
7296
7297    resize(scrollTop, stW, stH) {
7298      var offset;
7299      boundMethodCheck(this, TickerSingleImage);
7300      return;
7301      offset = this.$ticker.offset();
7302      if (offset.top + this.tickerHeight + this.nameHeight > scrollTop && offset.top < scrollTop + stH) {
7303        return this.inSide();
7304      } else {
7305        return this.outSide();
7306      }
7307    }
7308
7309    inSide() {
7310      var i, n, ref;
7311      boundMethodCheck(this, TickerSingleImage);
7312      this.isFirstInterval = true;
7313      this.isAreaIn = true;
7314      this.$inner.show();
7315//@$ticker.find("canvas").show()
7316      for (n = i = 0, ref = this.tickerLines.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
7317        this.tickerLines[n].inSide();
7318      }
7319      if (this.isFirstInterval) {
7320        this.firstShow();
7321        this.isFirstInsideMove = true;
7322        return setTimeout(() => {
7323          return this.isFirstInsideMove = false;
7324        }, this.animationTime);
7325      }
7326    }
7327
7328    outSide() {
7329      var i, n, ref, results;
7330      boundMethodCheck(this, TickerSingleImage);
7331      this.isAreaIn = false;
7332      this.$inner.hide();
7333//@$ticker.find("canvas").hide()
7334      results = [];
7335      for (n = i = 0, ref = this.tickerLines.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
7336        results.push(this.tickerLines[n].outSide());
7337      }
7338      return results;
7339    }
7340
7341    getThumbOne() {
7342      var thumb;
7343      boundMethodCheck(this, TickerSingleImage);
7344      thumb = this.loadedThumb[this.getThumbOneCount];
7345      //console.log @getThumbOneCount, @loadedThumb.length, thumb
7346      this.getThumbOneCount++;
7347      if (this.getThumbOneCount >= this.loadedThumb.length) {
7348        this.getThumbOneCount = 0;
7349      }
7350      return thumb;
7351    }
7352
7353    getThumb() {
7354      var arr1, arr2, arr3, arr4, arrr, o;
7355      boundMethodCheck(this, TickerSingleImage);
7356      arrr = this.thumbs;
7357      if (this.sortThumbCount > arrr.length - 1) {
7358        this.sortThumbCount = 0;
7359      }
7360      if (this.sortThumbCount === 0) {
7361        this.sortThumbCount++;
7362        return arrr;
7363      }
7364      arr1 = arrr.slice(this.sortThumbCount, arrr.length);
7365      arr2 = arrr.slice(0, this.sortThumbCount);
7366      this.sortThumbCount++;
7367      arr3 = arr1.concat(arr2);
7368      o = arr3[0];
7369      arr4 = AmathUtil.arrayShuffle(arr3.slice(1, arr3.length));
7370      arr4.unshift(o);
7371      return arr4;
7372    }
7373
7374    getNextNearest() {
7375      boundMethodCheck(this, TickerSingleImage);
7376      if (this.nearestsCount === -1) {
7377        this.nearest = ["left", "center", "right"];
7378        this.nearest = AmathUtil.arrayShuffle(this.nearests);
7379      }
7380      if (this.nearestsCount >= this.nearests.length - 1) {
7381        this.nearestsCount = -1;
7382      }
7383      this.nearestsCount++;
7384      return this.nearests[this.nearestsCount];
7385    }
7386
7387  };
7388
7389  TickerSingleImage.prototype.project = null;
7390
7391  TickerSingleImage.prototype.thumbs = null;
7392
7393  TickerSingleImage.prototype.tickerLines = null;
7394
7395  TickerSingleImage.prototype.$ticker = null;
7396
7397  TickerSingleImage.prototype.$area = null;
7398
7399  TickerSingleImage.prototype.$inner = null;
7400
7401  TickerSingleImage.prototype.margin = 5;
7402
7403  TickerSingleImage.prototype.stage = null;
7404
7405  TickerSingleImage.prototype.images = null;
7406
7407  TickerSingleImage.prototype.removeLength = 10;
7408
7409  TickerSingleImage.prototype.me = null;
7410
7411  TickerSingleImage.prototype.border = null;
7412
7413  TickerSingleImage.prototype.isMouseOver = false;
7414
7415  TickerSingleImage.prototype.$addArea = null;
7416
7417  TickerSingleImage.prototype.tickerWidth = null;
7418
7419  TickerSingleImage.prototype.tickerHeight = null;
7420
7421  TickerSingleImage.prototype.nameHeight = null;
7422
7423  TickerSingleImage.prototype.isTopFirst = null;
7424
7425  TickerSingleImage.prototype.$htmlStr = null;
7426
7427  TickerSingleImage.prototype.$noImageHeight = null;
7428
7429  TickerSingleImage.prototype.isLoaded = false;
7430
7431  TickerSingleImage.prototype.isFirstInterval = true;
7432
7433  TickerSingleImage.prototype._firstThumbURL = null;
7434
7435  TickerSingleImage.prototype.animationTime = 800;
7436
7437  TickerSingleImage.prototype.isAreaIn = false;
7438
7439  TickerSingleImage.prototype.isFirstInsideMove = false;
7440
7441  TickerSingleImage.prototype.getThumbOneCount = 0;
7442
7443  TickerSingleImage.prototype.loadedThumb = null;
7444
7445  TickerSingleImage.prototype.sortThumbCount = 0;
7446
7447  TickerSingleImage.prototype.nearests = ["left", "right"];
7448
7449  TickerSingleImage.prototype.nearestsCount = -1;
7450
7451  return TickerSingleImage;
7452
7453}).call(this);
7454
7455window.TickerSingleImage = TickerSingleImage;
7456
7457
7458/***/ }),
7459/* 34 */
7460/***/ (function(module, exports, __webpack_require__) {
7461
7462var EventObserver, TickerSingleImageIPad,
7463  boundMethodCheck = function(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new Error('Bound instance method accessed before binding'); } };
7464
7465EventObserver = __webpack_require__(0);
7466
7467TickerSingleImageIPad = (function() {
7468  class TickerSingleImageIPad extends EventObserver {
7469    constructor(project, $addArea, tickerWidth, nameHeight, isTopFirst) {
7470      var htmlStr;
7471      super();
7472      this.start = this.start.bind(this);
7473      this.stageUpdate = this.stageUpdate.bind(this);
7474      this.interval = this.interval.bind(this);
7475      this.firstShow = this.firstShow.bind(this);
7476      this.add = this.add.bind(this);
7477      this.isAreaInChange = this.isAreaInChange.bind(this);
7478      this.resize = this.resize.bind(this);
7479      this.inSide = this.inSide.bind(this);
7480      this.outSide = this.outSide.bind(this);
7481      this.getThumbOne = this.getThumbOne.bind(this);
7482      this.getThumb = this.getThumb.bind(this);
7483      this.getNextNearest = this.getNextNearest.bind(this);
7484      this.isTopFirst = isTopFirst;
7485      this.tickerWidth = tickerWidth;
7486      this.nameHeight = nameHeight;
7487      //console.log project.name_en
7488      this.me = this;
7489      this.project = project;
7490      this.thumbs = project["thumbs"];
7491      //        @tickerWidth = project["tickerWidth"]
7492      //        @tickerHeight = project["tickerHeight"]
7493      this.$addArea = $addArea;
7494      this.project["tickerWidth"] = this.tickerWidth;
7495      this.tickerHeight = this.project["tickerHeight"] = this.project["thumbs"][0].h * (this.tickerWidth / this.project["thumbs"][0].w);
7496      this.project.single_image = project["thumbs"][0];
7497      this.project.single_image.ww = this.tickerWidth;
7498      this.project.single_image.hh = this.tickerHeight;
7499      htmlStr = Mustache.to_html(window.WonderWall.templ.project_ticker_single, this.project);
7500      this.$htmlStr = $(htmlStr);
7501      this.$addArea.append(this.$htmlStr);
7502      this.$ticker = $("#" + this.project["prj_id"]);
7503      this.$area = this.$ticker.find(".slide");
7504      this.$inner = this.$ticker.find("> a");
7505      if (this.isTopFirst) {
7506        this.$ticker.find("ul.text").css({
7507          opacity: 0
7508        });
7509        this.$ticker.find("div.images").css({
7510          opacity: 0
7511        });
7512      }
7513    }
7514
7515    start() {
7516      var imgPreloader, isLoaded, loadedCount, nameObj, url;
7517      boundMethodCheck(this, TickerSingleImageIPad);
7518      console.log(100);
7519      this.tickerLines = [];
7520      this.loadedThumb = [];
7521      nameObj = {};
7522      loadedCount = 0;
7523      isLoaded = false;
7524      url = this.thumbs[loadedCount].url;
7525      imgPreloader = new Image();
7526      imgPreloader.onload = () => {
7527        if (isLoaded) {
7528          return;
7529        }
7530        isLoaded = true;
7531        if (!this.isTopFirst) {
7532          this.firstShow();
7533        }
7534        this.trigger("loaded");
7535        return imgPreloader = null;
7536      };
7537      imgPreloader.src = url;
7538      if (!imgPreloader.complete) {
7539        return imgPreloader.onload();
7540      }
7541    }
7542
7543    stageUpdate() {
7544      boundMethodCheck(this, TickerSingleImageIPad);
7545    }
7546
7547    interval() {
7548      boundMethodCheck(this, TickerSingleImageIPad);
7549    }
7550
7551    firstShow() {
7552      boundMethodCheck(this, TickerSingleImageIPad);
7553      this.isFirstInterval = false;
7554      if (this.isTopFirst) {
7555        this.$ticker.find("ul.text").animate({
7556          "opacity": 1
7557        }, 500);
7558        this.$ticker.find("div.images").animate({
7559          "opacity": 1
7560        }, 500);
7561      }
7562      this.$inner.show();
7563      this.$ticker.show();
7564      this.trigger("firstShow", this);
7565    }
7566
7567    add(isAnimation = true) {
7568      boundMethodCheck(this, TickerSingleImageIPad);
7569    }
7570
7571    isAreaInChange() {
7572      boundMethodCheck(this, TickerSingleImageIPad);
7573      return this.isAreaIn = true;
7574    }
7575
7576    resize(scrollTop, stW, stH) {
7577      var offset;
7578      boundMethodCheck(this, TickerSingleImageIPad);
7579      return;
7580      offset = this.$ticker.offset();
7581      if (offset.top + this.tickerHeight + this.nameHeight > scrollTop && offset.top < scrollTop + stH) {
7582        return this.inSide();
7583      } else {
7584        return this.outSide();
7585      }
7586    }
7587
7588    inSide() {
7589      var i, n, ref;
7590      boundMethodCheck(this, TickerSingleImageIPad);
7591      this.isFirstInterval = true;
7592      this.isAreaIn = true;
7593      this.$inner.show();
7594//@$ticker.find("canvas").show()
7595      for (n = i = 0, ref = this.tickerLines.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
7596        this.tickerLines[n].inSide();
7597      }
7598      if (this.isFirstInterval) {
7599        this.firstShow();
7600        this.isFirstInsideMove = true;
7601        return setTimeout(() => {
7602          return this.isFirstInsideMove = false;
7603        }, this.animationTime);
7604      }
7605    }
7606
7607    outSide() {
7608      var i, n, ref, results;
7609      boundMethodCheck(this, TickerSingleImageIPad);
7610      this.isAreaIn = false;
7611      this.$inner.hide();
7612//@$ticker.find("canvas").hide()
7613      results = [];
7614      for (n = i = 0, ref = this.tickerLines.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
7615        results.push(this.tickerLines[n].outSide());
7616      }
7617      return results;
7618    }
7619
7620    getThumbOne() {
7621      var thumb;
7622      boundMethodCheck(this, TickerSingleImageIPad);
7623      thumb = this.loadedThumb[this.getThumbOneCount];
7624      //console.log @getThumbOneCount, @loadedThumb.length, thumb
7625      this.getThumbOneCount++;
7626      if (this.getThumbOneCount >= this.loadedThumb.length) {
7627        this.getThumbOneCount = 0;
7628      }
7629      return thumb;
7630    }
7631
7632    getThumb() {
7633      var arr1, arr2, arr3, arr4, arrr, o;
7634      boundMethodCheck(this, TickerSingleImageIPad);
7635      arrr = this.thumbs;
7636      if (this.sortThumbCount > arrr.length - 1) {
7637        this.sortThumbCount = 0;
7638      }
7639      if (this.sortThumbCount === 0) {
7640        this.sortThumbCount++;
7641        return arrr;
7642      }
7643      arr1 = arrr.slice(this.sortThumbCount, arrr.length);
7644      arr2 = arrr.slice(0, this.sortThumbCount);
7645      this.sortThumbCount++;
7646      arr3 = arr1.concat(arr2);
7647      o = arr3[0];
7648      arr4 = AmathUtil.arrayShuffle(arr3.slice(1, arr3.length));
7649      arr4.unshift(o);
7650      return arr4;
7651    }
7652
7653    getNextNearest() {
7654      boundMethodCheck(this, TickerSingleImageIPad);
7655      if (this.nearestsCount === -1) {
7656        this.nearest = ["left", "center", "right"];
7657        this.nearest = AmathUtil.arrayShuffle(this.nearests);
7658      }
7659      if (this.nearestsCount >= this.nearests.length - 1) {
7660        this.nearestsCount = -1;
7661      }
7662      this.nearestsCount++;
7663      return this.nearests[this.nearestsCount];
7664    }
7665
7666  };
7667
7668  TickerSingleImageIPad.prototype.project = null;
7669
7670  TickerSingleImageIPad.prototype.thumbs = null;
7671
7672  TickerSingleImageIPad.prototype.tickerLines = null;
7673
7674  TickerSingleImageIPad.prototype.$ticker = null;
7675
7676  TickerSingleImageIPad.prototype.$area = null;
7677
7678  TickerSingleImageIPad.prototype.$inner = null;
7679
7680  TickerSingleImageIPad.prototype.margin = 5;
7681
7682  TickerSingleImageIPad.prototype.stage = null;
7683
7684  TickerSingleImageIPad.prototype.images = null;
7685
7686  TickerSingleImageIPad.prototype.removeLength = 10;
7687
7688  TickerSingleImageIPad.prototype.me = null;
7689
7690  TickerSingleImageIPad.prototype.border = null;
7691
7692  TickerSingleImageIPad.prototype.isMouseOver = false;
7693
7694  TickerSingleImageIPad.prototype.$addArea = null;
7695
7696  TickerSingleImageIPad.prototype.tickerWidth = null;
7697
7698  TickerSingleImageIPad.prototype.tickerHeight = null;
7699
7700  TickerSingleImageIPad.prototype.nameHeight = null;
7701
7702  TickerSingleImageIPad.prototype.isTopFirst = null;
7703
7704  TickerSingleImageIPad.prototype.$htmlStr = null;
7705
7706  TickerSingleImageIPad.prototype.isLoaded = false;
7707
7708  TickerSingleImageIPad.prototype.isFirstInterval = true;
7709
7710  TickerSingleImageIPad.prototype._firstThumbURL = null;
7711
7712  TickerSingleImageIPad.prototype.animationTime = 800;
7713
7714  TickerSingleImageIPad.prototype.isAreaIn = false;
7715
7716  TickerSingleImageIPad.prototype.isFirstInsideMove = false;
7717
7718  TickerSingleImageIPad.prototype.getThumbOneCount = 0;
7719
7720  TickerSingleImageIPad.prototype.loadedThumb = null;
7721
7722  TickerSingleImageIPad.prototype.sortThumbCount = 0;
7723
7724  TickerSingleImageIPad.prototype.nearests = ["left", "right"];
7725
7726  TickerSingleImageIPad.prototype.nearestsCount = -1;
7727
7728  return TickerSingleImageIPad;
7729
7730}).call(this);
7731
7732window.TickerSingleImageIPad = TickerSingleImageIPad;
7733
7734
7735/***/ }),
7736/* 35 */
7737/***/ (function(module, exports, __webpack_require__) {
7738
7739var EventObserver, IndexUtil;
7740
7741EventObserver = __webpack_require__(0);
7742
7743IndexUtil = (function() {
7744  class IndexUtil extends EventObserver {
7745    constructor() {
7746      super();
7747    }
7748
7749    static dataSet(projects) {
7750      var all, date, dayAndLocation, i, image, images, j, lang, n, nn, o, project, ref, ref1, results, thumb_l, top_only;
7751      IndexUtil.model = Model;
7752// projectデータ 整形
7753      results = [];
7754      for (n = i = 0, ref = projects.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
7755        project = projects[n];
7756        // 言語
7757        lang = "";
7758        if (window.location.href.indexOf("/ja/") > 0) {
7759          lang = "/ja";
7760        }
7761        project["lang"] = lang;
7762        // color
7763        if (project.category) {
7764          project["color"] = IndexUtil.model.category1[project.category[0].category1];
7765        } else {
7766          project["color"] = "333333";
7767        }
7768        // console.log(0, project.category);
7769        // console.log(1, project["color"]);
7770        // console.log(2, project.category[0].category1);
7771        // console.log(3, @model.category1);
7772
7773        // Name
7774        if (window.WonderWall.page === "project_map") {
7775          project["name"] = project["name"];
7776        } else {
7777          if (project["name_en"]) {
7778            project["name"] = project["name_en"];
7779          }
7780          if (project["name"].length > 20) {
7781            project["name"] = project["name"].slice(0, 20 - 1) + "...";
7782          }
7783        }
7784        // Day and Location
7785        if (window.WonderWall.page === "project_map") {
7786          project["day_and_location"] = project["address"];
7787        } else {
7788          dayAndLocation = "";
7789          if (project["date"] || project["location_en"]) {
7790            date = project["date"].split(".");
7791            if (date[0] && project["location_en"]) {
7792              dayAndLocation = date[0];
7793              dayAndLocation += " - ";
7794              dayAndLocation += project["location_en"];
7795            } else if (date[0]) {
7796              dayAndLocation += date[0];
7797            } else if (project["location_en"]) {
7798              dayAndLocation += project["location_en"];
7799            }
7800          }
7801          if (dayAndLocation.length > 26) {
7802            dayAndLocation = dayAndLocation.slice(0, 26) + "...";
7803          }
7804          project["day_and_location"] = dayAndLocation;
7805        }
7806        project["thumbs"] = [];
7807        images = project["images"];
7808        //            if project.lat
7809        //                console.log project["images"]
7810        if (images) {
7811          all = [];
7812          top_only = [];
7813          for (nn = j = 0, ref1 = images.length; (0 <= ref1 ? j < ref1 : j > ref1); nn = 0 <= ref1 ? ++j : --j) {
7814            image = images[nn];
7815            if (image["thumb_v2_top"]) {
7816              thumb_l = image["thumb_v2_top"];
7817              o = {
7818                "url": thumb_l["url"],
7819                "w": 265,
7820                "h": thumb_l["h"] * (265 / thumb_l["w"]),
7821                "ww": thumb_l.w,
7822                "hh": thumb_l.h,
7823                "use_v2_mobile_index": image.use_v2_mobile_index
7824              };
7825              all.push(o);
7826              if (image["use_v2_index"]) {
7827                top_only.push(o);
7828              }
7829            }
7830          }
7831          if (top_only.length === 0) {
7832            project["thumbs"] = all;
7833          }
7834          if (top_only.length > 0) {
7835            results.push(project["thumbs"] = top_only);
7836          } else {
7837            results.push(void 0);
7838          }
7839        } else {
7840          results.push(void 0);
7841        }
7842      }
7843      return results;
7844    }
7845
7846  };
7847
7848  IndexUtil.model = null;
7849
7850  return IndexUtil;
7851
7852}).call(this);
7853
7854window.IndexUtil = IndexUtil;
7855
7856
7857/***/ }),
7858/* 36 */
7859/***/ (function(module, exports) {
7860
7861var WonderWall;
7862
7863WonderWall = (function() {
7864  class WonderWall {
7865    constructor() {
7866      var controller, view;
7867      Model.getInstance();
7868      view = new View();
7869      controller = new Controller(view);
7870    }
7871
7872  };
7873
7874  WonderWall.prototype.me = null;
7875
7876  return WonderWall;
7877
7878}).call(this);
7879
7880module.exports = WonderWall;
7881
7882
7883/***/ }),
7884/* 37 */
7885/***/ (function(module, exports, __webpack_require__) {
7886
7887var Event, FontLoader;
7888
7889Event = __webpack_require__(1);
7890
7891FontLoader = (function() {
7892  class FontLoader extends Event {
7893    constructor(_fontName) {
7894      super();
7895      this.fontName = _fontName;
7896    }
7897
7898    init() {
7899      var $s, _h, _w, checkWidth, count, me, timerId;
7900      me = this;
7901      $s = $("<div />").css({
7902        "font-size": 100,
7903        width: 400,
7904        "font-family": this.fontName,
7905        "position": "absolute",
7906        top: -1000,
7907        "word-wrap": "break-word"
7908      });
7909      $s.text("ABCDEFGHIJKLMNOPGRSTUVWXYZ");
7910      $("body").append($s);
7911      _w = $s.width();
7912      _h = $s.height();
7913      count = 0;
7914      checkWidth = function() {
7915        //console.log $s.height(), _w
7916        if ($s.width() !== _w || $s.height() !== _h) {
7917          me.trigger("loaded");
7918          clearInterval(timerId);
7919          $s.remove();
7920        }
7921        if (count === 1) {
7922          me.trigger("loaded");
7923          clearInterval(timerId);
7924          $s.remove();
7925        }
7926        return count++;
7927      };
7928      return timerId = setInterval(checkWidth, 100);
7929    }
7930
7931  };
7932
7933  FontLoader.prototype.fontName = null;
7934
7935  return FontLoader;
7936
7937}).call(this);
7938
7939//me.trigger("loaded")
7940module.exports = FontLoader;
7941
7942
7943/***/ }),
7944/* 38 */
7945/***/ (function(module, exports) {
7946
7947var ContentsFromUrl, LanguagesHrefChange;
7948
7949LanguagesHrefChange = class LanguagesHrefChange {
7950  constructor() {
7951    var _href, as, href, i, language, n, no_langchange, ref;
7952    language = SPRZNY.html_lang;
7953    if (language === "") {
7954      return;
7955    }
7956    as = $("a");
7957    for (n = i = 0, ref = as.length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
7958      href = $(as[n]).attr("href");
7959      no_langchange = $(as[n]).attr("data-no_langchange");
7960      if (href && no_langchange !== "") {
7961        if (href.substring(0, 1) === "/") {
7962          _href = "/" + language + href;
7963          $(as[n]).attr("href", _href);
7964        }
7965      }
7966    }
7967  }
7968
7969};
7970
7971ContentsFromUrl = class ContentsFromUrl {
7972  constructor() {
7973    var l1, urls;
7974    urls = location.href.split("/");
7975    l1 = urls[3];
7976    if (l1 === "artists") {
7977      new Artists();
7978    }
7979    if (l1 === "products") {
7980      new Products();
7981    }
7982    if (l1 === "about") {
7983      new About();
7984    }
7985    l1 = urls[4];
7986    if (l1 === "artists") {
7987      new Artists();
7988    }
7989    if (l1 === "products") {
7990      new Products();
7991    }
7992    if (l1 === "about") {
7993      new About();
7994    }
7995    if (SPRZNY.url1 === "") {
7996      new Top();
7997    }
7998  }
7999
8000};
8001
8002
8003/***/ }),
8004/* 39 */
8005/***/ (function(module, exports, __webpack_require__) {
8006
8007  /*
8008      CoffeeScript で学ぶ Observer パターンの基礎
8009      http://dev.classmethod.jp/client-side/javascript/observer-patter-of-coffeescript/
8010  */
8011var EventObserver, ImageLoader,
8012  boundMethodCheck = function(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new Error('Bound instance method accessed before binding'); } };
8013
8014EventObserver = __webpack_require__(0);
8015
8016ImageLoader = (function() {
8017  class ImageLoader extends EventObserver {
8018    constructor(_url) {
8019      super();
8020      this.init = this.init.bind(this);
8021      this.onload = this.onload.bind(this);
8022      this.onerror = this.onerror.bind(this);
8023      this.me = this;
8024      this.url = _url;
8025      this.img = new Image();
8026      this.img.onload = this.onload;
8027      this.img.onerror = this.onerror;
8028    }
8029
8030    init(_data) {
8031      boundMethodCheck(this, ImageLoader);
8032      this.img.src = this.url;
8033      return this.data = _data;
8034    }
8035
8036    onload() {
8037      boundMethodCheck(this, ImageLoader);
8038      return this.me.trigger("loaded", this.data);
8039    }
8040
8041    onerror() {
8042      boundMethodCheck(this, ImageLoader);
8043      return this.me.trigger("onerror");
8044    }
8045
8046  };
8047
8048  ImageLoader.prototype.url = null;
8049
8050  ImageLoader.prototype.img = null;
8051
8052  ImageLoader.prototype.me = null;
8053
8054  ImageLoader.prototype.data = null;
8055
8056  return ImageLoader;
8057
8058}).call(this);
8059
8060
8061/***/ }),
8062/* 40 */
8063/***/ (function(module, exports, __webpack_require__) {
8064
8065var Event, RandumText;
8066
8067Event = __webpack_require__(1);
8068
8069RandumText = (function() {
8070  class RandumText extends Event {
8071    constructor($dom, time) {
8072      var $d, $d2, complete, length, me, step, step2, text;
8073      super();
8074      me = this;
8075      if (!$dom.attr("data-text")) {
8076        $dom.attr("data-text", $dom.text());
8077      }
8078      text = this._source = $dom.attr("data-text");
8079      complete = (e) => {
8080        step(e);
8081        $dom.text(text);
8082        return me.trigger("complete");
8083      };
8084      length = 0;
8085      step = (e) => {
8086        var c, chars, i, left, lefts, n, per, r, ref, rtext, strPer, texts;
8087        me = this;
8088        lefts = $d.css("left");
8089        left = lefts.split("px")[0];
8090        chars = [];
8091        c = null;
8092        r = null;
8093        rtext = "ABCDEFGHIHKLMNOPQRSTUVWXYZ@#$%&()-[]/!?--------@#$%&()-[]/!?--------";
8094        texts = rtext.split("");
8095        per = Number(left);
8096        for (n = i = 0, ref = length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
8097          strPer = n / (this._source.length - 1);
8098          if (strPer > per) {
8099            chars.push(texts[this.RandomRange(0, texts.length - 1)]);
8100          } else {
8101            chars.push(this._source[n]);
8102          }
8103        }
8104        $dom.html("");
8105        return $dom.text(chars.join(""));
8106      };
8107      step2 = (e) => {
8108        var left, lefts, per;
8109        lefts = $d2.css("left");
8110        left = lefts.split("px")[0];
8111        per = Number(left);
8112        return length = this._source.length * per;
8113      };
8114      $d = $("<div />");
8115      $d.css({
8116        "left": -0.5
8117      });
8118      $d.delay(1).animate({
8119        left: 1
8120      }, {
8121        duration: time,
8122        step: step,
8123        complete: complete,
8124        easing: "easeOutSine"
8125      });
8126      $d2 = $("<div />");
8127      $d2.css({
8128        "left": -0.1
8129      });
8130      $d2.delay(1).animate({
8131        left: 1
8132      }, {
8133        duration: time * 0.4,
8134        step: step2,
8135        easing: "easeOutSine"
8136      });
8137      //		chars = []
8138      //		for n in [0...@_source.length]
8139      //			chars.push("-")
8140
8141      //		$dom.html(chars.join(""))
8142      $dom.html("");
8143    }
8144
8145    RandomRange(nMin, nMax) {
8146      var nRandomInt;
8147      nRandomInt = Math.floor(Math.random() * (nMax - nMin + 1)) + nMin;
8148      return nRandomInt;
8149    }
8150
8151  };
8152
8153  RandumText.prototype._source = null;
8154
8155  return RandumText;
8156
8157}).call(this);
8158
8159window.RandumText = RandumText;
8160
8161
8162/***/ }),
8163/* 41 */
8164/***/ (function(module, exports) {
8165
8166var Test;
8167
8168Test = class Test extends Event {
8169  constructor() {
8170    super();
8171    $("h1 > a").hover((function() {
8172      return new RandumText($(this), 10000, false, true);
8173    }), (function() {}));
8174    $("h1 > a").bind('click', function(e) {
8175      console.log("a");
8176      location.href = "http://google.com/";
8177      return false;
8178    });
8179    //	$("h1 > a").bind 'mousedown', (e) ->
8180    //		console.log "a"
8181    //		location.href = "http://google.com/"
8182    //		return false
8183    $("h1 > a").bind('mouseover', function(e) {
8184      return console.log("b");
8185    });
8186    $("h1 > a").bind('mouseout', function(e) {
8187      return console.log("c");
8188    });
8189  }
8190
8191};
8192
8193
8194/***/ }),
8195/* 42 */
8196/***/ (function(module, exports) {
8197
8198var Redirect;
8199
8200Redirect = (function() {
8201  class Redirect {
8202    constructor() {
8203      var select_language;
8204      select_language = $.cookie(this.cookie_select_language, {
8205        path: "/"
8206      });
8207      if (!select_language) {
8208        this.firstRedirect();
8209      }
8210    }
8211
8212    firstRedirect() {
8213      var br, check, i, id, n, redirect_url, ref;
8214      br = this.getBrowserLanguage();
8215      if (br === "en") {
8216        br = "";
8217      }
8218      // ブラウザ言語 != 今の開いているページの言語
8219      if (br !== SPRZNY.html_lang) {
8220        // ブラウザランゲージにあった言語を用意しているか
8221        check = false;
8222        for (n = i = 0, ref = SPRZNY.languages["languages"].length; (0 <= ref ? i < ref : i > ref); n = 0 <= ref ? ++i : --i) {
8223          id = SPRZNY.languages["languages"][n]["id"];
8224          if (br === id) {
8225            check = true;
8226          }
8227        }
8228        if (check) {
8229          $.cookie(this.cookie_select_language, br, {
8230            path: "/"
8231          });
8232        } else {
8233          $.cookie(this.cookie_select_language, "", {
8234            path: "/"
8235          });
8236        }
8237        redirect_url = "/" + br;
8238        if (SPRZNY.url1 !== "") {
8239          redirect_url += "/" + SPRZNY.url1;
8240        }
8241        if (SPRZNY.url2 !== "") {
8242          redirect_url += "/" + SPRZNY.url2;
8243        }
8244        $.cookie(this.cookie_select_language, br, {
8245          path: "/"
8246        });
8247        return location.href = redirect_url;
8248      }
8249    }
8250
8251    getBrowserLanguage() {
8252      var e;
8253      try {
8254        return (navigator.browserLanguage || navigator.language || navigator.userLanguage).substr(0, 2);
8255      } catch (error) {
8256        e = error;
8257        return "";
8258      }
8259    }
8260
8261  };
8262
8263  Redirect.prototype.cookie_select_language = "sprz_select_language03";
8264
8265  return Redirect;
8266
8267}).call(this);
8268
8269
8270/***/ }),
8271/* 43 */
8272/***/ (function(module, exports) {
8273
8274var SvgRotation;
8275
8276SvgRotation = (function() {
8277  class SvgRotation {
8278    constructor() {
8279      var $svg, dgrop, s;
8280      $svg = $(this.svg).css({
8281        width: 40,
8282        height: 40,
8283        border: 0
8284      });
8285      $body.append($svg);
8286      TweenMax.to($svg, 2, {
8287        rotation: 360,
8288        transformOrigin: "50% 50%"
8289      });
8290      return;
8291      $svg = $(this.svg).css({
8292        width: 40,
8293        height: 40,
8294        border: 0
8295      });
8296      $body.append($svg);
8297      dgrop = d3.select("#loading");
8298      console.log(dgrop);
8299      $body.bind("click", function(d) {
8300        console.log(0);
8301        return dgrop.attr("transform", "rotate(" + 10 + ")");
8302      });
8303      return;
8304      $body.prepend('<svg id="loading"></svg>');
8305      //$body.prepend(@svg)
8306      s = Snap("#loading");
8307      s.animate({
8308        cx: 160,
8309        cy: 160,
8310        fill: "blue"
8311      }, 3000);
8312      return;
8313      //s.imageAsDataScheme("/assets/images/loading.svg",0,0,200,200);
8314      $svg = $(this.svg).css({
8315        width: 40,
8316        height: 40,
8317        border: 0
8318      });
8319      $body.append($svg);
8320      $svg.velocity({
8321        rotateZ: "360deg"
8322      }, {
8323        //            translateX: "200px",
8324        //            translateZ: "200px",
8325        //            fill: "#ff0000",
8326        //            strokeRed: 255,
8327        //            strokeGreen: 0,
8328        //            strokeBlue: 0,
8329        //            opacity: 1,
8330        //            width: "50%
8331        loop: true,
8332        easing: "linear",
8333        duration: 1000
8334      });
8335    }
8336
8337  };
8338
8339  SvgRotation.prototype.svg0 = '<iframe id="loading" src="/assets/images/loading.svg?1"></iframe>';
8340
8341  SvgRotation.prototype.svg1 = '<embed id="loading" src="/assets/images/loading.svg" type="image/svg+xml" />';
8342
8343  SvgRotation.prototype.svg2 = '<object data="/assets/images/loading.svg" type="image/svg+xml"></object>';
8344
8345  SvgRotation.prototype.svg3 = '<img src="/assets/images/loading.svg">';
8346
8347  SvgRotation.prototype.svg = '<svg version="1.1" id="loading" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 1190.6 841.9" enable-background="new 0 0 1190.6 841.9" xml:space="preserve"> <g> <g> <image overflow="visible" width="841.3" height="841.3" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA0oAAANKCAYAAAC02r7tAAAACXBIWXMAAAsSAAALEgHS3X78AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAA1P5JREFUeNrsvWm0XVd1oLuvLMgv JI337xXGviM/KgU2sd6rl4ppghSS2CQhqJKCQAhBgI17I8umMRiQTWsbW40tMI1tWRAIgcTGhiQQ VxEp9ZKYqlE8KyHwr4YMTkcSIpskQAjZby/pHPno3N2sZs7V7P19Yxxf+d5zdrP2ufvM78655lqp AAAAHHnFK16xqflyzvL367qe/3N19lj+/vLzT3ne2972turpT3/64lOONY+HLQ/rcM/Pjq6srBzl ygEAgC3rGQIAgGmzffv2LQsiY+Rn0+zfm5rvL8rQ/GcrXeLTwUrgIW6TOM+lY16UqqOzx1zMjpw8 8JWVQ7xDAAAQJQAAGAmvetWrzqxOZGrmXzca0ZnJwvz7UiJTIls6/t0nVyaz9djCv4/NBOuRiowV AACiBAAA6XnNa15zPLvTBPI/Wp3I8iyK0ZnN91cYJXE298nVTKpOitPCA5ECAECUAABAggsuuODM mfTMA/LnzeRnLkbHaYLv1vk/Xd8HdVZnDyeRosQPAABRAgCABS688MJFIZpng57X8fTgLBECladI LUnUIQQKAABRAgCYBK997WtNFshkg86ZfTVCtIWRgT6JQqAAABAlAIBRcNFFFy0K0ZnzfzcB78bl 55LdAWGBOtK8px5muAAAECUAgORcfPHFz5vJkHk8b7YukC0m2l1BoEBYoA7P5OnhmTwdZagAABAl AAA1LrnkkjNnMnRSjBgVyJAtS/JkROnITJ6OULYHAIAoAQCESNHxdYdmMjSXoo0jPd3WzBaMhtXZ Y9tMnMwXk206XD2RdaJkDwAAUQIAWMull176owtSdPzRtRZRX2lc87OaNYygADZXC+tCNe9Zs3ju POt0XKCa9/IxhgkAECUAgIlx2WWXzecU/UQVIVskMe/IcRtOWSLFeVFIYxmYJiRtJXvz+U6HmesE AIgSAMA4xcjML5pLkfl6JqMSBcr6ymV19tg+E6djS+JEuR4AIEoAAKVx+eWXb5xLURPgvXAW8GWH RJaILnkQCZN12lY9Mdfp6EycPjMTJ0r1AABRAgDIVI7mGSMjRj8qsMkY2RDkB0pltTo142QyTPeb B9kmAECUAAAScsUVVxgZMnL0C9WJzFHr8waaLyAkADLMG0TsmpXpGWk6NBMnsk0AgCgBACjLkckW zbNGLvOMnLNDvoKVS+e7rmNEDiECpkxve0W2CQAQJQAAHa688koz12ieNXphE3BtrAptDlCioCBV IATZJgBAlAAAQnnd6163sQmmjovR7LEcuE+2kxriAiNgOdtkpOkzSBMAIEoAAO1ydOZMin618mzE oCQRtLdG2ECXxU56pizv4
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 Et+PAZkQxhYABjE
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
8347Ke5p7/GaG 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
8347avXv3hiaYuDD2X1Qnll0S Pa5Y7cNd11kSOofozR1C1lfyeV3gPJcc5yD1ZoZcjknoWog2dJBoOkHGCgBgtJjGDnumdMJTyyjd UM0aOGjM8wkMxF2DI/VGD8xb6h/3zNqGhyzwGrMEz/U1to0dnL8nKcWOzRlqqfe8QiletOwQQgUA UCSTauwwGVHavXu3aeDwktQf1trClEkpXlbzljQDuJxlyfH1PrIUnAER/l1wep6AeNXS9wbN3wUA AAAhJtPYYUoZpV1VpHk+0gG2T0CUY3ZJYt5SJrLkvf2YshR7vlKqxg65ZJVykx4yNgAAoIRp7LAD URoJu3fvvqD5ctZS0JFcmBSyS6rnk0MpHrIkJ0sa85WkS/BC32s+x+srWY7d75zOIdX8INZSAgCA DnY1srQJUSpfksycpKs1gpLEAtJ1PqrZpVxkyacj3lTnLMWeryQpsjGySr4d8ALL72rB3zWfbFMs 6VFdpBgAAJJhJGn07cKnkFG6vpo1cHCVi7FllxIfq/h8Kl9ZUmgfnlyWQs5Ber5S4hI8tQ54Wn9U cMg2ie1H+twRIACASWLahW9GlApl9+7dZr2kl4QETimESVOWJlqKJ9I+PGdZCm3uEPN9HLMEbyCD VLtch9DyO8nfnRzEBDkCAIBq5O3Cx55R2u0RiCQvxxMUmsmU4vnsV3NhWg1Z8txOzBK8GOsAqcwv 8r2GLlmsFN3qPEvsmIsEAAC2bKnrehuiVJohnWgH/ixpwRhTdimx2I1RllTnLBUyX0ntNZLBvmZW yfH9Yv16zXsP2SEAAAhgtFmlMWeUdgtsI7kwCWeXVIOj1POWYjV50CrDk9peClmSPP9YjR20BDy0 m2ChZXk1EgYAMFlMu/BRNnYYpSjN2oGfLhwEjEGYoixQm1riSpUl22sh8RzpjnYCc5JqhfeXesMG KQkLHfNY2SakBwAAOtgxxnbhoxOlgXbgEqKhJTGqQZmNmEgGjoWU4mU5Z0njWF23kaCjnaiISpbW Lc9DilQi6iV/jtLDXCQAAJDCSNLoSvDGmFEykrRBcft1FaFJgoKIdJ2H2jlIleIVLEtec5Yy7YQX owRPfW0l5d/ZvgVma0fxyWKNNwAAAAe213W9iihlyp49e05vAokLIu4yeTme1jkkPkbReUuJZclL MmLJkvR8pVgleAqSF/Qc6XWXJMvdhDNHZKEAAKCPA4hSvuyOLStV4vlLWm3Ex1SK57PWUkmy5Lkd X1ly3Z9KCV7srJLWHw+07hGp5zyR+QIAmCymXfhWRCkz9uzZs6YdeOQP62SlMqV0xktZiufTEc91 XFPJks1xhsiSgGBFK8ELPG7Rbn1a5Xce3wcAAIjJaDrgjSmjtFNZIrwC+5jHIDh3KSdZsg6cBffv vT+N56bOLAm1DK8c91NLXV/hjFFtO54xUMxO1ZF+twEAYHyMJqs0ClFqyyZNXZikjz+3Uryc5y2l avCgWUImMF8pWglegOT0PkeyHE3q3wLHISZ2zYcioQEAAMy5G1HKh53KQbq4MBUgS1UVoY24xPEU KEvOgiMpS76vl5yv5DP+IWMfK6sk2Uq8BFhjCQAAOjCL0G5HlBJjk03KRJii71+r0YNkUOQxDqLz lkYkS9bPSTxfyfX7Lpkrp4yRj6AproNUK98LSPcAAEBsip+rtG7qFyGiMCUpxxt5owcRWXIRGh9Z sijFk5ClKG3DBeYr+ZTgBbUl73qOTeYpgyyJ6zpL6tksMkcAAGBJ8VmlokVpz549L2m+nJWZUIxZ mNTnLoXKkmJ2SXth2uxkyeF13vOVJJtBOGxbYv9e5Xfa/9a8fwAAAHhQdFap9IzS1ZkKRdbCJHTs KoGUZymeyLEgSzI/s3yNlVy5NGuI3N1O9PcnR5AjAAAQoOisUrGiNMsmna4ZJKQWpszPLafsUsx5 S5oL0+YiSzHWSvK53rXgOErMQ6oV7gVJhciyUyHznQAAwIVis0olZ5SujrGTyMIUTZYEt6+aXQo5 llhNHkqQpZDrKilLfYF4yPyjludai5CETEmX31keRy10TREfAADQpNisUpGipJ1NUpQKm0BGLUtT qiyFlOL5jt/YZCmnTniBsqTSVj1ApsR+Z7r2ZyNTXWsjRZ7LRAYKAAC62NXI0iZEKQ5Xp9hp6uyS ZhcrSvFkZEl4YVqJAFddlvpK9yz3VUueU6ysUmoJYA4RAAAUxGrz2IEoKZMim5RImEqeu6RyzClK 8WK0D5eSJYkub9Lliople1LvndDyuqH/dyq/q8i+AADAeNlRWlapxIzS1bkcSCphKqAcT+2YJUrx lMZkzLKk1txBa3FZ4axS1HuKq9ABAAAUgpGkorJKRYnS3r17X9IEEqfndlwRhSlaYKeZXZISphBZ UirFm7wsCQiWmnQEZJWsfx7a2t5jXJgXBAAAJVFUVqm0jNLV2oKQuTCNIrskdQ0znbeUuyxZP0dg Ydk1r5Fo1uDR2GFocdiQMbF5vvccrLb9WjZ0qDyuVap7BAAATIeiskrFiJLJJlULc5PmQVeOH9KR hCnaPjWbPSQ4tliy5JVliCBL6mssdbym9rlGLmI6UILn/Dsl/HNrgUktKa5iVdc10gQAAC4Uk1Uq KaO0sysYmagwjaLZQy6leEr7G4Us+UiBT6mdy3ylkGMWatJg/f+CAlUL/J7Ujt+PInwAADApiskq FSFKS9mkGmHqD54KKccTF7yQUrwYHfFyliVp6ekYH9HOdpKNHYR+3necXnOJxiIkSosiAwBAuRSx AG0pGaWdQ4HuxIWpxOySynyrkFK8GE0eXPYRU5Y0mzv4dMMLea5EIO+ZJZIsv6t9xlTp3pLqDyoA ADBeVuu6zl6WshelvXv3nl/1r5tUpDApBjUlNnsQH59M5y0572Pg+onLkmP2KFiWhJ9r/T0JIRfc fh0iUD1NHLIUKAAAgBm7EKVwLvCVhJyFKUU5XuaypJJdGoMs2QbOicrw1oiWyxwklxI8oS54OZbf qf9hhUVtAQAgQ0xWaRui5MnevXuf1Xw51zPojj53JzNhippdEupCKC54yJK7LHmW4bl2tvMas5AS vGWhUmri4Lx2lG/2SEJ2KY8DAIDEXIUo+fNiaVkQDOoRJhk5sTreiGMbPFaasiQkExqy1CshHa9z 6WynUoLnKR1qmSHBhh9Bxxfp3oilAQDAlrqutyJKjuzdu9fMS3qJlizEkobIkuEU3GW+9lLKUrxg WbM4Xq+ue7k1eOjbhlYbcJcSvKGx0s4qOUhWUPaoR3LqkHuEMpQAAgCAIdumDjlnlHYqfTBnL0xj 644nLXcRjydqKV6JsjT0HFdZshWgkLGybLwgvsBsyHvR931PaR0AAJQgSnVdryJKluzdu3dD8+V8 xV0UMY9pLN3xArctfqyhpXjIktU2NNaPGtyuT1bJVaQkW4VbbLPO6T6EeAEAgBJZdsDLNaNkOt1t iLSvrIWJ7nj9whTpeNaUyWnOW8qodXgVuA2vNuCh85Vsjl0oq+QsUjaLz7pciwAJjbZGFQAAgAUm q7QJUbIXpdhMVZhKyi5VCWUpeN8JFqatA8fJ+X3RJUvCJXi239POKqmX3zlmmmql931OfzABAIDx sgNRGmDv3r2mgcOGhIeAMEUSJklZCi3Fy1GWXLYvIUsDWZUQ6apdXxea5RhqBW4jQy7yEbo+lc01 DMg0xcwIDe6rrklQAQBAuyjlllXKMaO0M5PjyF6YYgU6Jc1dinQsMTriFStLrp3wtLrghQb3IVml mOV3Ce8Vud27AACgbIwkZbUAbVaiNFtg9vTMLlq2wkR2KVxaAo5Fe70l6fbhEmskhcqSreyINGzI JKskIvGxpKn5eRHlewAAMFqyauqwPqeDaT54X5NxWcb8wFa6goVUxz4/BoX9rzlnrX0FbreWPEbz esvXto6Py34tnn/y3Gy33fM8620NvK+tttPys7rqWWR06fm9z13epuTY9D2/4/V9rx3cbte/PcfI dtxScrR5PNJ2P7VgCzEEAMCoWW0+57Y1n3f3Z+EmuYzKvn37TCbpj1NLh8TYpTx25X2vxNpfwHZX JI/P4fVB+7V4/orrtnueJ7Utq+20/Gyl7zVL3+987sL3eo9j+Xk9z+nczuLPfX+2/POu17V93/Z7 s393fs/3uR2vX5n920jP0ebfjzVfjyx97/i/P/axjx1Vuk+smg/VDpHailwBABTJ4UaUfjKHA8kp o3RKp7scMjVDn9Fd8qCY4RmO1nXHLWqGKSC7dPIYI2eXRpdZGthWUGap6zVt3x/4Xu9xLD/PNavk cq1837c+rxPIPrnsy0jP182HV/M41jz+1IjQPffc80jSv1Y1x1WdyFDNObTw7xsW7oWm7n1z89g4 +zoXLCQKACA/tjT37c3NPf7h1AeSRUZp3759psudySb1drsrMcuU+phjZpjILsnsd+D5k8gseWSV bJ83lDXq3I5EVqnlZ23Zm9bnO2R/Ql//35svR6oT2aFH7rrrrj8c86fxQlZqy0yizpx9BQCAdBxs ROnVqQ8il4ySVUvwlJka28/c5WAs9TEr77+u8s8urQhsx/X1mtkltcySjezEyiy1ZUM8Mk1t3+vM rLhcJ8Gs0
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
8347hPs8wGhl6Zea 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 EgAAAAAsQekdAKIEAAAAAACAKD3
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
83477pHQmkrJFpvtEyzJBg8W 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 4Qv3XyNIUWsr71KyRwmORWSsMpl/FL
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
8347Zf+tAt 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 VFapBUCK2IeUMTZRL1KJUjspmHj2IzUKSa31J
8347U0CgRQU122f+e/UbBRgwi6gEAeom8rvgmaVNEvw NF3/TBekJQTAVADxsg9/4tII+pZmkV3iQiIDaCxhTAuYuH+ACdubVA0oLfQBABJpO8sskkUvEhts NAwbIkFS7peFMyRpQEn1i8paZJMmICYLdKZswb2gcGZQZVly4wGC6lklwXmp9ytJAC0n6M/J4mj1 TFmsteTQt0T6jJTOLkVYe8kSmBwXjaWaPqRs0jUAJQUtZ5W0TBoaBiQRDFr1IuVmkQRgw4aBnHI5 L0jyyiRJtvc4vibERAYH4bgjgEvRMSh88Q8BxzS175BZJW6wTegNIpXgKcISG0w0FqWlwlJpkwfu HxSk2aXSZg+af0ix6l9y/ENNLjCFzyZVA0qLgOIDJV3sGNsXAyROAEYps1MI/kVz5Olq1yokWS0o y4Gk2rNJWtvsLJtb52qXU3aX8d8wcoipwcHwIeuzqZhVEpXgSWFJMtnMMjzqe1RhiTInVJMHawvx THg3A6Yo2SUCOEbtX8oZYxXZpKpA6eKLL851wDNxsfN2sssMtFRgkGrWoJBFYgXgG2CiSKldBT1J 0gBeNRNlBUmlY3wFE4ecE6CepEl/Um4PFST/LHkdUyGrpFKCZ2DfrWIbHtTgwRuWsudTAxok2SXB PRjO7CH33qkUmEI73VUJSgv9FRUapEFBKUDy6kMqlEXSWpBWCyZUF6EVgp/ZeRHPLbzDnVegTnWb 03r25ICQRX/Shj4qSCm4kQQnhPI7VuCscSxBkF3C3GGOsOTWt5Qzf5oQrwBLocweCGOpCZi+Pb6q yCZVB0oXX3xxAqVHLaBBuL0KoAUpsxPNp3Yv0oZ9ssrkDPqRAEmML7FWpGXisMmtruTCssgY2QQ+ 0sA+4PG0SvDY45T0K2k82yQlgBxYEtqHr9zOEZbMjR6EAKBu9qDxzGgImD7wPd/zPY8DlAwneN0N oeVkRyRjjwVj1wb1BmV25r1I2jChlUXSWDi1AUjqFMbQTMmdVTaJOPaeuz9vyKoVrLzBROmPDIPH e7QNJKSkULJfSZpZyg10c+/HwrDEWm/JwBVPcv7Z8VCU3qUGgOnxrqKyuypBaZFV+lZXzupbFPiX AqQMkBEdg5JFqs36OwcEhCWEaveUAiRVYd4QISAnQlT2wrCMsrud20/1J3GMHPJsPodZJBJVAEih /C7E74jbqPQNMQJ97eOyYSk38GfYh3vDEmPKaGMmBu+W2SVVswcpyHCgNhAwVZVNqhKUFrpCK2CS 9CEZQYs3kImd2rQDf01XO41SOwdnO625UoUkC2CpKePAySYRz3ly7aTM+eqDz9k8qUgvoFIFNO33 MIwdzPuVnMwdrGGps8gsUUwe8lltcC3FK9C7dMh+FbNLrO9d7nUKAEzVZZOqBaWUVRq/kB916kMa usLrIXGPZ9mLNBEUiXqccvbHBBIJRFhBklZQqg5JGvPTajC+DqJy4IpbdhcQQlqhoqHiMWmZOoh+ Zwia2uYObrCUc70My/BUHPEI153dt1SRjfhhsFRhOV5pYKoum1QtKC10hTEgrQ0eDe2+xfBCACTx wrS54xeOeXaQVHpBWWZQ3sR6SVMgpP2Z1yi7o663lDGeXnhufc3XnhGUsj8nVuV3TPAKl1UyMHeg /N58QVpDWJq8nrmOeERYcivFywzcw/cuCZ8nUmCyPsayqswmVQ1KF1100ToHPC1AUnPS83Kzy9zG yjFP5GqntT8j0wYXSGIuuCsylegMF7W1CJQDZ5Oo86ZVdpcFcxwbcayZFArI3Pbr+Lui/UrKoEbN xkSGJcpcrh2rVylexthqdMYbnJ4d1oviLqvKbFLVoLTQZFZJw+q7BCBFyyJRF48VGDawgvdcC3Fn CCFBEmN/rIyn1Aa8dUhiZpMoluC5x80pu+OOC6qAkzKDIY11jrKPqfiebFjqjPqVFM8DsMS7rpsC b/fsEuMzY+WMRz5/4TlZA9MjXaXZpOpBaVNWiQlIngvGqkAZFZA4gZLForSaLnkaJXu5pg3RIYmw Dy0r8jmoV56XXjKXmtegBzVJwcJ9n1rgJcwOaZXgqcxjpeYOgKXp8QzK98rQ2ZXjqX3mNXuXggDT n9SaTaoelBZ6pzCQUCl5I25bpMyOehyLLFIu2AgCd+kisuJ5KwFJ3gF27jgaySZN/T7LEnxi3z3n OJr9SRJQhGyAxRowuJ9rAmRp9isNpebJE5byhlsVLGn0LQ3K971p75KWS5xFOV4BYHpkhKRP1vzA rh6ULrrooj3jj7uowXpXpg+p63zsxa3WRVp7DkKAYJfuSee2FUiydrjjwFpLfUnU8SncM5yyu77l eQ5HO4olMgrQwiolE7rcDdrnqXhMi34lF1gyXJRWHZY8+pYqK8Uj3VPMOagNmP6k9md9Cxml9AV/ RSWApJJFsl441qrUTgtKjPqRAEmKkFTpc2QjjEic8HaaKezYVy8c40aQIho5zJWWml0pt5KsEmW/ pfqVImaWBsY9oLbWEvH+0irFczN60Pj8aGaXtP844wBMjxx55JFVZ5OaAaULL7wwZZT2UB/+JQHJ KIukHeSrnINxqR0ZknIWogUkyYHeEF5CwxXVxIEKbC3P51xBRan8rpqskgRYSvYraUGJYmaps4Cl iXkq3bdEvu80SvFKGz2sGItKdskYmKrPJjUDSgu9M/filgIkSdBpvXBsbi8S9RxywSZSP1IrkKQN 0rlfUDVCklM2Kev/Ob9jPld6AFU5ftJ8r1Gfk6brnpsLnjXYDnl1cSqwRBhzNiwpLExLAdC1sREX loxL8arILu0YS1RgaiKb1BQoXXjhhcn97morQCIGDyoL1RZ2tBMF15oLyOaCiFY/kgJkhoCkTQ53 zPujqUVlLbmL8O89YftN7+ktr8GmHipc+/pBzWrhVmMXPLMSvACwRJ4nynwqvbdI35IUEkobPUjv fQn4GgHTOjWRTWoKlBZKPu37OgMnu2Bldl1XoBep1AKynpCkcI00IUnjPYPScVx7OCrIJqmYOFDG 4mlBDiCWgYfJAfKAZbA4L8V1jrKBRXEx2CiwRJ4DYmA9MAFIch5F+5ZKZZeiLFKrMRcKULhqrm5v JZvUHChdeOGF+7sdWSWnLJJ3mV31WSStfqTGIcnEBhx9STrDJJ7LShMHptsdZ4565v7CXwzNtYo4 rlyC91GC4cHg3NwyPIzzUCnBY8KWmrlDLpA0AEtF+pao58AYYzXZpRVzUbIcr5lsUnOgtFACpUc1 ACkzq6NSZpcZ/NSWReo63VK7qPbfbpBUyLyh2ZI7g2ySx0T0RnOPNFHlKpxVyg0o3VzwBLCZfc5a sKQYVJeApa5T6luaSSle1/lll7yB6ZojjzzySwClwEpZpWQXbgxInTYg1ZpFcoQkacBv5WzXFCQJ gwsrcAnHVxbnIii76xn3XF9ybiBurDJId8D9vfZ6TjnHLemCRwqEiReGU67GgaWBMf9SQwMJLImg vOJSPLPsUoFyvMfH139t7cHbYkapu+CCCz43/njIEJBUbcY5QKZ0XiJ4mCi1iwZJVoFsU5DE6Uua WzaJCw8ZbndaAIaFZ5kxQAAS8j4X1b++c40dFAJn0fpG0n4lxtyJensI7zNbmNbIEU8ESyugT/vz Z5ldGoTQNXWtPLJLVxx55JGPA5Tq0buUAwO1PqRMuFJZPJYKYNqldhSw0TJtqAWStPanZbpQsi+p ogC9Vyq765lz0XvPJ4wbdOBE2g+jAStrfp9bCqdt7ODaI6XRfD8FJcawxJ0vE1iijJUBAGwL8RWw VMOaSyvvt8r6l5IdeFO9Sc2D0gUXXJAWob1bCCsqUMEIPFyzSEoAxt6vlgGE8xpJ4n1bAB13H6X7 kryDcQ3DC83tBWsp9Xm7B+yY0dHgmogqnfUyLcGTABona8EN+gFL/HmjXieFviXy/VhwzaXD9m1c jqcJTL/f6jO+5YxS0h8pAJJqmV3ELJLC+LVKvdZCklagb7WQbClIKmXe0Kj66akiZ5Nyy+4441GB O46DHvAoNngR1xkiB+ARjR1ynl2CfiUrcwcxgFQAS1X2LRncb+w/ShiW42kB0+1bW1s3AJQq1AUX XJAWof2cBiBJAxFrQJoYn1sWSQhJ7LWWtCGJspBszZBEffBLPwvW+4p4vEzQsLIFVxkTQMV030Ok MVIDdQ6oWc0RowSvmLmDwDbcDZasHfEKWYhblOJZGD0ctm/tz72i4UNzBg6zAaWFkgPefkKAUVWZ Xcb43JzeKKV2RqYNKteP0o9UOySVNm8IVBLGsgRfBRTU7BFhDvrc9yiU66lds5mV/Q1RjiHNKlnC mqWxg4HxwmHjFGaEqoElKmRw1gLz7FsydMXrOvvskonZw459crJLn9za2voGQKlipazS+EV9NZXc NQCphSxSqVK7Guy/G4OkWUhwzj1jf72AU3KAp/Z5beYGtAhcvI/JCdIlaxxZluBNRdOC/hUKLA2R YckKbI1h6Yl5rdUVT7Mcz/DzngtMTdqBzw6UFjqwCG0uUEiCEMJCteKAvlAWyRSSmOfu7mxHPW8v SBKcK7JJHSubpAoMxO1ztusVexznIHP60Cq/IxzLLKtkCXMK82Tar2R0P7nB0kCnEy0gKNq3xAQC KixZO+N5ZJdyzuWKra2t5uzAZwlKr371q/d3q+3CS5TZWWaRxJBEzSJp9yMFcrZTgaTcfZZaG6oU JBWhIZtsksjEARADRQU6RWBgZZWkQTIjgCxq7lAis0RZZ4lzvaIuTiu49yigo2LqkbN/J2DaqUdG SGrSDnyWoLSApT3jjz2awELYVq0sjAJJio552ovSmrqztVhupxlIR1hUtqZsksWxGO/rFfeffR0A Z+UgRrkPplivkoGxA2X7wXqOtWCJCZdiWOr4PUtmsFRgvSXWPRoku6T2eZk4x53n8rq5PNBnA0oL pazSPs1ggFtmZ5BFGrjnNJFFMi+1AySR9mVxTXzJpMAYtD/jq7JJ2n06grWVNv0O7nZGAbrzekqc wG7gjl2pDE0zWKVkE8T9SkrmDoPWXLQOS4zPk2i9JeO+JY05yo7/nLJLN2xtbd0OUGpQr371q1Of 0jUSYCFuq9L7RDFsEAbzaoCXu0jrnCFJK8gXXpMq4MqKnzLOsefu19D9znLs4vOG2MGVWdZFowxN sv/Cxg5WsMaZJ8CSISxJgEPat6SVXRL+4cQDmFJPUrOLy84elBawdMUYWDzkAEgqpX2WIGNlBqEJ Nhb23xEgSeDsp/bMKwFJLWSTtMCDYgvuuJgsYCg+UFk9E7hjCW+AMShEjBr9StrgBlgygyXWfa2V 4dQGJmX96dbW1iMApfb1LsOgQy2L5AgyKoBH6UfK+eu6hf13BEjSBi6rcTXcl5Qb8GebOCiW3fXM /QFgnP+IYLQP66xS2F6l
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
8347/VwtJO94fFpIg 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 XTjnGe9sGX5/h1I7qCIhowRVpYUr3sXj62FAkg8
8347kFQyA+8LXCH9IgkKpcte23G0iZpXCTXGAueHs 4z0jIL0EkARVFTdhCqBadfPNN795/HEhQMkWlAKbOGw8roYpAiXr420QsWFeXBebJX4ekFGyO6fe YF7Yi742mFXqNe+t2o0dsh/6B5XA6He+//u//yuIXKDahIwSVK1279793u7gmkv7PY+LbFKYees1 SpEMxiYBC/zxqi0NrRxru9/I8vlnkFWq9Vq6nw8zC5izUTJs2A1IgmoVvpSh6nXzzTenfqXLx9fJ gCRdUPLKJq04VlbmRJBNOuT33vbd1v1JU9cOGSX/71mHjFL2/HIswi1swaX3ncaczDyrlP3MYJxD MmxIWaQvIEqBAEoQFAOYUhleWnNpC6AkD4w0QcnAxMEclDRK+koZOQCUAErafzThXGeYOuieqzUo Ca7Zzo2+soAk9CJBACUICgZLR48/3jO+jgUkuQRGlAUlKV/o6m53BJiZAiWTTFUkUKIsNgtQ8gus tUCJ+0xoMaskASVFWGopq/SeEZDeg2gEAihBUGxgSpmlywBK5bNJU8FAwGySBJTY1t2ZcwRQmjko acLS1GdM41ojq6R7rpz15JyMHVL26NdGSLoPEQjUkmDmADWp3bt3f7g7uEjtw3OGJOPgtS80d32p +TDOCJAgySuQhqCCCm8VLrVsp26/5v2qduGMc/rIuM1uQBKEAAmCKpTURrzxkruVz4GCJg6HvNe6 7G7d8SvtT5o8Ru51o2SUJM3wQe5/t+/ayjJKkmeD+LyDmzrkPKe8z1Xj/KjnlLJIb/yBH/gBONpB ACUIqhyWThx/vGN8PQugNP0MQNmdHGYASgAla1Da/ss/NWgmzBPK7xxAaeo5SRivp7HDe0dAQi8S 1LxQegfNQrt3776nO1iKdx0gSWU7CiSpB5xB57n02PrW72moewKQpCVfuYcqeY7KYxgyj0fen8a1 WOxjYMxP1jlmjjHnTfenr1RAEjQX4RsTmp1ys0u1B5Q1Z5M2jGOq7G7l8aKsn7Rh3zl/Ca7dGtz9 OydaRslqTIYZpZzPU9a5I6uUPW6zrBLne2HH+5FFgmYnZJSg2YmbXWoMklSCPqsxaC58SCy7M507 6r4by/7gD3NGWpEtGITbq74/0lRZ7a+GrBJnjhbHQBYJmq3wxQXNWjfffHNab+kd3Y51l5BNmtp9 GROHDMCZRX8S5xiUi9fCYrMBP8e95ZgC9ymJzn1Opg45z83M8WoaO7z3B3/wBwFIEEAJgmYOTIes uwRQsgUlo7I7lTWIKl1oFqAEULICpVxQDwNKElgqvQCtByxljjFlkd44QtL9iBAggBIEQQmWjh5/ XD5+iZwISFKBJBYoabrdaYGSZX+SMyipXD+Akuz7doZZJQ1Q0oCHrP3MPKu0rzuYRfoIogIIAihB 0GHas2dPWnMpZZe2AEqiQLulsrvZgBI1MAUoAZQcYSm8qUMtsLTm/f93fF0+QtI3EQlAEEAJgjbB UoKky8fXyYAkGiRNfcnX5nZHBZkVb31s8e/HUE9M2/FubqAUEJxQfldB+Z0UlirMKiUw+t0RkLBw LAQBlCCIBEzshWrnCkreZXdUkNECpVL9SRJQIvYnAZQASlrPDi1Q0oAHc1CqBZYW73/v+PrICEn7 8I0PQQAlCOLAUsoubZfj1QxJuUG3KMixyCZNgEbOeTVTdgdQAihpBcrEOWqt/M4UlkqAEvEe+Or4 euMP/dAPocwOggBKEKQCTMlC/M3jK6TZA8ruzEDJPVtF3D9AqTJQcoYlgFIBUCoFSxmglDJHfzwC 0v/GtzoEAZQgyAKYzuwOZpfClOMZZ5OyQSlo2d3UcaxBxrpsMDsA1bYGByjNCpQ0YEmUUatgTSX1 a6ycVUpOdu8dIQlldhAEUIIgU1jaLsdLr6LueFxIomxbMJu08fgBbMFNIAygBFBqFJREsISsEvt8 01pIl4+A9FV8e0MQQAmCPIEprb30pq6gO14L2aRNAFC47G5q/yZld0agpL6GEkCJ/70bFZSm/mgB UPIHYkFWad8CkFBmB0EAJQgqCkypbyn1Lx1bAyRRty20dlIOKEnL7qZAKVR/kmAeAUozASUNWIpq E14RLEXIKr1v/PERlNlBEEAJgiIBU+pfShkml3K8xrNJUxCTc7zSRgtNgxInQAYooU9Jcv7IKk0q LRr7jh/+4R+Gmx0EAZQgKCQsudiJO2STXEBJkE0qAkpa2SqAEkAJ5XdhQMkClryzSgf6kEZAQh8S BAGUIKgKYDLtX6olm2QIStZldznzF8bIYeraFrYGBygBlFRAyRCWaskq7RzrvgUgoQ8JggBKEFQl MKX+pZRdUlt/qZVsEheUCO561fUncUFJ2fEOoNQWKJlDBfdemEv5nTIsbe/oQB/SCEnoQ4IggBIE VQ9Mausv1WIJPgVKU3+1Ngal6P1JAKXGYaklQwfu/eAJSqVhSRGUvtihDwmCAEoQ1CgwJVhir780 92ySImSQ109yBiXN/iSAEkCpGVCSwFLlWaXUf/S+H/mRH0EfEgQBlCCoaVhiL1gb0BKcBUpc4wGn srscUKnJyAGgBFBCn5IQlDRgibk9AAmCAEoQBGBS/JKu2sRh0+9b6E8qAErUawpQcvrubalPyROW qPeqFiw5Z5UASBAEUIIgaAFMacHaMxS+pFsvu8uBiCrXTwoEStqLzQKUnEEp5zNYMyhx7lcNUGKO lwpK31oAEpzsIAigBEHQEjAlS/HLVgHTTLJJG8dQsuyuNChJrMEBSgAlgJIeLBlmlQBIEARQgiCI A0w1ZZMEoKSxyKwJKDlnrABKAKXioDT1WVWa3+rK7zRgacf2ACQIAihBEMQFpvFL9QzuZ5qaiSIE 1CxIsgClYGV3Oeeh0Z+Ufc36fE94gJLz92/FoKQFSxHL7yb3pwRKACQIAihBECTVLbfcsrYkTzFo ac7EoRAoeRk5AJQASpxzRfmd4NyUQOkAIP3oj/4oAAmCAEoQBCkC0yaXPM9sEiVIMs0mbQIlj2xP BUYOAKXAoFQAlkKCUglYKpBVemB8fRSABEEAJQiCfIGpimySBShx+noi9ieVBiVOvwdAqX1QmvrM at4bDWeVkr33n4+ABJtvCAIoQRBUAJgu6nZkmEpkkwQBvUa5mhnEcJzoAjneAZQASlagtHZ/cwCl jO0BSBAEUIIgKAgwJVhKPUxHU0Ep973RTBwCgpIX8AGUAErNgRJ3Lgzd7yb3t2b7T3cHS+zux7cT BAGUIAiKBU1nJmgav8CPzX0GRF47aRMoMY5XdP0kDowpgBK1rBKg5PwdDEMH+VwEySolQEomDd/C NxEEAZQgCAqsW2+99cTxx+vG14nSIHoKJISg5JqFaaQ/CaAEUHIDpZzPr9b9USEo7Ru3/+j483+N gLQP3zwQBFCCIKguYNq2Fj9TIYiec9ldDpy4g5KB4x1AqSFQyvlsWsGEJygVgKVUVvfRH/uxH/s0 vmUgCKAEQVD9wLTdx/SEUx4xm8QGJYuyOy+I8VholgFKltbgWd8N3NIqwBLvOs4FlCRz4QRKX1wA EgwaIAigBEFQo9CUskuvG4ODo60haSII6bmBvkfZHRGU2CWEHCADKAGUooMSF5YUQIl8jhPHTCV1 N46v942AhP4jCAIoQRA0B912220/3U30MTVSdscCJeXSPtVzMQQli7I7gFIsUHKDpcrL7xIUpf6j T4+AhP4jCAIoQRA0U2BKmaVUlpcyTVu5Ab4wkM/JwOQATM7xIvQn5QST2kYOACWAUtYfMyKBkmQ+ lEApldd9ZoSjL+LbAYIAShAEQcvQlGDprPF14hzK7jKPU2ShWYASQGlmoJT1BxTCGCk7+da4bTJm +DTK6yAIAihBEDQFTEePgcNFC2ja8gal0mV3jYBSFGtwgJIRGACUxNB/IHt07LHHInsEQRBACYIg uv72b/82wdLJ4+sUpSCeXXa3KbDXLInT7E9SBiVKFgJrKFUCStbj0gAlJ1jyAKXUb5SyRx8dAQnZ IwiCAEoQBKkAU+plStCUyvOONi670wCYHFAyX6MJoARQCghKrOtSefndHQmQRjjC2kcQBAGUIAiy 05e+9KVTFsB0CiPoC1F2xwElQyMHEvgBlABKCuc9B1B6tDuYPfo0skcQBAGUIAjyBqbtLFN6HZ0R HHmW3W2EhWD9SeqgZLWGEkAJoES9zs7ld/vGbW9cwNEdeEpDEARQgiAoAjQdtwCmUzYsZhup7C4S KEVwvAMoAZSkc1fSJjzB0RePO+64z+
8347BpDEEQQAmCoLC6/fbbU0ne9msrBygI8GIKMIH7kwBKACXt 8669/O6B7mBp3WdGQMKisBAEAZQgCKoWmk4dA5+tjCAsZH8SQAmgBFAKAUqp1+hAad0IRw/gCQtB EEAJgqAm9OUvf/kAMHWHZppMIGlTgOZYdrfxWct1vDMCpezvBICS/nexx7gq7lMCHEEQBFCCIGi+ 0NQoKLGMHKaCWi3HO4BSrO9iGDocsp8DcDRuBziCIAigBEHQbIEpZZaSAcSpC3BSAaWKyu5IUAZQ AiiVBCUuLGWe23bm6DPPfe5zAUcQBAGUIAiCtvV3f/d3WwtY+unFzy3tbFJAUFLvT+rirKEEUIoN SqzrowxKgCMIggBKEARBDHA6bgywzh7/8/nj67iuorI7gBJACaC0dps7FnB04whHWAgWgiCAEgRB kERf+cpXjl4A06mLn1vMsrvmQSmQ4x1AKRAorTmGBygl6+4bFwvB3jHCEay8IQgCKEEQBFnpq1/9 6jY0pTK95xJAqbhhBEAJsFQzKGXCUiqjS5mjzxx//PEoqYMgCKAEQRBUCJq2s00vST/Xrdek6Kxn ZuSQE8wClJoCpaz7qQJQOpA1Gl93JkAa4QgldRAEAZQgCIKi6Y477jh1CZyOJoJSNriUAKXM3iOA UoWg5DE2xT6lBEZ3LIERskYQBAGUIAiCKoOmYxbQlDJN6ecxFFBq1cgBoARQYlyjbTC68YQTTgAY QRAEUIIgCGpJd9555xPgtHgd42lBDlACKJUEpTXH6CfA6I4RjO7A0wOCIIASBEHQvMApueedtICm ZApxkhSUSho5AJQASkxQSj1FDyyBETJGEAQBlCAIgqBDdddddz0BTguI2sqFpClSYfQnAZQAShbn vw1FB36OYATzBQiCIIASBEEQTXffffd2uV6CpuMXABUSlHpCpL0pswVQagqUkvHCg92ilG48xgMj GGEtIwiCIIASBEGQvr72ta8laEoA9dxuR8mecn8SQAmgxIWilC169HnPex7K6CAIggBKEARBReEp AdPxY7B7/AKe0s8tLVAqbQ0OULL/TiaO7QAIdd8po/vWCEUooYMgCAIoQRAExdc999yzq/tOxumY JYiy6E8CKFUOSmvGt5wlSiD0ILJEEARBACUIgqAm9fd///cJmFLp3jY4bUMUQGm+oJQg6NFxfNtA dCBbNEIR+okgCIIAShAEQfPWP/zDP2yX66WfKRt10uJ5fVJpxzuAkoq2AegJEEr//eM//uMP4u6H IAgCKEEQBEFM/eM//uMLFv950gKkjl/6f4BSeVDaCULf2v7vEYbQPwRBEARQgiAIgkro61//+jZI Hb8EUtuGEi8AKIlAKWV99q0AIoAQBEEQQAmCIAhqQd/4xjdesPS/21DVdYdmqZKe3R3speICRlRQ 2jZI2NadS/99xzIcjQCEHiEIgiCAEgRBEASt17333rsMVavAatV3TcponaA0hJ2As+49h7nC/cRP /MSduIIQBEFQjv6/AAMA1F8pI3DPNpsAAAAASUVORK5CYII=" transform="matrix(1 0 0 1 174.6373 0.3005)"/> </g> </g> </svg>';
8348
8349  return SvgRotation;
8350
8351}).call(this);
8352
8353
8354/***/ }),
8355/* 44 */
8356/***/ (function(module, exports) {
8357
8358var Test;
8359
8360Test = class Test extends Event {
8361  constructor(t) {
8362    var me;
8363    super();
8364    me = this;
8365    setTimeout((function() {
8366      return me.trigger("complete");
8367    }), t);
8368  }
8369
8370};
8371
8372
8373/***/ }),
8374/* 45 */
8375/***/ (function(module, exports) {
8376
8377var UserAgent;
8378
8379UserAgent = class UserAgent {
8380  constructor() {}
8381
8382};
8383
8384
8385/***/ }),
8386/* 46 */
8387/***/ (function(module, exports) {
8388
8389var Test;
8390
8391Test = class Test extends Event {
8392  constructor(t) {
8393    var me;
8394    super();
8395    me = this;
8396    setTimeout((function() {
8397      return me.trigger("complete");
8398    }), t);
8399  }
8400
8401};
8402
8403
8404/***/ }),
8405/* 47 */
8406/***/ (function(module, exports) {
8407
8408var StringCustom;
8409
8410StringCustom = class StringCustom {
8411  constructor() {
8412    // 全置換:全ての文字列 org を dest に置き換える
8413    String.prototype.replaceAll = function(org, dest) {
8414      return this.split(org).join(dest);
8415    };
8416    // 全角英数字文字列を半角文字列に変換する
8417    String.prototype.toOneByteAlphaNumeric = function() {
8418      return this.replace(/[A-Za-z0-9]/g, function(s) {
8419        return String.fromCharCode(s.charCodeAt(0) - 0xFEE0);
8420      });
8421    };
8422    // 半角英数字文字列を全角文字列に変換する
8423    String.prototype.toTwoByteAlphaNumeric = function() {
8424      return this.replace(/[A-Za-z0-9]/g, function(s) {
8425        return String.fromCharCode(s.charCodeAt(0) + 0xFEE0);
8426      });
8427    };
8428    String.prototype.isAlphabet = function() {
8429      var c;
8430      if (this.length === 0 || !this[0]) {
8431        return null;
8432      }
8433      c = this[0].charCodeAt(0);
8434      if ((c >= 0x0 && c < 0x81) || (c === 0xf8f0) || (c >= 0xff61 && c < 0xffa0) || (c >= 0xf8f1 && c < 0xf8f4)) {
8435        return true;
8436      }
8437      return false;
8438    };
8439    String.prototype.isKanji = function() {
8440      var c;
8441      if (this.length === 0 || !this[0]) {
8442        return null;
8443      }
8444      c = this[0].charCodeAt(0);
8445      if ((c >= 0x4e00 && c <= 0x9fcf) || (c >= 0x3400 && c <= 0x4dbf) || (c >= 0x20000 && c <= 0x2a6df) || (c >= 0xf900 && c <= 0xfadf) || (c >
8445= 0x2f800 && c <= 0x2fa1f)) { // CJK互換漢字補助
8446        return true;
8447      }
8448      return false;
8449    };
8450    String.prototype.isKatakana = function() {
8451      var c;
8452      if (this.length === 0 || !this[0]) {
8453        return null;
8454      }
8455      c = this[0].charCodeAt(0);
8456      if (c >= 0x30a0 && c <= 0x30ff) {
8457        return true;
8458      }
8459      return false;
8460    };
8461    String.prototype.isHiragana = function() {
8462      var c;
8463      if (this.length === 0 || !this[0]) {
8464        return null;
8465      }
8466      c = this[0].charCodeAt(0);
8467      if (c >= 0x3040 && c <= 0x309f) {
8468        return true;
8469      }
8470      return false;
8471    };
8472    String.prototype.isHangeul = function() {
8473      var c;
8474      if (this.length === 0 || !this[0]) {
8475        return null;
8476      }
8477      c = this[0];
8478      if (c.match(/^[가-힣]$/)) {
8479        return true;
8480      }
8481      return false;
8482    };
8483  }
8484
8485};
8486
8487//text.match(/price\[(\d+)\]\[(\d+)\]/)
8488new StringCustom();
8489
8490
8491/***/ }),
8492/* 48 */
8493/***/ (function(module, exports) {
8494
8495//###############################################################################################
8496//Utils
8497//###############################################################################################
8498var getScrollbarWidth, randomSortArray, shuffleArray;
8499
8500shuffleArray = function(arr) {
8501  var l, m, n, newArr;
8502  l = arr.length;
8503  newArr = arr;
8504  while (l) {
8505    m = Math.floor(Math.random() * l);
8506    n = newArr[--l];
8507    newArr[l] = newArr[m];
8508    newArr[m] = n;
8509  }
8510  return newArr;
8511};
8512
8513randomSortArray = function(arr) {
8514  var a, b, count, r;
8515  r = Math.floor(Math.random() * arr.length) + 1;
8516  count = 0;
8517  while (count <= r) {
8518    a = arr;
8519    b = a.splice(0, 1);
8520    a.push(b[0]);
8521    count++;
8522  }
8523  return a;
8524};
8525
8526getScrollbarWidth = function() {
8527  var scrollDiv, w;
8528  scrollDiv = document.createElement("div");
8529  scrollDiv.style.width = '100px';
8530  scrollDiv.style.height = '100px';
8531  scrollDiv.style.overflow = 'scroll';
8532  scrollDiv.style.position = 'absolute';
8533  scrollDiv.style.top = '-9999px';
8534  document.body.appendChild(scrollDiv);
8535  w = scrollDiv.offsetWidth - scrollDiv.clientWidth;
8536  document.body.removeChild(scrollDiv);
8537  return w;
8538};
8539
8540//###############################################################################################
8541
8542
8543/***/ })
8544/******/ ]);

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.