// JavaScript Document

//<![CDATA[
 //  颱風中心資訊
function createPointMarker(point,month,day,hour,lon,lat) { 
   //marker = new LabeledMarker(point, opts);
   markerty = new GMarker(point,tymarkerOptions);
   tymarkers.push(markerty);  
   var message = "預估"+ month + "/" + day + " - "+ hour+"時中心位置<br>經度: "+lon+" , 緯度: "+lat;
   GEvent.addListener(markerty,"click", function() {
   map.openInfoWindowHtml(point, message);
   });
   return markerty;
}

//  颱風中心資訊(寫出文字)
function createPointMarker2(point,month,day,hour,lon,lat,opts) {  
   markerty = new LabeledMarker(point, opts);
   //marker = new GMarker(point,markerOptions);
   tymarkers.push(markerty);  
   var message = "預估"+ month + "/" + day + " - "+ hour+"時中心位置<br>經度: "+lon+" , 緯度: "+lat;
   GEvent.addListener(markerty,"click", function() {
   map.openInfoWindowHtml(point, message);
   });
   return markerty;
}

// 執行繪製颱風路徑的程式
var sh_ty="off";
function show_typhoon(num){ 
if(sh_ty=="off"){  
sh_ty="on";
 if(num=="0"){
  typhoon_track(0);
 }else if(num=="1"){
  typhoon_track(0);
  typhoon_track(1);
 }else{
  typhoon_track(0);
  typhoon_track(1);
  typhoon_track(2);
 }
}else{
sh_ty="off"; 
mgrty.clearMarkers();
map.removeOverlay();
}
//map.setCenter(new GLatLng(23, 121), 6);
}

function typhoon_track(num){
typhoon_center(num);
tymarkers = new Array();
newmarkers = new Array();
var lon=new Array();
var lat=new Array();
var Year=new Array();
var Month=new Array();
var Day=new Array();
var Hour=new Array();
var Time=new Array();
var Wind=new Array();
 var xml = getXmlDoc("xml/typhoon_track"+num+".xml");  
 LNodes = getAllLocationNode(xml);
	for(var i=0;i<LNodes.length;i++){
   	   lon[i]=getLocationInfo(LNodes[i],"Lon");
	   lat[i]=getLocationInfo(LNodes[i],"Lat");
	   Year[i]=getLocationInfo(LNodes[i],"Year");
       Month[i]=getLocationInfo(LNodes[i],"Month");
	   Day[i]=getLocationInfo(LNodes[i],"Day");	
	   Hour[i]=getLocationInfo(LNodes[i],"Hour");	
	   Time[i]=getLocationInfo(LNodes[i],"Time");
	   Wind[i]=getLocationInfo(LNodes[i],"Wind");
    }
	var ni=LNodes.length-1;
	for(var i=0;i<LNodes.length;i++){
	var j=i+1;
	   polyOptions = {geodesic:true};
	   if(Time[i]=="PAST"){
       polyline = new GPolyline([new GLatLng(lat[i], lon[i]),new GLatLng(lat[j], lon[j])],"#660099", 3, 1, polyOptions);
	   tyIcon = new GIcon(G_DEFAULT_ICON);  
       tyIcon.image = 'http://thsrc.tenki.tw/images/marker.png';
	   tyIcon.iconSize = new GSize(20, 20); 
	   tyIcon.iconAnchor = new GPoint(10, 20); 	   
	   }else{
		polyline = new GPolyline([new GLatLng(lat[i], lon[i]),new GLatLng(lat[j], lon[j])],"#990000", 3, 1, polyOptions);
	   tyIcon = new GIcon(G_DEFAULT_ICON);  
       tyIcon.image = 'http://thsrc.tenki.tw/images/marker2.png'; 
	   tyIcon.iconSize = new GSize(20, 20); 
	   tyIcon.iconAnchor = new GPoint(10, 20);	
	   center_icon(num,Month[i],Day[i],Hour[i],lat[i],lon[i],Wind[i],Time[i]);
	   }
       map.addOverlay(polyline);	
       tyIcon.shadow='none';
       tymarkerOptions = { icon:tyIcon };
	   	 var labelClass="TextBox";
		 var tyopts = { 
          "icon": tyIcon,
          "clickable": true,
          "title": Month[i]+"/"+Day[i]+" - "+Hour[i]+":00",
          "labelText":Month[i]+"/"+Day[i]+" - "+Hour[i]+":00",
		  "labelClass":labelClass,
		  "labelOffset": new GSize(15, -35)
          };
//	   if(Time[i]=="PAST"){	  
//	    if(i%3=="0"){  	
//		createPointMarker2(new GLatLng(lat[i], lon[i]),Month[i],Day[i],Hour[i],lon[i],lat[i],tyopts);
//	    }else{
//		createPointMarker(new GLatLng(lat[i], lon[i]),Month[i],Day[i],Hour[i],lon[i],lat[i]);
//		}
//	   }
	} 	
   mgrty = new MarkerManager(map);	
   mgrty.addMarkers(tymarkers,5); 
   mgrty.refresh();		
}

function center_icon(num,month,day,hour,newlat,newlon,wind,time){
	if(wind<17){
		var level="td"; 
	}else if(wind>=17 && wind<33){
	    var level="light";	
	}else if(wind>=33 && wind<51){
	    var level="mid";	
	}else{
	    var level="strong";	
	}
    var Content="<iframe frameborder=NO border=0 framespacing=0 height=130 width=250 scrolling=auto marginheight=0 marginwidth=0 name=mediaarea src=show_ty.php?num="+num+"&month="+month+"&day="+day+"&hour="+hour+"&lon="+newlon+"&lat="+newlat+" noresize></iframe>";
	   tyIcon = new GIcon(G_DEFAULT_ICON);  
	   tyIcon.image = 'http://thsrc.tenki.tw/images/typhoon_eye_'+level+'.png';
       tyIcon.shadow='none';
	   tyIcon.iconSize = new GSize(35, 35); 
	   tyIcon.iconAnchor = new GPoint(10, 20);
       tymarkerOptions = { icon:tyIcon };
   var lonlat = new GLatLng(parseFloat(newlat),parseFloat(newlon)); 
   var newmarker = new GMarker(lonlat,tymarkerOptions);
   newmarkers.push(newmarker);  
   GEvent.addListener(newmarker,"click", function() {
   map.openInfoWindowHtml(lonlat, Content);
   });
   mgrs2 = new MarkerManager(map);	
   mgrs2.addMarkers(newmarkers,6); 
   mgrs2.refresh();		
//   map.setCenter(new GLatLng(newlat, newlon), 7);
//   if(time=='CURR'){
//   map.openInfoWindowHtml(lonlat, Content);
//   }
}	

function typhoon_center(num){
var swlon=new Array();
var swlat=new Array();
var nelon=new Array();
var nelat=new Array();
var cTime=new Array();
 var xml = getXmlDoc("xml/typhoon_center"+num+".xml");  
 LNodes = getAllLocationNode(xml);
	for(var i=0;i<LNodes.length;i++){
   	   swlon[i]=getLocationInfo(LNodes[i],"SWLon");
	   swlat[i]=getLocationInfo(LNodes[i],"SWLat");
       nelon[i]=getLocationInfo(LNodes[i],"NELon");
	   nelat[i]=getLocationInfo(LNodes[i],"NELat");
	   cTime[i]=getLocationInfo(LNodes[i],"Time");
    }
  if(swlat[0]!="0" && swlon[0]!="0"){	
  var boundaries_now = new GLatLngBounds(new GLatLng(swlat[0],swlon[0]), new GLatLng(nelat[0],nelon[0]));
  var oldmap_now = new GGroundOverlay("http://thsrc.tenki.tw/images/typhoon_rangeb.png", boundaries_now);
  map.addOverlay(oldmap_now);

  }
  if(swlat[1]!="0" && swlon[1]!="0"){	
  var boundaries_now2 = new GLatLngBounds(new GLatLng(swlat[1],swlon[1]), new GLatLng(nelat[1],nelon[1]));
  var oldmap_now2 = new GGroundOverlay("http://thsrc.tenki.tw/images/typhoon_range.png", boundaries_now2);
  map.addOverlay(oldmap_now2);
  }
  if(swlat[2]!="0" && swlon[2]!="0"){	
  var boundaries_f = new GLatLngBounds(new GLatLng(swlat[2],swlon[2]), new GLatLng(nelat[2],nelon[2]));
  var oldmap_f = new GGroundOverlay("http://thsrc.tenki.tw/images/typhoon_range2b.png", boundaries_f);
  map.addOverlay(oldmap_f);
  }
  if(swlat[3]!="0" && swlon[3]!="0"){	
  var boundaries_f2 = new GLatLngBounds(new GLatLng(swlat[3],swlon[3]), new GLatLng(nelat[3],nelon[3]));
  var oldmap_f2 = new GGroundOverlay("http://thsrc.tenki.tw/images/typhoon_range2.png", boundaries_f2);
  map.addOverlay(oldmap_f2); 
  }
}


// 執行繪製颱風路徑的程式
var sh_allty="off";
function show_allty(){ 
if(sh_allty=="off"){  
 sh_allty="on";
 allty = new GGeoXml("http://map.tenki.tw/xml/allty_map.kml");    
 map.addOverlay(allty);	 
}else{
 sh_allty="off"; 
 map.removeOverlay(allty);
}
map.setCenter(new GLatLng(23, 121), 6);
}

 
//]]> 