/**
 * rokkoisland.com
 *
 */
$(function() {
  $.fn.base.showPagetop('#mainbody', 600);
  $.fn.base.addRollOver();
  $.fn.base.smoothScroll();
  //$.fn.base.formHelper();
  //$.fn.base.jumpMenu();
  //$.fn.base.newWindow();
  //$.fn.base.thickbox();
  $.fn.base.addPseudoClass();
  //$.fn.base.showJs();
  //$.fn.base.addCurrent();
  $.fn.base.addCurrentToNav('gNav');
  $.fn.base.fontSizeChanger();

  $.rokkoisland = {
    preFilter : function() {
    },

    getEnFlg : function() {
      var enFlg = 0;
      var bodyClass = $('body')[0].className.split(' ');
      for (var i = 0, len = bodyClass.length; i < len; i++) {
        if (bodyClass[i] == 'en') {
          enFlg = 1;
        }
      }
      return enFlg;
    },

    index : {
      indexAction : function() {
        var enFlg = 0;
        var bodyClass = $('body')[0].className.split(' ');
        for (var i = 0, len = bodyClass.length; i < len; i++) {
          if (bodyClass[i] == 'en') {
            enFlg = 1;
          }
        }

        if (!enFlg) {
          $('#logo img').attr('src', 'img/common/logo_index.gif');
        }
      }
    },

    town : {
      initMap : function() {
        var map, point;
        var addMarker = function(lat, lng, html) {
          var marker = new GMarker(new GLatLng(lat, lng));
          map.addOverlay(marker);
          GEvent.addListener(marker, "click", function() {
            marker.openInfoWindowHtml(html);
          });
        };
        
        var showInfo = function(i, lat, lng, html) {
          $('#mapid' + i + ',#mapidImg' + i).click(
            function () {
              var marker = new GMarker(new GLatLng(lat, lng));
              map.addOverlay(marker);
              marker.openInfoWindowHtml(html);
              addMarker(lat, lng, html); 
            }
          );
        };

        if (GBrowserIsCompatible()) {
          map = new GMap2(document.getElementById("map"),
            {
              size : new GSize(660, 420),
              zoom : 15
            });
          point = new GLatLng(34.68820428067118, 135.2704954147339);
          map.addControl(new GLargeMapControl3D());
          map.addControl(new GMapTypeControl());
          map.setCenter(point, 15);

          var marker = [];

          for (var i = 0, len = info.length; i < len; i++) {
            if (info[i].point[0] && info[i].point[1]) {           
              var html;
			  var name;
			  if (info[i].url) {
			    name = '<strong><a href="' + info[i].url + '" target="_blank">' + info[i].name + '</a></strong><br />'
			  } else {
			    name = '<strong>' + info[i].name + '</strong><br />';
			  }
              html = info[i].img +
                '<p>' + 
                name +
                info[i].phone +
                '</p>';
              addMarker(info[i].point[0], info[i].point[1], html);
              showInfo(i, info[i].point[0], info[i].point[1], html);
            }
          }
        }
      },

      viewAction : function() {
        $.rokkoisland.town.initMap();
      }
    },

    event : {
      reloadBusiness : function() {
        document.form1['mode'].value = 'reload';
        document.form1['forward'].value = 'form';
        document.form1['category'].value = $('select[name="category"]').val();
        document.form1['business'].value = 1;
        document.form1.submit();
        return false;
      },

      reload : function(elem) {
        document.form1['mode'].value = 'reload';
        document.form1['forward'].value = 'view';
        document.form1[elem].value = $('select[name="' + elem + '"]').val();
        document.form1.submit();
        return false;
      },

      preFilter : function() {
      },

      viewAction : function() {
        $('select[name="s_theme"]').change(function () {
          $.rokkoisland.event.reload('s_theme', $('select[name="s_theme"]').val());
        });
        $('select[name="s_category"]').change(function () {
          $.rokkoisland.event.reload('s_category', $('select[name="s_category"]').val());
        });
      },

      formAction : function() {
        $('select[name="category"]').change(function () {
          $.rokkoisland.event.reloadBusiness($('select[name="business"]').val());
        });
      },

      postFilter : function() {
      }
    },

    access : {
      initMap : function() {
        var map, point;
        var addMarker = function(lat, lng, html) {
          var marker = new GMarker(new GLatLng(lat, lng));
          map.addOverlay(marker);
          GEvent.addListener(marker, "click", function() {
            marker.openInfoWindowHtml(html);
          });
        };
        
        var showInfo = function(i, lat, lng, html) {
          $('#mapid' + i + ' .name a').click(
            function () {
              var marker = new GMarker(new GLatLng(lat, lng));
              map.addOverlay(marker);
              marker.openInfoWindowHtml(html);
              addMarker(lat, lng, html); 
            }
          );
        };

        if (GBrowserIsCompatible()) {
          map = new GMap2(document.getElementById("map"),
            {
              size : new GSize(700, 420),
              zoom : 15
            });
          point = new GLatLng(34.68820428067118, 135.2704954147339);
          map.addControl(new GLargeMapControl3D());
          map.addControl(new GMapTypeControl());
          map.setCenter(point, 15);

          var marker = [];
          var anchor = $.rokkoisland.getEnFlg();
          var labelAnchor = {
            0 : 'ホームページ',
            1 : 'Web Site'
          };

          for (var i = 0, len = info.length; i < len; i++) {
            if (info[i].point[0] && info[i].point[1]) {
              info[i].name = $('#mapid' + i + ' .name').text();
              info[i].address = $('#mapid' + i + ' .address').text();
              info[i].capacity = $('#mapid' + i + ' .capacity').text();
              info[i].price = $('#mapid' + i + ' .price').text();
              info[i].note = $('#mapid' + i + ' .note').html();
              info[i].phone = $('#mapid' + i + ' .phoneTxt').text();
              info[i].url = $('#mapid' + i + ' .urlTxt').attr('href');

              var html;
              html =
                '<div>' + 
                '<div><strong>' + info[i].name + '</strong></div>' +
                '<div>' + info[i].address + '</div>' +
                '<div>' + info[i].capacity + '</div>' +
                '<div>' + info[i].price + '</div>' +
                '<div>' + info[i].note + '</div>' +
                '<div>' + info[i].phone + '</div>' +
                '<div><a href="' + info[i].url + '" target="_blank">' + labelAnchor[anchor] + '</a></div>'
                '</div>';
              addMarker(info[i].point[0], info[i].point[1], html);
              showInfo(i, info[i].point[0], info[i].point[1], html);
            }
          }
        }
      },

      showImage : function(trigger) {
		var imgMap = {
		  'dt_train_o1' : 'img_train_o1',
		  'dt_train_o2' : 'img_train_o2',
		  'dt_train_o3' : 'img_train_o3',
		  'dt_train_o4' : 'img_train_o4',
		  'dt_train_o5' : 'img_train_o5',
		  'dt_bus_o1' : 'img_bus_o1',
		  'dt_bus_o2' : 'img_bus_o1',
		  'dt_bus_o3' : 'img_bus_o1',
		  'dt_car_o1' : 'img_car_o1',
		  'dt_car_o2' : 'img_car_o2',
	      'dt_car_o3' : 'img_car_o3',
	      'dt_car_o4' : 'img_car_o4'
		};
        $("#" + imgMap[trigger]).css("display", "block");
      },
      hideImage : function() {
        $("img.o").css("display", "none");
      },

      preFilter : function() {
      },

      indexAction : function() {
        $("dt.o").each(function() {
          $(this).hover(
            function () {
              $.rokkoisland.access.showImage($(this).attr("id"));
            },
            function () {
              $.rokkoisland.access.hideImage();
            }
          );
        });
      },

      parkingAction : function() {
        $.rokkoisland.access.initMap();
      },

      postFilter : function() {
      }
    },

    postFilter : function() {
    }
  };

  $.fn.base.dispatcher({sitename : 'rokkoisland'});
});

