﻿window.onload=function(){

	setContents_r();
										//ページカウンター処理
	comSetCounterPage(comGetFileName());

	getWeatherData(63);
	load();
}





    var map = null;
    var geocoder = null;
    function load() {
      if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map_canvas"));
//        map.setCenter(new GLatLng(35.62556524115522,139.71415400505066), 4);
        map.setCenter(new GLatLng(0,0), 4);

        geocoder = new GClientGeocoder();

	map.setZoom(23);

	MarkAdr("東京都品川区西五反田５－１０－６",true,true,true,"アクトシステム株式会社<br/>アスペンタワービル １F<BR/>TEL:03-3491-9249<BR/>交通：東急目黒線不動前駅<BR/>　　　　徒歩20秒");
      }
    }

    function MarkAdr(address,pFlgFirst,pFlgMk,pFlgInf,pInfoText){
      if (geocoder) {
        geocoder.getLatLng(
          address,
          function(point) {
            if (!point) {
              //alert(address + " not found");
            } else {

              var marker = new GMarker(point);
              map.addOverlay(marker);


              //ポイント移動と情報ウィンドウ
              if(pFlgFirst==true){
                map.setCenter(point, map.getZoom());

                if(pFlgInf==true){
                  marker.openInfoWindowHtml(pInfoText);
                }	
              }	

            }
          }
        );
      }
    }



var fgData="";
var fgTimerId; // タイマーID
var ajax;      // HTTPオブジェクト
var fgsWeatherUrl     = "http://weather.livedoor.com/forecast/webservice/rest/v1";

var Image1;		//todayのイメージパス
var Telop1;		//       天気文字列
var sDate1;		//       日付
var sMax1;
var sMin1;

/********************************************************************/
//XMLデータを取得する為に、呼び出す関数
// input param : psCallBk=コールバック関数名
//               piCity=地域コード
//               psDay=日付(today,tommorow,dayaftertomorrow)
//
/********************************************************************/
function clickGetJSONP(psCallBk,piCity,psDay){
  var url = fgsWebServiceUrl + "?cb=" + psCallBk + "&url="+fgsWeatherUrl + "?city=" + piCity + "?amp;day=" + psDay;

//alert("url=" + url);

  var sc = document.createElement("script");
  sc.setAttribute("type","text/javascript");
  sc.setAttribute("src", url );
  document.getElementsByTagName("body").item(0).appendChild(sc);
}

/********************************************************************/
// 本日データ取得後のコールバック関数
/********************************************************************/
function CallBk1(myData){
var st_inf = new st_WeatherInf();

	fgData = myData.data;
 
	if (fgData == "") {
	    return;
	}
	getWeatherInf(st_inf,fgData);

	Image1 = st_inf.Image;
	Telop1 = st_inf.Telop;
	sDate1 = DateFormat(st_inf.WeatherDate);

	document.getElementById("area").innerHTML = st_inf.AreaName + "／" + st_inf.PrefName;
	document.getElementById("day1").innerHTML =sDate1 + "<br /><img src='" + Image1 + "'><br />" + Telop1;
 
}

/********************************************************************/
// 翌日データ取得後のコールバック関数
/********************************************************************/
function CallBk2(myData){
var st_inf = new st_WeatherInf();

	fgData = myData.data;
 
	if (fgData == "") {
	    return;
	}
	getWeatherInf(st_inf,fgData);

	Image1 = st_inf.Image;
	Telop1 = st_inf.Telop;
	sDate1 = DateFormat(st_inf.WeatherDate);

	document.getElementById("day2").innerHTML =sDate1 + "<br /><img src='" + Image1 + "'><br />" + Telop1;
}

/********************************************************************/
// 明後日データ取得後のコールバック関数
/********************************************************************/
function CallBk3(myData){
var st_inf = new st_WeatherInf();

	fgData = myData.data;
 
	if (fgData == "") {
	    return;
	}
	getWeatherInf(st_inf,fgData);

	Image1 = st_inf.Image;
	Telop1 = st_inf.Telop;
	sDate1 = DateFormat(st_inf.WeatherDate);

	document.getElementById("day3").innerHTML =sDate1 + "<br /><img src='" + Image1 + "'><br />" + Telop1;

}

/************************************************************************/
// 日付変換処理
/************************************************************************/

function DateFormat(psDate){
//	var sDate = "";


	sDate = (new Date(psDate)).getMonth()+1;
	sDate +="/";
	sDate += (new Date(psDate)).getDate();

	return sDate;
}

/************************************************************************/
//    TBODYのクリア
// Input Parameter
//    pData TBODYのID
// Output Parameter
//    なし
/************************************************************************/
function comRowAllClear(pData){
	for (i=pData.rows.length-1;i>=0;i--){
		pData.deleteRow(pData.rows.length-1);
	}
}

/************************************************************************/
//    TDの作成
// Input Parameter
//    pTr 作成するTDの親要素TRのID
// Output Parameter
//    なし
/************************************************************************/
function createTD(pTr) {
    var oTd;
    if (pTr.cells.length == 0) {
        oTd = pTr.insertCell(0);
    } else {
        oTd = pTr.insertCell(pTr.cells.length);
    }
    return oTd;
}

/************************************************************************/
//天気情報取得用
/************************************************************************/
function st_WeatherInf(){
    var WeatherDate="";					//日付
    var AreaName="";					//地域名
    var PrefName="";					//県名
    var CityName="";					//市区町村名？
    var Telop="";						//予報天気文字列
    var Image="";						//予報天気イメージURL
    var Max="";						//最高気温
    var Min="";						//最低気温
}

/************************************************************************/
//    天気情報取得
// Input Parameter
//    pWeatherInf 
//    pXmlStr 
// Output Parameter
//    なし
/************************************************************************/
function getWeatherInf(pWeatherInf,pXmlStr){
var oXML;
var xmltop;
var Nodes;
var Node;
var oLocation;
var NodeImage;
var dpObj;
var NodeTemperature;
var Node

	if (document.implementation.createDocument){
		oXML = document.implementation.createDocument("", "", null);

		dpObj = new DOMParser();
		oXML=dpObj.parseFromString(pXmlStr, "text/xml");

	}else{ 				//IE
		oXML = new ActiveXObject('microsoft.XMLDOM');
		oXML.loadXML(pXmlStr);
	}

	if (document.getElementById("tbl_body").rows.length==0){
		newTR = document.getElementById("tbl_body").insertRow(0);
	}else{
		newTR = document.getElementById("tbl_body").insertRow(document.getElementById("tbl_body").rows.length);
	}

	xmltop=oXML.documentElement;
	Nodes = oXML.documentElement;

	for (var j = 0; j < Nodes.childNodes.length; j++) {
		Node = Nodes.childNodes[j];
		switch (Node.tagName){
			case "image":
				for (var k=0;k<Node.childNodes.length;k++){
					NodeImage=Node.childNodes[k];
					switch (NodeImage.tagName){
						case "title":
							pWeatherInf.Telop = NodeImage.childNodes[0].data;
							break;
						case "url":
							pWeatherInf.Image = NodeImage.childNodes[0].data;
							break;
						default:
					}
				}
				break;

			case "location":
                pWeatherInf.AreaName = Node.getAttribute("area");
                pWeatherInf.PrefName = Node.getAttribute("pref");
                pWeatherInf.CityName = Node.getAttribute("city");

				break;
				
			case "forecastdate":
                pWeatherInf.WeatherDate = Node.childNodes[0].data;
				break;
			case "temperature":
				for (var k=0;k<Node.childNodes.length;k++){
					NodeTemperature=Node.childNodes[k];
					switch (NodeTemperature.tagName){
						case "max":
							for (var l=0;l<NodeTemperature.childNodes.length;l++){
								switch (NodeTemperature.childNodes[l].tagName){
									case "celsius":
										pWeatherInf.Max = NodeTemperature.childNodes[l].text;
										break;
								}
							}
							break;
						case "min":
							for (var l=0;l<NodeTemperature.childNodes.length;l++){
								switch (NodeTemperature.childNodes[l].tagName){
									case "celsius":
										pWeatherInf.Min = NodeTemperature.childNodes[l].text;
										break;
								}
							}
							break;
						default:
					}
				}
				break;
		}
	}
}

/************************************************************************/
//    天気情報の表示
// Input Parameter
//    piArea 該当地域のIndex（既定）
// Output Parameter
//    なし
/************************************************************************/
function getWeatherData(piArea){
var newTR;
var newTD;
var st_inf = new st_WeatherInf();
var i=piArea;

	if(piArea==""){
		if (tbl_body.rows.length!=0){
			comRowAllClear(tbl_body);
		}
		return;	
	}

	//----today---------------------------------------
		clickGetJSONP("CallBk1",i,"today");

	//----tomorrow---------------------------------------
		clickGetJSONP("CallBk2",i,"tomorrow");


	//----dayaftertomorrow---------------------------------------
		clickGetJSONP("CallBk3",i,"dayaftertomorrow");

}


