//지도상 마커 및 HTML 생성 함수 모음

//기본 아이콘 설정
var baseIcon = new WitIcon();
baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
baseIcon.iconSize = new WitSize(12,12);
//baseIcon.shadowSize = new WitSize(37, 34);
baseIcon.shadowSize = new WitSize(0, 0);	//그림자를 없애자
baseIcon.iconAnchor = new WitPoint(0, 0);
baseIcon.infoWindowAnchor = new WitPoint(9, 2);
//마커 생성용 어레이
var MARKER_ARRAY=new Array();
var DEFAULT_MARKER_ICON1="/images/icon/randmark/location_point.gif";
var DEFAULT_MARKER_ICON2="http://www.pongdang.com/guide/nowplace.png";

/***********************************************************
	함수명		: showWindow
	처리내용		: 지도위의 말풍선 함수
	작성자 		:김정대
***********************************************************/	
function showWindow(markerId){
	var marker= map.getMarkerById(markerId);
	marker.openWindow();
}
/***********************************************************
	함수명		: showBlowupWindow
	처리내용	: 해당지점을 확대해서 보여준다
	작성자 		:김정대
***********************************************************/	
function showBlowupWindow(x,y){
	map.showMapBlowup(new WitPoint(x,y),0,map.getCurrentMapType());
}

/***********************************************************
	함수명		: PathBlowup_oil
	처리내용	: 해당지점을 확대해서 보여준다
	작성자 		:김정대
***********************************************************/	
var yourMapType;
function PathBlowup_oil(x,y){
	map.showMapBlowup(new WitPoint(x,y),0,yourMapType);
}

/***********************************************************
	함수명		: showWindowAndCenter
	처리내용		: 지도위의 말풍선 과 zoom
	작성자 		:김정대
***********************************************************/	
function showWindowAndCenter(markerId,x,y,zIdx){
	var marker= map.getMarkerById(markerId);
	var point=new WitPoint(x,y);	//해당 지점을 생성한다
	if(zIdx){
		map.centerAndZoom(point,zIdx);
	}else{
		//map.centerAndZoom(point,6);
	}
	marker.openWindow();
}


//지도에 마커를 생성한다
//addMarker(x,y)	나머지는 알아서 생성하게 된다.
//addMarker(x,y,id)	ID만 골라주고 나머지는 디폴트로 쓰게된다 알아서 활용할것
function showMarker(x,y,id,amIcon,amHTML){
	addMarker(x,y,id,amIcon,amHTML);
}

function addMarker(x,y,id,amIcon,amHTML,iconWidth,iconHeight,centerYN){
	var uid;
	var markerHTML;
	if(id){	//ID가 있으면 그대로 쓴다
		uid=id+'';
	}else{	//없으면 XY좌표로 생성한다
		uid=x+'-'+y;
	}
	if(amHTML){
		markerHTML=amHTML;
	}else{
		markerHTML="";
	}
	var point=new WitPoint(x,y);	//해당 지점을 생성한다
	var icon=new WitIcon(baseIcon);	//기본 아이콘으로 우선 생성한 후
	if(amIcon&&amIcon!=''){	//아이콘 정보가 있으면 해당 아이콘을 쓴다
		icon.image=amIcon;
	}else{
		icon.image=DEFAULT_MARKER_ICON1;
	}
	if(iconWidth&&iconHeight&&iconWidth>0&&iconHeight>0){
		icon.iconSize=new WitSize(iconWidth,iconHeight);
		icon.iconAnchor=new WitPoint(iconWidth/2,iconHeight);
	}
	//위의 데이터로 마커 생성
	var marker=new WitMarker(point,icon,uid);
	WitEvent.addListener(marker, 'click', function() {
		marker.openInfoWindowHtml(amHTML);
	});
	marker.setHtml(amHTML);	//마커에 HTML 적용
	//마커 출력후 위치 이동
	map.addOverlay(marker);
	//추가
	if(centerYN&&centerYN=="N"){
	}else{
		map.centerAtPoint(point);
	}
	return marker;
}

//2006-11-22 modified by nunknjp 지도사이즈가 가로:200, 세로:200 이상인 맵에서만 말풍선이 작동하도록 수정
function addMarkerOnlyLargeMap(x,y,id,amIcon,amHTML,iconWidth,iconHeight,centerYN, zoomMapObj){
	var uid;
	var markerHTML;
	if(id){	//ID가 있으면 그대로 쓴다
		uid=id+'';
	}else{	//없으면 XY좌표로 생성한다
		uid=x+'-'+y;
	}
	if(amHTML){
		markerHTML=amHTML;
	}else{
		markerHTML="";
	}
	var point=new WitPoint(x,y);	//해당 지점을 생성한다
	var icon=new WitIcon(baseIcon);	//기본 아이콘으로 우선 생성한 후
	if(amIcon&&amIcon!=''){	//아이콘 정보가 있으면 해당 아이콘을 쓴다
		icon.image=amIcon;
	}else{
		icon.image=DEFAULT_MARKER_ICON1;
	}
	if(iconWidth&&iconHeight&&iconWidth>0&&iconHeight>0){
		icon.iconSize=new WitSize(iconWidth,iconHeight);
		icon.iconAnchor=new WitPoint(iconWidth/2,iconHeight);
	}
	//위의 데이터로 마커 생성
	var marker=new WitMarker(point,icon,uid);
	WitEvent.addListener(marker, 'click', function() {
		if(map.viewSize.width < 200 & map.viewSize.height < 200){
			zoomMapObj.click();
		}
		marker.openInfoWindowHtml(amHTML);
	});
	marker.setHtml(amHTML);	//마커에 HTML 적용
	//마커 출력후 위치 이동
	map.addOverlay(marker);
	//추가
	if(centerYN&&centerYN=="N"){
	}else{
		map.centerAtPoint(point);
	}
	return marker;
}

//마커 초기화
function initMarkerList(){
	//세팅된 마커 모두 지움
	MARKER_ARRAY=new Array();
}
//지도상에 뿌려줄 마커들을 하나씩 세팅한다
function addMarkerList(id,x,y,amHTML,type,amIcon,iconWidth,iconHeight){
	//alert(icon.image);
	var marker=createMarker(id,x,y,type,amIcon,iconWidth,iconHeight);
	//클릭하면 HTML 팝을 띄우는 이벤트를 생성한다
	WitEvent.addListener(marker, 'click', function() {
		marker.openInfoWindowHtml(amHTML);
	});
	marker.setHtml(amHTML);	//마커에 HTML 적용
	MARKER_ARRAY[MARKER_ARRAY.length]=marker;
}
//지도상에 뿌려줄 마커들을 생성한다
//이벤트에 blowup이벤트를 준다
function addMarkerListWithBlowup(id,x,y,type,amIcon,iconWidth,iconHeight){
	//alert(icon.image);
	var marker=createMarker(id,x,y,type,amIcon,iconWidth,iconHeight);
	WitEvent.addListener(marker, 'click', function() {
		map.showMapBlowup(new WitPoint(x,y),0,map.getCurrentMapType());
	});
	MARKER_ARRAY[MARKER_ARRAY.length]=marker;
}

//마커를 생성한다
function createMarker(id,x,y,type,amIcon,iconWidth,iconHeight){
	var uid;
	if(id >= 0){	//ID가 있으면 그대로 쓴다
		uid=id;
	}else{	//없으면 XY좌표로 생성한다
		uid=x+'-'+y;
	}
	var point=new WitPoint(x,y);
	var icon=new WitIcon(baseIcon);
	
	if(amIcon&&amIcon!=''){
		//아이콘을 사용자가 지정했음
		icon.image=amIcon;
		
	}else{
		//아이콘 자동 생성
		if(type==0){
			//경로표시. 파란색 아이콘 사용
			icon.image = "/images/icon/orbit/circle/" + (MARKER_ARRAY.length+1) + ".gif";
			icon.iconSize = new WitSize(18,18);
			baseIcon.shadowSize = new WitSize(0,0);	//그림자를 없애자
			baseIcon.iconAnchor = new WitPoint(9,9);
			baseIcon.infoWindowAnchor = new WitPoint(9,9);
		}else if(type==1){
			//지점표시. 분홍색 아이콘 사용
			icon.image = "/images/icon/spot/circle/" + (MARKER_ARRAY.length+1) + ".gif";
			icon.iconSize = new WitSize(18,18);
			baseIcon.shadowSize = new WitSize(0,0);	//그림자를 없애자
			baseIcon.iconAnchor = new WitPoint(9,9);
			baseIcon.infoWindowAnchor = new WitPoint(9,9);
		}else if(type==2){
			//쉬어가는곳. 초록색 아이콘 사용. 영어로 출력됨
			icon.image = "/images/icon/rest/circle/" + (MARKER_ARRAY.length) + ".gif";
			icon.iconSize = new WitSize(18,18);
			baseIcon.shadowSize = new WitSize(0,0);	//그림자를 없애자
			baseIcon.iconAnchor = new WitPoint(9,9);
			baseIcon.infoWindowAnchor = new WitPoint(9,9);
		}else if(type==3){
			//마이맵. 주홍색 아이콘 사용.
			icon.image = "/images/icon/mymap/circle/" + (MARKER_ARRAY.length+1) + ".gif";
			icon.iconSize = new WitSize(18,18);
			baseIcon.shadowSize = new WitSize(0,0);	//그림자를 없애자
			baseIcon.iconAnchor = new WitPoint(9,9);
			baseIcon.infoWindowAnchor = new WitPoint(9,9);
		}else if(type==4){
			//여행후기. 진주홍색 아이콘 사용.
			icon.image = "/images/icon/travel/big/" + (MARKER_ARRAY.length+1) + ".gif";
			icon.iconSize = new WitSize(17,15);
			baseIcon.shadowSize = new WitSize(0,0);	//그림자를 없애자
			baseIcon.iconAnchor = new WitPoint(8,7);
			baseIcon.infoWindowAnchor = new WitPoint(8,7);
		}else if(type==5){
			//지점찾기. 연파랑
			icon.image = "/images/icon/poi/circle/" + (MARKER_ARRAY.length+1) + ".gif";
			icon.iconSize = new WitSize(18,18);
			baseIcon.shadowSize = new WitSize(0,0);	//그림자를 없애자
			baseIcon.iconAnchor = new WitPoint(9,9);
			baseIcon.infoWindowAnchor = new WitPoint(9,9);
		}else if(type==6){
			//아지트. 연녹색
			icon.image = "/images/icon/agit/circle/" + (MARKER_ARRAY.length+1) + ".gif";
			icon.iconSize = new WitSize(18,18);
			baseIcon.shadowSize = new WitSize(0,0);	//그림자를 없애자
			baseIcon.iconAnchor = new WitPoint(9,9);
			baseIcon.infoWindowAnchor = new WitPoint(9,9);
		}else{
			icon.image=DEFAULT_MARKER_ICON1;
		}
	}
	if(iconWidth&&iconHeight&&iconWidth>0&&iconHeight>0){
		icon.iconSize=new WitSize(iconWidth,iconHeight);
		icon.iconAnchor=new WitPoint(iconWidth/2,iconHeight);
	}
	return new WitMarker(point,icon,uid);
}

function displayMarkerList(){
	map.addOverlays(MARKER_ARRAY);
}
 

function pdPOIHTML(id,name,img,address,desc){
	var html="<form name='mapFrm"+id+"' onsubmit=\"return checkPOIFrm('"+id+"');\">";
	html+="<input type='hidden' name='destType' value=''>";
	html+="<input type='hidden' name='PID' value='"+id+"'>";
	html+="<table border='1' width='300'><tr>";
	if(img!=""){
		html+="<td><img src='"+img+"'></td>";
	}
	html+="<td><table border='0'><tr><td>"+name+"</td></tr>";
	if(desc!=""){
		html+="<tr><td>"+desc+"</td></tr>"
	}
	html+="<tr><td>"+address+"</td></tr>"
	html+="<tr><td><a href=\"javascript:addPOI('"+id+"');\">지점등록하기</a></td></tr>"
	html+="</td></tr><tr><td colspan='2'>이 지점을 <a href=\"javascript:setStartPoint('"+id+"');\">출발지 삼기</a> - <a href=\"javascript:setEndPoint('"+id+"');\">목적지 삼기</a></td></tr>";
	html+="</table>";
	html+="<div id='mapLayer"+id+"' style='display:none;'>";
	html+="<table border='0'><tr><td><input type='text' name='destination' class='text_style' size='20' onfocus=\"javascript:chkFocus('"+id+"');\"><input type='button' value='검색' onclick=\"javascript:checkPOIFrm('"+id+"');\" class='btn_style'></td></tr></table>";
	html+="</div></form>";
	return html;
}
//출발지 삼기 눌렀을때 함수
function setStartPoint(pid){
	var nowLayer=document.getElementById("mapLayer"+pid);
	nowLayer.style.display="";
	var nowFrm=eval("document.mapFrm"+pid);
	nowFrm.destType="1";
	nowFrm.destination.value="목적지를 입력하세요";
}
//목적지 삼기 눌렀을때 함수
function setEndPoint(pid){
	var nowLayer=document.getElementById("mapLayer"+pid);
	nowLayer.style.display="";
	var nowFrm=eval("document.mapFrm"+pid);
	nowFrm.destType="2";
	nowFrm.destination.value="출발지를 입력하세요";
}
//맵 안의 검색창에 포커스가 떴을때 이벤트
function chkFocus(pid){
	var nowFrm=eval("document.mapFrm"+pid);
	if(nowFrm.destination.value=="출발지를 입력하세요"||nowFrm.destination.value=="목적지를 입력하세요"){
		nowFrm.destination.value="";
	}
}
//맵안의 지점창에서 엔터를 치거나 검색하기 눌렀을때 이벤트
function checkPOIFrm(pid){
	var nowFrm=eval("document.mapFrm"+pid);
	if(isEmpty(nowFrm.destination.value)){
		alert("검색어를 입력해주세요");
		nowFrm.destination.focus();
		return false;
	}
	self.location="/guide/search_Frm.asp";
	return false;
}















function addMarkerList2(id,x,y,amHTML,type,amIcon,iconWidth,iconHeight){
	//alert(icon.image);
	var marker=createMarker(id,x,y,type,amIcon,iconWidth,iconHeight);
	//클릭하면 HTML 팝을 띄우는 이벤트를 생성한다
	WitEvent.addListener(marker, 'click', function() {
		marker.openInfoWindowHtml(unescape(amHTML));
	});
	marker.setHtml(unescape(amHTML));	//마커에 HTML 적용
	MARKER_ARRAY[MARKER_ARRAY.length]=marker;
}
