var map;
var geocoder;
var directionDisplay;
var directionsService = new google.maps.DirectionsService();
var vdMap = new HashMap();
var cmsMap = new HashMap();
var vdArr = new Array();
var markerMap = new HashMap(); var markerMap2 = new HashMap();                       //marker in markerMap2 is for illustriation
var highwayCctvMap = new HashMap(); var highwayCctvMap2 = new HashMap();   //marker in highwayCctvMap2 is for illustriation

var deviceMap = new HashMap(); var vdRealtimeDataMap =new HashMap(); var cctvVdP0MappingMap = new HashMap();
var eventMap = new HashMap();
var weatherMap = new HashMap();
var alternativeJamRoadMap = new HashMap();
var countyMap = new HashMap();
var disasterMap = new HashMap();
var rainfallMap = new HashMap();
var cctvLayer;
var kmlLayerOptions = {preserveViewport:true,suppressInfoWindows: true};
var infoWindow = null;
var moeLayer;var moe2Layer; var airportToPingzhenLayer;var guanxiToTuchengLayer;var hsinchuToChanghuaLayer;var dayaToYuanlinLayer;var douliuToWufengLayer;var xindianToTouchengLayer;
var t13ALayer;var t14ALayer;var t17ALayer;var t21ALayer;var t26ALayer;var t2ALayer;var t8ALayer;var t11ALayer;
var hwMoeLayer1;var hwMoeLayer2;var hwMoeLayer3;var hwMoeLayer4;var hwMoeLayer5;var hwMoeLayer6;
var timer = null;

var t9ALayerN;var t9ALayerS;

var moeColorLayer;var moe2ColorLayer;
var t1ALayer;
var t9ALayer;
var t2ALayer;
var t8ALayer;
var t11ALayer;
var t13ALayer;
var t14ALayer;
var t17ALayer;
var t21ALayer;
var t26ALayer;

//default value  when map initialize
var zoom = 8;var lat=23.778381;var lng=120.973978;
//real env
var vdXmlSrcD1 = "http://60.250.81.184/TFC/xml/vd_message.xml";
var vdXmlSrcD2 = "http://210.241.39.1/data/thbu2Parsed.xml";
var vdXmlSrcD4 = "http://117.56.76.114//TFC/xml/vd_message.xml";
var vdSrc = "http://210.241.39.1/data/VdDataAllZone.xml";
var moeKml = "http://210.241.39.1/data/thbMoe.kml";
var moe2Kml = "http://210.241.39.1/data/thbMoe2.kml";
var t13AKml = "http://210.241.39.1/data/T13A.kml";
var t14AKml = "http://210.241.39.1/data/T14A.kml";
var t17AKml = "http://210.241.39.1/data/T17A.kml";
var t21AKml = "http://210.241.39.1/data/T21A.kml";
var t26AKml = "http://210.241.39.1/data/T26A.kml";
var t2AKml = "http://210.241.39.1/data/T2A.kml";
var t8AKml = "http://210.241.39.1/data/T8A.kml";
var t11AKml = "http://210.241.39.1/data/T11A.kml";
var airportToPingzhenKml = "http://210.241.39.1/data//airportToPingzhenMoe.kml";
var guanxiToTuchengKml = "http://210.241.39.1/data/guanxiToTuchengMoe.kml";
var xindianToTouchengKml = "http://210.241.39.1/data/xindianToTouchengMoe.kml";
var hsinchuToChanghuaKml = "http://210.241.39.1/data/hsinchuToChanghuaMoe.kml";
var dayaToYuanlinKml = "http://210.241.39.1/data/dayaToYuanlinMoe.kml";
var douliuToWufengKml = "http://210.241.39.1/data/douliuToWufengMoe.kml";
var cmsInfoSrc = "http://210.241.39.1/data/CmsInfo.xml";
var disasterXmlSrc = "http://bobe.thb.gov.tw/datachangexml.aspx?UID=iisi";
var rainfallXmlSrc = "http://thb-gis.thb.gov.tw/ChangeRain.aspx?UID=iisi";

//test env
/*
var cctvKmlSrc="http://210.59.250.246:8088/temp/thb/thbCctv.kml";
var vdXmlSrcD1 = "http://210.59.250.246:8088/temp/thb/vd_messageD1.xml";
var vdXmlSrcD2 = "http://210.59.250.246:8088/temp/thb/thbu2Parsed.xml";
var vdXmlSrcD4 = "http://210.59.250.246:8088/temp/thb/vd_messageD4.xml";
var vdSrc = "http://210.59.250.246:8088/temp/thb/VdDataAllZone.xml";
var moeKml = "http://210.59.250.246:8088/temp/thb/thbMoe123.kml";
var moe2Kml = "http://210.59.250.246:8088/temp/thb/thbMoe2.kml";
var t13AKml = "http://210.59.250.246:8088/temp/thb/T13A.kml";
var t14AKml = "http://210.59.250.246:8088/temp/thb/T14A.kml";
var t17AKml = "http://210.59.250.246:8088/temp/thb/T17A.kml";
var t21AKml = "http://210.59.250.246:8088/temp/thb/T21A.kml";
var t26AKml = "http://210.59.250.246:8088/temp/thb/T26A.kml";
var t2AKml = "http://210.59.250.246:8088/temp/thb/T2ATest.kml";
var t8AKml = "http://210.59.250.246:8088/temp/thb/T8A.kml";
var t11AKml = "http://210.59.250.246:8088/temp/thb/T11A.kml";
var airportToPingzhenKml = "http://210.59.250.246:8088/temp/thb/airportToPingzhenMoe123.kml";
var guanxiToTuchengKml = "http://210.59.250.246:8088/temp/thb/guanxiToTuchengMoe.kml";
var xindianToTouchengKml = "http://210.59.250.246:8088/temp/thb/xindianToTouchengMoe.kml";
var hsinchuToChanghuaKml = "http://210.59.250.246:8088/temp/thb/hsinchuToChanghuaMoe.kml";
var dayaToYuanlinKml = "http://210.59.250.246:8088/temp/thb/dayaToYuanlinMoe.kml";
var douliuToWufengKml = "http://210.59.250.246:8088/temp/thb/douliuToWufengMoe.kml";
var cmsInfoSrc = "http://210.59.250.246:8088/temp/thb/CmsInfo.xml";
var disasterXmlSrc = "http://210.59.250.246:8088/temp/thb/disasters.xml";
var rainfallXmlSrc = "http://210.59.250.246:8088/temp/thb/rainfall.xml";
*/

var moeColorKml = "http://210.241.39.1/data/moeBaseLine/moe1.kml";
var moe2ColorKml = "http://210.241.39.1/data/moeBaseLine/moe2.kml";
var moe3ColorKml = "http://210.241.39.1/data/moeBaseLine/moe3.kml";
var t1AKml = "http://210.241.39.1/data/moeBaseLine/T1_BaseLine.kml";
var t2AKml = "http://210.241.39.1/data/moeBaseLine/T2_BaseLine.kml";
var t3AKml = "http://210.241.39.1/data/moeBaseLine/T3_BaseLine.kml";
var t4AKml = "http://210.241.39.1/data/moeBaseLine/T4_BaseLine.kml";
var t5AKml = "http://210.241.39.1/data/moeBaseLine/T5_BaseLine.kml";
var t6AKml = "http://210.241.39.1/data/moeBaseLine/T6_BaseLine.kml";
var t7AKml = "http://210.241.39.1/data/moeBaseLine/T7_BaseLine.kml";
var t8AKml = "http://210.241.39.1/data/moeBaseLine/T8_BaseLine.kml";
var t9AKml = "http://210.241.39.1/data/moeBaseLine/T9_BaseLine.kml";
var t10AKml = "http://210.241.39.1/data/moeBaseLine/T10_BaseLine.kml";
var t11AKml = "http://210.241.39.1/data/moeBaseLine/T11_BaseLine.kml";
var t12AKml = "http://210.241.39.1/data/moeBaseLine/T12_BaseLine.kml";
var t13AKml = "http://210.241.39.1/data/moeBaseLine/T13_BaseLine.kml";
var t14AKml = "http://210.241.39.1/data/moeBaseLine/T14_BaseLine.kml";
var t15AKml = "http://210.241.39.1/data/moeBaseLine/T15_BaseLine.kml";
var t16AKml = "http://210.241.39.1/data/moeBaseLine/T16_BaseLine.kml";
var t17AKml = "http://210.241.39.1/data/moeBaseLine/T17_BaseLine.kml";
var t18AKml = "http://210.241.39.1/data/moeBaseLine/T18_BaseLine.kml";
var t19AKml = "http://210.241.39.1/data/moeBaseLine/T19_BaseLine.kml";
var t20AKml = "http://210.241.39.1/data/moeBaseLine/T20_BaseLine.kml";
var t21AKml = "http://210.241.39.1/data/moeBaseLine/T21_BaseLine.kml";
var t25AKml = "http://210.241.39.1/data/moeBaseLine/T25_BaseLine.kml";
var t26AKml = "http://210.241.39.1/data/moeBaseLine/T26_BaseLine.kml";
var t28AKml = "http://210.241.39.1/data/moeBaseLine/T28_BaseLine.kml";
var t31AKml = "http://210.241.39.1/data/moeBaseLine/T31_BaseLine.kml";
var t61AKml = "http://210.241.39.1/data/moeBaseLine/T61_BaseLine.kml";
var t63AKml = "http://210.241.39.1/data/moeBaseLine/T63_BaseLine.kml";
var t66AKml = "http://210.241.39.1/data/moeBaseLine/T66_BaseLine.kml";
var t74AKml = "http://210.241.39.1/data/moeBaseLine/T74_BaseLine.kml";
var t76AKml = "http://210.241.39.1/data/moeBaseLine/T76_BaseLine.kml";


var weatherUrlPrefix = "http://210.59.250.246:8088/TrafficAsset/Weather/";
var weatherUrlSuffix = ".xml";
var t9AKmlN = "http://210.59.250.246:8088/temp/thb/T9Shift_North.kml";
var t9AKmlS = "http://210.59.250.246:8088/temp/thb/T9Shift_South.kml";
var hwMoeKml1 = "http://117.56.220.2/exchange_data/kml/thbmoe1.kml";
var hwMoeKml2 = "http://117.56.220.2/exchange_data/kml/thbmoe2.kml";
var hwMoeKml3 = "http://117.56.220.2/exchange_data/kml/thbmoe3.kml";
var hwMoeKml4 = "http://117.56.220.2/exchange_data/kml/thbmoe4.kml";
var hwMoeKml5 = "http://117.56.220.2/exchange_data/kml/thbmoe5.kml";
var hwMoeKml6 = "http://117.56.220.2/exchange_data/kml/thbmoe6.kml";

function initialize() {
	loadRainfall();
	getVdInfo();
	getVisitorNums();                        //get visitor numbers
	getWeatherInfo();
	loadHighwayCCTV();		              //load cctv dada of thb
	loadEvent();
	loadCMS();
	loadDisasters();
	genAlternativeMoeKml();         //generate moe kml of alternative road
	genTLinePolyline();
	genMoe2Kml();
	genMoeKml();
	$("#dataUpdateSpan").html((new Date()).toLocaleString());
	setTimeout("updateData();",600000);
}

function updateData () {
	//clear old data
	cctvVdP0MappingMap.clear();
	vdRealtimeDataMap.clear();
	deviceMap.clear();
	cmsMap.clear();
	//update data
	getVdInfo();
	loadCMS();
	$("#dataUpdateSpan").html((new Date()).toLocaleString());
	setTimeout("updateData();",300000);
}

function getVdInfo() {
	/*
	//抓取0期VD與CCTV的mapping info
	$.ajax({
		url:"device.do",
		data:{"action":"getVdMappingPeriod0"},
		type:"post",
		dataType:"json",
		error:function(err,status){
			//alert("error when getVdMappingPeriod0:"+err);
		},
		success:function(res){
			$.each(res,function(index,item){
				cctvVdP0MappingMap.put(item.cctvId,item.vdLocation);
			});
		}
	});
	*/
	
	/*抓取0期與1、2期的車流資訊
	 * 0期以location為key, 1、2期則以VD編號為key
	 */
	/*
	$.ajax({
		url:"device.do",
		data:{"action":"getVdRealtimeData","vdXmlSrcD1":vdXmlSrcD1,"vdXmlSrcD2":vdXmlSrcD2,"vdXmlSrcD4":vdXmlSrcD4,"vdSrc":vdSrc},
		type:"post",
		dataType:"json",
		error:function(err,status){
			//alert("error when getVdRealtimeData:"+err);
		},
		success:function(res){
			$.each(res,function(index,item){
				//0期不會有vdID,故用此來判別此為0期或1、2期的設備
				 
				if (item.vdId == undefined) {                   					     	//表示為0期
					vdRealtimeDataMap.put(item.location+"-"+item.direction,item);
				}else {																					//表示為1、2期	
					vdRealtimeDataMap.put(item.vdId,item);
				}
			}); 
			getDeviceInfo();
		}
	}); */
	
	//抓取各期與各區的車流資訊,皆以VD編號為key
	$.ajax({
		url:"device.do",
		data:{"action":"getVdRealtimeData","vdSrc":vdSrc},
		type:"post",
		dataType:"json",
		error:function(err,status){
			alert("error when getVdRealtimeData:"+err);
		},success:function(res){
			$.each(res,function(index,item){			
					vdRealtimeDataMap.put(item.vdId,item);
			}); 
			getDeviceInfo();
		}
	});
}

function getDeviceInfo() {
	$.ajax({
		url:"device.do",
		data:{"action":"getDeviceInfo"},
		type:"post",
		dataType:"json",
		error:function(err,status){
			alert("in getDeviceInfo error:"+err);
		},
		success:function(res){
			$.each(res,function(index,item){
				var iconType;
				if (item.type == "CCTV") {
					iconType = "cctv.png";
					//雨量資訊若沒有未達警戒的訊息,則icon改用閃爍的圖示
					var positionId = item.deviceId.substring(1);
				  	var rainfallItem = rainfallMap.get(positionId);
				  	if (rainfallItem != null && rainfallItem.warn.indexOf("未達警戒") == -1) {
				  		iconType = "device.gif";
				  	} 
					//設備所對應到的道路績效若為車多或壅塞,則icon也要改用閃爍的圖示
				  	if (iconType != "device.gif") {
							var moeStatus = "";
							var vdId = item.deviceId.replace("T","V");
							 var vdItem = vdRealtimeDataMap.get(vdId);
							 if (vdItem != null) {
								 moeStatus += vdItem.dir1MoeLevel;
								 if (vdItem.dir2Name != undefined) {
									 moeStatus += vdItem.dir2MoeLevel;
								 }
							 }
							 if (moeStatus != "" && moeStatus!= undefined && moeStatus.indexOf("壅塞") > -1 ) {
								  iconType = "device.gif";
							 }
				  	}
				} else {
					iconType = "vd.png";
					/*	if (item.type == "VD") {                
							 var vdItem = vdRealtimeDataMap.get(item.deviceId);
							 if (vdItem != null) {
								 moeStatus += vdItem.dir1MoeLevel;
								 if (vdItem.dir2Name != undefined) {
									 moeStatus += vdItem.dir2MoeLevel;
								 }
							 }
						 } */
				}
			
			/*	//預設為不會閃動的icon
				var iconType = "cctv.png";
				//雨量資訊若沒有未達警戒的訊息,則icon改用閃爍的圖示
				var positionId = item.deviceId.substring(1);
			  	var rainfallItem = rainfallMap.get(positionId);
			  	if (rainfallItem != null && rainfallItem.warn.indexOf("未達警戒") == -1) {
			  		iconType = "device.gif";
			  	} 
				
				//設備所對應到的道路績效若為壅塞,則icon要改用閃爍的圖示
			  	if (iconType != "device.gif") {
					if (item.type == "CCTV"){
						var moeStatus = "";
						var vdId = item.deviceId.replace("T","V");
						 var vdItem = vdRealtimeDataMap.get(vdId);
						 if (vdItem != null) {
							 moeStatus += vdItem.dir1MoeLevel;
							 if (vdItem.dir2Name != undefined) {
								 moeStatus += vdItem.dir2MoeLevel;
							 }
						 }
					}
					 if (item.type == "VD"){                
						 var vdItem = vdRealtimeDataMap.get(item.deviceId);
						 if (vdItem != null) {
							 moeStatus += vdItem.dir1MoeLevel;
							 if (vdItem.dir2Name != undefined) {
								 moeStatus += vdItem.dir2MoeLevel;
							 }
						 }
					 }
					 if (moeStatus != "" && moeStatus!= undefined && moeStatus.indexOf("壅塞") > -1 ) {
							iconType = "device.gif";
					 }
			  	} */


				
				
			  	var title =  ( item.location != item.alias) ?	item.alias+"("+item.location+")": item.location;
			  	
				var marker = new google.maps.Marker({
				      position: new google.maps.LatLng(item.wgsy,item.wgsx),
				      map: map,
				      icon: "images/"+iconType,
				      title:title
				  });
				marker.setMap(null);
				  marker.deviceUuid = item.deviceUuid;
				  marker.deviceId = item.deviceId;
				  marker.alias = item.alias;
				  marker.type = item.type;
				  marker.location = item.location;
				  marker.wgsx = item.wgsx;
				  marker.wgsy = item.wgsy;
				  marker.display = item.isDisplay;
				  marker.direction = item.direction;
				  marker.alternative = item.alternative;
				  marker.region = item.region;
				  marker.period = item.period;
				  if (item.type == 'CCTV'){
					  marker.pcUrl = item.pcUrl;
					  marker.mobileUrl = item.mobileUrl;
				  }
				  
				  
				  //一個位置可能包含CCTV,VD兩種設備,但也可能只包含其中一種. 後端的做法是一個地點的代表順序為: CCTV > VD
				 //所以一個設備點下去時須先判斷為哪種設備；若為CCTV，則要判斷是否還有VD; 若為VD則就只有VD了。 
				   
				  google.maps.event.addListener(marker, 'click', function(){
						 if (infoWindow != null)	infoWindow.close();   //關閉之前已打開的
						 //加上時雨量資訊
						 var positionId = marker.deviceId.substring(1);
						  var rainfallItem = rainfallMap.get(positionId);
						  var contentString = ""; 
						  if (rainfallItem != null) {
							contentString = "<font color=blue>週圍時雨量:"+rainfallItem.rain+" "+rainfallItem.warn+"</font>";
						  }
						  //若location與alias一樣,則顯示location即可，否則兩項資訊全顯示
						 contentString +=  (marker.alias != marker.location )? "<center><b>"+marker.alias+"("+marker.location+")"+"</b></center>": "<center><b>"+marker.location+"</b></center>";
						 
						 var updateTime ="無資料";
						 var vdTable;
						 				 		 	
						 if (marker.period == '0') {
							 if (marker.type == "CCTV"){                                 //此位置以CCTV為代表, 0期都是CCTV代表  
								          //加入CCTV影像
										  if (marker.region == '2'){  //0期2區的設備,若用IE看則需鑲入一個網頁中才能看,非IE瀏覽器則直接丟入iframe中的src即可
											  if ($.browser.msie){
												  contentString += "<div id='iwDiv'><iframe id='cctvIframe' src=CCTVImage_IE.html?cctvUrl="+marker.pcUrl+" width='380px' height='310px'></iframe></div>";
											  }else {
												  contentString += "<div id='iwDiv' ><iframe id='cctvIframe' src="+marker.pcUrl+" width='380px' height='310px'></iframe></div>";
											  }
										  }else {                       //0期非2區的設備,直接丟入iframe中的src
											  if (marker.cctvId == 'CXXXXXX1' || marker.cctvId == 'CXXXXXX2' || marker.cctvId == 'CXXXXXX3' || marker.cctvId == 'CXXXXXX4'){  //阿里山國家公園入口處2隻及石棹2隻
												  contentString += "<div id='iwDiv'><center>若無法觀看，請先下載<a href='http://appldnld.apple.com.edgesuite.net/content.info.apple.com/QuickTime/061-7356.20091118.Puyt6/QuickTimeInstaller.exe'>QuickTime Player</a></center><iframe id='cctvIframe' src='"+marker.pcUrl+"' width='380px' height='310px'></iframe></div>";
											  }else {
												  contentString += "<div id='iwDiv' ><iframe id='cctvIframe' src="+marker.pcUrl+" width='380px' height='310px' ></iframe></div>";
											  }
										 }
										//加入VD資訊
										  var vdId = marker.deviceId.replace("T","V");
										  var vdItem = vdRealtimeDataMap.get(vdId);
											 if (vdItem != null) {
												 updateTime = vdItem.updateTime;
												 vdTable = "<table id='vdTable' width='380px'  >";
												 vdTable += "<thead><tr align=center><td>地點</td><td>方向</td><td>流量</td><td>時速</td><td>佔量</td><td>車況</td></tr></thead>";
												 vdTable += "<tr align=center>";
												 vdTable += "<td>"+vdItem.location+"</td><td>"+vdItem.dir1Name+"</td><td>"+vdItem.dir1TotalVol+"</td><td>"+vdItem.dir1AvgSpd+"</td><td>"+vdItem.dir1AvgOcc+"</td><td>"+vdItem.dir1MoeLevel+"</td>";
												 vdTable += "</tr>";
												 if (vdItem.dir2Name != undefined) {
													 vdTable += "<tr align=center bgcolor=#E2E4FF>";
													 vdTable += "<td>"+vdItem.location+"</td><td>"+vdItem.dir2Name+"</td><td>"+vdItem.dir2TotalVol+"</td><td>"+vdItem.dir2AvgSpd+"</td><td>"+vdItem.dir2AvgOcc+"</td><td>"+vdItem.dir2MoeLevel+"</td>";
													 vdTable += "</tr>";
												 }
												 vdTable += "<tbody>";
											 }  
							 }
								 if (marker.type == "VD"){                                 //此位置以VD為代表,表示沒有CCTV,所以尋找VD資訊即可
									 var vdItem = vdRealtimeDataMap.get(marker.deviceId);
									 if (vdItem != null) {
										 updateTime = vdItem.updateTime;
										 vdTable = "<table id='vdTable'  >";
										 vdTable += "<thead><tr align=center><td>地點</td><td>方向</td><td>流量</td><td>時速</td><td>佔量</td><td>車況</td></tr></thead>";
										 vdTable += "<tr align=center>";
										 vdTable += "<td>"+vdItem.location+"</td><td>"+vdItem.dir1Name+"</td><td>"+vdItem.dir1TotalVol+"</td><td>"+vdItem.dir1AvgSpd+"</td><td>"+vdItem.dir1AvgOcc+"</td><td>"+vdItem.dir1MoeLevel+"</td>";
										 vdTable += "</tr>";
										 if (vdItem.dir2Name != undefined) {
											 vdTable += "<tr align=center bgcolor=#E2E4FF>";
											 vdTable += "<td>"+vdItem.location+"</td><td>"+vdItem.dir2Name+"</td><td>"+vdItem.dir2TotalVol+"</td><td>"+vdItem.dir2AvgSpd+"</td><td>"+vdItem.dir2AvgOcc+"</td><td>"+vdItem.dir2MoeLevel+"</td>";
											 vdTable += "</tr>";
										 }
										 vdTable += "<tbody>";
									 }
								 }	 
							 
						 }
						 
						 if (marker.period == '1' || marker.period == '2') {
							 if (marker.type == "CCTV"){                                 //此位置以CCTV為代表,所以依序尋找CCTV、VD的資訊
								 //加入CCTV資訊
								 if ($.browser.msie){         //IE 要讓其在一個網頁下執行
									  contentString += "<div id='iwDiv' ><iframe id='cctvIframe'  src=CCTVImage_IE.html?cctvUrl="+marker.pcUrl+" width='380px' height='310px'></iframe></div>";
								  }else {                              //非IE瀏覽器可直接鑲入iframe
									  contentString += "<div id='iwDiv' ><iframe id='cctvIframe'  src="+marker.pcUrl+" width='380px' height='310px'></iframe></div>";
								  }
								 //加入VD資訊
								 var vdId = marker.deviceId.replace("T","V");
								 var vdItem = vdRealtimeDataMap.get(vdId);
								 if (vdItem != null) {
									 updateTime = vdItem.updateTime;
									 vdTable = "<table id='vdTable' width='380px'  >";
									 vdTable += "<thead><tr align=center><td>地點</td><td>方向</td><td>流量</td><td>時速</td><td>佔量</td><td>車況</td></tr></thead>";
									 vdTable += "<tr align=center>";
									 vdTable += "<td>"+vdItem.location+"</td><td>"+vdItem.dir1Name+"</td><td>"+vdItem.dir1TotalVol+"</td><td>"+vdItem.dir1AvgSpd+"</td><td>"+vdItem.dir1AvgOcc+"</td><td>"+vdItem.dir1MoeLevel+"</td>";
									 vdTable += "</tr>";
									 if (vdItem.dir2Name != undefined) {
										 vdTable += "<tr align=center bgcolor=#E2E4FF>";
										 vdTable += "<td>"+vdItem.location+"</td><td>"+vdItem.dir2Name+"</td><td>"+vdItem.dir2TotalVol+"</td><td>"+vdItem.dir2AvgSpd+"</td><td>"+vdItem.dir2AvgOcc+"</td><td>"+vdItem.dir2MoeLevel+"</td>";
										 vdTable += "</tr>";
									 }
									 vdTable += "<tbody>";
								 }
							 }
							 if (marker.type == "VD"){                                 //此位置以VD為代表,表示沒有CCTV,所以尋找VD資訊即可
								 var vdItem = vdRealtimeDataMap.get(marker.deviceId);
								 if (vdItem != null) {
									 updateTime = vdItem.updateTime;
									 vdTable = "<table id='vdTable'  >";
									 vdTable += "<thead><tr align=center><td>地點</td><td>方向</td><td>流量</td><td>時速</td><td>佔量</td><td>車況</td></tr></thead>";
									 vdTable += "<tr align=center>";
									 vdTable += "<td>"+vdItem.location+"</td><td>"+vdItem.dir1Name+"</td><td>"+vdItem.dir1TotalVol+"</td><td>"+vdItem.dir1AvgSpd+"</td><td>"+vdItem.dir1AvgOcc+"</td><td>"+vdItem.dir1MoeLevel+"</td>";
									 vdTable += "</tr>";
									 if (vdItem.dir2Name != undefined) {
										 vdTable += "<tr align=center bgcolor=#E2E4FF>";
										 vdTable += "<td>"+vdItem.location+"</td><td>"+vdItem.dir2Name+"</td><td>"+vdItem.dir2TotalVol+"</td><td>"+vdItem.dir2AvgSpd+"</td><td>"+vdItem.dir2AvgOcc+"</td><td>"+vdItem.dir2MoeLevel+"</td>";
										 vdTable += "</tr>";
									 }
									 vdTable += "<tbody>";
								 }
							 }
						 }
						 
						 	if (updateTime != '無資料') { 
						 		contentString += vdTable;
						 	}
						 	
							 infoWindow = new google.maps.InfoWindow({
							     maxWidth:"610px",
							  	 content:contentString
							 });
							 infoWindow.open(map,marker);
							 
							 google.maps.event.addListener(infoWindow, 'closeclick', function(){
								 var latlng = new google.maps.LatLng(marker.wgsy,marker.wgsx);
								 map.panTo(latlng);
							 });
							 
							 clearTimeout(timer);                                                                                          
							 timer = setTimeout("infoWindow.close();",65000);

					  }); 
				  deviceMap.put(item.location,marker);
			});
		}
	});
}

/*function getDeviceInfo() {
	$.ajax({
		url:"device.do",
		data:{"action":"getDeviceInfo"},
		type:"post",
		dataType:"json",
		error:function(err,status){
			//alert("in getDeviceInfo error:"+err);
		},
		success:function(res){
			//cctvVdP0MappingMap.size+" "+vdRealtimeDataMap.size);
			$.each(res,function(index,item){
				//預設為不會閃動的icon
				var iconType = "cctv.png";
				
				var positionId = item.deviceId.substring(1);
			  	var rainfallItem = rainfallMap.get(positionId);
			  	if (rainfallItem != null && rainfallItem.warn.indexOf("未達警戒") == -1) {
			  		iconType = "device.gif";
			  	} 
				
				//判斷此設備所對應到的道路績效為何,若為車多、壅塞,則icon改用閃爍的圖示
				if (item.period == '0') {							//0期設備
					var vdLocation = cctvVdP0MappingMap.get(item.deviceId);
				    var vdDirection = item.direction;
					var vdRealtimeDataArr = vdRealtimeDataMap.values();
					var moeStatus = "";
					
					for (var i=0;i < vdRealtimeDataArr.length;i++ ){
						var vdItem = vdRealtimeDataArr[i];

						if (vdItem.location.indexOf(vdLocation) > -1) {
							if ( vdDirection == "-1") {    //0期為-1表示為雙向
									moeStatus += vdItem.moeLevel;
							}else {
								var vdDirectionName;
								switch (vdDirection){
									case '0':
										vdDirectionName = "往北";
										break;
									case '2':
										vdDirectionName = "往東";
										break;
									case '4':
										vdDirectionName = "往南";
										break;
									case '6':
										vdDirectionName = "往西";
										break;
								}
								if (vdItem.direction == vdDirectionName) {
									moeStatus += vdItem.moeLevel;
								}
							}
						}
					}
					if (moeStatus.indexOf("車多") > -1 || moeStatus.indexOf("壅塞") > -1 ) {
						iconType = "device.gif";
					}
				}else {                  										//1、2期設備
					if (item.type == "CCTV"){
						var moeStatus = "";
						var vdId = item.deviceId.replace("T","V");
						 var vdItem = vdRealtimeDataMap.get(vdId);
						 if (vdItem != null) {
							 moeStatus += vdItem.dir1MoeLevel;
							 if (vdItem.dir2Name != undefined) {
								 moeStatus += vdItem.dir2MoeLevel;
							 }
						 }
					}
					 if (item.type == "VD"){                
						 var vdItem = vdRealtimeDataMap.get(item.deviceId);
						 if (vdItem != null) {
							 moeStatus += vdItem.dir1MoeLevel;
							 if (vdItem.dir2Name != undefined) {
								 moeStatus += vdItem.dir2MoeLevel;
							 }
						 }
					 }
					 if (moeStatus != "" && moeStatus!= undefined &&(moeStatus.indexOf("車多") > -1 || moeStatus.indexOf("壅塞") > -1 )) {
							iconType = "device.gif";
					 }
				}
				
				var marker = new google.maps.Marker({
				      position: new google.maps.LatLng(item.wgsy,item.wgsx),
				      map: map,
				      icon: "images/"+iconType,
				      title:item.alias+"("+item.location+")"
				  });
				marker.setMap(null);
				  if (item.type == 'CCTV'){
					  marker.deviceUuid = item.deviceUuid;
					  marker.deviceId = item.deviceId;
					  marker.alias = item.alias;
					  marker.type = item.type;
					  marker.location = item.location;
					  marker.pcUrl = item.pcUrl;
					  marker.mobileUrl = item.mobileUrl;
					  marker.wgsx = item.wgsx;
					  marker.wgsy = item.wgsy;
					  marker.display = item.isDisplay;
					  marker.direction = item.direction;
					  marker.alternative = item.alternative;
					  marker.region = item.region;
					  marker.period = item.period;
				  }
				  if (item.type == 'VD'){
					  marker.deviceUuid = item.deviceUuid;
					  marker.deviceId = item.deviceId;
					  marker.alias = item.alias;
					  marker.type = item.type;
					  marker.location = item.location;
					  marker.wgsx = item.wgsx;
					  marker.wgsy = item.wgsy;
					  marker.display = item.isDisplay;
					  marker.direction = item.direction;
					  marker.alternative = item.alternative;
					  marker.region = item.region;
					  marker.period = item.period;
				  }
				  
				  //   一個位置可能包含CCTV,CMS,VD三項設備,但也可能只包含其中一種. 後端的做法是一個地點的代表順序為: CCTV > VD
				 //     所以一個設備點下去時須先判斷為哪種設備；若為CCTV，則要判斷是否還有VD; 若為VD則表示就只有VD了. 
				   
				  google.maps.event.addListener(marker, 'click', function(){
						 if (infoWindow != null)	infoWindow.close();   //關閉之前已打開的
						 //加上時雨量資訊
						 var positionId = marker.deviceId.substring(1);
						  var rainfallItem = rainfallMap.get(positionId);
						  var contentString = ""; 
						  if (rainfallItem != null) {
							contentString = "<font color=blue>週圍時雨量:"+rainfallItem.rain+" "+rainfallItem.warn+"</font>";
						  }
						 contentString += "<center><b>"+marker.alias+"("+marker.location+")"+"</b></center>";
						 
						 var updateTime ="無資料";
						 var vdTable;
						 		 	
						 if (marker.period == '0') {
							 if (marker.type == "CCTV"){                                 //此位置以CCTV為代表, 0期都是CCTV代表  
								          //加入CCTV影像
										  if (marker.region == '2'){  //0期2區的設備,若用IE看則需鑲入一個網頁中才能看,非IE瀏覽器則直接丟入iframe中的src即可
											  if ($.browser.msie){
												  contentString += "<div id='iwDiv'><iframe id='cctvIframe' src=CCTVImage_IE.html?cctvUrl="+marker.pcUrl+" width='380px' height='310px'></iframe></div>";
											  }else {
												  contentString += "<div id='iwDiv' ><iframe id='cctvIframe' src="+marker.pcUrl+" width='380px' height='310px'></iframe></div>";
											  }
										  }else {                       //0期非2區的設備,直接丟入iframe中的src
											  if (marker.cctvId == 'CXXXXXX1' || marker.cctvId == 'CXXXXXX2' || marker.cctvId == 'CXXXXXX3' || marker.cctvId == 'CXXXXXX4'){  //阿里山國家公園入口處2隻及石棹2隻
												  contentString += "<div id='iwDiv'><center>若無法觀看，請先下載<a href='http://appldnld.apple.com.edgesuite.net/content.info.apple.com/QuickTime/061-7356.20091118.Puyt6/QuickTimeInstaller.exe'>QuickTime Player</a></center><iframe id='cctvIframe' src='"+marker.pcUrl+"' width='380px' height='310px'></iframe></div>";
											  }else {
												  contentString += "<div id='iwDiv' ><iframe id='cctvIframe' src="+marker.pcUrl+" width='380px' height='310px' ></iframe></div>";
											  }
										 }
										//加入VD資訊
										  var vdLocation = cctvVdP0MappingMap.get(marker.deviceId);
										  var vdDirection = marker.direction;
											
											var vdRealtimeDataArr = vdRealtimeDataMap.values();
											
											vdTable = "<table id='vdTable' width='380px' >";
											vdTable += "<thead><tr align=center><td>地點</td><td>方向</td><td>流量</td><td>時速</td><td>佔量</td><td>車況</td></tr></thead>";
											vdTable += "<tbody>";
											var rowCounter = 0;
											var updateTime ="無資料";
											for (var i=0;i < vdRealtimeDataArr.length;i++ ){
												var vdItem = vdRealtimeDataArr[i];

												if (vdItem.location.indexOf(vdLocation) > -1) {
													var totalVol = (vdItem.totalVol != "資料不足")?vdItem.totalVol:"維護中";
													var avgSpd = (vdItem.avgSpd != "資料不足")?vdItem.avgSpd:"維護中";
													var avgOcc = (vdItem.avgOcc != "資料不足")?vdItem.avgOcc:"維護中";
													var moeLevel = (vdItem.moeLevel != "資料不足")?vdItem.moeLevel:"維護中";
													if ( vdDirection == "-1") {    //0期為-1表示為雙向
														if ( rowCounter % 2 ==1) {
															vdTable += "<tr bgcolor=#E2E4FF align=center>"; 
															vdTable += "<td>"+vdItem.location+"</td><td>"+vdItem.direction+"</td><td>"+totalVol+"</td><td>"+avgSpd+"</td><td>"+avgOcc+"</td><td>"+moeLevel+"</td>";
															vdTable += "</tr>";
														}else {
															vdTable += "<tr align=center>";
															vdTable += "<td>"+vdItem.location+"</td><td>"+vdItem.direction+"</td><td>"+totalVol+"</td><td>"+avgSpd+"</td><td>"+avgOcc+"</td><td>"+moeLevel+"</td>";
															vdTable += "</tr>";
														}
														rowCounter++;
														updateTime = vdItem.updateTime;
													}else {
														var vdDirectionName;
														switch (vdDirection){
															case '0':
																vdDirectionName = "往北";
																break;
															case '2':
																vdDirectionName = "往東";
																break;
															case '4':
																vdDirectionName = "往南";
																break;
															case '6':
																vdDirectionName = "往西";
																break;
														}
														if (vdItem.direction == vdDirectionName) {
															vdTable += "<tr align=center>";
															vdTable += "<td>"+item.location+"</td><td>"+item.direction+"</td><td>"+totalVol+"</td><td>"+avgSpd+"</td><td>"+avgOcc+"</td><td>"+moeLevel+"</td>";
															vdTable += "</tr>";
															updateTime = vdItem.updateTime;
														}
													}
												}
											} 
							 }
						 }
						 
						 if (marker.period == '1') {
							 if (marker.type == "CCTV"){                                 //此位置以CCTV為代表,所以依序尋找CCTV、VD的資訊
								 //加入CCTV資訊
								 if ($.browser.msie){         //IE 要讓其在一個網頁下執行
									  contentString += "<div id='iwDiv' ><iframe id='cctvIframe'  src=CCTVImage_IE.html?cctvUrl="+marker.pcUrl+" width='380px' height='310px'></iframe></div>";
								  }else {                              //非IE瀏覽器可直接鑲入iframe
									  contentString += "<div id='iwDiv' ><iframe id='cctvIframe'  src="+marker.pcUrl+" width='380px' height='310px'></iframe></div>";
								  }
								 //加入VD資訊
								 var vdId = marker.deviceId.replace("T","V");
								 var vdItem = vdRealtimeDataMap.get(vdId);
								 if (vdItem != null) {
									 updateTime = vdItem.updateTime;
									 vdTable = "<table id='vdTable' width='380px'  >";
									 vdTable += "<thead><tr align=center><td>地點</td><td>方向</td><td>流量</td><td>時速</td><td>佔量</td><td>車況</td></tr></thead>";
									 vdTable += "<tr align=center>";
									 vdTable += "<td>"+vdItem.location+"</td><td>"+vdItem.dir1Name+"</td><td>"+vdItem.dir1TotalVol+"</td><td>"+vdItem.dir1AvgSpd+"</td><td>"+vdItem.dir1AvgOcc+"</td><td>"+vdItem.dir1MoeLevel+"</td>";
									 vdTable += "</tr>";
									 if (vdItem.dir2Name != undefined) {
										 vdTable += "<tr align=center bgcolor=#E2E4FF>";
										 vdTable += "<td>"+vdItem.location+"</td><td>"+vdItem.dir2Name+"</td><td>"+vdItem.dir2TotalVol+"</td><td>"+vdItem.dir2AvgSpd+"</td><td>"+vdItem.dir2AvgOcc+"</td><td>"+vdItem.dir2MoeLevel+"</td>";
										 vdTable += "</tr>";
									 }
									 vdTable += "<tbody>";
								 }
							 }

							 if (marker.type == "VD"){                                 //此位置以VD為代表,表示沒有CCTV,所以尋找VD資訊即可
								 var vdItem = vdRealtimeDataMap.get(marker.deviceId);
								 if (vdItem != null) {
									 updateTime = vdItem.updateTime;
									 vdTable = "<table id='vdTable'  >";
									 vdTable += "<thead><tr align=center><td>地點</td><td>方向</td><td>流量</td><td>時速</td><td>佔量</td><td>車況</td></tr></thead>";
									 vdTable += "<tr align=center>";
									 vdTable += "<td>"+vdItem.location+"</td><td>"+vdItem.dir1Name+"</td><td>"+vdItem.dir1TotalVol+"</td><td>"+vdItem.dir1AvgSpd+"</td><td>"+vdItem.dir1AvgOcc+"</td><td>"+vdItem.dir1MoeLevel+"</td>";
									 vdTable += "</tr>";
									 if (vdItem.dir2Name != undefined) {
										 vdTable += "<tr align=center bgcolor=#E2E4FF>";
										 vdTable += "<td>"+vdItem.location+"</td><td>"+vdItem.dir2Name+"</td><td>"+vdItem.dir2TotalVol+"</td><td>"+vdItem.dir2AvgSpd+"</td><td>"+vdItem.dir2AvgOcc+"</td><td>"+vdItem.dir2MoeLevel+"</td>";
										 vdTable += "</tr>";
									 }
									 vdTable += "<tbody>";
								 }
							 }
						 }
						 
						 	if (updateTime != '無資料') { 
						 		contentString += vdTable;
						 	}
						 	
							 infoWindow = new google.maps.InfoWindow({
							     maxWidth:"610px",
							  	 content:contentString
							 });
							 infoWindow.open(map,marker);
							 
							 google.maps.event.addListener(infoWindow, 'closeclick', function(){
								 var latlng = new google.maps.LatLng(marker.wgsy,marker.wgsx);
								 map.panTo(latlng);
							 });
							 
							 clearTimeout(timer);                                                                                          
							 timer = setTimeout("infoWindow.close();",65000);

					  }); 
				  deviceMap.put(item.location,marker);
			});
		}
	});
} */

function checkDevice(){
	if ($("#deviceCheck").attr("src").indexOf("_click.png") == -1){
		if (map.getZoom()>=11) {
			var deviceArr = deviceMap.values();
			for (var i=0;i < deviceArr.length;i++){
				var deviceMarker = deviceArr[i];
				deviceMarker.setMap(map);
			}
		}else {
			var deviceArr2 = markerMap2.values();
			for (var i=0;i < deviceArr2.length;i++){
				var deviceMarker2 = deviceArr2[i];
				deviceMarker2.setMap(map);
			}
		}
   } else {
	  if (map.getZoom()>=11) {
		var deviceArr = deviceMap.values();
		for (var i=0;i < deviceArr.length;i++){
			var deviceMarker = deviceArr[i];
			deviceMarker.setMap(null);
		}
	  }else {
		var deviceArr2 = markerMap2.values();
		for (var i=0;i < deviceArr2.length;i++){
			var deviceMarker2 = deviceArr2[i];
			deviceMarker2.setMap(null);
		}  
	  }	
   }
}

//initialize map	
function initializeMap() {
	directionsDisplay = new google.maps.DirectionsRenderer();
	geocoder = new google.maps.Geocoder();
    var latlng = new google.maps.LatLng(lat,lng);
    var myOptions = {
      zoom: zoom,
      center: latlng,
      disableDefaultUI: true,
      scaleControl:true,
      navigationControl: true,
      streetViewControl: true,
      navigationControlOptions: {style: google.maps.NavigationControlStyle.SMALL},
      mapTypeControl:true,
      mapTypeControlOptions:{mapTypeIds:[google.maps.MapTypeId.ROADMAP,google.maps.MapTypeId.SATELLITE,google.maps.MapTypeId.HYBRID] },
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map(document.getElementById("mapCanvas"), myOptions);
    directionsDisplay.setMap(map);
    directionsDisplay.setPanel(document.getElementById("directionsPanel"));
    
    google.maps.event.addListener(map,"dragend",function(){
    	geocoder.geocode({'latLng': map.getCenter()}, function(results, status) {
            if (status == google.maps.GeocoderStatus.OK) {
            	showWeatherInfo(results[4].formatted_address);             
            } 
          });
    });
    
    //預設勾選省道設備及道路績效
    checkDevice();
    $("#deviceCheck").attr({"src" : $("#deviceCheck").attr("src").replace(".png","_click.png")});
    checkMoe();
    $("#moeCheck").attr({"src" : $("#moeCheck").attr("src").replace(".png","_click.png")});
    
    
    google.maps.event.addListener(map, 'zoom_changed', function() { 
    	  if (map.getZoom() < 8 ) { 
    	    map.setZoom(8); 
    	  }
    	  if (map.getZoom() > 17 ) { 
      	    map.setZoom(17); 
      	  }
    	  
    	  //zoom level 8~10 為示意層, 11 ~ 17 為實際的圖層 
    	  if ( map.getZoom()==10 ){
    		  if ($("#deviceCheck").attr("src").indexOf("_click.png") > -1){
   			   	   var deviceArr = deviceMap.values();
 				   for (var i=0;i < deviceArr.length;i++){
   						var deviceMarker = deviceArr[i];
   						deviceMarker.setMap(null);
 				   }
 				   var cctvArr2 = markerMap2.values();
				   for (var i=0;i < cctvArr2.length;i++){
 						var cctvMarker2 = cctvArr2[i];
 						cctvMarker2.setMap(map);
				   }
       	  }
    		  
    		  if ($("#hwCctvCheck").attr("src").indexOf("_click.png") > -1){
	   			   var cctvArr = highwayCctvMap.values();
	 				   for (var i=0;i < cctvArr.length;i++){
	   						var cctvMarker = cctvArr[i];
	   						cctvMarker.setMap(null);
	   			   }
			   	   var cctvArr2 = highwayCctvMap2.values();
				   for (var i=0;i < cctvArr2.length;i++){
						var cctvMarker2 = cctvArr2[i];
						cctvMarker2.setMap(map);
				   }
    		  }
    	  }else if (map.getZoom()==11) {
    		  if ($("#deviceCheck").attr("src").indexOf("_click.png") > -1){
				   var cctvArr2 = markerMap2.values();
				   for (var i=0;i < cctvArr2.length;i++){
						var cctvMarker2 = cctvArr2[i];
						cctvMarker2.setMap(null);
				   }
				   var deviceArr = deviceMap.values();
				   for (var i=0;i < deviceArr.length;i++){
  						var deviceMarker = deviceArr[i];
  						deviceMarker.setMap(map);
				   }
    		  }
    		  
    		  if ($("#hwCctvCheck").attr("src").indexOf("_click.png") > -1){
	   			   var cctvArr2 = highwayCctvMap2.values();
	 				   for (var i=0;i < cctvArr2.length;i++){
	   						var cctvMarker2 = cctvArr2[i];
	   						cctvMarker2.setMap(null);
	   			   }
			   	   var cctvArr = highwayCctvMap.values();
				   for (var i=0;i < cctvArr.length;i++){
						var cctvMarker = cctvArr[i];
						cctvMarker.setMap(map);
				   }
    		  }
    	  }
    }); 
}

function gotoLink(url){
	window.open(url);
}

function getVisitorNums(){
	$.ajax({
		url:"navigate.do",
		data:{"action":"getVisitorNums"},
		type:"post",
		dataType:"html",
		error:function(err,status){
			alert("error in getVisitorNums");
		},
		success:function(res){
			var visitorArr = res.split("@");
			var onlineVisitors = visitorArr[0];
			var totalVisitors = visitorArr[1];
			var onlineHtml="";
			var totalHtml="";
			for (var i=0;i < onlineVisitors.length;i++ ){
				var iChar = onlineVisitors.charAt(i);
				var imgUrl = "<img src='images/number/"+iChar+".gif' />";
				onlineHtml +=imgUrl;
			}
			for (var i=0;i < totalVisitors.length;i++ ){
				var iChar = totalVisitors.charAt(i);
				var imgUrl = "<img src='images/number/"+iChar+".gif' />";
				totalHtml += imgUrl;
			}
			$("#onlineVisitors").html(onlineHtml);
			$("#totalVisitors").html(totalHtml);
		}
	});
}

function parseVdInfo(){
	$.ajax({
		url:"vd.do",
		data:{"vdXmlSrcD1":vdXmlSrcD1,"vdXmlSrcD4":vdXmlSrcD4},
		type:"post",
		dataType:"json",
		error:function(err,status){
			//alert("in parseVdInfo:"+status);
		},
		success:function(jsonRes){
			$.each(jsonRes,function(index,item){
				var obj= new Object();
				obj.updateTime = item.updateTime;
				obj.location = item.location;
				obj.direction = item.direction;
				obj.totalVol = item.totalVol;
				obj.avgSpeed = item.avgSpeed;
				obj.avgOcc = item.avgOcc;
				obj.moeLevel = item.moeLevel;
				vdArr[index] = obj;
			});
		}
	});
}

function loadHighwayCCTV() {
	$.ajax({
		url:"cctv.do",
		data:{"action":"getHighwayCCTV"},
		type:"post",
		dataType:"json",
		error:function(err,status){
			//alert("in loadHighwayCCTV:"+status);
		},
		success:function(res){
			$.each(res,function(index,item){
				var roadType = item.roadId.charAt(0);
				var roadTypeName = (roadType == 'N')?"國道":"省道(快速道路)";
				var highwayNO = item.roadId.substring(1,item.roadId.length-1);
				var directionChar = item.roadId.charAt(item.roadId.length-1);
				var direction;
				switch (directionChar){
					case 'N':
							direction = "往北";break;
					case 'E':
							direction = "往東";break;
					case 'S':
							direction = "往南";;break;
					case 'W':
							direction = "往西";break;
				}
				
				var titleStr = roadTypeName+highwayNO+"號"+direction+" "+item.cameraMileage+"公里";
				
				var hwMarker = new google.maps.Marker({
				      position: new google.maps.LatLng(item.lat,item.lng),
				      map: map,
				      icon: "images/cctvBlack.png",
				      title:titleStr
				 });
				hwMarker.setMap(null);
				 hwMarker.roadId = item.roadId;
				 hwMarker.cameraId = item.cameraId;
				 hwMarker.cameraMileage = item.cameraMileage;
				 hwMarker.lat = item.lat;
				 hwMarker.lng = item.lng;
				 hwMarker.url = item.url;
				 highwayCctvMap.put(item.cameraId,hwMarker);
				 
				 google.maps.event.addListener(hwMarker, 'click', function(){
					 if (infoWindow != null)	infoWindow.close();   //關閉之前已打開的
					 var contentStr = "<center><b><font size='3'>"+titleStr+"</font></b></center><div id='iwDiv'><iframe id='hwCctvIframe' src='hwCCTVImage.html?cctvUrl="+hwMarker.url+"' width='380px' height='320px'></iframe><center>基於資源分配公平原則，本視窗將於60秒後自動關閉</center></div>";
					 					 
					 infoWindow = new google.maps.InfoWindow({
						    maxWidth:"600px",
						  	content:contentStr
					 });
					 infoWindow.open(map,hwMarker);
					 clearTimeout(timer);
					timer = setTimeout("infoWindow.close();",65000);
					 
				 });
				 
				 
			});		
		}
		
	});
}

function loadEvent() {
	$.ajax({
		url:"event.do",
		data:{"action":"getEvent"},
		type:"post",
		dataType:"json",
		error:function(err,status){
			alert("error when loadEvent(), status"+status);
		},
		success:function(res){
			$.each(res,function(index,item){
				var eventIcon;
				switch (item.type) {
				case '1':
					eventIcon = "attention.gif";
					break;
				case '2':
					eventIcon = "block.gif";
					break;
				case '3':
					eventIcon = "construction.gif";
					break;
				case '4':
					eventIcon = "detour.gif";
					break;
				case '5':
					eventIcon = "jam.gif";
					break;
				case '6':
					eventIcon = "tcBreakdown.gif";
					break;
				}
				
				var eventMarker = new google.maps.Marker({
				      position: new google.maps.LatLng(item.wgsy,item.wgsx),
				      map: map,
				      draggable:false,
				      icon: "images/event/"+eventIcon,
				      title:item.title
				});
				eventMarker.setMap(null);
				eventMarker.uuid = item.uuid ;				
				eventMarker.title = item.title;
				eventMarker.content = item.content;
				eventMarker.region = item.region;
				eventMarker.type = item.type;
				eventMarker.wgsx = item.wgsx;
				eventMarker.wgsy = item.wgsy;
				
				google.maps.event.addListener(eventMarker, 'click', function(){
					 if (infoWindow != null)	infoWindow.close();   //關閉之前已打開的
					 var contentString = "<center><b>"+eventMarker.title+"</b></center>"+eventMarker.content;
					 infoWindow = new google.maps.InfoWindow({
					     maxWidth:"500px",
					  	 content:contentString
					 });
					 infoWindow.open(map,eventMarker);
				  });
				  eventMap.put(item.uuid,eventMarker);
			});
		}
	});
}

function loadRainfall () {
	$.ajax({
		url:"rainfall.do",
		data:{"rainfallXmlSrc":rainfallXmlSrc},
		type:"post",
		dataType:"json",
		error:function(err,status) {
			alert("error when loadDisasters, status :"+status);
		},success:function(res) {
			$.each(res,function(index,item){
				rainfallMap.put(item.positionId,item)
			});
		}
	});
}

function loadDisasters() {
	$.ajax({
		url:"disaster.do",
		data:{"action":"loadDisasters","disasterXmlSrc":disasterXmlSrc},
		type:"post",
		dataType:"json",
		error:function(err,status) {
			alert("error when loadDisasters, status :"+status);
		},success:function(res) {
			if (res.isSuccess == "TRUE") {
				$.each(res.disasters,function(index,item) {
					var disasterMarker = new google.maps.Marker({
					      position: new google.maps.LatLng(item.wgsy,item.wgsx),
					      map: map,
					      icon: "images/disasterIcon.png",
					      title:item.causName
					 });
					disasterMarker.setMap(null);
					
					disasterMarker.causName = item.causName;
					disasterMarker.causType = item.causType;
					disasterMarker.causLevel = item.causLevel;
					disasterMarker.rdName = item.rdName;
					disasterMarker.countyName = item.countyName;
					disasterMarker.countryName = item.countryName;
					disasterMarker.locate1 = item.locate1;
					disasterMarker.locate2 = item.locate2;
					disasterMarker.nrArea = item.nrArea;
					disasterMarker.disaDate = item.disaDate;
					disasterMarker.expeDate = item.expeDate;
					disasterMarker.wgsx = item.wgsx;
					disasterMarker.wgsy = item.wgsy;
					disasterMarker.dmgDesc = item.dmgDesc;
					disasterMarker.disPic = item.disPic;
					disasterMarker.repMode = item.repMode;
					disasterMarker.ctrlMode = item.ctrlMode;
					disasterMarker.trfStatus = item.trfStatus;
					
					google.maps.event.addListener(disasterMarker, "click", function() {
						var table = "<table border=1 cellpadding=0 cellspacing=0 borderwidth=1 bordercolor=#CCCCCC width=350px height=250px>";
							  table += "<tbody>";
							  table += "<tr><td align=left class=wordB bgcolor=#E0DDD2 width=50px>災害名稱</td><td class=wordB align=left>"+disasterMarker.causName+"</td></tr>";
							  table += "<tr><td align=left class=wordB bgcolor=#E0DDD2 width=50px>路線樁號</td><td class=wordB align=left>"+disasterMarker.rdName+disasterMarker.locate1+" ~ "+disasterMarker.locate2+"</td></tr>";
							  table += "<tr><td align=left class=wordB bgcolor=#E0DDD2 width=50px>附近地名</td><td class=wordB align=left>"+disasterMarker.nrArea+"</td></tr>";
							  table += "<tr><td align=left class=wordB bgcolor=#E0DDD2 width=50px>受損狀況</td><td class=wordB align=left>"+disasterMarker.dmgDesc+"</td></tr>";
							  table += "<tr><td align=left class=wordB bgcolor=#E0DDD2 width=50px>發生時間</td><td class=wordB align=left>"+disasterMarker.disaDate+"</td></tr>";
							  table += "<tr><td align=left class=wordB bgcolor=#E0DDD2 width=50px>預計搶通時間</td><td class=wordB align=left>"+disasterMarker.expeDate+"</td></tr>";
							  table += "<tr><td align=left class=wordB bgcolor=#E0DDD2 width=50px>交通影響</td><td class=wordB align=left>"+disasterMarker.trfStatus+"</td></tr>";
							  table += "</tbody>";
						      table += "</table>";
						
						var contentString = "<div style=\"height:225px;width:300px\"><center><b>"+disasterMarker.causName+"</b></center></div>";
						if (infoWindow != null)	infoWindow.close();   //關閉之前已打開的
						 infoWindow = new google.maps.InfoWindow({
						     maxWidth:"300px",
						  	 content:table
						 });
						 infoWindow.open(map,disasterMarker);
					 });
					disasterMap.put(index,disasterMarker);
				});
				
			} 
		}
	});
} 

function loadCMS() {
	$.ajax({
		url:"cms.do",
		data:{"action":"getCMS","cmsInfoSrc":cmsInfoSrc},
		type:"post",
		dataType:"html",
		error:function(err,status) {
			alert("error when loadCMS, status :"+status);
		},success:function(res) {
			var cmsArr = res.split("@@");
			$.each(cmsArr,function(index,cmsRow){
				var cms = cmsRow.split("@");
				var cmsIcon = "images/cms.png";      								 //default cms icon	
				if (cms[10] != "無資料" && cms[11] == '1' ) {					//如果cms有資料且需要閃爍的話;則要更換成閃爍的icon
					var rightNow = new Date();
					var currentHours = rightNow.getHours().toString();
					if (currentHours.length == 1) currentHours = "0"+currentHours;
					var currentMinutes = rightNow.getMinutes().toString();
					if (currentMinutes.length == 1) currentMinutes = "0"+currentMinutes;
					var currentHM = currentHours + currentMinutes;
					if (currentHM <= cms[12]) cmsIcon = "images/cmsFlash.gif";	
				}
				
				var cmsMarker = new google.maps.Marker({
				      position: new google.maps.LatLng(cms[7],cms[6]),
				      map: map,
				      icon: cmsIcon,
				      title:cms[4]+"("+cms[5]+")"
				 });
				cmsMarker.setMap(null);
				
				 cmsMarker.uuid = cms[0];
				 cmsMarker.cmsId = cms[1];
				 cmsMarker.direction = cms[2];
				 cmsMarker.alternative = cms[3];
				 cmsMarker.location = cms[4];
				 cmsMarker.alias = cms[5];
				 cmsMarker.wgsx = cms[6];
				 cmsMarker.wgsy = cms[7];
				 cmsMarker.region = cms[8];
				 cmsMarker.period = cms[9];
				 cmsMarker.content = cms[10];
				 
				 google.maps.event.addListener(cmsMarker, "click", function() {
					var contentString = "<div style=\"height:75px;width:300px\"><center><b>"+cmsMarker.location+"("+cmsMarker.alias+")</b></center><br /><marquee scrolldelay=150>"+cmsMarker.content+"</marquee></div>";
					if (infoWindow != null)	infoWindow.close();   //關閉之前已打開的
					 infoWindow = new google.maps.InfoWindow({
					     maxWidth:"500px",
					  	 content:contentString
					 });
					 infoWindow.open(map,cmsMarker);
				 });
				 cmsMap.put(cms[0],cmsMarker);
			});
		
		}
	});
}

function checkDisaster() {
	var disasterArr = disasterMap.values();
	if ($("#disasterCheck").attr("src").indexOf("_click.png") == -1) {
		for (var i=0;i < disasterArr.length;i++){
			var disasterMarker = disasterArr[i];
			disasterMarker.setMap(map);
		}
	} else {
		for (var i=0;i < disasterArr.length;i++){
			var disasterMarker = disasterArr[i];
			disasterMarker.setMap(null);
		}
	}
}

function checkCMS() {
	var cmsArr = cmsMap.values();
	if ($("#cmsCheck").attr("src").indexOf("_click.png") == -1) {
		for (var i=0;i < cmsArr.length;i++){
			var cmsMarker = cmsArr[i];
			cmsMarker.setMap(map);
		}
	} else {
		for (var i=0;i < cmsArr.length;i++){
			var cmsMarker = cmsArr[i];
			cmsMarker.setMap(null);
		}
	}
}

function checkEvent() {
	var eventArr = eventMap.values();
	if ($("#eventCheck").attr("src").indexOf("_click.png") == -1) {
		for (var i=0;i < eventArr.length;i++){
			var eventMarker = eventArr[i];
			eventMarker.setMap(map);
		}
	} else {
		for (var i=0;i < eventArr.length;i++){
			var eventMarker = eventArr[i];
			eventMarker.setMap(null);
		}
	}
}

function checkCCTV() {
	if ($("#cctvCheck").attr("src").indexOf("_click.png") == -1){
		if (map.getZoom()>=11) {
			var cctvArr = markerMap.values();
			for (var i=0;i < cctvArr.length;i++){
				var cctvMarker = cctvArr[i];
				cctvMarker.setMap(map);
			}
		}else {
			var cctvArr2 = markerMap2.values();
			for (var i=0;i < cctvArr2.length;i++){
				var cctvMarker2 = cctvArr2[i];
				cctvMarker2.setMap(map);
			}
		}
		
		
	}else {
	  if (map.getZoom()>=11) {
		var cctvArr = markerMap.values();
		for (var i=0;i < cctvArr.length;i++){
			var cctvMarker = cctvArr[i];
			cctvMarker.setMap(null);
		}
	  }else {
		var cctvArr2 = markerMap2.values();
		for (var i=0;i < cctvArr2.length;i++){
			var cctvMarker2 = cctvArr2[i];
			cctvMarker2.setMap(null);
		}  
	  }	
		
   }
}

function checkHwCCTV(){
		if ($("#hwCctvCheck").attr("src").indexOf("_click.png") == -1){
			if (map.getZoom()>=11) {
				var hwCctvArr = highwayCctvMap.values();
				for (var i=0;i < hwCctvArr.length;i++){
					var hwCctvMarker = hwCctvArr[i];
					hwCctvMarker.setMap(map);
				}
			}else {
				var hwCctvArr2 = highwayCctvMap2.values();
				for (var i=0;i < hwCctvArr2.length;i++){
					var hwCctvMarker2 = hwCctvArr2[i];
					hwCctvMarker2.setMap(map);
				}
			}
	   }else {
		   if (map.getZoom()>=11) {
				var hwCctvArr = highwayCctvMap.values();
				for (var i=0;i < hwCctvArr.length;i++){
					var hwCctvMarker = hwCctvArr[i];
					hwCctvMarker.setMap(null);
				}
			}else {
				var hwCctvArr2 = highwayCctvMap2.values();
				for (var i=0;i < hwCctvArr2.length;i++){
					var hwCctvMarker2 = hwCctvArr2[i];
					hwCctvMarker2.setMap(null);
				}
			}
	   }
}

function checkMoe(){
	if ($("#moeCheck").attr("src").indexOf("_click.png") == -1) {
		moeColorLayer = new google.maps.KmlLayer(moeColorKml,{preserveViewport:true});
		moe2ColorLayer = new google.maps.KmlLayer(moe2ColorKml,{preserveViewport:true});
		moe3ColorLayer = new google.maps.KmlLayer(moe3ColorKml,{preserveViewport:true});
		t1ALayer = new google.maps.KmlLayer(t1AKml,{preserveViewport:true});
		t2ALayer = new google.maps.KmlLayer(t2AKml,{preserveViewport:true});
		t3ALayer = new google.maps.KmlLayer(t3AKml,{preserveViewport:true});
		t4ALayer = new google.maps.KmlLayer(t4AKml,{preserveViewport:true});
		t5ALayer = new google.maps.KmlLayer(t5AKml,{preserveViewport:true});
		t6ALayer = new google.maps.KmlLayer(t6AKml,{preserveViewport:true});
		t7ALayer = new google.maps.KmlLayer(t7AKml,{preserveViewport:true});
		t8ALayer = new google.maps.KmlLayer(t8AKml,{preserveViewport:true});
		t9ALayer = new google.maps.KmlLayer(t9AKml,{preserveViewport:true});
		t10ALayer = new google.maps.KmlLayer(t10AKml,{preserveViewport:true});
		t31ALayer = new google.maps.KmlLayer(t31AKml,{preserveViewport:true});
		t61ALayer = new google.maps.KmlLayer(t61AKml,{preserveViewport:true});
		t66ALayer = new google.maps.KmlLayer(t66AKml,{preserveViewport:true});
		t76ALayer = new google.maps.KmlLayer(t76AKml,{preserveViewport:true});
/*		t11ALayer = new google.maps.KmlLayer(t11AKml,{preserveViewport:true});
		t12ALayer = new google.maps.KmlLayer(t12AKml,{preserveViewport:true});
		t13ALayer = new google.maps.KmlLayer(t13AKml,{preserveViewport:true});
		t14ALayer = new google.maps.KmlLayer(t14AKml,{preserveViewport:true});
		t15ALayer = new google.maps.KmlLayer(t15AKml,{preserveViewport:true});
		t16ALayer = new google.maps.KmlLayer(t16AKml,{preserveViewport:true});
		t17ALayer = new google.maps.KmlLayer(t17AKml,{preserveViewport:true});
		t18ALayer = new google.maps.KmlLayer(t18AKml,{preserveViewport:true});
		t19ALayer = new google.maps.KmlLayer(t19AKml,{preserveViewport:true});
		t20ALayer = new google.maps.KmlLayer(t20AKml,{preserveViewport:true});
		t21ALayer = new google.maps.KmlLayer(t21AKml,{preserveViewport:true});
		t25ALayer = new google.maps.KmlLayer(t25AKml,{preserveViewport:true});
		t26ALayer = new google.maps.KmlLayer(t26AKml,{preserveViewport:true});
		t28ALayer = new google.maps.KmlLayer(t28AKml,{preserveViewport:true});
		t63ALayer = new google.maps.KmlLayer(t63AKml,{preserveViewport:true});
		t74ALayer = new google.maps.KmlLayer(t74AKml,{preserveViewport:true});
		 */
		
		moeColorLayer.setMap(map);
		moe2ColorLayer.setMap(map);
		moe3ColorLayer.setMap(map);
		t1ALayer.setMap(map);
		t2ALayer.setMap(map);
		t3ALayer.setMap(map);
		t4ALayer.setMap(map);
		t5ALayer.setMap(map);
		t6ALayer.setMap(map);
		t7ALayer.setMap(map);
		t8ALayer.setMap(map);
		t9ALayer.setMap(map);
		t10ALayer.setMap(map);
		t31ALayer.setMap(map);
		t61ALayer.setMap(map);
		t66ALayer.setMap(map);
		t76ALayer.setMap(map);
	/*	t11ALayer.setMap(map);
		t12ALayer.setMap(map);
		t13ALayer.setMap(map);
		t14ALayer.setMap(map);
		t15ALayer.setMap(map);
		t16ALayer.setMap(map);
		t17ALayer.setMap(map);
		t18ALayer.setMap(map);
		t19ALayer.setMap(map);
		t20ALayer.setMap(map);
		t21ALayer.setMap(map);
		t25ALayer.setMap(map);
		t26ALayer.setMap(map);
		t28ALayer.setMap(map);
		t63ALayer.setMap(map);
		t74ALayer.setMap(map);
		 */
	/*
		t9ALayerN = new google.maps.KmlLayer(t9AKmlN,{preserveViewport:true});
		t9ALayerS = new google.maps.KmlLayer(t9AKmlS,{preserveViewport:true});
		
		moeLayer = new google.maps.KmlLayer(moeKml,{preserveViewport:true});
		moe2Layer = new google.maps.KmlLayer(moe2Kml,{preserveViewport:true});
		t13ALayer = new google.maps.KmlLayer(t13AKml,{preserveViewport:true});
		t14ALayer = new google.maps.KmlLayer(t14AKml,{preserveViewport:true});
		t17ALayer = new google.maps.KmlLayer(t17AKml,{preserveViewport:true});
		t21ALayer = new google.maps.KmlLayer(t21AKml,{preserveViewport:true});
		t26ALayer = new google.maps.KmlLayer(t26AKml,{preserveViewport:true});
		t2ALayer = new google.maps.KmlLayer(t2AKml,{preserveViewport:true});
		t8ALayer = new google.maps.KmlLayer(t8AKml,{preserveViewport:true});
		t11ALayer = new google.maps.KmlLayer(t11AKml,{preserveViewport:true});

		t9ALayerN.setMap(map);
		t9ALayerS.setMap(map);
		
		moeLayer.setMap(map);
		moe2Layer.setMap(map);
		t13ALayer.setMap(map);
		t14ALayer.setMap(map);
		t17ALayer.setMap(map);
		t21ALayer.setMap(map);
		t26ALayer.setMap(map);
		t2ALayer.setMap(map);
		t8ALayer.setMap(map);
		t11ALayer.setMap(map);
	*/
		var moeHtml = "<div id='moeIllustriation' style='float:right;margin-top:30px;margin-left:0px;width:200px;height:28px;background-color:white;'>";
			moeHtml += "<table id='generalRoadTable'><tbody><tr>";
			moeHtml += "<td width=30px><b>省道</b></td>";
			moeHtml += "<td width=20px bgcolor=green></td><td align=left><font size='2'>順暢</font></td>";
			moeHtml += "<td width=20px bgcolor=orange></td><td align=left><font size='2'>車多</font></td>";
			moeHtml += "<td width=20px bgcolor=red></td><td align=left><font size='2'>壅塞</font></td>";
			moeHtml += "</tr>";
			moeHtml += "</tbody></table>";
		    moeHtml += "</div>";
		$("#mapCanvas").append(moeHtml);
	    $("#moeIllustriation").show().draggable({
	    	containment:'parent',
	    	zIndex:99
	    }); 
	}else {
		moeColorLayer.setMap(null);
		moe2ColorLayer.setMap(null);
		moe3ColorLayer.setMap(null);
		t1ALayer.setMap(null);
		t2ALayer.setMap(null);
		t3ALayer.setMap(null);
		t4ALayer.setMap(null);
		t5ALayer.setMap(null);
		t6ALayer.setMap(null);
		t7ALayer.setMap(null);
		t8ALayer.setMap(null);
		t9ALayer.setMap(null);
		t10ALayer.setMap(null);
		t31ALayer.setMap(null);
		t61ALayer.setMap(null);
		t66ALayer.setMap(null);
		t76ALayer.setMap(null);
		/*t11ALayer.setMap(null);
		t12ALayer.setMap(null);
		t13ALayer.setMap(null);
		t14ALayer.setMap(null);
		t15ALayer.setMap(null);
		t16ALayer.setMap(null);
		t17ALayer.setMap(null);
		t18ALayer.setMap(null);
		t19ALayer.setMap(null);
		t20ALayer.setMap(null);
		t21ALayer.setMap(null);
		t25ALayer.setMap(null);
		t26ALayer.setMap(null);
		t28ALayer.setMap(null);
		t63ALayer.setMap(null);
		t74ALayer.setMap(null);
		 */
	
		/*
		t9ALayerN.setMap(null);
		t9ALayerS.setMap(null);
		
		moeLayer.setMap(null);
		moe2Layer.setMap(null);
		t13ALayer.setMap(null);
		t14ALayer.setMap(null);
		t17ALayer.setMap(null);
		t21ALayer.setMap(null);
		t26ALayer.setMap(null);
		t2ALayer.setMap(null);
		t8ALayer.setMap(null);
		t11ALayer.setMap(null);*/
		$("#moeIllustriation").hide();
		
	}
}

function checkHwMoe(){
	if ($("#hwMoeCheck").attr("src").indexOf("_click.png") == -1){
		hwMoeLayer1 = new google.maps.KmlLayer(hwMoeKml1,{preserveViewport:true});
		hwMoeLayer2 = new google.maps.KmlLayer(hwMoeKml2,{preserveViewport:true});
		hwMoeLayer3 = new google.maps.KmlLayer(hwMoeKml3,{preserveViewport:true});
		hwMoeLayer4 = new google.maps.KmlLayer(hwMoeKml4,{preserveViewport:true});
		hwMoeLayer5 = new google.maps.KmlLayer(hwMoeKml5,{preserveViewport:true});
		hwMoeLayer6 = new google.maps.KmlLayer(hwMoeKml6,{preserveViewport:true});
		hwMoeLayer1.setMap(map);hwMoeLayer2.setMap(map);
		hwMoeLayer3.setMap(map);hwMoeLayer4.setMap(map);
		hwMoeLayer5.setMap(map);hwMoeLayer6.setMap(map);
		
		var hwMoeHtml = "<div id='hwMoeIllustriation' style='float:right;margin-top:30px;margin-left:0px;width:470px;height:28px;background-color:white;'>";
		hwMoeHtml += "<table id='generalRoadTable'><tbody><tr>";
		hwMoeHtml += "<td width=30px><b>國道</b></td>";
		hwMoeHtml += "<td width=20px bgcolor=green></td><td align=left><font size='2'>80 公里/時 以上</font></td>";
		hwMoeHtml += "<td width=20px bgcolor=yellow></td><td align=left><font size='2'>60-79公里/時</font></td>";
		hwMoeHtml += "<td width=20px bgcolor=orange></td><td align=left><font size='2'>40-59公里/時</font></td>";
		hwMoeHtml += "<td width=20px bgcolor=red></td><td align=left><font size='2'>39公里/時 以下</font></td>";
		hwMoeHtml += "</tr>";
		hwMoeHtml += "</tbody></table>";
		hwMoeHtml += "</div>";
	$("#mapCanvas").append(hwMoeHtml);
    $("#hwMoeIllustriation").show().draggable({
    	containment:'parent',
    	zIndex:99
    });
	}else {
		hwMoeLayer1.setMap(null);hwMoeLayer2.setMap(null);
		hwMoeLayer3.setMap(null);hwMoeLayer4.setMap(null);
		hwMoeLayer5.setMap(null);hwMoeLayer6.setMap(null);
		$("#hwMoeIllustriation").hide();
	}
}


function showRegionDiv() {
	if (map == undefined) {
		$("#twRegionMap").fadeOut(500,function(){
			$("#googleMapPanel").fadeIn();
			initializeMap();
		});
	}
	$("#menu").hide();
	$("#region").show();	
}

function moveTo(regionOrCity){
	var latlng;
	if (regionOrCity == '北區') {
		latlng = new google.maps.LatLng(24.878381,121.373978);
		map.setZoom(10);
		map.panTo(latlng);
	}else if (regionOrCity == '中區') {
		latlng = new google.maps.LatLng(23.973547,120.501679);
		map.setZoom(10);
		map.panTo(latlng);
	}else if (regionOrCity == '南區') {
		latlng = new google.maps.LatLng(23.084621,120.301315);
		map.setZoom(10);
		map.panTo(latlng);
	}else if (regionOrCity == '東區') {
		latlng = new google.maps.LatLng(23.930877,121.560974);
		map.setZoom(9);
		map.panTo(latlng);
	}else if (regionOrCity == '台北') {
		latlng = new google.maps.LatLng(25.112822,121.53614);
		map.setZoom(11);
		map.panTo(latlng);
	}else if (regionOrCity == '桃園') {
		latlng = new google.maps.LatLng(24.895157,121.265931);
		map.setZoom(11);
		map.panTo(latlng);
	}else if (regionOrCity == '新竹') {
		latlng = new google.maps.LatLng(24.810445,121.010885);
		map.setZoom(11);
		map.panTo(latlng);
	}else if (regionOrCity== '苗栗') {
		latlng = new google.maps.LatLng(24.486992,120.781803);
		map.setZoom(11);
		map.panTo(latlng);
	}else if (regionOrCity == '台中') {
		latlng = new google.maps.LatLng(24.182306,120.702152);
		map.setZoom(11);
		map.panTo(latlng);
	}else if (regionOrCity == '彰化'){
		latlng = new google.maps.LatLng(23.983822,120.507488);
		map.setZoom(11);
		map.panTo(latlng);
	}else if (regionOrCity == '南投'){
		latlng = new google.maps.LatLng(23.889575,120.877901);
		map.setZoom(11);
		map.panTo(latlng);
	}else if (regionOrCity == '雲林'){
		latlng = new google.maps.LatLng(23.664041,120.374343);
		map.setZoom(11);
		map.panTo(latlng);
	}else if (regionOrCity == '嘉義'){
		latlng = new google.maps.LatLng(23.424543,120.356619);
		map.setZoom(11);
		map.panTo(latlng);
	}else if (regionOrCity == '台南'){
		latlng = new google.maps.LatLng(23.100477,120.284951);
		map.setZoom(11);
		map.panTo(latlng);
	}else if (regionOrCity == '高雄'){
		latlng = new google.maps.LatLng(22.746897,120.362263);
		map.setZoom(11);
		map.panTo(latlng);
	}else if (regionOrCity == '屏東'){
		latlng = new google.maps.LatLng(22.533964,120.683827);
		map.setZoom(11);
		map.panTo(latlng);
	}else if (regionOrCity == '宜蘭'){
		latlng = new google.maps.LatLng(24.670824,121.810262);
		map.setZoom(11);
		map.panTo(latlng);
	}else if (regionOrCity == '花蓮'){
		latlng = new google.maps.LatLng(23.938938,121.542563);
		map.setZoom(11);
		map.panTo(latlng);
	}else if (regionOrCity == '台東'){
		latlng = new google.maps.LatLng(22.863522,121.096115);
		map.setZoom(11);
		map.panTo(latlng);
	}
		
	
}

function moveToScenery(scene) {
	var latlng;
	if (scene == '東北角濱海公路') {
		latlng = new google.maps.LatLng(25.206337,121.448917);
		map.setZoom(13);
		map.panTo(latlng);
	}else if (scene == '北橫公路'){
		latlng = new google.maps.LatLng(24.88086,121.288743);
		map.setZoom(13);
		map.panTo(latlng);
	}else if (scene == '烏來風景區') {
		latlng = new google.maps.LatLng(24.951939,121.547585);
		map.setZoom(13);
		map.panTo(latlng);
	}else if (scene == '新竹風景海岸線') {
		latlng = new google.maps.LatLng(24.744337,120.898576);
		map.setZoom(13);
		map.panTo(latlng);
	}else if (scene == '竹東北埔遊樂區') {
		latlng = new google.maps.LatLng(24.722977,121.101952);
		map.setZoom(13);
		map.panTo(latlng);
	}else if (scene == '阿里山公路'){
		latlng = new google.maps.LatLng(23.441829,120.525856);
		map.setZoom(12);
		map.panTo(latlng);
	}else if (scene == '中潭公路'){
		latlng = new google.maps.LatLng(24.019865,120.846501);
		map.setZoom(12);
		map.panTo(latlng);
	}else if (scene == '合歡山公路'){
		latlng = new google.maps.LatLng(24.143207,121.276627);
		map.setZoom(12);
		map.panTo(latlng);
	}else if (scene == '中部橫貫公路'){
		latlng = new google.maps.LatLng(24.257407,121.259386);
		map.setZoom(12);
		map.panTo(latlng);
	}else if (scene == '新中橫公路'){
		latlng = new google.maps.LatLng(23.647267,120.887073);
		map.setZoom(10);
		map.panTo(latlng);
	}else if (scene == '中豐公路') {
		latlng = new google.maps.LatLng(24.429216,120.868042);
		map.setZoom(13);
		map.panTo(latlng);
	}else if (scene == '尖豐公路') {
		latlng = new google.maps.LatLng(24.420664,120.773515);
		map.setZoom(13);
		map.panTo(latlng);
	}else if (scene == '名間水里線'){
		latlng = new google.maps.LatLng(23.811378,120.850596);
		map.setZoom(13);
		map.panTo(latlng);
	}else if (scene == '環湖公路'){
		latlng = new google.maps.LatLng(23.833714,120.896317);
		map.setZoom(13);
		map.panTo(latlng);
	}else if (scene == '縱貫線-花園段'){
		latlng = new google.maps.LatLng(23.873486,120.51723);
		map.setZoom(13);
		map.panTo(latlng);
	}else if (scene == '濱海公路'){
		latlng = new google.maps.LatLng(23.925317,120.318017);
		map.setZoom(13);
		map.panTo(latlng);
	}else if (scene == '南迴公路'){
		latlng = new google.maps.LatLng(22.214532,120.784941);
		map.setZoom(12);
		map.panTo(latlng);
	}else if (scene == '東部濱海公路'){
		latlng = new google.maps.LatLng(22.255419,120.787811);
		map.setZoom(12);
		map.panTo(latlng);
	}else if (scene == '沿海公路'){
		latlng = new google.maps.LatLng(22.424473,120.544244);
		map.setZoom(12);
		map.panTo(latlng);
	}else if (scene == '屏鵝公路'){
		latlng = new google.maps.LatLng(22.131036,120.714725);
		map.setZoom(12);
		map.panTo(latlng);
	}else if (scene == '佛光山'){
		latlng = new google.maps.LatLng(22.75228,120.445518);
		map.setZoom(13);
		map.panTo(latlng);
	}else if (scene == '茂林國家公園'){
		latlng = new google.maps.LatLng(22.755762,120.642929);
		map.setZoom(13);
		map.panTo(latlng);
	}else if (scene == '寶來溫泉區'){
		latlng = new google.maps.LatLng(23.105786,120.700951);
		map.setZoom(13);
		map.panTo(latlng);
	}else if (scene == '墾丁風景區'){
		latlng = new google.maps.LatLng(21.94619,120.798712);
		map.setZoom(13);
		map.panTo(latlng);
	}else if (scene == '大鵬灣風景區'){
		latlng = new google.maps.LatLng(22.457043,120.479851);
		map.setZoom(13);
		map.panTo(latlng);
	}else if (scene == '情人碼頭'){
		latlng = new google.maps.LatLng(22.872854,120.194035);
		map.setZoom(13);
		map.panTo(latlng);
	}else if (scene == '礁溪五峰旗瀑布'){
		latlng = new google.maps.LatLng(24.501782,121.472729);
		map.setZoom(13);
		map.panTo(latlng);
	}else if (scene == '棲蘭遊樂區'){
		latlng = new google.maps.LatLng(24.44553,121.465043);
		map.setZoom(13);
		map.panTo(latlng);
	}else if (scene == '兆豐農場'){
		latlng = new google.maps.LatLng(23.593195,121.360551);
		map.setZoom(13);
		map.panTo(latlng);
	}else if (scene == '花蓮鯉魚潭'){
		latlng = new google.maps.LatLng(23.593195,121.360551);
		map.setZoom(13);
		map.panTo(latlng);
	}else if (scene == '濱海公路沿線'){
		latlng = new google.maps.LatLng(24.501782,121.472729);
		map.setZoom(12);
		map.panTo(latlng);
	}else if (scene == '蘇花公路'){
		latlng = new google.maps.LatLng(24.319568,121.761475);
		map.setZoom(12);
		map.panTo(latlng);
	}else if (scene == '太魯閣公路'){
		latlng = new google.maps.LatLng(24.155212,121.651955);
		map.setZoom(12);
		map.panTo(latlng);
	}else if (scene == '大禹嶺-合歡山') {
		latlng = new google.maps.LatLng(24.162417,121.287346);
		map.setZoom(13);
		map.panTo(latlng);
	}else if (scene == '花東縱谷花蓮段'){
		latlng = new google.maps.LatLng(23.915186,121.505699);
		map.setZoom(13);
		map.panTo(latlng);
	}else if (scene == '小野柳'){
		latlng = new google.maps.LatLng(22.795173,121.19467);
		map.setZoom(13);
		map.panTo(latlng);
	}else if (scene == '水往上流'){
		latlng = new google.maps.LatLng(22.868682,121.217115);
		map.setZoom(13);
		map.panTo(latlng);
	}else if (scene == '三仙台'){
		latlng = new google.maps.LatLng(23.122206,121.404805);
		map.setZoom(13);
		map.panTo(latlng);
	}else if (scene == '八仙洞'){
		latlng = new google.maps.LatLng(23.329016,121.459351);
		map.setZoom(13);
		map.panTo(latlng);
	}else if (scene == '雙流風景區'){
		latlng = new google.maps.LatLng(22.22237,120.796652);
		map.setZoom(13);
		map.panTo(latlng);
	}else if (scene == '金崙溫泉'){
		latlng = new google.maps.LatLng(22.530872,120.937071);
		map.setZoom(13);
		map.panTo(latlng);
	}else if (scene == '知本溫泉'){
		latlng = new google.maps.LatLng(22.694447,121.006207);
		map.setZoom(13);
		map.panTo(latlng);
	}else if (scene == '大坡池風景區'){
		latlng = new google.maps.LatLng(23.118427,121.225237);
		map.setZoom(13);
		map.panTo(latlng);
	}
}
function showAlternativeRoad(){
	if (map == undefined) {
		$("#twRegionMap").fadeOut(500,function(){
			$("#googleMapPanel").fadeIn();
			initializeMap();
		});
	}
	$("#menu").hide();
	$("#alternativeRoad").show();
};

function showRoutePlanning(){
	if (map == undefined) {
		$("#twRegionMap").fadeOut(500,function(){
			$("#googleMapPanel").fadeIn();
			initializeMap();
		});
	}
	$("#menu").hide();
	$("#routePlanning").show();
	
	$("#roadStart").html("起點,例:中正路100號");
	$("#roadEnd").html("迄點,例:高雄車站");
	$("#directionsPanel").html("");
}

function showScenery(){
	if (map == undefined) {
		$("#twRegionMap").fadeOut(500,function(){
			$("#googleMapPanel").fadeIn();
			initializeMap();
		});
	}
	$("#menu").hide();
	$("#scenery").show();
}

function changeCounty(selectedItem){
	var countryDD = document.getElementById("countryDD");

	var selectedCounty = selectedItem.value;
	if (selectedCounty != 'pleaseChoose'){
		var countryArr = countyMap.get(selectedCounty);

		countryDD.options.length = countryArr.length;
		for (var i=0; i < countryDD.options.length; i++) {
			countryDD.options[i] = new Option( countryArr[i] ,countryArr[i]  );  //new Option(text,value)
		}
	}else {
		countryDD.options.length = 0;
	}
}

function changeCounty2(selectedItem){
	var countryDD2 = document.getElementById("countryDD2");

	var selectedCounty2 = selectedItem.value;
	if (selectedCounty2 != 'pleaseChoose'){
		var countryArr = countyMap.get(selectedCounty2);
		
		countryDD2.options.length = countryArr.length;
		for (var i=0; i < countryDD2.options.length; i++) {
			countryDD2.options[i] = new Option( countryArr[i] ,countryArr[i]  );  //new Option(text,value)
		}
	}else {
		countryDD2.options.length = 0;
	}
}

function backToMenu(){
	$("#region,#alternativeRoad,#routePlanning,#scenery").hide();
	$("#menu").show();

	/***** 國道替代道路,相關物件的清除 *****/	
	$("#draggable").remove();
	
	$("#alternativeJamDiv").html("<font color='blue'>請點選路線查詢</font>");
	
	if(airportToPingzhenLayer != undefined ) {
		airportToPingzhenLayer.setMap(null);
	}
	if(guanxiToTuchengLayer != undefined ) {
		guanxiToTuchengLayer.setMap(null);
	}
	if (xindianToTouchengLayer != undefined) {
		xindianToTouchengLayer.setMap(null);
	}
	if (hsinchuToChanghuaLayer != undefined){
		hsinchuToChanghuaLayer.setMap(null);
	}
   if (dayaToYuanlinLayer != undefined){
		dayaToYuanlinLayer.setMap(null);
	}
	if (douliuToWufengLayer != undefined){
		douliuToWufengLayer.setMap(null);
	}
	directionsDisplay.setMap(null);
	directionsDisplay.setDirections(null);
}

function planRoute(){
	var countyStart = $("#countyDD > option:selected").text();
	var countryStart = $("#countryDD").val();
	var roadStart = $("#roadStart").val();
	var countyEnd = $("#countyDD2 > option:selected").text();
	var countryEnd = $("#countryDD2").val();
	var roadEnd = $("#roadEnd").val();
	var isRoadStartAllSpace = true;
	var isRoadEndAllSpace = true;
	var origin;
	var destination;	
	
	for (var i=0; i < roadStart.length;i++){
		if (roadStart.charCodeAt(i) != 32 ) {
			isRoadStartAllSpace = false;
		}
	}
	for (var i=0; i < roadEnd.length;i++){
		if (roadEnd.charCodeAt(i) != 32 ) {
			isRoadEndAllSpace = false;
		}
	}
	if (roadStart == "" || roadStart == "起點,例:中正路100號" ||isRoadStartAllSpace ) {
		alert("請輸入起點資料");
		return false;
	}
	if (roadEnd == "" || roadEnd == "迄點,例:高雄車站" ||isRoadEndAllSpace) {
		alert("請輸入迄點資料");
		return false;
	}
	if (countyStart == "請選擇縣市") {
		origin = roadStart;
	}else {
		origin = countyStart+countryStart+roadStart;
	}
	if ( countyEnd == "請選擇縣市") {
		destination = roadEnd;
	}else {
		destination = countyEnd + countryEnd + roadEnd;
	}
	
	  var request = {
	    origin:origin, 
	    destination:destination,
	    travelMode: google.maps.DirectionsTravelMode.DRIVING
	  };
	  directionsService.route(request, function(result, status) {
	  if (status == google.maps.DirectionsStatus.OK) {
	      directionsDisplay.setDirections(result);
	    }
	  });
}

function gotoConstructionInfo(url){
	window.open(url);
}

function clickRegion(region) {
	$("#qq").hide();
	if (region == "north") {
		$("#aa").show();
	}else if (region == "center") {
		$("#dd").show();
	}else if (region == "south") {
		$("#cc").show();
	}else {
		$("#tt").show();
	}
}

function clickCounty(county){
	if (county == "taipei") {
		lat = 25.041603;
		lng = 121.543754;
		zoom = 11;
	}else if (county == "taoyuan") {
		lat = 24.989189;
		lng = 121.313481;
		zoom = 12;
	}else if (county == "hsinchu") {
		lat = 24.801656;
		lng = 120.971704;
		zoom = 12;
	}else if (county == "miaoli") {
		lat = 24.570348;
		lng = 120.822412;
		zoom = 12;
	}else if (county == "taichung") {
		lat = 24.137071;
		lng = 120.685018;
		zoom = 12;
	}else if (county == "changhua") {
		lat = 24.081672;
		lng = 120.538377;
		zoom = 12;
	}else if (county == "nantou") {
		lat = 23.912596;
		lng = 120.684128;
		zoom = 12;
	}else if (county == "yunlin") {
		lat = 23.710553;
		lng = 120.541306;
		zoom = 12;
	}else if (county == "chiayi") {
		lat = 23.479337;
		lng = 120.441291;
		zoom = 12;
	}else if (county == "tainan") {
		lat = 22.997074;
		lng = 120.212617;
		zoom = 12;
	}else if (county == "kaohsiung") {
		lat = 22.638571;
		lng = 120.301849;
		zoom = 12;
	}else if (county == "pingtung") {
		lat = 22.669254;
		lng = 120.486224;
		zoom = 12;
	}else if (county == "yilan") {
		lat = 24.754587;
		lng = 121.758041;
		zoom = 12;
	}else if (county == "hualien") {
		lat = 23.99283;
		lng = 121.601175;
		zoom = 12;
	}else if (county == "taitung") {
		lat = 22.79369;
		lng = 121.122926;
		zoom = 12;
	}
	if (map == undefined) { 
		$("#twRegionMap").fadeOut(500,function(){
			$("#googleMapPanel").fadeIn();
			
			initializeMap();
			geocoder.geocode({'latLng': map.getCenter()}, function(results, status) {
	            if (status == google.maps.GeocoderStatus.OK) {
	            	showWeatherInfo(results[4].formatted_address);             
	            } 
	          });
			
		});
	}else {
		$("#twRegionMap").hide();
		$("#googleMapPanel").show();
		var latlng = new google.maps.LatLng(lat,lng);
		map.panTo(latlng);
	}
}

function moveToJamRoad(wgsx,wgsy){
	var latlng = new google.maps.LatLng(wgsy,wgsx);
	map.setZoom(14);
	map.panTo(latlng);
}

/**************************************************************相關連結跑馬燈功能**************************************************************************/
//**廣告垂直向上捲跑馬燈**
//五個屬性各別是：外面div的id名稱、包在裡面的標籤類型
//延遲毫秒數、速度、高度
function slideLine(box,stf,delay,speed,h)
{
//取得id
var slideBox = document.getElementById(box);
//預設值 delay:幾毫秒滾動一次(1000毫秒=1秒)
//       speed:數字越小越快，h:高度
var delay = delay||1000,speed = speed||20,h = h||20;
delay = 0;
var tid = null,pause = false;
//setInterval跟setTimeout的用法可以咕狗研究一下~
var s = function(){tid=setInterval(slide, speed);}
//主要動作的地方
var slide = function(){
//當滑鼠移到上面的時候就會暫停
  if(pause) return;
//滾動條往下滾動 數字越大會越快但是看起來越不連貫，所以這邊用1
  slideBox.scrollTop += 1;
  //alert(slideBox.scrollTop);
//滾動到一個高度(h)的時候就停止
  if(slideBox.scrollTop%h == 0){
  //alert(slideBox.scrollTop);
//跟setInterval搭配使用的
    //slideBox.appendChild(slideBox.getElementsByTagName(stf)[0]);
    clearInterval(tid);
//將剛剛滾動上去的前一項加回到整列的最後一項
    slideBox.appendChild(slideBox.getElementsByTagName(stf)[0]);
//再重設滾動條到最上面
    slideBox.scrollTop = 0;
//延遲多久再執行一次
    setTimeout(s, delay);
  }
}
//滑鼠移上去會暫停 移走會繼續動
slideBox.onmouseover=function(){pause=true;}
slideBox.onmouseout=function(){pause=false;}
//起始的地方，沒有這個就不會動囉
setTimeout(s, delay);
}
/**********************************************************************************************************************************************************/

function changeMapSize() {
	var menuWidth = parseInt($("#wholeMenu").css("width"));
	
	if ($("#arrowImg").attr("src").indexOf("left") > -1) {
		$("#wholeMenu").hide("slide",1000,function(){
			extendMap(menuWidth);
			$("#arrowImg").attr("src","images/rightArrow.gif").attr("title","向右縮小地圖");
		});
	} else {
		var mapPanelWidth = parseInt($("#googleMapPanel").css("width"));
		var deviceBarWidth=parseInt($("#deviceBar").css("width"));
		var upArrowDivWidth=parseInt($("#upArrowDiv").css("width"));
		var mapWidth=parseInt($("#mapCanvas").css("width"));
		var marqueeWidth = parseInt($("#abgne_marquee").css("width"));
		
		$("#abgne_marquee").css("width",marqueeWidth-menuWidth);
		$("#googleMapPanel").css("width",mapPanelWidth-menuWidth);
		$("#deviceBar").css("width",deviceBarWidth-menuWidth);
		$("#upArrowDiv").css("width",upArrowDivWidth-menuWidth);
		$("#mapCanvas").css("width",mapWidth-menuWidth);
		
		$("#wholeMenu").show("slide",1000,function(){
		});
		
		$("#arrowImg").attr("src","images/leftArrow.gif").attr("title","向左展開地圖");
	}
}

function changeMapSize2() {
	if ($("#arrowImg2").attr("src").indexOf("up") > -1) {
		extendMap2();
		$("#arrowImg2").attr("src","images/downArrow.gif").attr("title","向下縮小地圖");
	} else {
		var mapPanelHeight = parseInt($("#googleMapPanel").css("height"));
		var mapHeight = parseInt($("#mapCanvas").css("height"));
		$("#googleMapPanel").css("height",mapPanelHeight-120);
		$("#mapCanvas").css("height",mapHeight-120);
		$("#bannerDiv,#banner").css("height",120);
		$("#arrowImg2").attr("src","images/upArrow.gif").attr("title","向上展開地圖");
	}
}

function extendMap(menuWidth) {
	if (menuWidth >0) {
		var mapPanelWidth = parseInt($("#googleMapPanel").css("width"));
		var deviceBarWidth=parseInt($("#deviceBar").css("width"));
		var upArrowDivWidth=parseInt($("#upArrowDiv").css("width"));
		var mapWidth=parseInt($("#mapCanvas").css("width"));
		var marqueeWidth = parseInt($("#abgne_marquee").css("width"));
		
		$("#abgne_marquee").css("width",marqueeWidth+10);
		$("#googleMapPanel").css("width",mapPanelWidth+10);
		$("#deviceBar").css("width",deviceBarWidth+10);
		$("#upArrowDiv").css("width",upArrowDivWidth+10);
		$("#mapCanvas").css("width",mapWidth+10);
		menuWidth = menuWidth-10;
		setTimeout("extendMap("+menuWidth+")", 75);
	}
}

function extendMap2(bannerHeight) {
	var bannerHeight = parseInt($("#bannerDiv").css("height"));
	if (bannerHeight > 0) {
		var mapPanelHeight = parseInt($("#googleMapPanel").css("height"));
		var mapHeight = parseInt($("#mapCanvas").css("height"));
		
		$("#bannerDiv,#banner").css("height",bannerHeight-10);
		$("#googleMapPanel").css("height",mapPanelHeight+10);
		$("#mapCanvas").css("height",mapHeight+10);
		setTimeout("extendMap2("+bannerHeight+")", 75);
	}
}

function showTWregionMap() {
	$("#googleMapPanel").hide();
	$("#aa,#dd,#tt,#cc").hide();
	
	//若處於展開地圖的狀態,則需把原先做的變動調回來
	if ( $("#arrowImg").attr("src").indexOf("right") > -1  ) {
		var marqueeWidth = parseInt($("#abgne_marquee").css("width"));
		var mapPanelWidth = parseInt($("#googleMapPanel").css("width"));
		var deviceBarWidth=parseInt($("#deviceBar").css("width"));
		var mapWidth=parseInt($("#mapCanvas").css("width"));
		$("#abgne_marquee").css("width",marqueeWidth- 250);
		$("#googleMapPanel").css("width",mapPanelWidth-250);
		$("#deviceBar").css("width",deviceBarWidth-250);
		$("#mapCanvas").css("width",mapWidth-250);
		$("#arrowImg").attr("src","images/leftArrow.gif").attr("title","展開地圖");
	}
	
	$("#wholeMenu").show();
	$("#twRegionMap").show();
	$("#qq").show();
}

/******************************產生省道設備的示意層******************************************************************************************************/	
var marker = new google.maps.Marker({
      position: new google.maps.LatLng(25.0019497,121.3509148),
      map: map,
      icon: "images/cctv.png",
      title:"點擊圖示即可觀看此區域省道設備"
  });
google.maps.event.addListener(marker, 'click', function(){
	map.setZoom(11);
});
markerMap2.put(markerMap2.size, marker);
var marker = new google.maps.Marker({
      position: new google.maps.LatLng(24.3842292,120.7526906),
      map: map,
      icon: "images/cctv.png",
      title:"點擊圖示即可觀看此區域省道設備"
});
google.maps.event.addListener(marker, 'click', function(){
	map.setZoom(11);
});
markerMap2.put(markerMap2.size, marker);
var marker = new google.maps.Marker({
      position: new google.maps.LatLng(24.606142,121.855856),
      map: map,
      icon: "images/cctv.png",
      title:"點擊圖示即可觀看此區域省道設備"
});
google.maps.event.addListener(marker, 'click', function(){
	map.setZoom(11);
});
markerMap2.put(markerMap2.size, marker);
var marker = new google.maps.Marker({
      position: new google.maps.LatLng(23.165535,120.340719),
      map: map,
      icon: "images/cctv.png",
      title:"點擊圖示即可觀看此區域省道設備"
});
google.maps.event.addListener(marker, 'click', function(){
	map.setZoom(11);
});
markerMap2.put(markerMap2.size, marker);
var marker = new google.maps.Marker({
      position: new google.maps.LatLng(23.9279566666667,121.537044333333),
      map: map,
      icon: "images/cctv.png",
      title:"點擊圖示即可觀看此區域省道設備"
});
google.maps.event.addListener(marker, 'click', function(){
	map.setZoom(11);
});
markerMap2.put(markerMap2.size, marker);

var marker = new google.maps.Marker({
      position: new google.maps.LatLng(23.85615,120.47135),
      map: map,
      icon: "images/cctv.png",
      title:"點擊圖示即可觀看此區域省道設備"
});
google.maps.event.addListener(marker, 'click', function(){
	map.setZoom(11);
});
markerMap2.put(markerMap2.size, marker);

var marker = new google.maps.Marker({
      position: new google.maps.LatLng(23.3323163333333,121.3198275),
      map: map,
      icon: "images/cctv.png",
      title:"點擊圖示即可觀看此區域省道設備"
});
google.maps.event.addListener(marker, 'click', function(){
	map.setZoom(11);
});
markerMap2.put(markerMap2.size, marker);

var marker = new google.maps.Marker({
      position: new google.maps.LatLng(22.642354,120.402686),
      map: map,
      icon: "images/cctv.png",
      title:"點擊圖示即可觀看此區域省道設備"
});
google.maps.event.addListener(marker, 'click', function(){
	map.setZoom(11);
});
markerMap2.put(markerMap2.size, marker);

var marker = new google.maps.Marker({
      position: new google.maps.LatLng(22.995514,121.159369),
      map: map,
      icon: "images/cctv.png",
      title:"點擊圖示即可觀看此區域省道設備"
});
google.maps.event.addListener(marker, 'click', function(){
	map.setZoom(11);
});
markerMap2.put(markerMap2.size, marker);

/******************************產生國道設備的示意層*******************************************************************/	
var marker = new google.maps.Marker({
      position: new google.maps.LatLng(24.87647,121.761475),
      map: map,
      icon: "images/cctvBlack.png",
      title:"點擊圖示即可觀看此區域國道影像"
});
google.maps.event.addListener(marker, 'click', function(){
	map.setZoom(11);
});
highwayCctvMap2.put(highwayCctvMap2.size, marker);

var marker = new google.maps.Marker({
      position: new google.maps.LatLng(25.000994,121.278076),
      map: map,
      icon: "images/cctvBlack.png",
      title:"點擊圖示即可觀看此區域國道影像"
});
google.maps.event.addListener(marker, 'click', function(){
	map.setZoom(11);
});
highwayCctvMap2.put(highwayCctvMap2.size, marker);

var marker = new google.maps.Marker({
      position: new google.maps.LatLng(24.607069,120.888062),
      map: map,
      icon: "images/cctvBlack.png",
      title:"點擊圖示即可觀看此區域國道影像"
});
google.maps.event.addListener(marker, 'click', function(){
	map.setZoom(11);
});
highwayCctvMap2.put(highwayCctvMap2.size, marker);

var marker = new google.maps.Marker({
      position: new google.maps.LatLng(24.367114,120.717773),
      map: map,
      icon: "images/cctvBlack.png",
      title:"點擊圖示即可觀看此區域國道影像"
});
google.maps.event.addListener(marker, 'click', function(){
	map.setZoom(11);
});
highwayCctvMap2.put(highwayCctvMap2.size, marker);

var marker = new google.maps.Marker({
      position: new google.maps.LatLng(24.21691,120.673828),
      map: map,
      icon: "images/cctvBlack.png",
      title:"點擊圖示即可觀看此區域國道影像"
});
google.maps.event.addListener(marker, 'click', function(){
	map.setZoom(11);
});
highwayCctvMap2.put(highwayCctvMap2.size, marker);

var marker = new google.maps.Marker({
      position: new google.maps.LatLng(23.855698,120.492554),
      map: map,
      icon: "images/cctvBlack.png",
      title:"點擊圖示即可觀看此區域國道影像"
});
google.maps.event.addListener(marker, 'click', function(){
	map.setZoom(11);
});
highwayCctvMap2.put(highwayCctvMap2.size, marker);

var marker = new google.maps.Marker({
      position: new google.maps.LatLng(23.579092,120.426636),
      map: map,
      icon: "images/cctvBlack.png",
      title:"點擊圖示即可觀看此區域國道影像"
});
google.maps.event.addListener(marker, 'click', function(){
	map.setZoom(11);
});
highwayCctvMap2.put(highwayCctvMap2.size, marker);

var marker = new google.maps.Marker({
      position: new google.maps.LatLng(23.276673,120.272827),
      map: map,
      icon: "images/cctvBlack.png",
      title:"點擊圖示即可觀看此區域國道影像"
});
google.maps.event.addListener(marker, 'click', function(){
	map.setZoom(11);
});
highwayCctvMap2.put(highwayCctvMap2.size, marker);

var marker = new google.maps.Marker({
      position: new google.maps.LatLng(23.019076,120.250854),
      map: map,
      icon: "images/cctvBlack.png",
      title:"點擊圖示即可觀看此區域國道影像"
});
google.maps.event.addListener(marker, 'click', function(){
	map.setZoom(11);
});
highwayCctvMap2.put(highwayCctvMap2.size, marker);

var marker = new google.maps.Marker({
      position: new google.maps.LatLng(22.781246,120.404663),
      map: map,
      icon: "images/cctvBlack.png",
      title:"點擊圖示即可觀看此區域國道影像"
});
google.maps.event.addListener(marker, 'click', function(){
	map.setZoom(11);
});
highwayCctvMap2.put(highwayCctvMap2.size, marker);
/******************************************mapping between county and district mapping for dropdown menu ***************************************************************************************************/
var countys= {"pleaseChoose":"請選擇","Keelung":"基隆市","Taipei":"台北市","Xinbei":"新北市","Taoyuan":"桃園縣","Hsinchu":"新竹縣","Miaoli":"苗栗縣","Taichung":"台中市",
		  "Changhua":"彰化縣","Nantou":"南投縣","Yunlin":"雲林縣","Chiayi":"嘉義縣","Tainan":"台南市","Kaohsiung":"高雄市","Pingtung":"屏東縣","Yilan":"宜蘭縣",
		  "Hualien":"花蓮縣","Taitung":"台東縣"};
var keelungArr = ["仁愛區","信義區","中正區","中山區","安樂區","暖暖區","七堵區"];
var taipeiArr = ["中正區","大同區","中山區","松山區","大安區","萬華區","信義區","士林區","北投區","內湖區","南港區","文山區"];
var xinbeiArr = ["萬里區","金山區","板橋區","汐止區","深坑區","石碇區","瑞芳區","平溪區","雙溪區","貢寮區","新店區","坪林區",
           "烏來區","永和區","中和區","土城區","三峽區","鶯歌區","樹林區","三重區","新莊區","泰山區","林口區","蘆洲區",
           "五股區","八里區","淡水區","三芝區","石門區"];
var taoyuanArr = ["中壢市","平鎮市","龍潭鄉","楊梅市","新屋鄉","觀音鄉","桃園市","龜山鄉","八德市","大溪鎮","復興鄉","大園鄉","蘆竹鄉"];
var hsinchuArr = ["新竹市","竹北市","湖口鄉","新豐鄉","新埔鎮","關西鎮","芎林鄉","寶山鄉","竹東鎮","五峰鄉","橫山鄉","尖石鄉","北埔鄉","峨眉鄉"];
var miaoliArr = ["竹南鎮","頭份鎮","三灣鄉","南庒鄉","獅潭鄉","後龍鎮","通霄鎮","苑裡鎮","苗栗市","造橋鄉","頭屋鄉","公館鄉","大湖鄉","泰安鄉","銅鑼鄉","三義鄉","西湖鄉","卓蘭鎮"];
var taichungArr = ["中區","東區","南區","西區","北區","北屯區","西屯區","南屯區","太平區","大里區","霧峰區","烏日區","豐原區","后里區","石岡區","東勢區","和平區","新社區","潭子區",
             "大雅區","神岡區","大肚區","沙鹿區","龍井區","梧棲區","清水區","大甲區","外埔區","大安區"];
var changhuaArr = ["彰化市","芬園鄉","花壇鄉","秀水鄉","鹿港鎮","福興鄉","線西鄉","和美鎮","伸港鄉","員林鎮","社頭鄉","永靖鄉","埔心鄉","溪湖鎮","大村鄉","埔鹽鄉","田中鎮","北斗鎮","田尾鄉","埤頭鄉",
             "溪洲鄉","竹塘鄉","二林鎮","大城鄉","芳苑鄉","二水鄉"];
var nantouArr = ["南投市","埔里鎮","草屯鎮","竹山鎮","集集鎮","名間鄉","鹿谷鄉","中寮鄉","魚池鄉","國姓鄉","水里鄉","信義鄉","仁愛鄉"];
var yunlinArr = ["斗六市","斗南鎮","虎尾鎮","西螺鎮","土庫鎮","北港鎮","古坑鄉","大埤鄉","莿桐鄉","林內鄉","二崙鄉","崙背鄉","麥寮鄉","東勢鄉","褒忠鄉","臺西鄉","元長鄉","四湖鄉","口湖鄉","水林鄉"];
var chiayiArr = ["嘉義市","太保市","朴子市","大林鎮","布袋鎮","民雄鄉","溪口鄉","新港鄉","六腳鄉","東石鄉","義竹鄉","鹿草鄉","水上鄉","中埔鄉","竹崎鄉","梅山鄉","番路鄉","大埔鄉","阿里山鄉"];
var tainanArr = ["南區","東區","北區","中西區","安平區","安南區","新營區","永康區","鹽水區","白河區","麻豆區","佳里區","新化區","善化區","學甲區","柳營區","後壁區","東山區","下營區","六甲區","官田區","大內區","西港區","七股區","將軍區","北門區","安定區","楠西區","新市區","山上區","玉井區","南化區","左鎮區","仁德區","歸仁區","關廟區","龍崎區"];
var kaohsiungArr = ["鹽埕區","鼓山區","左營區","楠梓區","三民區","新興區","前金區","苓雅區","前鎮區","旗津區","小港區","鳳山區","岡山區","旗山區","美濃區","林園區","大寮區","大樹區","仁武區","大社區","鳥松區","橋頭區","燕巢區","田寮區","阿蓮區","路竹區","湖內區","茄萣區","永安區","彌陀區","梓官區","六龜區","甲仙區","杉林區","內門區","茂林區","桃源區","那瑪夏區"];
var pingtungArr = ["屏東市","潮州鎮","東港鎮","恆春鎮","萬丹鄉","長治鄉","麟洛鄉","九如鄉","里港鄉","鹽埔鄉","高樹鄉","萬巒鄉","內埔鄉","竹田鄉","新埤鄉","枋寮鄉","新園鄉","崁頂鄉","林邊鄉","南州鄉","佳冬鄉","琉球鄉","車城鄉","滿州鄉","枋山鄉","霧臺鄉","瑪家鄉","泰武鄉","來義鄉","春日鄉","獅子鄉","牡丹鄉","三地門鄉"];
var yilanArr = ["宜蘭市","羅東鎮","蘇澳鎮","頭城鎮","礁溪鄉","壯圍鄉","員山鄉","冬山鄉","五結鄉","三星鄉","大同鄉","南澳鄉"];
var hualienArr = ["花蓮市","鳳林鎮","玉里鎮","新城鄉","吉安鄉","壽豐鄉","光復鄉","豐濱鄉","瑞穗鄉","富里鄉","秀林鄉","卓溪鄉","萬榮鄉"];
var taitungArr = ["臺東市","成功鎮","關山鎮","卑南鄉","大武鄉","東河鄉","長濱鄉","鹿野鄉","池上鄉","綠島鄉","延平鄉","海端鄉","達仁鄉","金峰鄉","蘭嶼鄉","太麻里鄉"];

countyMap.put("Keelung",keelungArr);countyMap.put("Taipei", taipeiArr);countyMap.put("Xinbei", xinbeiArr);countyMap.put("Taoyuan", taoyuanArr);countyMap.put("Hsinchu", hsinchuArr);
countyMap.put("Miaoli", miaoliArr);countyMap.put("Taichung", taichungArr);countyMap.put("Changhua", changhuaArr);countyMap.put("Nantou", nantouArr);countyMap.put("Yunlin", yunlinArr);
countyMap.put("Chiayi", chiayiArr);countyMap.put("Tainan", tainanArr);countyMap.put("Kaohsiung", kaohsiungArr);countyMap.put("Pingtung", pingtungArr);countyMap.put("Yilan", yilanArr);
countyMap.put("Hualien", hualienArr);countyMap.put("Taitung", taitungArr);
/**************************************************************************************************************************************************************************/	

