

//마이포인트
var P_HTM = "<div style=\"position:absolute;top:-11px;margin:0;padding:9px 0 0 32px;width:122px;height:29px;font:13px 돋움;color:#000;text-align:left;letter-spacing:-1px;background:url('/img/traffic/fast/point_click_layer_bg.gif') no-repeat; z-index:9999;\" ><a href=\"javascript:openMPNLayer()\">마이포인트 등록</a></div>";
var curMyId = "";
//실시간 길찾기, 대중교통 구별 플래그
var viewFlag = "traffic";

function setMyPointPos(e){
	var eventObj = eval(e) ? e : event;
	$("myPointSetLayer").style.left = px(eventObj.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft));
	$("myPointSetLayer").style.top = px(eventObj.clientY -13 + (document.documentElement.scrollTop || document.body.scrollTop));
}

function clickMyPoint(setId) {
	curMyId = setId;
	$("myPointSetLayer").style.display = "block";
}

function setMyPoint(cmd) {
	layerName = cmd;
	if (curTabName != 'route') {
		 goTab('route');
	} 
	goPoi($('px' + curMyId).value, $('py' + curMyId).value, $('pName' + curMyId).value, false);
	curMyId = "";
	$("myPointSetLayer").style.display = "none";
	if(cmd == "S" && $("sSearchResultLayer"))
		$("sSearchResultLayer").style.display='none';
	else if(cmd == "E" && $("eSearchResultLayer"))
		$("eSearchResultLayer").style.display='none';
}

function saveMPStation() {
	if(!curStationInfo) return;
	$("px").value = curStationInfo.x;
	$("py").value = curStationInfo.y;
	$("pName").value = curStationInfo.name;
	openMPNLayer();
}

function openMPNLayer(cmd) {
	if(!chkLogin ()) return;
	if(parseInt($("cntMyPoint").value) > 9) {
		alert("마이포인트는 10개까지만 저장 할 수 있습니다.");
		return;
	}
	var tmpName = "";
	var obj;
	var curObjName = "";
	var preName = "";
	if (cmd) {
		layerName = cmd;
		
		switch(cmd) {
			case 'S' :
				obj = $("sx");
				curObjName = "출발지";
				preName = 's';
				break;
			case 'E' :
				obj = $("ex");
				curObjName = "도착지";
				preName = 'e';
				break;
			case 'F' :
				obj = $("depaX");
				curObjName = "출발지";
				preName = "depa";
				break;
			case 'M' :
				obj = $("passX");
				curObjName = "경유지";
				preName = "pass";
				break;
			case 'L' :
				obj = $("destX");
				curObjName = "도착지";
				preName = "dest";
				break;
		}
		
		if(!isBlank(obj)) {
			alert(curObjName + "를 선택해주세요.");
			return;
		}
		tmpName = $(preName + 'Name').value
	} else {
		layerName = "P";
		tmpName = $('pName').value
	}
	fadeInAllScreen();
	isFadeIn = true;
	
	showCenterInfoDiv("myPointNameLayer", -125, -150);
	$("txtMyPointTitle").value = tmpName.substring(0, 6);
	$("txtMyPointTitle").focus();
}

function saveMyPoint() {
	if(!isBlank($("txtMyPointTitle"))) {
		alert("마이포인트의 명칭을 입력해주세요.");
		$("txtMyPointTitle").focus();
		return;
	}
	var prefix = "";
	switch(layerName) {
		case 'S' :
			prefix = 's';
			break;
		case 'E' :
			prefix = 'e';
			break;
		case 'F' :
			prefix = "depa";
			break;
		case 'M' :
			prefix = "pass";
			break;
		case 'L' :
			prefix = "dest";
			break;
		default :
			prefix = 'p';
	}
	
	var x = eval($(prefix + 'x')) ? $(prefix + 'x') : $(prefix + 'X');
	var y = eval($(prefix + 'y')) ? $(prefix + 'y') : $(prefix + 'Y');
	var x_coord = Math.floor(x.value);
	var y_coord = Math.floor(y.value);
	var param = "cmd=saveMyPoint&title=" + $('txtMyPointTitle').value + "&viewFlag=" + viewFlag;
	
	var tmpName = $(prefix + 'Name').value == "" ? NOPOI_MSG: $(prefix + 'Name').value;
	param += "&x_coord=" + x_coord + "&y_coord=" + y_coord;
	param += "&name=" + tmpName;
	ndrClick ("/traffic/home.map", "N");
	ajaxSend("/traffic/userpoint.map", param, reloadMyPoint);
}

function reloadMyPoint(res) {
	$("myPointLayer").innerHTML = res.responseText;
	if(isBlank($("myPointMsg")))
		alert($("myPointMsg").value);
	
	closeMPNLayer();
}

function closeMPNLayer() {
	if (map.ctxMenu) {
		map.removeOverlay (map.ctxMenu);
	}
	$("myPointNameLayer").style.display = "none";
	$("txtMyPointTitle").value = "";
	if(isFadeIn) {
		fadeOutAllScreen();
		isFadeIn = false;
	}
}

function openEditMPLayer() {
	fadeInAllScreen();
	isFadeIn = true;
	var param = "cmd=listEditMyPoint";
	ndrClick ("/traffic/home.map", "N");
	ajaxSend("/traffic/userpoint.map", param, reloadEditMyPoint);
}

function reloadEditMyPoint(res) {
	$("editMyPointLayer").innerHTML = res.responseText;
	if(isBlank($("editMsg"))) 
		alert($("editMsg").value)
	
	showCenterInfoDiv("editMyPointLayer", -175, -200);
}

function closeEditMPLayer() {
	$("editMyPointLayer").style.display = "none";
	var param = "cmd=listMyPoint&viewFlag=" + viewFlag;
	ajaxSend("/traffic/userpoint.map", param, function(res){
		$("myPointLayer").innerHTML = res.responseText;
	});
	if(isFadeIn) {
		fadeOutAllScreen();
		isFadeIn = false;
	}
}

function editMyPoint(modId) {
	if(!isBlank($("txtEditTitle_" + modId))) {
		alert("마이포인트의 명칭을 입력해주세요.");
		$("txtEditTitle_" + modId).focus();
		return;
	}
		
	var param = "cmd=editMyPoint&id=" + modId + "&title=" 
		+ $("txtEditTitle_" + modId).value
		+ "&curPage=" + $("curPage").value;
	ndrClick ("/traffic/home.map", "N");
	ajaxSend("/traffic/userpoint.map", param, reloadEditMyPoint);
}

function removeMyPoint(delId) {
	var parse = "cmd=removeMyPoint&id=" + delId + "&curPage=" + $("curPage").value;
	ndrClick ("/traffic/home.map", "N");
	ajaxSend("/traffic/userpoint.map", parse, reloadEditMyPoint);
}

function toggleMoreLayer(cmd) {
	var moreLayer = cmd + "MoreLayer";
	var closeLayer = cmd + "CloseLayer";
	
	if($(moreLayer).style.display == "none") {
		$(moreLayer).style.display = "block";
		$(closeLayer).style.display = "none";
	} else {
		$(moreLayer).style.display = "none";
		$(closeLayer).style.display = "block";
	}
}

function showCenterInfoDiv(divName, x, y) {
	var leftHeight = document.getElementById("c_left").clientHeight;
	var rightHeight = document.getElementById("content_all").clientHeight;
	var lp = (document.getElementById("container").clientWidth)/2 + (document.documentElement.scrollLeft || document.body.scrollLeft) + x;
	var tp = (Math.max(leftHeight, rightHeight))/2 + (document.documentElement.scrollTop || document.body.scrollTop) + y;
	$(divName).style.left = px(lp);
	$(divName).style.top = px(tp);
	$(divName).style.display = "block";		
}


function closeMyPointSetDiv() {
	setTimeout(function(){$('myPointSetLayer').style.display = 'none'}, 200);	
}