﻿<!--

/*首頁用，每隔10秒更換一個人跑地圖
1. 找hidden 的index_pid_list 表單欄位， 裡面有會員的编號pid,輪流取出
2. index_pid_nums 表示有找到幾位會員
*/
var gmap = null;
var cur_pid_idx = 0;
var map_show = true;
function show_index_map() {
	var vindex_pid_list = document.getElementById("index_pid_list");
	var vindex_pid_nums = document.getElementById("index_pid_nums");
	if (map_show) {	//是否顯示下一筆地圖
		if (vindex_pid_nums != null) {
			//alert("go");
			var ary_pid = vindex_pid_list.value.split(",");	//分成陣列
			cur_pid_idx++;
			if (cur_pid_idx >= parseInt(vindex_pid_nums.value)) cur_pid_idx = 0;
			//if (cur_pid_idx <= 2) alert(ary_pid[cur_pid_idx]);
			//顯示下一筆
			ax_url.geturl("get_index_map.php?mfirst_pid=" + ary_pid[cur_pid_idx], "main_index_map");
			setTimeout("SceneryMaps()", 2000);	//2秒後再處理地圖 SceneryMaps();
		}
	}
}

//停止看下一筆
function map_stop() {
	map_show = false;
}
//開始看下一筆
function map_start() {
	map_show = true;
}

//頁面初始函數
function scenery_map_init() {
	var vindex_pid_list = document.getElementById("index_pid_list");
	var vindex_pid_nums = document.getElementById("index_pid_nums");
	if (vindex_pid_list != null) {
		//目前是在首頁才需要定時更換地圖內容
		//setInterval("show_index_map()", 15000);
		
	}
	queryMap();	//顯示地區查詢的地圖
}

/*
是否為進入後的第一次查詢，只有第一次查詢才會用最大的座標去調整zoom值
之後如果是手重力調遫或放大，就只有顯示該區範圍的部份

*/
var qfirst = true;

/* 依地區查地圖專用 */
//在marker點選時顯示標題
function createQueryMarker(point, vicomap, vinfo) {
	if (vicomap != "") {
		var icon = new GIcon();
		icon.image = vicomap;
		//icon.image = "/images/map_dot.gif";
		icon.iconSize = new GSize(24,24);
		//icon.shadowSize = new GSize(30, 20);
		icon.iconAnchor = new GPoint(12,24); 
		icon.infoWindowAnchor = new GPoint(12, 2); 
		var marker = new GMarker(point, {icon:icon, title:""} );
	} else {	//如果沒圖
		var marker = new GMarker(point);
	}
	//var html = "<p><small>" + title + "</small></p>";
	var html = vinfo;
	GEvent.addListener(marker, "mouseover", function() {
	marker.openInfoWindowHtml(html);
	});
	return marker;
}

//顯示區域中的所有點或商店
//傳入參數，目前的地圖物件
function showAreaMarkers(vmap) {
	var center = vmap.getCenter();
	//2010/3/1加上，每次call時先free memory
	vmap.clearOverlays();
	GEvent.clearInstanceListeners(vmap);
	var xml = null;	//free data xml
	var markers = null;
	
	//alert("go4, " + doquery);
	//document.getElementById("message").innerHTML = center.toString();
	var lat = center.lat();		//x
	var lng = center.lng();		//y
	var czoom = vmap.getZoom();	//取得目前的縮放
	var vmap_page = document.getElementById("map_page");	//目前要標示第幾頁
	var vtbname = document.getElementById("tbname");	//資料表名稱
	var vsc_search = document.getElementById("msc_search");	//關鍵字
	var vcountryid = document.getElementById("mcountryid");	//國別
	var vcityid = document.getElementById("mcityid");	//縣市
	var vdtownid = document.getElementById("mdtownid");	//地區
	var vpmlist = document.getElementById("mpmlist");	//類別
	
	//取得地圖範圍的4角座標
	//var bounds = vmap.getBounds();
	var bounds = new GLatLngBounds();
	// 西南座標
	var southWest = bounds.getSouthWest();
	// 東北座標
	var northEast = bounds.getNorthEast();
	// 地圖四角座標
	var lng1 = northEast.lng();	//
	var lng2 = southWest.lng();
	var lat1 = northEast.lat();
	var lat2 = southWest.lat();
	//取得區域內地標的xml marker程式
	//var gurl = "get_scenery_map_xml.php?tbname=" + vtbname.value + "&amp;lng="+ lng + "&amp;lng1="+ lng1 +"&amp;lng2="+ lng2 +"&amp;lat="+ lat +"&amp;lat1="+ lat1 +"&amp;lat2="+ lat2;
	//var fq = "";
	//if (qfirst) fq = "1";	//first in
	
	if (vcountryid != null) {	//查詢區
		//var vtype = 1;	//搜尋地圖
		var gurl = "get_scenery_map_xml.php?page=" + vmap_page.value + "&tbname=" + vtbname.value + "&msc_search="+ encodeURI(vsc_search.value) + "&mcountryid="+ vcountryid.value + "&mcityid="+ vcityid.value + "&mdtownid="+ vdtownid.value + "&mpmlist="+ vpmlist.value;
		gurl += "&czoom="+ czoom + "&lng="+ lng + "&lng1="+ lng1 +"&lng2="+ lng2 +"&lat="+ lat +"&lat1="+ lat1 +"&lat2="+ lat2;
		//alert(gurl);
	}
	
	//var vtype = 2;	//個人分享地圖
	var vfmmap = document.getElementById("fmmap");	//左邊查詢的form
	if (vfmmap != null) {
		with(vfmmap) {
			for (var ix = 0; ix < 5; ix++) {
				if (tbname[ix].checked) {
					vtb = tbname[ix].value;
					break;
				}
			}
			//if (ix < 4)
//			if (tbname[1].checked) vtb = tbname[1].value;
//			if (tbname[2].checked) vtb = tbname[2].value;
//			if (tbname[3].checked) vtb = tbname[3].value;
//			if (tbname[4].checked) vtb = tbname[4].value;
			var vpid = document.getElementById("member_pid");	//會員編號
			var gurl = "get_scenery_map_xml.php?page=0&tbname=" + vtb + "&p="+ vpid.value;
			gurl += "&czoom="+ czoom + "&lng="+ lng + "&lng1="+ lng1 +"&lng2="+ lng2 +"&lat="+ lat +"&lat1="+ lat1 +"&lat2="+ lat2;
			//個人地圖左邊列表
			var gurl2 = "get_scenery_user_map_list.php?page=0&tbname=" + vtb + "&p="+ vpid.value;
			gurl2 += "&czoom="+ czoom + "&lng="+ lng + "&lng1="+ lng1 +"&lng2="+ lng2 +"&lat="+ lat +"&lat1="+ lat1 +"&lat2="+ lat2;
			//alert(gurl2);
			ax_url.geturl(gurl2, "sce_usermap"); 
			//document.getElementById("debug_area").innerHTML = gurl2;
		}
	}
	//var vtype = 3;	//首頁最新分享
	var vindexmap = document.getElementById("indexmap");	//首頁最新分享
	if (vindexmap != null) {
		var vpid = document.getElementById("member_pid");	//會員id
		var gurl = "get_scenery_map_xml.php?page=0&tbname=&index=1&p="+ vpid.value;
			gurl += "&czoom="+ czoom + "&lng="+ lng + "&lng1="+ lng1 +"&lng2="+ lng2 +"&lat="+ lat +"&lat1="+ lat1 +"&lat2="+ lat2;
	}
	//document.getElementById("debug_area").innerHTML = gurl;
	
	GDownloadUrl(gurl, 
		function(data, responseCode) {
			if (responseCode == 200) {
				//document.getElementById("debug").innerHTML = data;
				//return;
				
				var xml = GXml.parse(data);
				//var markers = xml.documentElement.getElementsByTagName("marker");
				var markers = xml.getElementsByTagName("marker");
				//alert(markers.length);
				
				//首頁最新分享會員作品列表顯示區域
				var vworklistdiv = document.getElementById("worklistdiv");	
				if (vworklistdiv != null) {
					var runtimesshow=9;
					if(markers.length<9){runtimesshow=markers.length;}
					var vworklistdivwork = "";
				//var vworklistdivwork="<ul>";
				for (var i = 0; i < runtimesshow; i++) {
					var vtitle = markers[i].getAttribute("title")
						vworklistdivwork += "<div><a href='" + markers[i].getAttribute("url") + "' title='" + vtitle + "'>" + "<img src='" + markers[i].getAttribute("icomap") + "' border='0' hspace='1' align='absmiddle'>" + vtitle.substr(0, 8) + "</a></div>";
						}
					
				//vworklistdivwork+="</ul>";
				document.getElementById("worklistdiv").innerHTML=vworklistdivwork;
					}
				
				if (markers.length > 0) {	//有找到區域中的景點或是商店 
					for (var i = 0; i < markers.length; i++) {
						var vicomap = markers[i].getAttribute("icomap");	//地圖的標記樣式
						var lat = parseFloat(markers[i].getAttribute("lat"));
						var lng = parseFloat(markers[i].getAttribute("lng"));
						var point = new GLatLng(lat,lng);
						var vtitle = markers[i].getAttribute("title");
						var vopentime = markers[i].getAttribute("opentime");
						var vtel = markers[i].getAttribute("tel");
						var vfax = markers[i].getAttribute("fax");
						var vaddress = markers[i].getAttribute("address");
						var vurl = markers[i].getAttribute("url");
						var vimg= markers[i].getAttribute("img");
						//移動地圖中心點，只在第一筆使用
						if (i == 0) {
							vmap.setCenter(point, 11);
							vmap.panTo(point);
							//alert("go1");
						}
						
						var vinfo = "<div align='left' style='font-size: .9em;'>";
						if (vimg !=null){
							vinfo += "<div style='height:90px;overflow:hidden;'><img src= '"+vimg+"'   onError='imgErr(this)' /></div>";
							}
						if (vtitle != null) {
							vinfo += "<strong>" + vtitle + "</strong><br>";
						}
						if (vopentime != null) {
							vinfo += "開放時間：" + vopentime + "<br>";
						}
						if (vaddress != null) {
							vinfo += "地址：" + vaddress + "<br>";
						}
						if ((vtel != "") || (vfax != "")) {
							if (vtel != "") vinfo += "TEL:" + vtel;
							if (vfax != "") vinfo += " FAX:" + vfax;
							vinfo += "<br>";
						}
						if (vurl != "") {
							vinfo += "<a href='" + vurl + "' target='_blank'><font color='blue'>查看詳細介紹</font></a>";
						}
						vinfo += "</div>";
						bounds.extend(point);	//把地圖的框擴大，以看到所有的點
						//marker.openInfoWindowHtml(vinfo);
						var marker = createQueryMarker(point, vicomap, vinfo);
						vmap.addOverlay(marker);
					}
					vmap.setZoom(vmap.getBoundsZoomLevel(bounds));
					vmap.setCenter(bounds.getCenter());
				} else {
					return false;	
				}
			} else if(responseCode == -1) {
					//alert("Data request timed out. Please try later.");
				} else { 
					//alert("Request resulted in error. Check XML file is retrievable.");
				}
		}
	);
}

/*左邊景點列表區*/
var ax_sce_callback = {
	success:function(o) {
		var retobj = document.getElementById("sce_maplist");
		if (retobj != null)
			retobj.innerHTML = o.responseText;
		else
			document.write("發生錯誤，找不到[" + objid + "] 區塊可以輸出結果");
	},
	failure:function(o) {
		alert(o.statusText)
	},
	timeout:5000
}

function imgErr(img)
{
    img.src='http://www.vrwalker.net/tw/images/nopicture_small.gif';
}

function queryMap() {
	var vpmobjs = document.getElementsByName("mpmid");
	var vpm = "";
	if (vpmobjs.length > 0) {
		for (var i = 0; i < vpmobjs.length; i++) {
			if (vpmobjs[i].checked) vpm += vpmobjs[i].value + "-";
		}
		if (vpm != "") {
			vpm = vpm.slice(0, -1);
			var vpmlist = document.getElementById("mpmlist");
			if (vpmlist != null) vpmlist.value = vpm;
		}
		//alert(vpmlist.value);
		//return;
		
	}
	//查詢區用，先顯示左邊的景點列表，取得map_page的值看目前在第幾頁 
	var vsce_maplist = document.getElementById("sce_maplist");
	if (vsce_maplist != null) {	//景點搜尋區才有左邊區塊, 會員區沒有
		var vtbname = document.getElementById("tbname");	//資料表名稱
		var vsc_search = document.getElementById("msc_search");	//關鍵字
		var vcountryid = document.getElementById("mcountryid");	//國別
		var vcityid = document.getElementById("mcityid");	//縣市
		var vdtownid = document.getElementById("mdtownid");	//地區
		var vpmlist = document.getElementById("mpmlist");	//類別
		//左邊取得區域內符合的資料列表, 只有搜尋區才用
		var purl = "get_scenery_map_list.php?page=1&tbname=" + vtbname.value + "&msc_search="+ encodeURI(vsc_search.value) + "&mcountryid="+ vcountryid.value + "&mcityid="+ vcityid.value + "&mdtownid="+ vdtownid.value + "&mpmlist="+ vpmlist.value;
		//purl += "&czoom="+ czoom + "&lng="+ lng + "&lng1="+ lng1 +"&lng2="+ lng2 +"&lat="+ lat +"&lat1="+ lat1 +"&lat2="+ lat2;
		//document.getElementById("debug_area").innerHTML = purl;
		ax_url.geturl2(purl, ax_sce_callback, "sce_maplist");
	}
	setTimeout("SceneryMaps()", 2000);	//1秒後再處理地圖 SceneryMaps();
}


function SceneryMaps() {
	if (GBrowserIsCompatible()) {
		var vmapobj = document.getElementById("AreaMap");
		//var vmapobj = document.getElementById("WebMap");
		//alert(vmapobj.length);
		if (vmapobj != null) {
			bMap = true;
			//for (var i = 1; i <= 1; i++) {
				//顯示標記的參數
				var vtbname = document.getElementById("tbname");	//資料表名稱
				var vx = document.getElementById("MapX");	//座標X 物件 hidden值
				var vy = document.getElementById("MapY");	//座標Y 物件 hidden值
				//alert(gmap);
				if (gmap != null) {
					//gmap = new GMap2(vmapobj);
					gmap.clearOverlays();
					GEvent.clearInstanceListeners(gmap);
				}
				
				//if (gmap != null) {
					var gmap = new GMap2(vmapobj);
					gmap.addControl(new GLargeMapControl());
					gmap.addControl(new GScaleControl());
					gmap.addControl(new GMapTypeControl());
					gmap.clearOverlays();
					gmap.setCenter(new GLatLng(0,0),0);  //要先設定map latlng 和 level
					
				//}
				showAreaMarkers(gmap);
			//}
		}
	}
	return;
}

/*景點專用的跳頁，因為跳頁後還要再顯示不同的地圖*/
function scenery_page_nav(vurl, vshowpage) {
	ax_url.geturl(vurl, vshowpage);
	//queryMap();
	setTimeout("SceneryMaps()", 1000);	//1秒後再處理地圖 SceneryMaps();
}

YAHOO.util.Event.addListener(window, "load", scenery_map_init);

-->
