//ver2.1
max_days = 21;				// カレンダー表示日数
today = new Date();			// 本日

//-----------------------------------------------------------------------------
// カレンダー生成
//-----------------------------------------------------------------------------
function make_calendar()
{
  var dayofweek_list = new Array("日","月","火","水","木","金","土");

  var now_month  = today.getMonth() + 1;
  var next_month = now_month + 1;
  if(next_month == 13)
  {
    next_month = 1;
  }

  //
  // 日付データ生成
  //
  var out = "<p class='calendar'>";

  var calc_date = new Date();

  for(var i = 0; i < max_days; i++)
  {
    var target_day = calc_date.getDate();
    var target_dayofweek  = calc_date.getDay();

    //
    // 土日かどうかの判断
    //
    if ((target_dayofweek == 6) || (target_dayofweek == 0))
    {
      holiday_flg = " class='holiday'";
    }
    else
    {
      holiday_flg = "";
    }

    //
    // 日によって月を加えるかどうか制御
    //
    if (i == 0)				// カレンダーの先頭日(現在月を付加)
    {
      out += "<span" + holiday_flg + ">" + now_month + "/" + target_day + "</span>";
    }
    else if (target_day == 1)		// 月初日(次月を付加)
    {
      out += "<span" + holiday_flg + ">" + next_month + "/" + target_day + "</span>";
    }
    else
    {
      out += "<span" + holiday_flg + ">" + target_day + "</span>";
    }

    calc_date.setDate(calc_date.getDate() + 1);	// 日付加算
  }
  out += "</p>";

  //
  // 曜日データ生成
  //
  out += "<p class='calendar'>";

  var calc_date = new Date();

  for(var i = 0; i < max_days; i++)
  {
    var target_dayofweek  = calc_date.getDay();

    //
    // 土日かどうかの判断
    //
    if ((target_dayofweek == 6) || (target_dayofweek == 0))
    {
      holiday_flg = " class='holiday'";
    }
    else
    {
      holiday_flg = "";
    }

    out += "<span" + holiday_flg + ">(" + dayofweek_list[target_dayofweek] + ")</span>";

    calc_date.setDate(calc_date.getDate() + 1);	// 日付加算
  }

  out += "</p>";

  out += "<p>　</p>";

  return(out);

}

//-----------------------------------------------------------------------------
// Googleマップ初期設定
//-----------------------------------------------------------------------------
function gmap_load()
{
  //
  // 初期情報設定
  //
  var zoomLevel = 14;			// ズームレベル

  var defaultLat =  35.681213;		// 東京駅の緯度
  var defaultLon = 139.767337;		// 東京駅の経度

  marker_old = new Object();		// 前回マーカーオブジェクト
  popup_old = new Object();		// 前回ポップアップオブジェクト

  //
  // マップ情報設定
  //
  var mapdiv = document.getElementById('map');
  var map_option =
  {
    center: new google.maps.LatLng(defaultLat, defaultLon),
					// 初期緯度経度
    zoom: zoomLevel,			// ズームレベル
    mapTypeId: google.maps.MapTypeId.ROADMAP
					// マップタイプ
  };

  //
  // マップ描画
  //
  map = new google.maps.Map(mapdiv, map_option);
}

//
// マーカー表示
//
function gmap_marker(toLat, toLon, placeName, placeURL)
{
  if('getIcon' in marker_old)		// 前回マーカーが存在すれば
  {
    marker_old.setVisible(false);	// マーカー非表示
    popup_old.close();			// ポップアップ非表示
  }

  var placeName = unescape(placeName);	// 会場名
  var movePoint = new google.maps.LatLng(toLat, toLon);
					// マーカー位置
  //
  // マーカー定義
  //
  var marker = new google.maps.Marker(
    {
      map: map, 
      position: movePoint,
      icon: '/image/icon_gmaps.png'
    });

  //
  // ポップアップ定義
  //
  var infoHTML = "<a href='" + placeURL + "' onclick='window.open(\"" + placeURL + "\"); return false;'>" + placeName + "</a>";

  var popup = new google.maps.InfoWindow(
    {
      content: infoHTML
    });

  google.maps.event.addListener(popup, 'closeclick', function()
    {
					// ポップアップを閉じたら
      marker.setVisible(false);		// マーカー非表示
    });

  //
  // マーカー/ポップアップ表示
  //
  map.setCenter(movePoint);		// マップ移動
  popup.open(map, marker);

  //
  // 現在マーカー/ポップアップオブジェクト退避
  //
  marker_old = marker;
  popup_old = popup;
}

//-----------------------------------------------------------------------------
// XMLHttpRequestオブジェクト定義(クロスブラウザ対応)
//-----------------------------------------------------------------------------
function createXMLHttp()
{
  var xmlHttp;

  if (window.XMLHttpRequest)			// Safari, Firefox, Opera...
  {
    xmlHttp = new XMLHttpRequest();
  }
  else						// IE4,5,6
  {
    if (window.ActiveXObject)
    {
      try
      {
        xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
      }
      catch(e)
      {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
      }
    }
  }

  return(xmlHttp);
}
