﻿//////////////////////////////////////////////////////////////////
/// 初期設定
//////////////////////////////////////////////////////////////////

/*
update id
------------------------------------------------------------*/
var id_update_map="MAP_UPD";


/*
fade in speed ／ slow,normal,fast,[msec]数値
------------------------------------------------------------*/
var fadeUDSpeed=400;





//////////////////////////////////////////////////////////////////
/// load map xml
//////////////////////////////////////////////////////////////////
/*
var loadMapDtAll=function(){
	if(!xml_map_path){
		var souce=outputError();
		showErrorLoadFail(souce);
		return;
	}
	$(function(){
		result=$.ajax({
			type:"get",
			url:xml_map_path,
			cache: false,
			error:function(data){
				var souce=outputError();
				showErrorLoadFail(souce);
			},
			success:function(data){
				var nvMDtAll=setMapDtAll(data);
				calcMapRange();
			}
		});
	});
}
*/
var setMapDtAll=function(data,facil){
	var tnItemM=data.getElementsByTagName("item");
	nvMDtAll=new Array();
	for(var i=0;i<tnItemM.length;i++){
		nvMDtAll[i]=new Array();
		nvMDtAll[i][0]=tnItemM.item(i).getElementsByTagName("latitude").item(0).firstChild.nodeValue;
		nvMDtAll[i][1]=tnItemM.item(i).getElementsByTagName("longitude").item(0).firstChild.nodeValue;
		nvMDtAll[i][2]=tnItemM.item(i).getElementsByTagName("room").item(0).firstChild.nodeValue;
	}
	return nvMDtAll;
}
var calcMapRange=function(){
	var latMax="";
	var latMin="";
	for(var i=0;i<nvMDtAll.length;i++){
		if(latMax=="") latMax=nvMDtAll[i][0];
		else latMax=(nvMDtAll[i][0]>latMax)?nvMDtAll[i][0]:latMax;
		if(latMin=="") latMin=nvMDtAll[i][0];
		else latMin=(nvMDtAll[i][0]<latMin)?nvMDtAll[i][0]:latMin;
	}
	var lonMax="";
	var lonMin="";
	for(var i=0;i<nvMDtAll.length;i++){
		if(lonMax=="") lonMax=nvMDtAll[i][1];
		else lonMax=(nvMDtAll[i][1]>lonMax)?nvMDtAll[i][1]:lonMax;
		if(lonMin=="") lonMin=nvMDtAll[i][1];
		else lonMin=(nvMDtAll[i][1]<lonMin)?nvMDtAll[i][1]:lonMin;
	}
	var pointLat=eval(latMin)+(latMax-latMin)/2;
	var pointLon=eval(lonMin)+(lonMax-lonMin)/2;
	var distLat=(latMax-latMin)*22;
	var distLon=(lonMax-lonMin)*18;
	var distMap=(distLat>distLon)?distLat:distLon;
	arrScale=new Array(400,200,90,45,30,15,7.7,4.5,3,1.5,0.6,0.45,0.3,0.23,0.15,0.1,0.07,0.04);
	var mapScaleNum;
	for(var i=0;i<arrScale.length;i++){
		if(distMap+(distMap*0.05)>arrScale[i]){
			if(i<6){
				alert(msg_error_scale);
				mapScaleNum=i;
				break;
			}else{
				mapScaleNum=i;
				break;
			}
		}else if(i==(arrScale.length-1)){
			mapScaleNum=arrScale.length;
			break;
		}
	}
	loadMap(nvMDtAll,mapScaleNum,pointLat,pointLon);
}




//////////////////////////////////////////////////////////////////
/// map control
//////////////////////////////////////////////////////////////////

var amapurl=new Object();
var amaptagurl=new Object();

var loadMap=function(nvMDtAll,mapScaleNum,pointLat,pointLon){
	arrAlpha=new Array("a","b","c","d","e","f","g","h","i","j");
	var userData=new Array();
	for(var i=0;i<nvMDtAll.length;i++){
		userData[i]=new Array(nvMDtAll[i][1],nvMDtAll[i][0],arrTnLi[i][0],arrTnLi[i][13],arrTnLi[i][1],arrTnLi[i][2],arrTnLi[i][3],arrTnLi[i][4],arrTnLi[i][5],arrTnLi[i][10],arrTnLi[i][11],arrTnLi[i][12]);
	}
	var map=new ZdcMap(document.getElementById('Map'));
	map.setMapType('5');
	if(document.URL.toLowerCase().indexOf('simplified-chinese') != -1 || document.URL.toLowerCase().indexOf('traditional-chinese') != -1){
		map.setMapType('4');
	}
//	map.addMapControl(new ZdcControl());
	map.addMapScaleBar(new ZdcScaleBar());
	map.setMapLocation(new ZdcPoint(pointLon,pointLat),mapScaleNum);
	var userlay=new ZdcUserLayer();
	userlay.setLayerScale(1,18);
	userlay.setLayerType('manual');
	for(i=0;i<(userData.length<100?userData.length:100);i++){
		var icon=new ZdcIcon();
		icon.size=new ZdcSize(33,31);
		icon.shadowsize=new ZdcSize(35,7);
		icon.offset=new ZdcPixel(-16,-31);
		icon.shdoffset=new ZdcPixel(1,22);
		icon.msgoffset=new ZdcPixel(30,-215);
		if(nvMDtAll[i][2]==0) icon.image='/common/images/map/list_icon_av_'+arrAlpha[i]+'.png';
		else if(nvMDtAll[i][2]==1) icon.image='/common/images/map/list_icon_ma_'+arrAlpha[i]+'.png';
		else if(nvMDtAll[i][2]==2) icon.image='/common/images/map/list_icon_na_'+arrAlpha[i]+'.png';
		icon.shadowimage='/common/images/map/list_shadow.png';
		var point=new ZdcPoint(userData[i][0],userData[i][1]);
		var marker=new ZdcMarker(point,icon);
		marker.tagurl='\n<!--map balloon-->\n<div class="mapBln">\n<div class="mpbInner01">\n<div class="mpbInner02">\n';
		marker.tagurl+='<div class="clearFix mapTxTitle">\n';
		marker.tagurl+='<h2><a href="'+userData[i][3]+'">'+strOmit(userData[i][2])+'</a></h2>\n';
		marker.tagurl+='<p><a href="javascript:void(0);" onclick="writeWish(1,\''+userData[i][4]+'\');">';
		marker.tagurl+='<img src="'+htlCtnImg+'/hotelscontents/images/main/item01_btn_addml_def.gif" alt="Add to wish list" ';
		marker.tagurl+='height="22" width="94" onmouseover="imgRoll(this,1);" onmouseout="imgRoll(this,0);">';
		marker.tagurl+='</a></p>\n';
		marker.tagurl+='</div>\n';
		marker.tagurl+='<div class="contentSR mt5">\n';
		marker.tagurl+='<p class="facTitle txl">';
		marker.tagurl+=getAreaTxt(userData[i][7],userData[i][6],userData[i][5]);
		marker.tagurl+='</p>\n';
		marker.tagurl+='<p class="txl mt10">'+strOmit02(userData[i][8])+'</p>\n';
		marker.tagurl+='<ul class="links mt15 clearFix">\n';

		marker.tagurl+='<li class="facility" id="FACL_A_'+i+'_DEF">';
		marker.tagurl+='<a href="javascript:void(0);" ';
		marker.tagurl+='onclick="closeAll();$(\'#FACL_A_'+i+'_DEF\').hide();$(\'#FACL_A_'+i+'_CUR\').show();$(\'#FACL_'+i+'\').fadeIn('+fadeSpeed+');">';
		marker.tagurl+=textSet_search[2]+'</a>|</li>\n';
		marker.tagurl+='<li class="facility cur" id="FACL_A_'+i+'_CUR">';
		marker.tagurl+='<a href="javascript:void(0);" ';
		marker.tagurl+='onclick="$(\'#FACL_A_'+i+'_DEF\').show();$(\'#FACL_A_'+i+'_CUR\').hide();$(\'#FACL_'+i+'\').fadeOut('+fadeSpeed+');">';
		marker.tagurl+=textSet_search[2]+'</a>|</li>\n';

		marker.tagurl+='<li><p class="linkNormal01"><a href="' +userData[i][10]+ '">'+textSet_search[3]+'</a>|</p></li>\n';
		marker.tagurl+='<li><p class="linkNormal01"><a href="' +userData[i][11]+ '">'+textSet_search[4]+'</a></p></li>\n';
		marker.tagurl+='</ul>\n';
		marker.tagurl+='<!--floatBox-->\n';
		marker.tagurl+='<div class="fbWrap"><div style="display: none;" id="FACL_'+i+'" class="floatBox facility">';
		marker.tagurl+='<div class="inner01"><div class="inner02">\n';
		marker.tagurl+='<p>'+userData[i][9]+'</p>\n';
		marker.tagurl+='<p class="taCenter mt5"><a href="javascript:void(0);" ';
		marker.tagurl+='onclick="$(\'#FACL_'+i+'\').fadeOut(200);" class="close">'+textSet_search[5]+'</a></p>\n';
		marker.tagurl+='</div></div></div></div><!--/floatBox-->\n';
		marker.tagurl+='</div>\n';
		marker.tagurl+='<p class="buttonSR mt10">';
		marker.tagurl+='<a href="'+userData[i][3]+'"><img src="'+htlCtnImg+'/hotelscontents/images/main/item01_btn_showroom_def.gif" alt="See rooms" ';
		marker.tagurl+='height="31" width="123" onmouseover="imgRoll(this,1);" onmouseout="imgRoll(this,0);">';
		marker.tagurl+='</a></p>\n';
		marker.tagurl+='</div>\n</div>\n</div><!--/map balloon-->\n';

		ZdcEvent.addListener(map,"scrollmapend",function(){
			//$('#'+id_update_map).fadeIn(fadeUDSpeed);
		});
		ZdcEvent.addListener(map,"changezoomend",function(){
			//$('#'+id_update_map).fadeIn(fadeUDSpeed);
			if(map.htmlopenstatus) map.closeZdcMsgHtml();
		});
		ZdcEvent.addListener(map,"dragmapend",function(){
			//$('#'+id_update_map).fadeIn(fadeUDSpeed);
			if(map.htmlopenstatus) map.closeZdcMsgHtml();
		});
		ZdcEvent.addListener(marker,"mouseclickmarker",function(){
			amaptagurl=this.tagurl;
			amapurl=this.url;
			if(map.htmlopenstatus){
				map.setZdcMsgHtmlOption(true,true,"left","small");
				map.closeZdcMsgHtml();
			}
			map.setZdcMsgHtmlOption(true,true,"center","small",'tag',450);
			map.openZdcMsgHtml(amaptagurl,this.Point,"",385,0,this.icon.msgoffset,1);
			document.getElementById("msghtmlshddoc").getElementsByTagName("div")[0].style.top="210px";
			document.getElementById("msghtmlshddoc").getElementsByTagName("div")[1].style.left="166px";
			document.getElementById("msghtmlshddoc").getElementsByTagName("div")[1].style.top="220px";
			var tnImg=document.body.getElementsByTagName("img");
			for(var j=0;j<tnImg.length;j++){
				var gaSrc=tnImg[j].getAttribute("src");
				if(gaSrc.indexOf("bottom_arrow.png")!=-1||gaSrc.indexOf("bottom_center_arrow.png")!=-1){
					tnImg[j].parentNode.style.display="none";
				}
				tnImg[j].parentNode.style.background="none";
			}
		});
		document.getElementById("MU_A").onclick=function(event){
			evtCncl(event);
			var level=map.getMapScale();
			if(level<6){
				alert(msg_error_scale);
			}else{
				var aZdcPoint=map.getMapLocation();
				var mapVl=aZdcPoint.lat+','+aZdcPoint.lon;
				var vl=document.getElementById("MU_A").getAttribute("href");
				prodPathSub(event,vl,mapVl);
			}
		}
		userlay.addMarker(marker);
	}
	map.addUserLayer(userlay);
}

















