PageSourceSearch

https://dawulmap.com/js/navi.js

js dawulmap.com collected 2026-10-02 00:29:32 UTC 171,952 bytes, 4,644 lines download raw bytes

1var naviAddTextFormCnt = 0;
2var naviSearchType = "";
3var startName = "";
4var startCoord = "";
5var endName = "";
6var endCoord = "";
7var middleNames = new HashMap();
8var middleCoords = new HashMap();
9
10var carRouteContent = new HashMap();
11var naviMiddleMk = new Array();
12var naviStartMk;
13var naviEndMk;
14var naviLayer;
15var naviLayers = new Array();
16var naviLayers2 = new Array();
17var borderNaviLayers = new Array();
18var naviInfoMk = new Array();
19
20var fullLineDatas = new Array();
21
22var navi_searchName = "";
23
24var allDist = 0;
25
26var navi_rsize_check = false;
27
28/* ------------------------ v4 ---------------------------
29	1. 자동차 출도착,경유 판단을 위한 변수 
30	2. 자동차, 대중교통, 도보 판단을 위한 변수
31---------------------------------------------------------- */
32var startInputFlag = false;
33var endInputFlag = false;
34var middleInputFlag = false;
35var naviProcessFlag = false;
36
37var globalCarRouteFlag = true;
38var globalTrafficFlag = false;
39var globalShortPathFlag = false;
40var globalRightClickFlag = false;
41var globalNaviTabClickFlag = false;
42/* ------------------------------------------------------ */
43
44function naviTab(mode) {  // mode (0:자동차 , 1: 대중교통 , 2: 도보)
45	$("#navi_tab > li").each(function(index,e) {
46		if(index==mode) {
47			$(e).addClass("on");
48			$(e).removeClass("off");
49		}else {
50			$(e).addClass("off");
51			$(e).removeClass("on");
52		}
53	});
54	
55	globalNaviTabClickFlag = true;
56	if(mode==0) {
57		$("#naviTeb1").css("display","");
58		$("#naviTeb2").css("display","none");
59		$("#naviTeb3").css("display","none");
60		if(navi_rsize_check) {
61			if($("#naviOnOff").attr("class").indexOf("ico_close")!=-1 || $("#naviOnOff").attr("class").indexOf("ico_close2")!=-1) {
62				$("#naviFromBg").addClass("r_size");
63			}
64			$("#naviOnOff").css("display","");
65		}
66		
67		/* -------------------------------------------------- v4 -------------------------------------------------------
68		1. 자동차, 대중교통, 도보 판단
69		2. 각 탭 클릭 시 해당내용 저장
70		---------------------------------------------------------------------------------------------------------------- */
71		globalCarRouteFlag = true;
72		globalTrafficFlag = false;
73		globalShortPathFlag = false;
74		
75		if(startInputFlagSp == true && naviProcessFlagSp == false){ // 도보 출발 클릭시
76				if(middleNamesSp.size() == 0){
77						naviTextForm();
78				}else{
79						middleNames = middleNamesSp;
80						naviAddTextFormCnt = naviAddTextFormCntSp-1;
81						
82						naviAddTextForm();
83				}
84				startName = startNameSp;
85				$("#startInput").val(startName);
86				endName = endNameSp;
87				$("#endInput").val(endName);
88				
89				if(globalRightClickFlag == false){
90						naviSearch("startInput");
91				}else{
92						naviChoice("startInput",globalRightClickLat,globalRightClickLng,null);
93				}
94		}
95		if(endInputFlagSp == true && naviProcessFlagSp == false){ // 도보 도착 클릭시
96				if(middleNamesSp.size() == 0){
97						naviTextForm();
98				}else{
99						middleNames = middleNamesSp;
100						naviAddTextFormCnt = naviAddTextFormCntSp-1;
101						
102						naviAddTextForm();
103				}
104				startName = startNameSp;
105				$("#startInput").val(startName);
106				endName = endNameSp;
107				$("#endInput").val(endName);
108				
109				if(globalRightClickFlag == false){
110						naviSearch("endInput");
111				}else{
112						naviChoice("endInput",globalRightClickLat,globalRightClickLat,null);
113				}
114		}
115		if(middleInputFlagSp == true && naviProcessFlagSp == false){ // 도보 경유 클릭시
116				middleNames = middleNamesSp;
117				naviAddTextFormCnt = naviAddTextFormCntSp-1;
118				
119				naviAddTextForm();
120				startName = startNameSp;
121				$("#startInput").val(startName);
122				endName = endNameSp;
123				$("#endInput").val(endName);
124			
125				if(globalRightClickFlag == false){
126						naviSearch(naviSearchTypeSp.replace("Sp",""));
127				}else{
128						middleCnt = middleCoords.size();
129						if(middleNames.get("middleInput0")==null) {
130							middleCnt = 0;
131						}else if(middleNames.get("middleInput1")==null) {
132							middleCnt = 1;
133						}else if(middleNames.get("middleInput2")==null) {
134							middleCnt = 2;
135						}else if(middleNames.get("middleInput3")==null) {
136							middleCnt = 3;
137						}else if(middleNames.get("middleInput4")==null) {
138							middleCnt = 4;
139						}
140						naviChoice("middleInput"+middleCnt,globalRightClickLat,globalRightClickLat,null);
141				}
142		}
143		if(startInputFlagSp == false && endInputFlagSp == false && naviProcessFlagSp == true){ // 도보 길찾기 활성화 시
144			if(middleNamesSp.size() == 0){
145				naviTextForm();
146			}else{
147				middleNames = middleNamesSp;
148				naviAddTextFormCnt = naviAddTextFormCntSp-1;
149				
150				naviAddTextForm();
151			}
152			startName = startNameSp;
153			$("#startInput").val(startName);
154			endName = endNameSp;
155			$("#endInput").val(endName);
156			
157			naviStart();
158		}
159		navi_searchClearSp();
160		naviResultClearSp();
161		
162		preStartCoordTf = null;
163		preEndCoordTf = null;
164		if(startInputFlagTf == true && naviProcessFlagTf == false){ // 도보 출발 클릭시
165				naviTextForm();
166				
167				startName = startNameTf;
168				$("#startInput").val(startName);
169				endName = endNameTf;
170				$("#endInput").val(endName);
171				
172				if(globalRightClickFlag == false){
173						naviSearch("startInput");
174				}else{
175						naviChoice("startInput",globalRightClickLat,globalRightClickLng,null);
176				}
177		}
178		if(endInputFlagTf == true && naviProcessFlagTf == false){ // 도보 도착 클릭시
179			naviTextForm();
180			
181			startName = startNameTf;
182			$("#startInput").val(startName);
183			endName = endNameTf;
184			$("#endInput").val(endName);
185			
186			if(globalRightClickFlag == false){
187					naviSearch("endInput");
188			}else{
189					naviChoice("endInput",globalRightClickLat,globalRightClickLat,null);
190			}
191		}
192		if(startInputFlagTf == false && endInputFlagTf == false && naviProcessFlagTf == true){ // 도보 길찾기 활성화 시
193			naviTextForm();
194			
195			startName = startNameTf;
196			$("#startInput").val(startName);
197			endName = endNameTf;
198			$("#endInput").val(endName);
199			
200			naviStart();
201		}
202		navi_searchClearTf();
203		naviResultClearTf();
204		/* ------------------------------------------------------------------------------------------------------------ */
205	}else if(mode==1) {
206		$("#naviTeb1").css("display","none");
207		$("#naviTeb2").css("display","");
208		$("#naviTeb3").css("display","none");
209		if(navi_rsize_checkSp) {
210			if($("#naviOnOff").attr("class").indexOf("ico_close")!=-1 || $("#naviOnOff").attr("class").indexOf("ico_close2")!=-1) {
211				$("#naviFromBg").addClass("r_size");
212			}
213			$("#naviOnOff").css("display","");
214		}
215		
216		globalCarRouteFlag = false;
217		globalTrafficFlag = true;
218		globalShortPathFlag = false;
219		
220		if(startInputFlag == true && naviProcessFlag == false){ // 자동차 출발 클릭시
221				naviTextFormTf();
222				
223				startNameTf = startName;
224				$("#startInputTf").val(startNameTf);
225				endNameTf = endName;
226				$("#endInputTf").val(endNameTf);
227				
228				if(globalRightClickFlag == false){
229						naviSearchTf("startInputTf");
230				}else{
231						naviChoiceTf("startInputTf", globalRightClickLat, globalRightClickLng, null);
232				}
233		}
234		if(endInputFlag == true && naviProcessFlag == false){ // 자동차 도착 클릭시
235				naviTextFormTf();
236				
237				startNameTf = startName;
238				$("#startInputTf").val(startNameTf);
239				endNameTf = endName;
240				$("#endInputTf").val(endNameTf);
241				
242				if(globalRightClickFlag == false){
243						naviSearchTf("endInputTf");
244				}else{
245						naviChoiceTf("endInputTf",globalRightClickLat,globalRightClickLat,null);
246				}
247		}
248		if(middleInputFlag == true && naviProcessFlag == false){ // 자동차 경유 클릭시
249			
250		}
251		if(startInputFlag == false && endInputFlag == false && naviProcessFlag == true){
252					naviTextFormTf();
253					
254					startNameTf = startName;
255					$("#startInputTf").val(startNameTf);
256					endNameTf = endName;
257					$("#endInputTf").val(endNameTf);
258					
259					searchPathTypeCheck(-1);
260					naviStartTf();
261			}
262			navi_searchClear();
263			naviResultClear();
264			
265		if(startInputFlagSp == true && naviProcessFlagSp == false){ // 도보 출발 클릭시
266				naviTextFormTf();
267						
268				startNameTf = startNameSp;
269				$("#startInputTf").val(startNameTf);
270				endNameTf = endNameSp;
271				$("#endInputTf").val(endNameTf);
272				
273				if(globalRightClickFlag == false){
274						naviSearchTf("startInputTf");
275				}else{
276						naviChoiceTf("startInputTf",globalRightClickLat,globalRightClickLng,null);
277				}
278		}
279		if(endInputFlagSp == true && naviProcessFlagSp == false){ // 도보 도착 클릭시
280				naviTextFormTf();
281				
282				startNameTf = startNameSp;
283				$("#startInputTf").val(startNameTf);
284				endNameTf = endNameSp;
285				$("#endInputTf").val(endNameTf);
286				
287				if(globalRightClickFlag == false){
288						naviSearchTf("endInputTf");
289				}else{
290						naviChoiceTf("endInputTf",globalRightClickLat,globalRightClickLat,null);
291				}
292		}
293		if(middleInputFlagSp == true && naviProcessFlagSp == false){ // 도보 경유 클릭시
294			
295		}
296		if(startInputFlagSp == false && endInputFlagSp == false && naviProcessFlagSp == true){ // 도보 길찾기 활성화 시
297			naviTextFormTf();
298				
299			startNameTf = startNameSp;
300			$("#startInputTf").val(startNameTf);
301			endNameTf = endNameSp;
302			$("#endInputTf").val(endNameTf);
303			
304			searchPathTypeCheck(-1);
305			naviStartTf();
306		}
307		navi_searchClearSp();
308		naviResultClearSp();
309		
310	}else if(mode==2) {
311		// searchPathTypeTf = -1
312		
313		$("#naviTeb1").css("display","none");
314		$("#naviTeb2").css("display","none");
315		$("#naviTeb3").css("display","");
316		if(navi_rsize_checkSp) {
317			if($("#naviOnOff").attr("class").indexOf("ico_close")!=-1 || $("#naviOnOff").attr("class").indexOf("ico_close2")!=-1) {
318				$("#naviFromBg").addClass("r_size");
319			}
320			$("#naviOnOff").css("display","");
321		}
322		
323		/* -------------------------------------------------- v4 -------------------------------------------------------
324		1. 자동차, 대중교통, 도보 판단
325		2. 각 탭 클릭 시 해당내용 저장
326		---------------------------------------------------------------------------------------------------------------- */
327		globalCarRouteFlag = false;
328		globalTrafficFlag = false;
329		globalShortPathFlag = true;
330		
331		if(startInputFlag == true && naviProcessFlag == false){ // 자동차 출발 클릭시
332				if(middleNames.size() == 0){
333						naviTextFormSp();
334				}else{
335						middleNamesSp = middleNames;
336						naviAddTextFormCntSp = naviAddTextFormCnt-1;
337						
338						naviAddTextFormSp();
339				}
340				startNameSp = startName;
341				$("#startInputSp").val(startNameSp);
342				endNameSp = endName;
343				$("#endInputSp").val(endNameSp);
344				
345				if(globalRightClickFlag == false){
346						naviSearchSp("startInputSp");
347				}else{
348						naviChoiceSp("startInputSp", globalRightClickLat, globalRightClickLng, null);
349				}
350		}
351		if(endInputFlag == true && naviProcessFlag == false){ // 자동차 도착 클릭시
352				if(middleNames.size() == 0){
353						naviTextFormSp();
354				}else{
355						middleNamesSp = middleNames;
356						naviAddTextFormCntSp = naviAddTextFormCnt-1;
357						
358						naviAddTextFormSp();
359				}
360				startNameSp = startName;
361				$("#startInputSp").val(startNameSp);
362				endNameSp = endName;
363				$("#endInputSp").val(endNameSp);
364				
365				if(globalRightClickFlag == false){
366						naviSearchSp("endInputSp");
367				}else{
368						naviChoiceSp("endInputSp",globalRightClickLat,globalRightClickLat,null);
369				}
370		}
371		if(middleInputFlag == true && naviProcessFlag == false){ // 자동차 경유 클릭시
372				middleNamesSp = middleNames;
373				naviAddTextFormCntSp = naviAddTextFormCnt-1;
374				
375				naviAddTextFormSp();
376				startNameSp = startName;
377				$("#startInputSp").val(startNameSp);
378				endNameSp = endName;
379				$("#endInputSp").val(endNameSp);
380				
381				if(globalRightClickFlag == false){
382						naviSearchSp(naviSearchType.replace("middleInput","middleInputSp"));
383				}else{
384						middleCnt = middleCoordsSp.size();
385						if(middleNamesSp.get("middleInputSp0")==null) {
386							middleCnt = 0;
387						}else if(middleNamesSp.get("middleInputSp1")==null) {
388							middleCnt = 1;
389						}else if(middleNamesSp.get("middleInputSp2")==null) {
390							middleCnt = 2;
391						}else if(middleNamesSp.get("middleInputSp3")==null) {
392							middleCnt = 3;
393						}else if(middleNamesSp.get("middleInputSp4")==null) {
394							middleCnt = 4;
395						}
396						naviChoiceSp("middleInputSp"+middleCnt,globalRightClickLat,globalRightClickLat,null);
397				}
398		}
399		if(startInputFlag == false && endInputFlag == false && naviProcessFlag == true){
400				if(middleNames.size() == 0){
401						naviTextFormSp();
402				}else{
403						middleNamesSp = middleNames;
404						naviAddTextFormCntSp = naviAddTextFormCnt-1;
405						
406						naviAddTextFormSp();
407				}
408				startNameSp = startName;
409				$("#startInputSp").val(startNameSp);
410				endNameSp = endName;
411				$("#endInputSp").val(endNameSp);
412				
413				naviStartSp();
414		}
415		navi_searchClear();
416		naviResultClear();
417		
418		if(startInputFlagTf == true && naviProcessFlagTf == false){ // 도보 출발 클릭시
419				naviTextFormSp();
420				
421				startNameSp = startNameTf;
422				$("#startInputSp").val(startNameSp);
423				endNameSp = endNameTf;
424				$("#endInputSp").val(endNameSp);
425				
426				if(globalRightClickFlag == false){
427						naviSearchSp("startInputSp");
428				}else{
429						naviChoiceSp("startInputSp",globalRightClickLat,globalRightClickLng,null);
430				}
431		}
432		if(endInputFlagTf == true && naviProcessFlagTf == false){ // 도보 도착 클릭시
433			naviTextFormSp();
434			
435			startNameSp = startNameTf;
436			$("#startInputSp").val(startNameSp);
437			endNameSp = endNameTf;
438			$("#endInputSp").val(endNameSp);
439			
440			if(globalRightClickFlag == false){
441					naviSearchSp("endInputSp");
442			}else{
443					naviChoiceSp("endInputSp",globalRightClickLat,globalRightClickLat,null);
444			}
445		}
446		if(startInputFlagTf == false && endInputFlagTf == false && naviProcessFlagTf == true){ // 도보 길찾기 활성화 시
447			naviTextFormSp();
448			
449			startNameSp = startNameTf;
450			$("#startInputSp").val(startNameSp);
451			endNameSp = endNameTf;
452			$("#endInputSp").val(endNameSp);
453			
454			naviStartSp();
455		}
456		navi_searchClearTf();
457		naviResultClearTf();
458		/* ------------------------------------------------------------------------------------------------------------ */
459	}
460}
461
462function naviTextForm() { // 검색창 기본 셋팅 (출발지,도착지)
463	var startInfoStr = "", middleInfoStr = "", endInfoStr = "";
464	if(lan=="KOR") { startInfoStr = "출발지를 입력하세요."; middleInfoStr = "경유지를 입력하세요."; endInfoStr = "도착지를 입력하세요."; }
465	else if(lan=="ENG") { startInfoStr = "Input the starting place."; middleInfoStr = "Input the stopover place."; endInfoStr = "Input the destination."; }
466	else if(lan=="JAN") { startInfoStr = "出発地入力"; middleInfoStr = "経由地入力"; endInfoStr = "目的地入力"; }
467	else if(lan=="CHINAG") { startInfoStr = "输入出发地"; middleInfoStr = "输入经由地"; endInfoStr = "输入目的地"; }
468	
469	naviAddTextFormCnt=0;  // 경유지개수 초기화
470	var html = '';
471	html += '<div class="pr d_form">';
472	html += '<form onsubmit="return false">';
473	html += '<fieldset>';
474	html += '<legend>길찾기 검색</legend>';
475	html += '<label for="startInput">검색어 입력</label>';
476	html += '<input type="text" value="" id="startInput" name="startInput" class="naviSearchInput" placeholder="'+startInfoStr+'" onKeyDown="javascript:if(event.keyCode == 13){ naviSearch(\'startInput\');}" autocomplete="off">';
477	html += '</fieldset>';
478	html += '</form>';
479	html += '<div class="navi_search ico_search" style="display: none;"><a href="#" onmouseenter="blurUnbind();" onmouseleave="blurbind();" onclick="naviSearch(\'startInput\');"></a></div><!-- 검색 아이콘 -->';
480	html += '<div class="text_del ico_reset" style="display: none;"><a href="#" onclick="naviTextDel(\'startInput\');"></a></div><!-- 초기화 아이콘 -->';
481	html += '</div>';
482	
483	html += '<div class="pr d_form">';
484	html += '<form onsubmit="return false">';
485	html += '<fieldset>';
486	html += '<legend>길찾기 검색</legend>';
487	html += '<label for="endInput">검색어 입력</label>';
488	html += '<input type="text" value="" id="endInput" name="endInput" class="naviSearchInput" placeholder="'+endInfoStr+'" onKeyDown="javascript:if(event.keyCode == 13){ naviSearch(\'endInput\');}" autocomplete="off">';
489	html += '</fieldset>';
490	html += '</form>';
491	html += '<div class="navi_search ico_search" style="display: none;"><a href="#" onmouseenter="blurUnbind();" onmouseleave="blurbind();" onclick="naviSearch(\'endInput\');"></a></div><!-- 검색 아이콘 -->';
492	html += '<div class="text_del ico_reset" style="display: none;"><a href="#" onclick="naviTextDel(\'endInput\');"></a></div><!-- 초기화 아이콘 -->';
493	html += '</div>';
494	
495	html += '<div class="ico_change"><a href="#" onclick="naviSearchChange();"></a></div><!-- 출발지/도착지 전환 아이콘 -->';
496	$("#naviInputForm").html(html);
497	
498	$('.naviSearchInput').bind("focus",function() {
499		naviSearchBtnOn(this);
500	});
501	$('.naviSearchInput').bind("blur",function() {
502		naviSearchBtnOff(this);
503	});
504	
505	for(var i=0; i<$(".naviSearchInput").length; i++) {
506		if($(".naviSearchInput").eq(i).val()!="") {
507			textDelOn(i);
508		}
509	}
510}
511
512function naviAddTextForm() {
513	var startInfoStr = "", middleInfoStr = "", endInfoStr = "";
514	if(lan=="KOR") { startInfoStr = "출발지를 입력하세요."; middleInfoStr = "경유지를 입력하세요."; endInfoStr = "도착지를 입력하세요."; }
515	else if(lan=="ENG") { startInfoStr = "Input the starting place."; middleInfoStr = "Input the stopover place."; endInfoStr = "Input the destination."; }
516	else if(lan=="JAN") { startInfoStr = "出発地入力"; middleInfoStr = "経由地入力"; endInfoStr = "目的地入力"; }
517	else if(lan=="CHINAG") { startInfoStr = "输入出发地"; middleInfoStr = "输入经由地"; endInfoStr = "输入目的地"; }
518	
519	if(naviAddTextFormCnt<5) {
520		naviAddTextFormCnt++;
521		
522		var html = '';
523		html += '<div class="pr d_form">';
524		html += '<form onsubmit="return false">';
525		html += '<fieldset>';
526		html += '<legend>길찾기 검색</legend>';
527		html += '<label for="startInput">검색어 입력</label>';
528		html += '<input type="text" value="" id="startInput" name="startInput" class="naviSearchInput" placeholder="'+startInfoStr+'" onKeyDown="javascript:if(event.keyCode == 13){ naviSearch(\'startInput\');}" autocomplete="off">';
529		html += '</fieldset>';
530		html += '</form>';
531		html += '<div class="navi_search ico_search" style="display: none;"><a href="#" onmouseenter="blurUnbind();" onmouseleave="blurbind();" onclick="naviSearch(\'startInput\');"></a></div><!-- 검색 아이콘 -->';
532		html += '<div class="text_del ico_reset" style="display: none;"><a href="#" onclick="naviTextDel(\'startInput\');"></a></div><!-- 초기화 아이콘 -->';
533		html += '</div>';
534		
535		for(var i=0; i<naviAddTextFormCnt; i++) {
536			html += '<div class="pr d_form">';
537			html += '<form onsubmit="return false">';
538			html += '<fieldset>';
539			html += '<legend>길찾기 검색</legend>';
540			html += '<label for="middleInput'+i+'">검색어 입력</label>';
541			html += '<input type="text" value="" id="middleInput'+i+'" name="middleInput'+i+'" class="naviSearchInput" placeholder="'+middleInfoStr+'" onKeyDown="javascript:if(event.keyCode == 13){ naviSearch(\'middleInput'+i+'\');}" autocomplete="off">';
542			html += '</fieldset>';
543			html += '</form>';
544			html += '<div class="navi_search ico_search" style="display: none;"><a href="#" onmouseenter="blurUnbind();" onmouseleave="blurbind();" onclick="naviSearch(\'middleInput'+i+'\');"></a></div><!-- 검색 아이콘 -->';
545			html += '<div class="text_del ico_reset" style="display: none;"><a href="#" onclick="naviTextDel(\'middleInput'+i+'\');"></a></div><!-- 초기화 아이콘 -->';
546			html += '<div class="ico_del"><a href="#" onclick="middleRmTextForm('+i+');"></a></div><!-- 경유지 삭제 아이콘 -->';
547			html += '</div>';
548		}
549		
550		html += '<div class="pr d_form">';
551		html += '<form onsubmit="return false">';
552		html += '<fieldset>';
553		html += '<legend>길찾기 검색</legend>';
554		html += '<label for="endInput">검색어 입력</label>';
555		html += '<input type="text" value="" id="endInput" name="endInput" class="naviSearchInput" placeholder="'+endInfoStr+'" onKeyDown="javascript:if(event.keyCode == 13){ naviSearch(\'endInput\');}" autocomplete="off">';
556		html += '</fieldset>';
557		html += '</form>';
558		html += '<div class="navi_search ico_search" style="display: none;"><a href="#" onmouseenter="blurUnbind();" onmouseleave="blurbind();" onclick="naviSearch(\'endInput\');"></a></div><!-- 검색 아이콘 -->';
559		html += '<div class="text_del ico_reset" style="display: none;"><a href="#" onclick="naviTextDel(\'endInput\');"></a></div><!-- 초기화 아이콘 -->';
560		html += '</div>';
561		$("#naviInputForm").html(html);
562		
563		$('.naviSearchInput').bind("focus",function() {
564			naviSearchBtnOn(this);
565		});
566		$('.naviSearchInput').bind("blur",function() {
567			naviSearchBtnOff(this);
568		});
569		
570		if(startName!="") {
571			$("#startInput").val(startName);
572		}
573		if(endName!="") {
574			$("#endInput").val(endName);
575		}
576		
577		for(var i=0; i<middleNames.size(); i++) {
578			$("#"+middleNames.keySet()[i].replace("Sp", "")).val(middleNames.valSet()[i]);
579		}
580		
581		for(var i=0; i<$(".naviSearchInput").length; i++) {
582			if($(".naviSearchInput").eq(i).val()!="") {
583				textDelOn(i);
584			}
585		}
586		
587		return true;
588	}else {
589		if(lan=="KOR") { alert("경유지는 최대 5개까지 적용됩니다."); }
590		else if(lan=="ENG") { alert("Up to five different waypoints are applicable."); }
591		else if(lan=="JAN") { alert("経由地は最大5個まで適用されます。"); }
592		else if(lan=="CHINAG") { alert("经由地最多可适用5个。"); }
593		if(rightClickPop!=null) {
594			map.removeLayer(rightClickPop);
595		}
596		
597		return false;
598	}
599}
600
601function middleRmTextForm(keyId) {
602	var startInfoStr = "", middleInfoStr = "", endInfoStr = "", subFolder = "";
603	if(lan=="KOR") { startInfoStr = "출발지를 입력하세요."; middleInfoStr = "경유지를 입력하세요."; endInfoStr = "도착지를 입력하세요."; subFolder = "kor"; }
604	else if(lan=="ENG") { startInfoStr = "Input the starting place."; middleInfoStr = "Input the stopover place."; endInfoStr = "Input the destination."; subFolder = "eng"; }
605	else if(lan=="JAN") { startInfoStr = "出発地入力"; middleInfoStr = "経由地入力"; endInfoStr = "目的地入力"; subFolder = "jpn"; }
606	else if(lan=="CHINAG") { startInfoStr = "输入出发地"; middleInfoStr = "输入经由地"; endInfoStr = "输入目的地"; subFolder = "chn" }
607	
608	naviAddTextFormCnt--;
609	var html = '';
610	html += '<div class="pr d_form">';
611	html += '<form onsubmit="return false">';
612	html += '<fieldset>';
613	html += '<legend>길찾기 검색</legend>';
614	html += '<label for="startInput">검색어 입력</label>';
615	html += '<input type="text" id="startInput" name="startInput" class="naviSearchInput" placeholder="'+startInfoStr+'" onKeyDown="javascript:if(event.keyCode == 13){ naviSearch(\'startInput\');}" autocomplete="off">';
616	html += '</fieldset>';
617	html += '</form>';
618	html += '<div class="navi_search ico_search" style="display: none;"><a href="#" onmouseenter="blurUnbind();" onmouseleave="blurbind();" onclick="naviSearch(\'startInput\');"></a></div><!-- 검색 아이콘 -->';
619	html += '<div class="text_del ico_reset" style="display: none;"><a href="#" onclick="naviTextDel(\'startInput\');"></a></div><!-- 초기화 아이콘 -->';
620	html += '</div>';
621	
622	for(var i=0; i<naviAddTextFormCnt; i++) {
623		html += '<div class="pr d_form">';
624		html += '<form onsubmit="return false">';
625		html += '<fieldset>';
626		html += '<legend>길찾기 검색</legend>';
627		html += '<label for="middleInput'+i+'">검색어 입력</label>';
628		html += '<input type="text" id="middleInput'+i+'" name="middleInput'+i+'" class="naviSearchInput" placeholder="'+middleInfoStr+'" onKeyDown="javascript:if(event.keyCode == 13){ naviSearch(\'middleInput'+i+'\');}" autocomplete="off">';
629		html += '</fieldset>';
630		html += '</form>';
631		html += '<div class="navi_search ico_search" style="display: none;"><a href="#" onmouseenter="blurUnbind();" onmouseleave="blurbind();" onclick="naviSearch(\'middleInput'+i+'\');"></a></div><!-- 검색 아이콘 -->';
632		html += '<div class="text_del ico_reset" style="display: none;"><a href="#" onclick="naviTextDel(\'middleInput'+i+'\');"></a></div><!-- 초기화 아이콘 -->';
633		html += '<div class="ico_del"><a href="#" onclick="middleRmTextForm('+i+');"></a></div><!-- 경유지 삭제 아이콘 -->';
634		html += '</div>';
635	}
636	
637	html += '<div class="pr d_form">';
638	html += '<form onsubmit="return false">';
639	html += '<fieldset>';
640	html += '<legend>길찾기 검색</legend>';
641	html += '<label for="endInput">검색어 입력</label>';
642	html += '<input type="text" id="endInput" name="endInput" class="naviSearchInput" placeholder="'+endInfoStr+'" onKeyDown="javascript:if(event.keyCode == 13){ naviSearch(\'endInput\');}" autocomplete="off">';
643	html += '</fieldset>';
644	html += '</form>';
645	html += '<div class="navi_search ico_search" style="display: none;"><a href="#" onmouseenter="blurUnbind();" onmouseleave="blurbind();" onclick="naviSearch(\'endInput\');"></a></div><!-- 검색 아이콘 -->';
646	html += '<div class="text_del ico_reset" style="display: none;"><a href="#" onclick="naviTextDel(\'endInput\');"></a></div><!-- 초기화 아이콘 -->';
647	html += '</div>';
648	
649	if(naviAddTextFormCnt==0) {
650		html += '<div class="ico_change"><a href="#" onclick="naviSearchChange();"></a></div><!-- 출발지/도착지 전환 아이콘 -->';
651	}
652	$("#naviInputForm").html(html);
653	
654	$('.naviSearchInput').bind("focus",function() {
655		naviSearchBtnOn(this);
656	});
657	$('.naviSearchInput').bind("blur",function() {
658		naviSearchBtnOff(this);
659	});
660	
661	if(startName!="") {
662		$("#startInput").val(startName);
663	}
664	if(endName!="") {
665		$("#endInput").val(endName);
666	}
667	
668	//----------- v4 : 경유지 초기화  ------------- //
669	middleNames.remove("middleInput"+keyId);
670	middleCoords.remove("middleInput"+keyId);
671	middleNamesSp.remove("middleInputSp"+keyId);
672	middleCoordsSp.remove("middleInputSp"+keyId);
673	// ---------------------------------------- //
674	while (naviMiddleMk.length > 0) {
675		map.removeLayer(naviMiddleMk[naviMiddleMk.length - 1]);
676		naviMiddleMk.pop();
677	}
678	
679	for(var i=0; i<middleCoords.size(); i++) {
680		var num = /\d/.exec(middleNames.keySet()[i]);
681		if(keyId<num) {
682			middleNames.keySet()[i] = "middleInput"+(num-1);
683			middleCoords.keySet()[i] = "middleInput"+(num-1);
684		}
685		
686		var coords = middleCoords.get(middleCoords.keySet()[i]).split(",");
687		var iconIndex = parseInt(middleCoords.keySet()[i].replace("middleInput",""));
688		naviMiddleMk.push(new L.Marker(new L.LatLng(coords[0], coords[1]),{icon: new L.Icon({
689   			iconUrl: "./images/naviImg/"+subFolder+"/rpin_via_"+(iconIndex+1)+".png",
690				// iconUrl: "./img/test_pin/"+leadingZeros(i+1,3)+".png",
691   			iconAnchor: [20,53],
692   		})}).addTo(map));
693		naviMiddleMk[naviMiddleMk.length-1].setZIndexOffset(10000);
694		
695		$("#"+middleNames.keySet()[i]).val(middleNames.valSet()[i]);
696	}
697	
698	var inputCheck = true;
699	for(var i=0; i<$(".naviSearchInput").length; i++) {
700		if($(".naviSearchInput").eq(i).val()!="") {
701			textDelOn(i);
702		}else {
703			inputCheck = false;
704		}
705	}
706	
707	while (naviLayers.length>0) {
708		map.removeLayer(naviLayers[naviLayers.length - 1]);
709		naviLayers.pop();
710	}
711	while (naviLayers2.length>0) {
712		map.removeLayer(naviLayers2[naviLayers2.length - 1]);
713		naviLayers2.pop();
714	}
715	while (borderNaviLayers.length>0) {
716		map.removeLayer(borderNaviLayers[borderNaviLayers.length - 1]);
717		borderNaviLayers.pop();
718	}
719	if(naviLayer!=null) {
720		map.removeLayer(naviLayer);
721		naviLayer = null;
722	}
723	while (naviInfoMk.length>0) {
724		map.removeLayer(naviInfoMk[naviInfoMk.length - 1]);
725		naviInfoMk.pop();
726	}
727	while (fullLineDatas.length>0) {
728		fullLineDatas.pop();
729	}
730	
731	if(inputCheck) {
732		naviStart();
733	}
734}
735
736
737function middleSetTextForm() {
738	var startInfoStr = "", middleInfoStr = "", endInfoStr = "";
739	if(lan=="KOR") { startInfoStr = "출발지를 입력하세요."; middleInfoStr = "경유지를 입력하세요."; endInfoStr = "도착지를 입력하세요."; }
740	else if(lan=="ENG") { startInfoStr = "Input the starting place."; middleInfoStr = "Input the stopover place."; endInfoStr = "Input the destination."; }
741	else if(lan=="JAN") { startInfoStr = "出発地入力"; middleInfoStr = "経由地入力"; endInfoStr = "目的地入力"; }
742	else if(lan=="CHINAG") { startInfoStr = "输入出发地"; middleInfoStr = "输入经由地"; endInfoStr = "输入目的地"; }
743	
744	naviAddTextFormCnt = middleNames.size();
745	var html = '';
746	html += '<div class="pr d_form">';
747	html += '<form onsubmit="return false">';
748	html += '<fieldset>';
749	html += '<legend>길찾기 검색</legend>';
750	html += '<label for="startInput">검색어 입력</label>';
751	html += '<input type="text" id="startInput" name="startInput" class="naviSearchInput" placeholder="'+startInfoStr+'" onKeyDown="javascript:if(event.keyCode == 13){ naviSearch(\'startInput\');}" autocomplete="off">';
752	html += '</fieldset>';
753	html += '</form>';
754	html += '<div class="navi_search ico_search" style="display: none;"><a href="#" onmouseenter="blurUnbind();" onmouseleave="blurbind();" onclick="naviSearch(\'startInput\');"></a></div><!-- 검색 아이콘 -->';
755	html += '<div class="text_del ico_reset" style="display: none;"><a href="#" onclick="naviTextDel(\'startInput\');"></a></div><!-- 초기화 아이콘 -->';
756	html += '</div>';
757	
758	for(var i=0; i<naviAddTextFormCnt; i++) {
759		html += '<div class="pr d_form">';
760		html += '<form onsubmit="return false">';
761		html += '<fieldset>';
762		html += '<legend>길찾기 검색</legend>';
763		html += '<label for="middleInput'+i+'">검색어 입력</label>';
764		html += '<input type="text" id="middleInput'+i+'" name="middleInput'+i+'" class="naviSearchInput" placeholder="'+middleInfoStr+'" onKeyDown="javascript:if(event.keyCode == 13){ naviSearch(\'middleInput'+i+'\');}" autocomplete="off">';
765		html += '</fieldset>';
766		html += '</form>';
767		html += '<div class="navi_search ico_search" style="display: none;"><a href="#" onmouseenter="blurUnbind();" onmouseleave="blurbind();" onclick="naviSearch(\'middleInput'+i+'\');"></a></div><!-- 검색 아이콘 -->';
768		html += '<div class="text_del ico_reset" style="display: none;"><a href="#" onclick="naviTextDel(\'middleInput'+i+'\');"></a></div><!-- 초기화 아이콘 -->';
769		html += '<div class="ico_del"><a href="#" onclick="middleRmTextForm('+i+');"></a></div><!-- 경유지 삭제 아이콘 -->';
770		html += '</div>';
771	}
772	
773	html += '<div class="pr d_form">';
774	html += '<form onsubmit="return false">';
775	html += '<fieldset>';
776	html += '<legend>길찾기 검색</legend>';
777	html += '<label for="endInput">검색어 입력</label>';
778	html += '<input type="text" id="endInput" name="endInput" class="naviSearchInput" placeholder="'+endInfoStr+'" onKeyDown="javascript:if(event.keyCode == 13){ naviSearch(\'endInput\');}" autocomplete="off">';
779	html += '</fieldset>';
780	html += '</form>';
781	html += '<div class="navi_search ico_search" style="display: none;"><a href="#" onmouseenter="blurUnbind();" onmouseleave="blurbind();" onclick="naviSearch(\'endInput\');"></a></div><!-- 검색 아이콘 -->';
782	html += '<div class="text_del ico_reset" style="display: none;"><a href="#" onclick="naviTextDel(\'endInput\');"></a></div><!-- 초기화 아이콘 -->';
783	html += '</div>';
784	
785	if(naviAddTextFormCnt==0) {
786		html += '<div class="ico_change"><a href="#" onclick="naviSearchChange();"></a></div><!-- 출발지/도착지 전환 아이콘 -->';
787	}
788	$("#naviInputForm").html(html);
789	
790	$('.naviSearchInput').bind("focus",function() {
791		naviSearchBtnOn(this);
792	});
793	$('.naviSearchInput').bind("blur",function() {
794		naviSearchBtnOff(this);
795	});
796	
797	if(startName!="") {
798		$("#startInput").val(startName);
799		textDelOn(0);
800	}
801	if(endName!="") {
802		$("#endInput").val(endName);
803		textDelOn($(".text_del").length-1);
804	}
805	
806	for(var outer = middleNames.size()-1; outer>0; outer--) {
807        for(var inner=0; inner<outer; inner++) {
808        	var number1 = Number(middleNames.keySet()[inner].replace("middleInput",""));
809    		var number2 = Number(middleNames.keySet()[inner+1].replace("middleInput",""));
810            if(number1>number2) {
811            	var temp = "";
812    			temp1 = middleNames.keySet()[inner]; 
813    			middleNames.keySet()[inner] = middleNames.keySet()[inner+1];
814    			middleNames.keySet()[inner+1] = temp1;
815    			
816    			temp = middleNames.valSet()[inner]; 
817    			middleNames.valSet()[inner] = middleNames.valSet()[inner+1];
818    			middleNames.valSet()[inner+1] = temp;
819    			
820    			temp = middleCoords.keySet()[inner]; 
821    			middleCoords.keySet()[inner] = middleCoords.keySet()[inner+1];
822    			middleCoords.keySet()[inner+1] = temp;
823    			
824    			temp = middleCoords.valSet()[inner]; 
825    			middleCoords.valSet()[inner] = middleCoords.valSet()[inner+1];
826    			middleCoords.valSet()[inner+1] = temp;
827            }
828        }
829    }
830	
831	for(var i=0; i<middleNames.size(); i++) {
832		middleNames.keySet()[i] = "middleInput"+i;
833		middleCoords.keySet()[i] = "middleInput"+i;
834		$("#"+middleNames.keySet()[i]).val(middleNames.valSet()[i]);
835		textDelOn((i+1));
836	}
837}
838
839function blurbind() {
840	$('.naviSearchInput').bind("blur",function() {
841		naviSearchBtnOff(this);
842	});
843}
844
845function blurUnbind() {
846	$(".naviSearchInput").unbind("blur");
847}
848
849function navi_reset() { 
850	/* ------------------------ v4 ---------------------------
851	1. 자동차 경유지 추가 옆 초기화 버튼 클릭
852	---------------------------------------------------------- */
853	$("#naviFromBg").removeClass("r_size");
854	navi_rsize_check = false;
855	$("#naviSearchForm").css("display","none");
856	$("#naviResultForm").css("display","none");
857	$("#naviOnOff").css("display","none");
858	startName = "";
859	startCoord = "";
860	endName = "";
861	endCoord = "";
862	middleNames.clear();
863	middleCoords.clear();
864	navi_searchClear();
865	naviResultClear();
866	naviTextForm();
867	
868	startInputFlag = false;
869	endInputFlag = false;
870	middleInputFlag = false;
871	naviProcessFlag = false;
872	globalRightClickFlag = false;
873	/* ------------------------------------------------------ */ 
874	
875	/* ------------------------ v4 ---------------------------
876	1. 대중교통 경유지 추가 옆 초기화 버튼 클릭
877	---------------------------------------------------------- */
878	
879	$("#naviSearchFormTf").css("display","none");
880	$("#naviResultFormTf").css("display","none");
881	$("#naviNoResultFormTf").css("display","none");
882	$("#naviOnOff").css("display","none");
883	
884	startNameTf = "";
885	startCoordTf = "";
886	endNameTf = "";
887	endCoordTf = "";
888	
889	navi_searchClearTf(); 
890	naviResultClearTf();
891	naviTextFormTf();
892	startInputFlagTf = false;
893	endInputFlagTf = false;
894	naviProcessFlagTf = false;
895	globalRightClickFlag = false;
896	/* ------------------------------------------------------ */ 
897	
898	/* ------------------------ v4 ---------------------------
899	1. 도보 경유지 추가 옆 초기화 버튼 클릭
900	---------------------------------------------------------- */
901	navi_rsize_checkSp = false;
902	
903	$("#naviSearchFormSp").css("display","none");
904	$("#naviResultFormSp").css("display","none");
905	$("#naviNoResultFormSp").css("display","none");
906	$("#naviOnOff").css("display","none");
907	
908	startNameSp = "";
909	startCoordSp = "";
910	endNameSp = "";
911	endCoordSp = "";
912	
913	middleNamesSp.clear();
914	middleCoordsSp.clear();
915	navi_searchClearSp(); 
916	naviResultClearSp();
917	naviTextFormSp();
918	startInputFlagSp = false;
919	endInputFlagSp = false;
920	middleInputFlagSp = false;
921	naviProcessFlagSp = false;
922	globalRightClickFlag = false;
923	/* ------------------------------------------------------ */ 
924}
925
926function textDelOn(index) {
927	if($(".naviSearchInput").eq(index).val()!="") {
928		$(".text_del").eq(index).css("display","");
929	}
930}
931
932function textDelOff(index) {
933	$(".text_del").eq(index).css("display","none");
934}
935
936function naviSearchBtnOn(this_) {
937	var index = $("#naviInputForm").find("input").index(this_);
938	textDelOff(index);
939	$(".navi_search").eq(index).css("display","");
940}
941
942function naviSearchBtnOff(this_) {
943	var index = $("#naviInputForm").find("input").index(this_);
944	textDelOn(index);
945	$(".navi_search").eq(index).css("display","none");
946}
947
948
949function naviSearchChange() {
950	var temp = "";
951	temp = startName;
952	startName = endName;
953	endName = temp;
954	
955	temp = startCoord;
956	startCoord = endCoord;
957	endCoord = temp;
958	
959	$("#startInput").val(startName);
960	$("#endInput").val(endName);
961	
962	if(startName!="" && endName!="") {
963		naviStart();
964	}
965}
966
967
968function naviTextDel(type) {
969	if(type=="startInput") {
970		startName="";
971		startCoord="";
972		if(naviStartMk!=null) {
973			map.removeLayer(naviStartMk);
974			naviStartMk = null;
975		}
976		textDelOff(0);
977	}else if(type=="endInput") {
978		endName="";
979		endCoord="";
980		if(naviEndMk!=null) {
981			map.removeLayer(naviEndMk);
982			naviEndMk = null;
983		}
984		textDelOff($(".naviSearchInput").length-1);
985	}else {
986		var subFolder = "";
987		if(lan=="KOR") { subFolder = "kor"; }
988		else if(lan=="ENG") { subFolder = "eng"; }
989		else if(lan=="JAN") { subFolder = "jpn"; }
990		else if(lan=="CHINAG") { subFolder = "chn"; }
991		
992		middleNames.remove(type);
993		middleCoords.remove(type);
994		while (naviMiddleMk.length > 0) {
995			map.removeLayer(naviMiddleMk[naviMiddleMk.length - 1]);
996			naviMiddleMk.pop();
997		}
998		textDelOff(parseInt(type.replace("middleInput",""))+1);
999		for(var i=0; i<middleCoords.size(); i++) {
1000			var coords = middleCoords.get(middleCoords.keySet()[i]).split(",");
1001			var iconIndex = parseInt(middleCoords.keySet()[i].replace("middleInput",""));
1002			naviMiddleMk.push(new L.Marker(new L.LatLng(coords[0], coords[1]),{icon: new L.Icon({
1003	   			iconUrl: "./images/naviImg/"+subFolder+"/rpin_via_"+(iconIndex+1)+".png",
1004					// iconUrl: "./img/test_pin/"+leadingZeros(i+1,3)+".png",
1005	   			iconAnchor: [20,53],
1006	   		})}).addTo(map));
1007			naviMiddleMk[naviMiddleMk.length-1].setZIndexOffset(10000);
1008			
1009			$("#"+middleNames.keySet()[i]).val(middleNames.valSet()[i]);
1010		}
1011	}
1012	$("#"+type).val("");
1013	navi_searchClear();
1014	$("#naviFromBg").removeClass("r_size");
1015	navi_rsize_check = false;
1016	$("#naviSearchForm").css("display","none");
1017	$("#naviResultForm").css("display","none");
1018	$("#naviOnOff").css("display","none");
1019	$("#naviResultList").html("");
1020	
1021	while (naviLayers.length>0) {
1022		map.removeLayer(naviLayers[naviLayers.length - 1]);
1023		naviLayers.pop();
1024	}
1025	while (naviLayers2.length>0) {
1026		map.removeLayer(naviLayers2[naviLayers2.length - 1]);
1027		naviLayers2.pop();
1028	}
1029	while (borderNaviLayers.length>0) {
1030		map.removeLayer(borderNaviLayers[borderNaviLayers.length - 1]);
1031		borderNaviLayers.pop();
1032	}
1033	if(naviLayer!=null) {
1034		map.removeLayer(naviLayer);
1035		naviLayer = null;
1036	}
1037	while (naviInfoMk.length>0) {
1038		map.removeLayer(naviInfoMk[naviInfoMk.length - 1]);
1039		naviInfoMk.pop();
1040	}
1041	while (fullLineDatas.length>0) {
1042		fullLineDatas.pop();
1043	}
1044}
1045
1046
1047function naviOnOff() {
1048	if(globalCarRouteFlag == true){
1049			if($("#naviSearchForm").css("display")=="none" && $("#naviResultForm").css("display")=="none") {
1050				$("#naviFromBg").addClass("r_size");
1051				if($("#naviOnOff").attr("class").indexOf("naviOnOff2")!=-1) {
1052					$("#naviSearchForm").css("display","");
1053					$("#naviOnOff").attr("class","ico_close2 naviOnOff2");
1054				}else {
1055					$("#naviResultForm").css("display","");
1056					$("#naviOnOff").attr("class","ico_close naviOnOff");
1057				}
1058			}else {
1059				$("#naviFromBg").removeClass("r_size");
1060				$("#naviSearchForm").css("display","none");
1061				$("#naviResultForm").css("display","none");
1062				if($("#naviOnOff").attr("class").indexOf("naviOnOff2")!=-1) {
1063					$("#naviOnOff").attr("class","ico_open2 naviOnOff2");
1064				}else {
1065					$("#naviOnOff").attr("class","ico_open2 naviOnOff");
1066				}
1067			}
1068	}else if(globalTrafficFlag == true){
1069		if($("#naviSearchFormTf").css("display")=="none" && $("#naviResultFormTf").css("display")=="none") {
1070			$("#naviFromBg").addClass("r_size");
1071			if($("#naviOnOff").attr("class").indexOf("naviOnOff2")!=-1) {
1072				$("#naviSearchFormTf").css("display","");
1073				$("#naviOnOff").attr("class","ico_close2 naviOnOff2");
1074			}else {
1075				$("#naviResultFormTf").css("display","");
1076				$("#naviOnOff").attr("class","ico_close naviOnOff");
1077			}
1078		}else {
1079			$("#naviFromBg").removeClass("r_size");
1080			$("#naviSearchFormTf").css("display","none");
1081			$("#naviResultFormTf").css("display","none");
1082			if($("#naviOnOff").attr("class").indexOf("naviOnOff2")!=-1) {
1083				$("#naviOnOff").attr("class","ico_open2 naviOnOff2");
1084			}else {
1085				$("#naviOnOff").attr("class","ico_open2 naviOnOff");
1086			}
1087		}
1088	}else if(globalShortPathFlag == true){
1089		if($("#naviSearchFormSp").css("display")=="none" && $("#naviResultFormSp").css("display")=="none") {
1090			$("#naviFromBg").addClass("r_size");
1091			if($("#naviOnOff").attr("class").indexOf("naviOnOff2")!=-1) {
1092				$("#naviSearchFormSp").css("display","");
1093				$("#naviOnOff").attr("class","ico_close2 naviOnOff2");
1094			}else {
1095				$("#naviResultFormSp").css("display","");
1096				$("#naviOnOff").attr("class","ico_close naviOnOff");
1097			}
1098		}else {
1099			$("#naviFromBg").removeClass("r_size");
1100			$("#naviSearchFormSp").css("display","none");
1101			$("#naviResultFormSp").css("display","none");
1102			if($("#naviOnOff").attr("class").indexOf("naviOnOff2")!=-1) {
1103				$("#naviOnOff").attr("class","ico_open2 naviOnOff2");
1104			}else {
1105				$("#naviOnOff").attr("class","ico_open2 naviOnOff");
1106			}
1107		}
1108	}
1109}
1110
1111
1112// !----------------------- 네비게이션 통합검색 ----------------------------------
1113function navi_searchTab(mode) {  // mode (0: 전체 , 1: 주소 , 2: 장소)
1114	$("#naviOnOff").css("display","");
1115	$("#naviOnOff").attr("class","ico_close2 naviOnOff2");
1116	$("#navi_search_tab > li").each(function(index,e) {
1117		if(index==mode) {
1118			$(e).addClass("on");
1119			$(e).removeClass("off");
1120		}else {
1121			$(e).addClass("off");
1122			$(e).removeClass("on");
1123		}
1124	});
1125}
1126
1127function naviSearch(type) {  // type(startInput: 출발 endInput: 도착 middleInput+숫자 : 경유지)
1128	naviSearchType = type;
1129	
1130	/* ------------------------ v4 ---------------------------
1131	1. 자동차 출도착,경유 판단
1132	---------------------------------------------------------- */
1133	if(naviSearchType=="startInput"){
1134		startInputFlag = true; endInputFlag = false; middleInputFlag = false;
1135		startInputFlagSp = false; endInputFlagSp = false; middleInputFlagSp = false;
1136		startInputFlagTf = false; endInputFlagTf = false;
1137	}else if(naviSearchType=="endInput"){
1138		startInputFlag = false; endInputFlag = true; middleInputFlag = false;
1139		startInputFlagSp = false; endInputFlagSp = false; middleInputFlagSp = false;
1140		startInputFlagTf = false; endInputFlagTf = false;
1141	}else if(naviSearchType.indexOf("middleInput")!=-1){
1142		startInputFlag = false; endInputFlag = false; middleInputFlag = true;
1143		startInputFlagSp = false; endInputFlagSp = false; middleInputFlagSp = false;
1144		startInputFlagTf = false; endInputFlagTf = false;
1145	}
1146	naviProcessFlag = false;
1147	globalRightClickFlag = false;
1148	/* ---------------------------------------------------------- */
1149	
1150	navi_unifiedSearch(0,1,true);
1151}
1152
1153function naviTextFormFocus() {
1154	if(naviSearchType.indexOf("start")!=-1) {
1155		for(var i=0; i<naviAddTextFormCnt; i++) {
1156			if($("#middleInput"+i).val()=="") {
1157				$("#middleInput"+i).focus();
1158				return;
1159			}
1160		}
1161		if($("#endInput").val()=="") {
1162			$("#endInput").focus();
1163			return;
1164		}
1165	}else if(naviSearchType.indexOf("end")!=-1) {
1166		if($("#startInput").val()=="") {
1167			$("#startInput").focus();
1168			return;
1169		}
1170		for(var i=0; i<naviAddTextFormCnt; i++) {
1171			if($("#middleInput"+i).val()=="") {
1172				$("#middleInput"+i).focus();
1173				return;
1174			}
1175		}
1176	}else if(naviSearchType.indexOf("middle")!=-1) {
1177		if($("#startInput").val()=="") {
1178			$("#startInput").focus();
1179			return;
1180		}
1181		for(var i=0; i<naviAddTextFormCnt; i++) {
1182			if($("#middleInput"+i).val()=="") {
1183				$("#middleInput"+i).focus();
1184				return;
1185			}
1186		}
1187		if($("#endInput").val()=="") {
1188			$("#endInput").focus();
1189			return;
1190		}
1191	}
1192}
1193
1194function navi_unifiedSearch(mode, page, first){ // mode = 0 전체, mode = 1 주소, mode = 2 장소 , first(true:첫검색, false:이미검색된 결과)
1195	if(rightClickPop!=null) {
1196		map.closePopup(rightClickPop);
1197	}
1198	for(var i=0; i<ncodeSearchMarker.length; i++) {
1199		ncodeSearchMarker[i].popState = false;
1200		ncodeSearchMarker[i].closePopup();
1201	}
1202	ncodeSelectMid = "";
1203	
1204	for(var i=0; i<jiguMarker.length; i++) {
1205		jiguMarker[i].popState = false;
1206		jiguMarker[i].closePopup();
1207	}
1208	jiguSelectMid = "";
1209	
1210	if(first) {
1211		navi_searchName = $("#"+naviSearchType).val();
1212	}
1213	if(navi_searchName != ""){
1214		naviSearchBtnOff(document.getElementById(naviSearchType));
1215		
1216		$("#naviFromBg").addClass("r_size");
1217		navi_rsize_check = true;
1218		$("#naviSearchForm").css("display","");
1219		navi_searchTab(mode);  // 검색 탭 변경
1220		$("#navi_searchNullForm").css("display","none");
1221		
1222		if(lan=="KOR") { $("#navi_search_info_form").html("<span>'"+navi_searchName+"'</span> 검색결과");	 }
1223		else if(lan=="ENG") { $("#navi_search_info_form").html("<span>'"+navi_searchName+"'</span> Search results"); }
1224		else if(lan=="JAN") { $("#navi_search_info_form").html("<span>'"+navi_searchName+"'</span> 検索結果"); }
1225		else if(lan=="CHINAG") { $("#navi_search_info_form").html("<span>'"+navi_searchName+"'</span> 搜索结果"); }
1226		
1227		mapCopyClear();
1228		navi_searchClear();
1229		naviResultClear();
1230		$("#naviResultForm").css("display","none");
1231		if(mode!=2){
1232			$("#navi_addressSearchForm").css("display","");
1233			if(mode==1) {
1234				$("#navi_address_list_more").css("display","none");
1235				$("#navi_poiSearchForm").css("display","none");
1236			}else {
1237				$("#navi_poiSearchForm").css("display","");
1238			}
1239			navi_geoCodingSearch(mode, page);
1240		}else{
1241			$("#navi_poi_list_more").css("display","none");
1242			$("#navi_addressSearchForm").css("display","none");
1243			$("#navi_poiSearchForm").css("display","");
1244			navi_poiSearch(mode, page);
1245		}
1246	}else{
1247		if(lan=="KOR") { alert("검색어를 입력해주세요."); }
1248		else if(lan=="ENG") { alert("Please enter your search words."); }
1249		else if(lan=="JAN") { alert("検索語を入力してください。"); }
1250		else if(lan=="CHINAG") { alert("请输入您的搜索字词。"); }
1251		
1252		if(naviSearchType.indexOf("start")!=-1) {
1253			if($("#startInput").val()=="") {
1254				$("#startInput").focus();
1255				return;
1256			}
1257		}else if(naviSearchType.indexOf("end")!=-1) {
1258			if($("#endInput").val()=="") {
1259				$("#endInput").focus();
1260				return;
1261			}
1262		}else if(naviSearchType.indexOf("middle")!=-1) {
1263			for(var i=0; i<naviAddTextFormCnt; i++) {
1264				if($("#middleInput"+i).val()=="") {
1265					$("#middleInput"+i).focus();
1266					return;
1267				}
1268			}
1269		}
1270	}
1271}
1272
1273
1274function navi_geoCodingSearch(mode, page){
1275	jHeader.serviceName = "GEOCODING";
1276	geoBody.fulladdress = navi_searchName;
1277	geoBody.selectFields.geoType = "ORIGIN";
1278	geoBody.addressType = "HLS";
1279
1280	var jReqBody = {
1281			"header" : jHeader,
1282			"body" : geoBody
1283		};
1284
1285	var dataString = "callback=?&req="+encodeURIComponent(objectToJSONString(jReqBody));
1286	//console.log(jUrl + "?callback=?&req=" + objectToJSONString(jReqBody));
1287
1288	$.ajax({
1289		url:jUrl,
1290		async: true,
1291		type:'post',
1292		dataType:'jsonp',
1293		data:dataString,
1294		timeout:200000,
1295		error : function(d, txtStatus, error) {
1296			alert("다시 실행해주시기 바랍니다. code:11 \n"+"getJSON failed : " + d + ",  status: "+ txtStatus + ",  error: " + error);
1297		},success: function(data,result){
1298			if(data.body.geojson != undefined){
1299				naviTextFormFocus();
1300				var cnt = data.body.geojson.features.length;
1301				var pageCnt = 10; // 페이지당 개수
1302				var stIndex = (page-1)*pageCnt;
1303				var enIndex = (stIndex+pageCnt) < cnt ? (stIndex+pageCnt) : cnt;
1304				
1305				if(mode==0) { // 더보기 유, 무
1306					if(enIndex>3) {
1307						enIndex=3;
1308						$('#navi_address_list_more').css('display', '');
1309					}else {
1310						$('#navi_address_list_more').css('display', 'none');
1311					}
1312				}
1313				
1314				var list = "";
1315				for(var i = stIndex ; i < enIndex; i++){
1316					var feature = data.body.geojson.features[i];
1317					var centerPoint = centerCoord("GRS_80",feature.geometry);
1318					
1319					geoCodingSearchLayer.push(new L.GeoJSON(
1320							feature, {
1321								style : function() {
1322									return {
1323										weight: 2, dashArray: '5, 5', color : "#ff6e04", opacity : 1, fillColor : "#ff6e04", fillOpacity : 0
1324									};						
1325								}
1326							}).addTo(map));
1327					
1328					geoCodingSearchLayer[geoCodingSearchLayer.length-1].on("click", function(){
1329						for(var i=0; i<geoCodingSearchMarker.length; i++) {
1330							geoCodingSearchMarker[i].popState = false;
1331							$(".navi_JusoResultIcon")[i].src = geoCodingSearchMarker[i].listMarkerImg;
1332							var iconOn = new L.Icon({
1333								iconUrl:geoCodingSearchMarker[i].markerImg,
1334								iconAnchor: [14,33]  // 오프셋 (핀의 끝이 좌표로 매칭하기
1335														// 위해 적용)
1336							});
1337							geoCodingSearchMarker[i].setIcon(iconOn);
1338							geoCodingSearchMarker[i].closePopup();
1339						}
1340						
1341						for(var i=0; i<poiSearchMarker.length; i++) {
1342							poiSearchMarker[i].popState = false;
1343							$(".navi_POIResultIcon")[i].src = poiSearchMarker[i].listMarkerImg;
1344							var iconOn = new L.Icon({
1345								iconUrl:poiSearchMarker[i].markerImg,
1346								iconAnchor: [14,33]
1347							});
1348							poiSearchMarker[i].setIcon(iconOn);
1349							poiSearchMarker[i].closePopup();
1350						}
1351						
1352						for(var i=0; i<ncodeSearchMarker.length; i++) {
1353							ncodeSearchMarker[i].popState = false;
1354							ncodeSearchMarker[i].closePopup();
1355						}
1356						ncodeSelectMid = "";
1357						
1358						for(var i=0; i<jiguMarker.length; i++) {
1359							jiguMarker[i].popState = false;
1360							jiguMarker[i].closePopup();
1361						}
1362						jiguSelectMid = "";
1363						
1364						map.removeLayer(rightClickPop);
1365					});
1366					
1367					geoCodingSearchLayer[geoCodingSearchLayer.length-1].on("mouseover", function(){
1368						this.setStyle({opacity:1, fillOpacity:0.2});
1369					});
1370					geoCodingSearchLayer[geoCodingSearchLayer.length-1].on("mouseout", function(){
1371						this.setStyle({opacity:1, fillOpacity:0});
1372					});
1373					
1374					geoCodingSearchLayer[geoCodingSearchLayer.length-1].on("contextmenu", function(e) {
1375						if(chkDist == false){
1376							tooltipClose();
1377							
1378							var lat = e.latlng.lat;
1379							var lng = e.latlng.lng;
1380							rightClickPopup(lat,lng,0);
1381						}
1382					});
1383					
1384					var markerImg = "./images/pin/mpin_"+(geoCodingSearchMarker.length+1)+".png";
1385					var listMarkerImg = "./images/pin/pin_"+(geoCodingSearchMarker.length+1)+".png";
1386					var onMarkerImg = "./images/pin/mpin_on.png";
1387					var onListMarkerImg = "./images/pin/mpin_on.png";
1388					geoCodingSearchMarker.push(new L.Marker(new L.LatLng(centerPoint.lat, centerPoint.lng),{icon: new L.Icon({
1389				    	iconUrl: markerImg,
1390				    	iconAnchor: [14,33]
1391					})}).addTo(map));
1392					geoCodingSearchMarker[geoCodingSearchMarker.length-1].markerImg = markerImg;
1393					geoCodingSearchMarker[geoCodingSearchMarker.length-1].listMarkerImg = listMarkerImg;
1394					geoCodingSearchMarker[geoCodingSearchMarker.length-1].onMarkerImg = onMarkerImg;
1395					geoCodingSearchMarker[geoCodingSearchMarker.length-1].onListMarkerImg = onListMarkerImg;
1396					if(i == stIndex){
1397						geoCodingSearchMarker[geoCodingSearchMarker.length-1].popState = true;
1398					}else{
1399						geoCodingSearchMarker[geoCodingSearchMarker.length-1].popState = false;
1400					}
1401					geoCodingSearchMarker[geoCodingSearchMarker.length-1].feature = feature;
1402					geoCodingSearchMarker[geoCodingSearchMarker.length-1].index = geoCodingSearchMarker.length-1;
1403					geoCodingSearchMarker[geoCodingSearchMarker.length-1].bindPopup(tooltip.makeGeoContent(feature),{autoPan:true,minWidth:362,offset:[0,-20],'className':'dawul'});
1404					geoCodingSearchMarker[geoCodingSearchMarker.length-1].on("click", function(e) {
1405						var index = this.index;
1406						if(this.popState){
1407							this.popState = false;
1408							$(".navi_JusoResultIcon")[index].src = this.listMarkerImg;
1409							var iconOn = new L.Icon({
1410								iconUrl: this.markerImg,
1411								iconAnchor: [14,33]
1412							});
1413							this.setIcon(iconOn);
1414						}else{
1415							if(rightClickPop!=null) {
1416								map.closePopup(rightClickPop);
1417							}
1418							for(var i = 0; i<geoCodingSearchMarker.length; i++){
1419								if(i == index){
1420									$(".navi_JusoResultIcon")[i].src = geoCodingSearchMarker[i].onListMarkerImg;
1421									geoCodingSearchMarker[i].popState = true;
1422									geoCodingSearchMarker[i].setZIndexOffset(1000);
1423									var iconOn = new L.Icon({
1424										iconUrl : geoCodingSearchMarker[i].onMarkerImg,
1425										iconAnchor: [14,33]
1426									});
1427								}else{
1428									$(".navi_JusoResultIcon")[i].src = geoCodingSearchMarker[i].listMarkerImg;
1429									geoCodingSearchMarker[i].popState = false;
1430									geoCodingSearchMarker[i].setZIndexOffset(100);
1431									var iconOn = new L.Icon({
1432										iconUrl : geoCodingSearchMarker[i].markerImg,
1433										iconAnchor: [14,33]
1434									});
1435								}
1436								geoCodingSearchMarker[i].setIcon(iconOn);
1437
1438								if(geoCodingSearchMarker[i].popState) {
1439									geoCodingSearchMarker[i].bindPopup(tooltip.makeGeoContent(geoCodingSearchMarker[i].feature),{autoPan:true,minWidth:362,offset:[0,-20],'className':'dawul'});
1440								}
1441							}
1442							
1443							
1444							for(var i=0; i<poiSearchMarker.length; i++) {
1445								poiSearchMarker[i].popState = false;
1446								$(".navi_POIResultIcon")[i].src = poiSearchMarker[i].listMarkerImg;
1447								var iconOn = new L.Icon({
1448									iconUrl:poiSearchMarker[i].markerImg,
1449									iconAnchor: [14,33]
1450								});
1451								poiSearchMarker[i].setIcon(iconOn);
1452								poiSearchMarker[i].closePopup();
1453							}
1454							
1455							
1456							for(var i=0; i<ncodeSearchMarker.length; i++) {
1457								ncodeSearchMarker[i].popState = false;
1458								ncodeSearchMarker[i].closePopup();
1459							}
1460							ncodeSelectMid = "";
1461							
1462							for(var i=0; i<jiguMarker.length; i++) {
1463								jiguMarker[i].popState = false;
1464								jiguMarker[i].closePopup();
1465							}
1466							jiguSelectMid = "";
1467						}
1468					});
1469					
1470					// ----------- 리스트 -----------
1471					var properties = feature.properties;
1472					list += navi_searchList("addressSearch",properties,centerPoint.lat, centerPoint.lng);
1473				}
1474				navi_searchResult("addressSearch",mode,cnt,list,page);
1475			}else{
1476				$("#navi_addressSearchForm").css("display","none");
1477				if(mode==0) {
1478					navi_poiSearch(mode, page); // 주소 없으면 장소 검색
1479				}else if(mode==1) {
1480					navi_searchListNull();
1481				}
1482			}
1483		}
1484	});
1485}
1486
1487
1488function navi_jusoPaging(pageNum, totalCnt){ // 주소 페이징
1489	var startPageNum = pageNum - ((pageNum-1)%5);
1490	var maxPageNum = Math.ceil(totalCnt/10);
1491	var pagingList = "";
1492	
1493	pagingList += '<div class="tc" style="margin-top:10px;">';
1494	pagingList += '<div class="page clear">';
1495		
1496	if(pageNum>5){
1497		pagingList += '<span class="off arrow"> <span> <a href="#" onclick="navi_unifiedSearch(1, '+(startPageNum-1)+',false);">&lt;</a></span></span>';
1498	}
1499	for(var i=0; i<5; i++)
1500	{
1501		if(i+startPageNum<=maxPageNum) {	
1502			if(i+startPageNum==pageNum) {
1503				pagingList += '<span class="on">'+(i+startPageNum)+'</span>';
1504			}else {
1505				pagingList += '<span class="off" onclick="navi_unifiedSearch(1, '+(i+startPageNum)+',false);"><a href="#">'+(i+startPageNum)+'</a></span>';
1506			}
1507		}
1508	}
1509	if(maxPageNum>=startPageNum+5)
1510	{
1511		pagingList += '<span class="off arrow"><span><a href="#" onclick="navi_unifiedSearch(1, '+(startPageNum+5)+',false);">&gt;</a></span></span>';
1512	}
1513	
1514	pagingList += "</div>";
1515	pagingList += "</div>";
1516	
1517	return pagingList;
1518}
1519
1520
1521function navi_searchListNull() {
1522	$("#"+naviSearchType).focus();
1523	if(lan=="KOR") {
1524		$("#navi_search_info_form").html("<span>'"+navi_searchName+"'</span>에 대한 검색 결과가 없습니다.");	
1525	}else if(lan=="ENG") {
1526		$("#navi_search_info_form").html("Maps can't find <span>'"+navi_searchName+"'</span>");
1527	}else if(lan=="JAN") {
1528		$("#navi_search_info_form").html("<span>'"+navi_searchName+"'</span> に対する住所検索結果がありません。");
1529	}else if(lan=="CHINAG") {
1530		$("#navi_search_info_form").html("未找到关于您要的 <span>'"+navi_searchName+"'</span>");
1531	}
1532	$("#navi_searchNullForm").css("display","");
1533}
1534
1535
1536function navi_subGeoSearch(code,geoType,page) {
1537	jHeader.serviceName = "SUB_GEOCODING";
1538	subBody.code = code;
1539	subBody.selectFields.geoType = geoType;
1540	subBody.adminType = "ROAD_ADDRESS";
1541	subBody.page.cnt = 10;
1542	subBody.page.pageNo = page;
1543	var jReqBody = {
1544		"header" : jHeader,
1545		"body" : subBody
1546	};
1547	
1548	var dataString = "callback=?&req="+encodeURIComponent(objectToJSONString(jReqBody));
1549	//console.log(jUrl+"?callback=?&req="+objectToJSONString(jReqBody));
1550	$.ajax({
1551		url:jUrl,
1552		async:true,
1553		type:'POST',
1554		dataType:'jsonp',
1555		data:dataString,
1556		timeout : 200000,
1557		error : function(d, textStatus, error){
1558			alert("다시 실행해주시기 바랍니다. code:11 \n"+"getJSON failed : "+d+",  status: " + textStatus + ",  error: "+error);
1559		},success: function(data, result){
1560			if(data.body.geojson!=undefined) {
1561				var listCount = data.body.geojson.features.length;
1562				var totalCnt = data.body.page.totalCnt;
1563				var list = "";
1564				for ( var i = 0; i < listCount; i++) {
1565					var feature = data.body.geojson.features[i];
1566					if(geoType=='ORIGIN'){
1567						var centerPoint = centerCoord("GRS_80",feature.geometry);
1568						
1569						var markerImg = "./images/pin/mpin_s"+(subGeoCodingSearchMarker.length+1)+".png";
1570						var listMarkerImg = "./images/pin/pin_s"+(subGeoCodingSearchMarker.length+1)+".png";
1571						subGeoCodingSearchMarker.push(new L.Marker(new L.LatLng(centerPoint.lat, centerPoint.lng),{icon: new L.Icon({
1572					    	iconUrl: markerImg,
1573						})}));
1574						
1575						subGeoCodingSearchMarker[subGeoCodingSearchMarker.length-1].feature = feature;
1576						subGeoCodingSearchMarker[subGeoCodingSearchMarker.length-1].index = subGeoCodingSearchMarker.length-1;
1577						subGeoCodingSearchMarker[subGeoCodingSearchMarker.length-1].markerImg = markerImg;
1578						subGeoCodingSearchMarker[subGeoCodingSearchMarker.length-1].listMarkerImg = listMarkerImg;
1579						subGeoCodingSearchMarker[subGeoCodingSearchMarker.length-1].bindPopup(tooltip.makeGeoContent(feature),{autoPan:true,minWidth:362,offset:[0,-20],'className':'dawul'});
1580						subGeoCodingSearchMarker[subGeoCodingSearchMarker.length-1].on("click",function(e) {
1581							if(rightClickPop!=null) {
1582								map.closePopup(rightClickPop);
1583							}
1584							for(var i=0; i<ncodeSearchMarker.length; i++) {
1585								ncodeSearchMarker[i].popState = false;
1586								ncodeSearchMarker[i].closePopup();
1587							}
1588							ncodeSelectMid = "";
1589							
1590							for(var i=0; i<jiguMarker.length; i++) {
1591								jiguMarker[i].popState = false;
1592								jiguMarker[i].closePopup();
1593							}
1594							jiguSelectMid = "";
1595						});
1596						
1597						subGeoCodingSearchLayer.push(new L.GeoJSON(
1598							feature, {
1599								style : function() {
1600									return {
1601										weight: 2, dashArray: '5, 5', color : "#0100FF", opacity : 1, fillColor : "#0100FF", fillOpacity : 0.2, clickable : false
1602									};						
1603								}
1604							}).addTo(map));
1605						
1606						// ----------- 리스트 -------------
1607						var properties = feature.properties;
1608						list += navi_subGeoSearchList(i,properties,centerPoint.lat,centerPoint.lng);
1609						// ----------- //리스트 -----------
1610					}
1611				}
1612				list += navi_subGeoPaging(page, totalCnt, code);
1613				$("#"+code).html(list);
1614			}else {
1615				
1616			}
1617		}
1618	});
1619}
1620
1621
1622function navi_subGeoPaging(pageNum, totalCnt, code)
1623{
1624	var startPageNum = pageNum-((pageNum-1)%5);
1625	var maxPageNum = Math.ceil(totalCnt/10); // 페이지 갯수
1626	var subPagingList="";
1627	
1628	subPagingList += '<div class="tc" style="margin-top:10px;">';
1629	subPagingList += '<div class="page clear">';
1630	if(pageNum>5) {
1631		subPagingList += '<span class="off arrow"><span><a href="#" onclick="navi_subMenuSlide(\'addressSearch\',\''+code+'\',1,'+(startPageNum-1)+');">&lt;</a></span></span>';
1632	}
1633	for(var i=0; i<5; i++) {	
1634		if(i+startPageNum<=maxPageNum) {	
1635			if(i+startPageNum==pageNum) {
1636				subPagingList += '<span class="on">'+(i+startPageNum)+'</span>';
1637			}else {
1638				subPagingList += '<span class="off" onclick="navi_subMenuSlide(\'addressSearch\',\''+code+'\',1,'+(i+startPageNum)+');"><a href="#">'+(i+startPageNum)+'</a></span>';
1639			}
1640		}
1641	}
1642	if(maxPageNum>=startPageNum+5)
1643	{
1644		subPagingList += '<span class="off arrow"><span><a href="#" onclick="navi_subMenuSlide(\'addressSearch\',\''+code+'\',1,'+(startPageNum+5)+');">&gt;</a></span></span>';
1645	}
1646	subPagingList += '</div>';
1647	subPagingList += '</div>';
1648	
1649    return subPagingList;
1650}
1651
1652
1653function navi_poiSearch(mode, page){
1654	jHeader.serviceName = "POI";
1655	poiBody.crs = "GRS_80";
1656	poiBody.fulltext = navi_searchName;
1657	poiBody.page = {};
1658	if(mode==0) {
1659		poiBody.page.cnt = 5;
1660	}else {
1661		poiBody.page.cnt = 10 ;
1662	}
1663	
1664    poiBody.page.pageNo = page;
1665    var jReqBody = {
1666		"header" : jHeader,
1667		"body" : poiBody
1668	};
1669	
1670	delete poiBody.field;
1671	delete poiBody.mbr;
1672	var dataString = "callback=?&req="+encodeURIComponent(objectToJSONString(jReqBody));
1673	//console.log(jUrl+"?callback=?&req="+objectToJSONString(jReqBody));
1674	$.ajax({
1675		url:jUrl,
1676		async:true,
1677		type:'POST',
1678		dataType:'jsonp',
1679		data:dataString,
1680		timeout : 200000,
1681		error : function(d, textStatus, error){
1682			alert("다시 실행해주시기 바랍니다. code:22 \n"+"getJSON failed : "+d+",  status: " + textStatus + ",  error: "+error);
1683		},success: function(data, result){
1684			if(data.body.geojson!=undefined) {
1685				var countID = data.body.geojson.features.length; // ID 개수
1686				var totalCnt = data.body.page.totalCnt;
1687				if(mode==0) {
1688					if(geoCodingSearchMarker.length==0){
1689						naviTextFormFocus();
1690					}
1691					if(totalCnt>5){
1692						$('#navi_poi_list_more').css('display', 'block');
1693					}else {
1694						$('#navi_poi_list_more').css('display', 'none');
1695					}
1696				}
1697				var list = "";
1698				for(var i=0; i<countID; i++) {
1699					var feature = data.body.geojson.features[i];
1700					var centerX = feature.geometry.coordinates[0];
1701					var centerY = feature.geometry.coordinates[1];
1702					
1703					var contentName = "";
1704					var themeName = "";
1705					var treeFlag = "";
1706					var themeId = "";
1707					if(lan=="KOR" && (feature.properties.c_tree_flag=="2" || feature.properties.c_tree_flag=="3")){ // 2 : 개발지구 , 3 : 실내지도
1708						for(var j=0; j<tree_flag.length; j++){
1709							if(feature.properties.c_tree_flag==j+1){
1710								contentName = tree_content_name[j];
1711								themeName = tree_flag_name[j];
1712								treeFlag = tree_flag[j];
1713								themeId = eval("feature.properties."+treeFlag);
1714								/*
1715								 * if(j<tree_flag_marker_img.length) {
1716								 * markerImg = tree_flag_marker_img[j]; }
1717								 */
1718								break;
1719							}
1720						}
1721						if(themeId!="-2147483648" && themeId!="" && themeId!=0) {
1722							navi_themeflag(feature,contentName,themeName,themeId);
1723						}else {
1724							navi_poiflag(feature);
1725						}
1726					}else {
1727						navi_poiflag(feature);
1728					}
1729					// ----------- 리스트 ---------------------------------
1730					var properties = feature.properties;
1731					list += navi_searchList("POISearch",properties,centerX,centerY,themeId,treeFlag);  // themeId,treeFlag : poi 확장컨텐츠가 있을때만 사용
1732					// ----------- //리스트 ---------------------------------
1733				}
1734				navi_searchResult("POISearch",mode,totalCnt,list,page);
1735			}else {
1736				$("#navi_poiSearchForm").css("display","none");
1737				if((mode==0 && geoCodingSearchMarker.length==0) || mode==2) {
1738					navi_searchListNull();
1739				}else {
1740					
1741				}
1742			}
1743		}
1744	});
1745}
1746
1747function navi_poiPaging(pageNum, totalCnt){ // poi 페이징
1748	var startPageNum = pageNum - ((pageNum-1)%5);
1749	var maxPageNum = Math.ceil(totalCnt/10);
1750	var PoiPagingList = "";
1751	
1752	PoiPagingList += '<div class="tc" style="margin-top:10px;">';
1753	PoiPagingList += '<div class="page clear">';
1754	if(pageNum>5){
1755		PoiPagingList += '<span class="off arrow"> <span> <a href="#" onclick="navi_unifiedSearch(2, '+(startPageNum-1)+',false);">&lt;</a></span></span>';
1756	}
1757	for(var i=0; i<5; i++)
1758	{
1759		if(i+startPageNum<=maxPageNum) {	
1760			if(i+startPageNum==pageNum) {
1761				// PoiPagingList += '<span class="on" onclick="unifiedSearch(2,
1762				// '+(i+startPageNum)+');"><a
1763				// href="#">'+(i+startPageNum)+'</a></span>';
1764				PoiPagingList += '<span class="on">'+(i+startPageNum)+'</span>';
1765			}else {
1766				PoiPagingList += '<span class="off" onclick="navi_unifiedSearch(2, '+(i+startPageNum)+',false);"><a href="#">'+(i+startPageNum)+'</a></span>';
1767			}
1768		}
1769	}
1770	if(maxPageNum>=startPageNum+5)
1771	{
1772		// pagingList += "<li><a href='#'
1773		// onclick='unifiedSearch(1,"+(startPageNum+5)+");'><img
1774		// src='./img/dw_arrow_right.png' alt='뒤로' /></a></li>";
1775		PoiPagingList += '<span class="off arrow"><span><a href="#" onclick="navi_unifiedSearch(2, '+(startPageNum+5)+',false);">&gt;</a></span></span>';
1776	}
1777	PoiPagingList += "</div>";
1778	PoiPagingList += "</div>";
1779	return PoiPagingList;
1780}
1781
1782function navi_poiflag(feature) {
1783	var markerImg = "./images/pin/mpin_poi_"+(poiSearchMarker.length+1)+".png";
1784	var listMarkerImg = "./images/pin/pin_poi_"+(poiSearchMarker.length+1)+".png";
1785	var tooltipIconImg = "./images/num/num_"+(poiSearchMarker.length+1)+".png";
1786	poiSearchMarker.push(new L.Marker(new L.LatLng(feature.geometry.coordinates[0], feature.geometry.coordinates[1]),{icon: new L.Icon({
1787    	iconUrl: markerImg,
1788    	iconAnchor: [14,33]
1789	})}).addTo(map));
1790	poiSearchMarker[poiSearchMarker.length-1].popState=false;
1791	poiSearchMarker[poiSearchMarker.length-1].feature = feature;
1792	poiSearchMarker[poiSearchMarker.length-1].index = poiSearchMarker.length-1;
1793	poiSearchMarker[poiSearchMarker.length-1].markerImg = markerImg;
1794	poiSearchMarker[poiSearchMarker.length-1].listMarkerImg = listMarkerImg;
1795	poiSearchMarker[poiSearchMarker.length-1].tooltipIconImg = tooltipIconImg;
1796	poiSearchMarker[poiSearchMarker.length-1].bindPopup(tooltip.makePOIContent(feature,tooltipIconImg),{autoPan:true,minWidth:362,offset:[0,-20],'className':'dawul'});
1797	poiSearchMarker[poiSearchMarker.length-1].on("click",function(e) {
1798		var index = this.index;
1799		if(this.popState) {
1800			this.popState = false;
1801			$(".navi_POIResultIcon")[index].src = this.listMarkerImg;
1802			var iconOn = new L.Icon({
1803				iconUrl:this.markerImg,
1804				iconAnchor: [14,33]
1805			});
1806			this.setIcon(iconOn);
1807		}else {
1808			if(rightClickPop!=null) {
1809				map.closePopup(rightClickPop);
1810			}
1811			for(var i=0; i<poiSearchMarker.length; i++) {
1812				var iconOn = null;
1813				if(i==index) {
1814					$(".navi_POIResultIcon")[i].src = "./images/pin/pin_on.png";
1815					poiSearchMarker[i].popState = true;
1816					poiSearchMarker[i].setZIndexOffset(1000);
1817					iconOn = new L.Icon({
1818						iconUrl:"./images/pin/mpin_on.png",
1819						iconAnchor: [14,33]
1820					});
1821				}else {
1822					$(".navi_POIResultIcon")[i].src = poiSearchMarker[i].listMarkerImg;
1823					poiSearchMarker[i].popState = false;
1824					poiSearchMarker[i].setZIndexOffset(100);
1825					iconOn = new L.Icon({
1826						iconUrl:poiSearchMarker[i].markerImg,
1827						iconAnchor: [14,33]
1828					});
1829				}
1830				poiSearchMarker[i].setIcon(iconOn);
1831				
1832				if(poiSearchMarker[i].popState) {
1833					poiSearchMarker[i].bindPopup(tooltip.makePOIContent(poiSearchMarker[i].feature,poiSearchMarker[i].tooltipIconImg),{autoPan:true,minWidth:362,offset:[0,-20],'className':'dawul'});
1834				}
1835			}
1836			
1837			for(var i=0; i<geoCodingSearchMarker.length; i++) {
1838				$(".navi_JusoResultIcon")[i].src = geoCodingSearchMarker[i].listMarkerImg;
1839				geoCodingSearchMarker[i].popState = false;
1840				geoCodingSearchMarker[i].setZIndexOffset(100);
1841				
1842				var iconOn = new L.Icon({
1843					iconUrl:geoCodingSearchMarker[i].markerImg,
1844					iconAnchor: [14,33]
1845				});
1846				geoCodingSearchMarker[i].setIcon(iconOn);
1847			}
1848			
1849			for(var i=0; i<ncodeSearchMarker.length; i++) {
1850				ncodeSearchMarker[i].popState = false;
1851				ncodeSearchMarker[i].closePopup();
1852			}
1853			ncodeSelectMid = "";
1854			
1855			for(var i=0; i<jiguMarker.length; i++) {
1856				jiguMarker[i].popState = false;
1857				jiguMarker[i].closePopup();
1858			}
1859			jiguSelectMid = "";
1860		}
1861	});
1862}
1863
1864
1865function navi_themeflag(poiFeature,contentName,themeName,themeId) {
1866	var markerImg = "./images/pin/mpin_poi_son.png";
1867	var listMarkerImg = "./images/pin/pin_poi_son.png";
1868	var tooltipIconImg = "./images/num/num_"+(poiSearchMarker.length+1)+".png";
1869	poiSearchMarker.push(new L.Marker(new L.LatLng(poiFeature.geometry.coordinates[0], poiFeature.geometry.coordinates[1]),{icon: new L.Icon({   // 마커
1870																																					// 찍기
1871    	iconUrl: markerImg,   // 핀 이미지
1872    	iconAnchor: [14,33]  // 오프셋 (핀의 끝이 좌표로 매칭하기 위해 적용)
1873	})}).addTo(map));
1874	var poiSearchMarkerIndex = poiSearchMarker.length-1;
1875	poiSearchMarker[poiSearchMarker.length-1].popState=false;
1876	poiSearchMarker[poiSearchMarker.length-1].markerImg = markerImg;
1877	poiSearchMarker[poiSearchMarker.length-1].listMarkerImg = markerImg;
1878	poiSearchMarker[poiSearchMarker.length-1].tooltipIconImg = tooltipIconImg;
1879	poiSearchMarker[poiSearchMarker.length-1].c_tree_flag = poiFeature.properties.c_tree_flag;
1880	
1881	jHeader.serviceName = "EXTENSION_SEARCH";
1882	extBody.conditions = {};
1883	extBody.conditions.geometry = {};
1884	extBody.conditions.geometry.spatialOp = "INTERSECT";
1885	extBody.conditions.field = [];
1886	extBody.conditions.field[extBody.conditions.field.length] = {};
1887	extBody.conditions.field[extBody.conditions.field.length-1].name = themeName;
1888	extBody.conditions.field[extBody.conditions.field.length-1].value = themeId;
1889	
1890	extBody.contentName = contentName;
1891	extBody.selectFields.geoType = "ORIGIN";
1892	extBody.page = {};
1893	extBody.page.cnt=10;
1894	extBody.page.pageNo=1;
1895	var jReqBody = {
1896		"header" : jHeader,
1897		"body" : extBody
1898	};
1899	ajaxLoding = true;
1900	var dataString = "callback=?&req="+encodeURIComponent(objectToJSONString(jReqBody));
1901	//console.log(jUrl+"?callback=?&req="+objectToJSONString(jReqBody));
1902	$.ajax({
1903		url:jUrl,
1904		type:'POST',
1905		dataType:'jsonp',
1906		data:dataString,
1907		timeout : 200000,
1908		async : false,
1909		error : function(d, textStatus, error){
1910			alert("다시 실행해주시기 바랍니다. code:11 \n"+"getJSON failed : "+d+",  status: " + textStatus + ",  error: "+error);
1911		},success: function(data, result){
1912			if(data.body.geojson!=undefined) {
1913				var countID = data.body.geojson.features.length; // ID 개수
1914				var totalCnt = data.body.page.totalCnt;
1915				var list = "";
1916				for ( var i = 0; i < countID; i++) {
1917					var feature = data.body.geojson.features[i];
1918					poiSearchMarker[poiSearchMarkerIndex].popState=false;
1919					poiSearchMarker[poiSearchMarkerIndex].feature = feature;
1920					poiSearchMarker[poiSearchMarkerIndex].index = poiSearchMarkerIndex;
1921					poiSearchMarker[poiSearchMarkerIndex].bindPopup(tooltip.themeContent(feature,parseInt(poiFeature.properties.c_tree_flag)-1,poiSearchMarker[poiSearchMarkerIndex].tooltipIconImg),{autoPan:true,minWidth:362,offset:[0,-20],'className':'dawul'});
1922					poiSearchMarker[poiSearchMarkerIndex].on("click",function(e) {
1923						var index = this.index;
1924						if(this.popState) {
1925							this.popState = false;
1926							$(".navi_POIResultIcon")[index].src = this.listMarkerImg;
1927							var iconOn = new L.Icon({
1928								iconUrl:this.markerImg,
1929								iconAnchor: [14,33]
1930							});
1931							this.setIcon(iconOn);
1932						}else {
1933							for(var i=0; i<poiSearchMarker.length; i++) {
1934								var iconOn = null;
1935								if(i==index) {
1936									$(".navi_POIResultIcon")[i].src = "./images/pin/pin_on.png";
1937									poiSearchMarker[i].popState = true;
1938									poiSearchMarker[i].setZIndexOffset(1000);
1939									
1940									iconOn = new L.Icon({
1941										iconUrl:"./images/pin/mpin_on.png",
1942										iconAnchor: [14,33]
1943									});
1944								}else {
1945									$(".navi_POIResultIcon")[i].src = poiSearchMarker[i].listMarkerImg;
1946									poiSearchMarker[i].popState = false;
1947									poiSearchMarker[i].setZIndexOffset(100);
1948									
1949									iconOn = new L.Icon({
1950										iconUrl:poiSearchMarker[i].markerImg,
1951										iconAnchor: [14,33]
1952									});
1953								}
1954								poiSearchMarker[i].setIcon(iconOn);
1955								
1956								if(poiSearchMarker[i].popState) {
1957									poiSearchMarker[i].bindPopup(tooltip.themeContent(feature,parseInt(poiFeature.properties.c_tree_flag)-1,poiSearchMarker[i].tooltipIconImg),{autoPan:true,minWidth:362,offset:[0,-20],'className':'dawul'});
1958								}
1959							}
1960							
1961							for(var i=0; i<geoCodingSearchMarker.length; i++) {
1962								$(".navi_JusoResultIcon")[i].src = geoCodingSearchMarker[i].listMarkerImg;
1963								geoCodingSearchMarker[i].popState = false;
1964								geoCodingSearchMarker[i].setZIndexOffset(100);
1965								
1966								var iconOn = new L.Icon({
1967									iconUrl:geoCodingSearchMarker[i].markerImg,
1968									iconAnchor: [14,33]
1969								});
1970								geoCodingSearchMarker[i].setIcon(iconOn);
1971							}
1972							
1973							for(var i=0; i<ncodeSearchMarker.length; i++) {
1974								ncodeSearchMarker[i].popState = false;
1975								ncodeSearchMarker[i].closePopup();
1976							}
1977							ncodeSelectMid = "";
1978							
1979							for(var i=0; i<jiguMarker.length; i++) {
1980								jiguMarker[i].popState = false;
1981								jiguMarker[i].closePopup();
1982							}
1983							jiguSelectMid = "";
1984						}
1985					});
1986					
1987					if (feature.geometry.type == "Polygon") {
1988						var cntCoord = feature.geometry.coordinates.length;
1989						for ( var j = 0; j < cntCoord; j++) {
1990							var cntCoord2 = feature.geometry.coordinates[j].length;
1991							for ( var k = 0; k < cntCoord2; k++) {
1992								var UtmkX = feature.geometry.coordinates[j][k][0];
1993								var UtmkY = feature.geometry.coordinates[j][k][1];
1994								var geoWgs = Coord_Trans("utmktowgs", new PT(UtmkX, UtmkY));
1995								feature.geometry.coordinates[j][k][0] = geoWgs.y;
1996								feature.geometry.coordinates[j][k][1] = geoWgs.x;
1997							}
1998						}
1999					}else if (feature.geometry.type == "MultiPolygon") {
2000						var cntCoord = feature.geometry.coordinates.length;
2001						for ( var j = 0; j < cntCoord; j++) {
2002							var cntCoord2 = feature.geometry.coordinates[j].length;
2003
2004							for ( var k = 0; k < cntCoord2; k++) {
2005								var cntCoord3 = feature.geometry.coordinates[j][k].length;
2006
2007								for ( var l = 0; l < cntCoord3; l++) {
2008									var UtmkX = feature.geometry.coordinates[j][k][l][0];
2009									var UtmkY = feature.geometry.coordinates[j][k][l][1];
2010									var geoWgs = Coord_Trans("utmktowgs", new PT(UtmkX, UtmkY));
2011									feature.geometry.coordinates[j][k][l][0] = geoWgs.y;
2012									feature.geometry.coordinates[j][k][l][1] = geoWgs.x;
2013								}
2014							}
2015						}
2016					}
2017					if(contentName=="takji") {
2018						poiExtensionSearchLayer.push(new L.GeoJSON(
2019							feature, {
2020								style : function() {
2021									return {
2022										color: '#08a65d', weight: 2, opacity: 1, dashArray: '5, 5', fill: true, fillColor: '#08a65d', fillOpacity: 0.2, clickable : false
2023					              	};
2024								}
2025						}).addTo(map));
2026					}else if(contentName=="indoor") {
2027						poiExtensionSearchLayer.push(new L.GeoJSON(
2028							feature, {
2029								style : function() {
2030									return {
2031										color: '#018ece', weight: 2, dashArray: '5, 5', opacity: 1, fill: true, fillColor: '#018ece', fillOpacity: 0.2, clickable : false
2032					              	};
2033								}
2034						}).addTo(map));
2035					}
2036				}
2037			}
2038			ajaxLoding = false;
2039		}
2040	});
2041}
2042
2043
2044
2045function navi_subPOISearch(code,page,treeFlag,parentIndex) {
2046	jHeader.serviceName = "POI";
2047	poiBody.crs = "GRS_80";
2048	poiBody.fulltext = "";
2049	poiBody.field = [];
2050	poiBody.field[0] = {};
2051	poiBody.field[0].name = treeFlag;
2052	poiBody.field[0].value = code;
2053	poiBody.page = {};
2054	poiBody.page.cnt = 10;
2055    poiBody.page.pageNo = page;
2056	var jReqBody = {
2057		"header" : jHeader,
2058		"body" : poiBody
2059	};
2060	delete poiBody.mbr;
2061	var dataString = "callback=?&req="+encodeURIComponent(objectToJSONString(jReqBody));
2062	//console.log(jUrl+"?callback=?&req="+objectToJSONString(jReqBody));
2063	$.ajax({
2064		url:jUrl,
2065		async:true,
2066		type:'POST',
2067		dataType:'jsonp',
2068		data:dataString,
2069		timeout : 200000,
2070		error : function(d, textStatus, error){
2071			alert("다시 실행해주시기 바랍니다. code:11 \n"+"getJSON failed : "+d+",  status: " + textStatus + ",  error: "+error);
2072		},success: function(data, result){
2073			if(data.body.geojson!=undefined) {
2074				var listCount = data.body.geojson.features.length; // ID 개수
2075				var totalCnt = data.body.page.totalCnt;
2076				var list = "";
2077				for(var i=0; i<listCount; i++) {
2078					var feature = data.body.geojson.features[i];
2079					var centerX = feature.geometry.coordinates[0];
2080					var centerY = feature.geometry.coordinates[1];
2081					
2082					var markerImg = "./images/pin/mpin_poi_s"+(subPOISearchMarker.length+1)+".png";
2083					var listMarkerImg = "./images/pin/pin_poi_s"+(subPOISearchMarker.length+1)+".png";
2084					var tooltipIconImg = "./images/num/num_poi_"+(subPOISearchMarker.length+1)+".png";
2085					subPOISearchMarker.push(new L.Marker(new L.LatLng(centerX, centerY),{icon: new L.Icon({   // 마커
2086																												// 찍기
2087				    	iconUrl: markerImg,   // 핀 이미지
2088				    	iconAnchor: [14,33]  // 오프셋 (핀의 끝이 좌표로 매칭하기 위해 적용)
2089					})}).addTo(map));
2090					subPOISearchMarker[subPOISearchMarker.length-1].popState=false;
2091					subPOISearchMarker[subPOISearchMarker.length-1].feature = feature;
2092					subPOISearchMarker[subPOISearchMarker.length-1].index = subPOISearchMarker.length-1;
2093					subPOISearchMarker[subPOISearchMarker.length-1].markerImg = markerImg;
2094					subPOISearchMarker[subPOISearchMarker.length-1].listMarkerImg = listMarkerImg;
2095					subPOISearchMarker[subPOISearchMarker.length-1].tooltipIconImg = tooltipIconImg;
2096					subPOISearchMarker[subPOISearchMarker.length-1].bindPopup(tooltip.makePOIContent(feature,tooltipIconImg),{autoPan:true,minWidth:362,offset:[0,-20],'className':'dawul'});
2097					subPOISearchMarker[subPOISearchMarker.length-1].on("click",function(e) {
2098						var index = this.index;
2099						if(this.popState) {
2100							this.popState = false;
2101						}else {
2102							if(rightClickPop!=null) {
2103								map.closePopup(rightClickPop);
2104							}
2105							this.popState = true;
2106							this.setZIndexOffset(1000);
2107							for(var i=0; i<subPOISearchMarker.length; i++) {
2108								if(i!=index) {
2109									subPOISearchMarker[i].popState = false;
2110									subPOISearchMarker[i].setZIndexOffset(100);
2111								}
2112							}
2113							
2114							for(var i=0; i<ncodeSearchMarker.length; i++) {
2115								ncodeSearchMarker[i].popState = false;
2116								ncodeSearchMarker[i].closePopup();
2117							}
2118							ncodeSelectMid = "";
2119							
2120							for(var i=0; i<jiguMarker.length; i++) {
2121								jiguMarker[i].popState = false;
2122								jiguMarker[i].closePopup();
2123							}
2124							jiguSelectMid = "";
2125						}
2126					});
2127					
2128					// ----------- 리스트 ---------------------------------
2129					var properties = feature.properties;
2130					list += navi_subPOISearchList(i,properties,centerX,centerY);
2131					// ----------- //리스트 ---------------------------------
2132				}
2133				
2134				list += navi_subPOIPaging(page,totalCnt,treeFlag,code,parentIndex);
2135				
2136				$("#"+code).html(list);
2137				
2138				$(".navi_subPOIResult").hover(
2139					function() {
2140						var index = $(".navi_subPOIResult").index(this);
2141						for(var i=0; i<subPOISearchMarker.length; i++) {
2142							if(i==index) {
2143								subPOISearchMarker[i].setZIndexOffset(1000);
2144							}else {
2145								subPOISearchMarker[i].setZIndexOffset(100);
2146							}
2147						}
2148					},function() {
2149						var index = $(".navi_subPOIResult").index(this);
2150						for(var i=0; i<subPOISearchMarker.length; i++) {
2151							if(subPOISearchMarker[i].popState) {
2152								subPOISearchMarker[i].setZIndexOffset(1000);
2153							}else {
2154								subPOISearchMarker[i].setZIndexOffset(100);
2155							}
2156						}
2157				});
2158				
2159			}else {
2160			}
2161		}
2162	});
2163}
2164
2165function navi_subPOIPaging(pageNum, totalCnt, treeFlag, code, parentIndex){
2166	var startPageNum = pageNum-((pageNum-1)%5);
2167	var maxPageNum = Math.ceil(totalCnt/10);// 페이지 갯수
2168	var subPagingList="";
2169	subPagingList += '<div class="tc" style="margin-top:10px;">';
2170	subPagingList += '<div class="page clear">';
2171	if(pageNum>5) {
2172		subPagingList += '<span class="off arrow"><span><a href="#" onclick="navi_subMenuSlide(\'POISearch\',\''+code+'\',1,'+(startPageNum-1)+','+parentIndex+',\''+treeFlag+'\');">&lt;</a></span></span>';
2173	}
2174	for(var i=0; i<5; i++) {	
2175		if(i+startPageNum<=maxPageNum) {	
2176			if(i+startPageNum==pageNum) {
2177				subPagingList += '<span class="on">'+(i+startPageNum)+'</span>';
2178			}else {
2179				subPagingList += '<span class="off" onclick="navi_subMenuSlide(\'POISearch\',\''+code+'\',1,'+(i+startPageNum)+','+parentIndex+',\''+treeFlag+'\');"><a href="#">'+(i+startPageNum)+'</a></span>';
2180			}
2181		}
2182	}
2183	if(maxPageNum>=startPageNum+5)
2184	{
2185		subPagingList += '<span class="off arrow"><span><a href="#" onclick="navi_subMenuSlide(\'POISearch\',\''+code+'\',1,'+(startPageNum+5)+','+parentIndex+',\''+treeFlag+'\');">&gt;</a></span></span>';
2186	}
2187	subPagingList += '</div>';
2188	subPagingList += '</div>';
2189    return subPagingList;
2190}
2191
2192
2193// 길찾기 동적 리스트 테이블 생성
2194function navi_searchList(param, properties, centerX, centerY, themeId, treeFlag){
2195	var content1 = "";
2196	var content2 = "";
2197	var content3 = "";
2198	var content4 = "";
2199	
2200	if(param=="addressSearch"){
2201		var resKey = new Array(); // 결과값 키값
2202		var resVal = new Array(); // 결과값 value
2203		
2204		for ( var key in properties) {
2205			resKey.push(key);
2206			resVal.push(properties[key]);
2207		}
2208		
2209		var addrType = properties.type; // 어떤 주소인지 판별
2210		if(addrType == "sido" || addrType == "gu" || addrType == "li"){  //시도,시군구
2211			content1 = properties.name;
2212		}else if(addrType == "road"){ //도로
2213			content1 = properties.name;
2214			content2 = properties.code;
2215		}else if(addrType == "ldong" || addrType == "hdong"){ //읍면동(행정동,법정동)
2216			content1 = properties.name;
2217			
2218			if(lan=="KOR") { content2 = "관련주소 : "; }
2219			else if(lan=="ENG") { content2 = "Related address : "; }
2220			else if(lan=="JAN") { content2 = "関連住所 : "; }
2221			else if(lan=="CHINAG") { content2 = "关联地址 : "; }
2222			
2223			if(properties.hcodename!=undefined) {
2224				if(properties.hcodename!="") {
2225					content2 += properties.hcodename;	
2226				}else {
2227					content2 = "";
2228				}
2229			}else {
2230				if(properties.lcodename!="") {
2231					content2 += properties.lcodename;	
2232				}else {
2233					content2 = "";
2234				}
2235			}
2236		}else if(addrType == "jijuk"){ //지번주소
2237			content1 = properties.pnuname;
2238			var data = properties.newrpnuname.split("|");
2239			
2240			if(lan=="KOR") { content2 = "도로명 : "; }
2241			else if(lan=="ENG") { content2 = "Road name address : "; }
2242			else if(lan=="JAN") { content2 = "道路名 : "; }
2243			else if(lan=="CHINAG") { content2 = "道路名 : "; }
2244			
2245			for(var i=0; i<data.length; i++) {
2246				var data2 = data[i].split(" ");
2247				content2 += data[i].replace(data2[0]+" "+data2[1], "");
2248				if(i!=data.length-1) {
2249					content2 += ",";
2250				}
2251			}
2252		}else if(addrType == "build"){
2253			content1 = properties.newrpnuname;
2254			var data = properties.pnuname.split("|");
2255			
2256			if(lan=="KOR") { content2 = "지번 : "; content3 = properties.buildname; }
2257			else if(lan=="ENG") { content2 = "Lot number : "; }
2258			else if(lan=="JAN") { content2 = "地番 : "; }
2259			else if(lan=="CHINAG") { content2 = "地番 : "; }
2260			
2261			for(var i=0; i<data.length; i++) {
2262				var data2 = data[i].split(" ");
2263				content2 += data[i].replace(data2[0]+" "+data2[1], "");
2264				if(i!=data.length-1) {
2265					content2 += ",";
2266				}
2267			}
2268		}
2269		
2270		var list='';
2271		list += '<div class="navi_JusoResult list clear" onclick="navi_setMapClick(this); startEndChoice(this,\''+content1+'\','+centerX+','+centerY+');"><!-- class on : 리스트 on 상태 -->';
2272		list += '<!-- pin --><div class="pin"><img class="navi_JusoResultIcon" src="'+geoCodingSearchMarker[geoCodingSearchMarker.length-1].listMarkerImg+'" width="20" height="24" alt="" /></div>';
2273		list += '<dl>';
2274		list += '<dt>'+content1+'</dt>';
2275		if(content2!="" && addrType == "road") {
2276			list += '<dd class="txt2">'+content2+'</dd>';
2277		}
2278		if(content3!="") {
2279			list += '<dd class="blank"></dd>';
2280			list += '<dd class="txt2">'+content3+'</dd>';
2281		}
2282		if(addrType == "road") {
2283			list += '<dd class="navi_sub_address plus"><a href="#" onclick="stopProp(); navi_subMenuSlide(\'addressSearch\',\''+content2+'\',0,1,'+(geoCodingSearchMarker.length-1)+');"></a></dd>';
2284			list += '</dl>';
2285			list += '<div id="'+content2+'" class="navi_sub_list slist clear" style="display:none;">';
2286			list += '</div>';
2287		}else {
2288			list += '</dl>';
2289		}
2290		
2291		var startStr = "", middleStr = "", endStr = "";
2292		if(lan=="KOR") { startStr = "출발"; middleStr = "경유"; endStr = "도착"; }
2293		else if(lan=="ENG") { startStr = "Start"; middleStr = "Via"; endStr = "Arrive"; }
2294		else if(lan=="JAN") { startStr = "出発"; middleStr = "経由"; endStr = "到着"; }
2295		else if(lan=="CHINAG") { startStr = "出发"; middleStr = "经由"; endStr = "到着"; }
2296		
2297		if(naviSearchType.indexOf("start")!=-1) {
2298			list += '<div class="navi_fix_addr_list ico_start" style="display:none;"><span>'+startStr+'</span></div>';	
2299		}else if(naviSearchType.indexOf("end")!=-1) {
2300			list += '<div class="navi_fix_addr_list ico_arrival" style="display:none;"><span>'+endStr+'</span></div>';
2301		}else {
2302			list += '<div class="navi_fix_addr_list ico_via" style="display:none;"><span>'+middleStr+'</span></div>';
2303		}
2304		
2305		list += '</div>';
2306		
2307	}else if(param=="POISearch"){
2308		content1 = properties.name;
2309		var htmlChar = lfNmFormat(properties.sv_cls);
2310		content2 = htmlChar;
2311		content3 = properties.newrpnuname;
2312		if(properties.newrpnuname!="" && properties.newrpnuname!=null){
2313			var addr = properties.newrpnuname.split(" ");
2314			jibunAddr = properties.pnuname.replace(addr[0]+" "+addr[1], "");
2315		}else{
2316			jibunAddr = properties.pnuname;
2317		}
2318		
2319		if(lan=="KOR") { content4 = "지번 : "; }
2320		else if(lan=="ENG") { content4 = "Lot number : "; }
2321		else if(lan=="JAN") { content4 = "地番 : "; }
2322		else if(lan=="CHINAG") { content4 = "地番 : "; }
2323		content4 += jibunAddr;
2324		
2325		var list = '';
2326		list += '<div class="navi_PoiResult list clear" onclick="navi_setMapClick(this);
2326 startEndChoice(this,\''+content1+'\','+centerX+','+centerY+');"><!-- class on : 리스트 on 상태 -->';
2327		list += '<!-- pin --><div class="pin"><img class="navi_POIResultIcon" src="'+poiSearchMarker[poiSearchMarker.length-1].listMarkerImg+'" width="20" height="24" alt="" /></div>';
2328		list += '<dl>';
2329		list += '<dt>'+content1+'</dt>';
2330		list += '<dd class="txt">'+content3+'</dd>';
2331		list += '<dd class="txt2">'+content4+'</dd>';
2332		list += '<dd class="blank"></dd><!-- blank : txt2 와 txt2 사이 padding 값 -->';
2333		list += '<dd class="txt2">'+content2+'</dd>';
2334		if(themeId!=null && themeId!="-2147483648" && themeId!="" && themeId!=0) {
2335			list += '<dd class="navi_sub_poi plus"><a href="#" onclick="stopProp(); navi_subMenuSlide(\'POISearch\',\''+themeId+'\',0,1,'+(poiSearchMarker.length-1)+',\''+treeFlag+'\');"></a></dd>';
2336			list += '</dl>';
2337			list += '<div id="'+themeId+'" class="navi_sub_list slist clear" style="display:none;">';
2338			list += '</div>';
2339		}else {
2340			list += '</dl>';
2341		}
2342		
2343		var startStr = "", middleStr = "", endStr = "";
2344		if(lan=="KOR") { startStr = "출발"; middleStr = "경유"; endStr = "도착"; }
2345		else if(lan=="ENG") { startStr = "Start"; middleStr = "Via"; endStr = "Arrive"; }
2346		else if(lan=="JAN") { startStr = "出発"; middleStr = "経由"; endStr = "到着"; }
2347		else if(lan=="CHINAG") { startStr = "出发"; middleStr = "经由"; endStr = "到着"; }
2348		
2349		if(naviSearchType.indexOf("start")!=-1) {
2350			list += '<div class="navi_fix_poi_list ico_start" style="display:none;"><span>'+startStr+'</span></div>';	
2351		}else if(naviSearchType.indexOf("end")!=-1) {
2352			list += '<div class="navi_fix_poi_list ico_arrival" style="display:none;"><span>'+endStr+'</span></div>';
2353		}else {
2354			list += '<div class="navi_fix_poi_list ico_via" style="display:none;"><span>'+middleStr+'</span></div>';
2355		}
2356		list += '</div>';
2357	}	
2358	return list;
2359}
2360
2361
2362function navi_subGeoSearchList(i, properties, centerX, centerY) {
2363	var newrpnuname = properties.newrpnuname;
2364	var pnuname = properties.pnuname;
2365	var buildname = properties.buildname;
2366	var data = pnuname.split("|");
2367	var data2 = data[0].split(" ");
2368	var pnuname = data[0].replace(data2[0]+" "+data2[1], "");
2369	
2370	var list = '';
2371	list += '<div class="navi_subGeoResult blank clear" onclick="stopProp(); navi_setMapClick(this);">';
2372	list += '<div class="pin"><img src="'+subGeoCodingSearchMarker[subGeoCodingSearchMarker.length-1].listMarkerImg+'" width="20" height="24" alt="" /></div>';
2373	list += '<dl>';
2374	list += '<dt>'+newrpnuname+'</dt>';
2375	list += '<dd>'+pnuname+'</dd>';
2376	list += '<dd>'+buildname+'</dd>';
2377	list += '</dl>';
2378	list += '</div>';
2379	return list;
2380}
2381
2382
2383function navi_subPOISearchList(i, properties, centerX, centerY) {
2384	var content1 = "";
2385	var content2 = "";
2386	var content3 = "";
2387	var content4 = "";
2388	content1 = properties.name;
2389	var htmlChar = lfNmFormat(properties.sv_cls);
2390	content2 = htmlChar;
2391	content3 = properties.newrpnuname;
2392	if(properties.newrpnuname!="" && properties.newrpnuname!=null){
2393		var addr = properties.newrpnuname.split(" ");
2394		jibunAddr = properties.pnuname.replace(addr[0]+" "+addr[1], "");
2395	}else{
2396		jibunAddr = properties.pnuname;
2397	}
2398	content4 = "지번 : "+jibunAddr;
2399	
2400	var list = '';
2401	list += '<div class="navi_subPOIResult blank clear" onclick="stopProp(); navi_setMapClick(this);">';
2402	list += '<div class="pin"><img src="'+subPOISearchMarker[subPOISearchMarker.length-1].listMarkerImg+'" width="20" height="24" alt="" /></div>';
2403	list += '<dl>';
2404	list += '<dt>'+content1+'</dt>';
2405	list += '<dd>'+content3+'</dd>';
2406	list += '<dd>'+content4+'</dd>';
2407	list += '<dd>'+content2+'</dd>';
2408	list += '</dl>';
2409	list += '</div>';
2410	return list;
2411}
2412
2413function navi_searchResult(type, mode, totalCnt, list, page) { // 리스트 마우스 이벤트
2414	if(type=="addressSearch") {
2415		map.fitBounds(geoCodingSearchLayer[0].getBounds(),{ padding: [100, 100] });
2416		map.invalidateSize(false); // 맵 갱신
2417		
2418		if(mode==0) {
2419			navi_poiSearch(mode,page);
2420		}else if(mode==1) {
2421			list += navi_jusoPaging(page, totalCnt); // 주소리스트 페이징
2422		}
2423	
2424		if(lan=="KOR") {
2425			$("#navi_addressTotalCount").html("주소 ( <span>"+toComma(totalCnt)+"</span> 건)");
2426		}else if(lan=="ENG") {
2427			$("#navi_addressTotalCount").html("Address ( <span>"+toComma(totalCnt)+"</span> cases )");
2428		}else if(lan=="JAN") {
2429			$("#navi_addressTotalCount").html("住所 ( <span>"+toComma(totalCnt)+"</span> 件 )");
2430		}else if(lan=="CHINAG") {
2431			$("#navi_addressTotalCount").html("地址 ( <span>"+toComma(totalCnt)+"</span> 件 )");
2432		}
2433		$("#navi_addressListForm").html(list);
2434		
2435		startEndChoice($(".navi_JusoResult")[0],$(".navi_JusoResult > dl > dt").html(),geoCodingSearchMarker[0].getLatLng().lat,geoCodingSearchMarker[0].getLatLng().lng);
2436		$(".navi_JusoResultIcon")[0].src = "./images/pin/pin_on.png";
2437		var iconOn = new L.Icon({
2438			iconUrl:"./images/pin/mpin_on.png",
2439			iconAnchor: [14,33]
2440		});
2441		
2442		geoCodingSearchMarker[0].setIcon(iconOn);
2443		geoCodingSearchMarker[0].bindPopup(tooltip.makeGeoContent(geoCodingSearchMarker[0].feature),{autoPan:true,minWidth:362,offset:[0,-20],'className':'dawul'});
2444		geoCodingSearchMarker[0].openPopup();
2445		geoCodingSearchMarker[0].setZIndexOffset(1000);
2446		$(".navi_JusoResult").hover(
2447			function() {
2448				var index = $(".navi_JusoResult").index(this);
2449				$(".navi_JusoResultIcon")[index].src = "./images/pin/pin_on.png";
2450				var iconOn = new L.Icon({
2451					iconUrl:"./images/pin/mpin_on.png",
2452					iconAnchor: [14,33]
2453				});
2454				geoCodingSearchMarker[index].setIcon(iconOn);
2455				
2456				for(var i=0; i<geoCodingSearchMarker.length; i++) {
2457					if(i==index) {
2458						geoCodingSearchMarker[i].setZIndexOffset(1000);
2459					}else {
2460						geoCodingSearchMarker[i].setZIndexOffset(100);
2461					}
2462					if(geoCodingSearchMarker[i].popState) {
2463						geoCodingSearchMarker[i].bindPopup(tooltip.makeGeoContent(geoCodingSearchMarker[i].feature),{autoPan:true,minWidth:362,offset:[0,-20],'className':'dawul'});
2464					}
2465				}
2466				
2467				for(var i=0; i<poiSearchMarker.length; i++) {
2468					poiSearchMarker[i].setZIndexOffset(100);
2469				}
2470			},function() {
2471				var index = $(".navi_JusoResult").index(this);
2472				if(geoCodingSearchMarker[index].popState) {
2473					geoCodingSearchMarker[index].bindPopup(tooltip.makeGeoContent(geoCodingSearchMarker[index].feature),{autoPan:true,minWidth:362,offset:[0,-20],'className':'dawul'});
2474					geoCodingSearchMarker[index].openPopup();
2475					return;
2476				}
2477				$(".navi_JusoResultIcon")[index].src = geoCodingSearchMarker[index].listMarkerImg;
2478				var iconOn = new L.Icon({
2479					iconUrl:geoCodingSearchMarker[index].markerImg,
2480					iconAnchor: [14,33]
2481				});
2482				geoCodingSearchMarker[index].setIcon(iconOn);
2483				
2484				for(var i=0; i<geoCodingSearchMarker.length; i++) {
2485					if(geoCodingSearchMarker[i].popState) {
2486						geoCodingSearchMarker[i].setZIndexOffset(1000);
2487						geoCodingSearchMarker[i].bindPopup(tooltip.makeGeoContent(geoCodingSearchMarker[i].feature),{autoPan:true,minWidth:362,offset:[0,-20],'className':'dawul'});
2488						geoCodingSearchMarker[i].openPopup();
2489					}else {
2490						geoCodingSearchMarker[i].setZIndexOffset(100);
2491					}
2492				}
2493				
2494				for(var i=0; i<poiSearchMarker.length; i++) {
2495					if(poiSearchMarker[i].popState) {
2496						poiSearchMarker[i].setZIndexOffset(1000);
2497						if(poiSearchMarker[i].c_tree_flag!=undefined) {
2498							poiSearchMarker[i].bindPopup(tooltip.themeContent(poiSearchMarker[i].feature,parseInt(poiSearchMarker[i].c_tree_flag)-1),{autoPan:true,minWidth:362,offset:[0,-20],'className':'dawul'});
2499						}else {
2500							poiSearchMarker[i].bindPopup(tooltip.makePOIContent(poiSearchMarker[i].feature),{autoPan:true,minWidth:362,offset:[0,-20],'className':'dawul'});
2501						}
2502						poiSearchMarker[i].openPopup();
2503					}else {
2504						poiSearchMarker[i].setZIndexOffset(100);
2505					}
2506				}
2507		});
2508		//map.fitBounds(geoCodingSearchLayer[0].getBounds(),{ padding: [100, 100] });
2509	}else if(type=="POISearch"){
2510		if(mode==0) {
2511			
2512		}else if(mode==2) {
2513			list += navi_poiPaging(page,totalCnt);
2514		}
2515		
2516		if(lan=="KOR") {
2517			$("#navi_poiTotalCount").html("장소 ( <span>"+toComma(totalCnt)+"</span> 건 )");
2518		}else if(lan=="ENG") {
2519			$("#navi_poiTotalCount").html("Place ( <span>"+toComma(totalCnt)+"</span> cases )");
2520		}else if(lan=="JAN") {
2521			$("#navi_poiTotalCount").html("場所 ( <span>"+toComma(totalCnt)+"</span> 件 )");
2522		}else if(lan=="CHINAG") {
2523			$("#navi_poiTotalCount").html("场所 ( <span>"+toComma(totalCnt)+"</span> 件 )");
2524		}
2525		$("#navi_poiListForm").html(list);
2526		
2527		if(geoCodingSearchMarker.length==0) {
2528			map.setView(poiSearchMarker[0].getLatLng(), 12); // 지도 위치 이동 (좌표,지도 레벨)
2529			map.invalidateSize(false); // 맵 갱신
2530			startEndChoice($(".navi_PoiResult")[0],$(".navi_PoiResult > dl > dt").html(),poiSearchMarker[0].getLatLng().lat,poiSearchMarker[0].getLatLng().lng);
2531			$(".navi_POIResultIcon")[0].src = "./images/pin/pin_on.png";
2532			var iconOn = new L.Icon({
2533				iconUrl:"./images/pin/mpin_on.png",
2534				iconAnchor: [14,33]
2535			});
2536			
2537			poiSearchMarker[0].setIcon(iconOn);
2538			if(poiSearchMarker[0].c_tree_flag!=undefined) {
2539				interval = setInterval(function() {
2540					if(!ajaxLoding) {
2541						poiSearchMarker[0].popState = true;
2542						poiSearchMarker[0].bindPopup(tooltip.themeContent(poiSearchMarker[0].feature,parseInt(poiSearchMarker[0].c_tree_flag)-1,poiSearchMarker[0].tooltipIconImg),{autoPan:true,minWidth:362,offset:[0,-20],'className':'dawul'});
2543						poiSearchMarker[0].openPopup();
2544						poiSearchMarker[0].setZIndexOffset(1000);
2545						clearInterval(interval);
2546						interval = null;
2547					}
2548				},100);
2549			}else {
2550				poiSearchMarker[0].popState = true;
2551				poiSearchMarker[0].bindPopup(tooltip.makePOIContent(poiSearchMarker[0].feature,poiSearchMarker[0].tooltipIconImg),{autoPan:true,minWidth:362,offset:[0,-20],'className':'dawul'});
2552				poiSearchMarker[0].openPopup();
2553				poiSearchMarker[0].setZIndexOffset(1000);
2554			}
2555		}
2556		$(".navi_PoiResult").hover(
2557			function() {
2558				var index = $(".navi_PoiResult").index(this);
2559				$(".navi_POIResultIcon")[index].src = "./images/pin/pin_on.png";
2560				var iconOn = new L.Icon({
2561					iconUrl:"./images/pin/mpin_on.png",
2562					iconAnchor: [14,33]
2563				});
2564				poiSearchMarker[index].setIcon(iconOn);
2565				for(var i=0; i<poiSearchMarker.length; i++) {
2566					if(i==index) {
2567						poiSearchMarker[i].setZIndexOffset(1000);
2568					}else {
2569						poiSearchMarker[i].setZIndexOffset(100);
2570					}
2571					if(poiSearchMarker[i].popState) {
2572						if(poiSearchMarker[i].c_tree_flag!=undefined) {
2573							poiSearchMarker[i].bindPopup(tooltip.themeContent(poiSearchMarker[i].feature,parseInt(poiSearchMarker[i].c_tree_flag)-1,poiSearchMarker[i].tooltipIconImg),{autoPan:true,minWidth:362,offset:[0,-20],'className':'dawul'});
2574						}else {
2575							poiSearchMarker[i].bindPopup(tooltip.makePOIContent(poiSearchMarker[i].feature,poiSearchMarker[i].tooltipIconImg),{autoPan:true,minWidth:362,offset:[0,-20],'className':'dawul'});
2576						}
2577					}
2578				}
2579				
2580				for(var i=0; i<geoCodingSearchMarker.length; i++) {
2581					geoCodingSearchMarker[i].setZIndexOffset(100);
2582				}
2583			},function() {
2584				var index = $(".navi_PoiResult").index(this);
2585				if(poiSearchMarker[index].popState) {
2586					if(poiSearchMarker[index].c_tree_flag!=undefined) {
2587						poiSearchMarker[index].bindPopup(tooltip.themeContent(poiSearchMarker[index].feature,parseInt(poiSearchMarker[index].c_tree_flag)-1,poiSearchMarker[index].tooltipIconImg),{autoPan:true,minWidth:362,offset:[0,-20],'className':'dawul'});
2588					}else {
2589						poiSearchMarker[index].bindPopup(tooltip.makePOIContent(poiSearchMarker[index].feature,poiSearchMarker[index].tooltipIconImg),{autoPan:true,minWidth:362,offset:[0,-20],'className':'dawul'});
2590					}
2591					poiSearchMarker[index].openPopup();
2592					return;
2593				}
2594				$(".navi_POIResultIcon")[index].src = poiSearchMarker[index].listMarkerImg;
2595				var iconOn = new L.Icon({
2596					iconUrl:poiSearchMarker[index].markerImg,
2597					iconAnchor: [14,33]
2598				});
2599				poiSearchMarker[index].setIcon(iconOn);
2600				
2601				for(var i=0; i<poiSearchMarker.length; i++) {
2602					if(poiSearchMarker[i].popState) {
2603						poiSearchMarker[i].setZIndexOffset(1000);
2604						if(poiSearchMarker[i].c_tree_flag!=undefined) {
2605							poiSearchMarker[i].bindPopup(tooltip.themeContent(poiSearchMarker[i].feature,parseInt(poiSearchMarker[i].c_tree_flag)-1,poiSearchMarker[i].tooltipIconImg),{autoPan:true,minWidth:362,offset:[0,-20],'className':'dawul'});
2606						}else {
2607							poiSearchMarker[i].bindPopup(tooltip.makePOIContent(poiSearchMarker[i].feature,poiSearchMarker[i].tooltipIconImg),{autoPan:true,minWidth:362,offset:[0,-20],'className':'dawul'});
2608						}
2609						poiSearchMarker[i].openPopup();
2610					}else {
2611						poiSearchMarker[i].setZIndexOffset(100);
2612					}
2613				}
2614				
2615				for(var i=0; i<geoCodingSearchMarker.length; i++) {
2616					if(geoCodingSearchMarker[i].popState) {
2617						geoCodingSearchMarker[i].setZIndexOffset(1000);
2618						geoCodingSearchMarker[i].bindPopup(tooltip.makeGeoContent(geoCodingSearchMarker[i].feature),{autoPan:true,minWidth:362,offset:[0,-20],'className':'dawul'});
2619						geoCodingSearchMarker[i].openPopup();
2620					}else {
2621						geoCodingSearchMarker[i].setZIndexOffset(100);
2622					}
2623				}
2624		});
2625	}
2626}
2627
2628
2629function navi_setMapClick(this_){ // / 리스트 클릭시 위치로 이동...
2630	if(rightClickPop!=null) {
2631		map.closePopup(rightClickPop);
2632	}
2633	for(var i=0; i<ncodeSearchMarker.length; i++) {
2634		ncodeSearchMarker[i].popState = false;
2635		ncodeSearchMarker[i].closePopup();
2636	}
2637	ncodeSelectMid = "";
2638	
2639	for(var i=0; i<jiguMarker.length; i++) {
2640		jiguMarker[i].popState = false;
2641		jiguMarker[i].closePopup();
2642	}
2643	jiguSelectMid = "";
2644	
2645	var className = this_.className.split(" ")[0];
2646	var index = $("."+className).index(this_);
2647	for(var i=0; i<subGeoCodingSearchMarker.length; i++) {
2648		map.removeLayer(subGeoCodingSearchMarker[i]);
2649	}
2650	if(className=="navi_JusoResult") {
2651		map.fitBounds(geoCodingSearchLayer[index].getBounds(),{ padding: [100, 100] });
2652		for(var i=0; i<geoCodingSearchMarker.length; i++) {
2653			if(i!=index) {
2654				geoCodingSearchMarker[i].popState = false;
2655				$(".navi_JusoResultIcon")[i].src = geoCodingSearchMarker[i].listMarkerImg;
2656				var iconOn = new L.Icon({
2657					iconUrl:geoCodingSearchMarker[i].markerImg,
2658					iconAnchor: [14,33]
2659				});
2660				geoCodingSearchMarker[i].setIcon(iconOn);
2661			}else {
2662				geoCodingSearchMarker[i].popState = true;
2663				geoCodingSearchMarker[i].bindPopup(tooltip.makeGeoContent(geoCodingSearchMarker[i].feature),{autoPan:true,minWidth:362,offset:[0,-20],'className':'dawul'});
2664				geoCodingSearchMarker[i].openPopup();
2665			}
2666		}
2667		
2668		for(var i=0; i<poiSearchMarker.length; i++) {
2669			poiSearchMarker[i].popState = false;
2670			
2671			$(".navi_POIResultIcon")[i].src = poiSearchMarker[i].listMarkerImg;
2672			var iconOn = new L.Icon({
2673				iconUrl:poiSearchMarker[i].markerImg,
2674				iconAnchor: [14,33]
2675			});
2676			poiSearchMarker[i].setIcon(iconOn);
2677		}
2678	} else if(className=="navi_PoiResult") {
2679		map.setView(poiSearchMarker[index].getLatLng(), 12);
2680		for(var i=0; i<geoCodingSearchMarker.length; i++) {
2681			geoCodingSearchMarker[i].popState = false;
2682			$(".navi_JusoResultIcon")[i].src = geoCodingSearchMarker[i].listMarkerImg;
2683			var iconOn = new L.Icon({
2684				iconUrl:geoCodingSearchMarker[i].markerImg,
2685				iconAnchor: [14,33]
2686			});
2687			geoCodingSearchMarker[i].setIcon(iconOn);
2688		}
2689		
2690		for(var i=0; i<poiSearchMarker.length; i++) {
2691			if(i!=index) {
2692				poiSearchMarker[i].popState = false;
2693				$(".navi_POIResultIcon")[i].src = poiSearchMarker[i].listMarkerImg;
2694
2695				var iconOn = new L.Icon({
2696					iconUrl:poiSearchMarker[i].markerImg,
2697					iconAnchor: [14,33]
2698				});
2699				
2700				poiSearchMarker[i].setIcon(iconOn);
2701			
2702			}else {
2703				poiSearchMarker[i].popState=true;
2704				if(poiSearchMarker[i].c_tree_flag!=undefined) {
2705					poiSearchMarker[i].bindPopup(tooltip.themeContent(poiSearchMarker[i].feature,parseInt(poiSearchMarker[i].c_tree_flag)-1,poiSearchMarker[i].tooltipIconImg),{autoPan:true,minWidth:362,offset:[0,-20],'className':'dawul'});
2706				}else {
2707					poiSearchMarker[i].bindPopup(tooltip.makePOIContent(poiSearchMarker[i].feature,poiSearchMarker[i].tooltipIconImg),{autoPan:true,minWidth:362,offset:[0,-20],'className':'dawul'});
2708				}
2709				poiSearchMarker[i].openPopup();
2710			}
2711		}
2712	}else if(className=="navi_subGeoResult") {
2713		map.fitBounds(subGeoCodingSearchLayer[index].getBounds(),{ padding: [100, 100] });
2714		for(var i=0; i<geoCodingSearchMarker.length; i++) {
2715			geoCodingSearchMarker[i].popState = false;
2716			$(".navi_JusoResultIcon")[i].src = geoCodingSearchMarker[i].listMarkerImg;
2717			var iconOn = new L.Icon({
2718				iconUrl:geoCodingSearchMarker[i].markerImg,
2719				iconAnchor: [14,33]
2720			});
2721			geoCodingSearchMarker[i].setIcon(iconOn);
2722		}
2723		
2724		for(var i=0; i<poiSearchMarker.length; i++) {
2725			poiSearchMarker[i].popState = false;
2726			$(".navi_POIResultIcon")[i].src = poiSearchMarker[i].markerImg;
2727			var iconOn = new L.Icon({
2728				iconUrl:poiSearchMarker[i].listMarkerImg,
2729				iconAnchor: [14,33]
2730			});
2731			poiSearchMarker[i].setIcon(iconOn);
2732		}
2733		
2734		for(var i=0; i<ncodeSearchMarker.length; i++) {
2735			ncodeSearchMarker[i].popState = false;
2736			ncodeSearchMarker[i].closePopup();
2737		}
2738		ncodeSelectMid = "";
2739		
2740		for(var i=0; i<jiguMarker.length; i++) {
2741			jiguMarker[i].popState = false;
2742			jiguMarker[i].closePopup();
2743		}
2744		jiguSelectMid = "";
2745		
2746		subGeoCodingSearchMarker[index].addTo(map);
2747		subGeoCodingSearchMarker[index].openPopup();
2748		
2749	}else if(className=="navi_subPOIResult") {
2750		map.setView(subPOISearchMarker[index].getLatLng(), 12); // 지도 위치 이동 (좌표,지도 레벨)
2751		for(var i=0; i<geoCodingSearchMarker.length; i++) {
2752			geoCodingSearchMarker[i].popState = false;
2753			$(".navi_JusoResultIcon")[i].src = geoCodingSearchMarker[i].listMarkerImg;
2754			var iconOn = new L.Icon({
2755				iconUrl:geoCodingSearchMarker[i].markerImg,
2756				iconAnchor: [14,33]
2757			});
2758			geoCodingSearchMarker[i].setIcon(iconOn);
2759			geoCodingSearchMarker[i].closePopup();
2760		}
2761		
2762		for(var i=0; i<poiSearchMarker.length; i++) {
2763			poiSearchMarker[i].popState = false;
2764			$(".navi_POIResultIcon")[i].src = poiSearchMarker[i].listMarkerImg;
2765			var iconOn = new L.Icon({
2766				iconUrl:poiSearchMarker[i].markerImg,
2767				iconAnchor: [14,33]
2768			});
2769			poiSearchMarker[i].setIcon(iconOn);
2770			poiSearchMarker[i].closePopup();
2771		}
2772		for(var i=0; i<subPOISearchMarker.length; i++) {
2773			if(i!=index) {
2774				subPOISearchMarker[i].popState = false;
2775			}else {
2776				subPOISearchMarker[i].popState = true;
2777				subPOISearchMarker[i].openPopup();
2778			}
2779		}
2780	}
2781}
2782
2783
2784function startEndChoice(this_,name,lat,lng) {
2785	var subFolder = "";
2786	if(lan=="KOR") { subFolder = "kor"; }
2787	else if(lan=="ENG") { subFolder = "eng"; }
2788	else if(lan=="JAN") { subFolder = "jpn"; }
2789	else if(lan=="CHINAG") { subFolder = "chn"; }
2790	
2791	var className = this_.className.split(" ")[0];
2792	var index = $("."+className).index(this_);
2793	if(className=="navi_JusoResult") {
2794		$(".navi_fix_addr_list").each(function(index2,e) {
2795			if(index!=index2) {
2796				$(e).css("display","none");
2797			}else {
2798				$(e).css("display","");
2799			}
2800		});
2801		
2802		$(".navi_fix_poi_list").css("display","none");
2803	}else if(className=="navi_PoiResult") {
2804		$(".navi_fix_poi_list").each(function(index2,e) {
2805			if(index!=index2) {
2806				$(e).css("display","none");
2807			}else {
2808				$(e).css("display","");
2809			}
2810		});
2811		
2812		$(".navi_fix_addr_list").css("display","none");
2813	}
2814	
2815	$("#"+naviSearchType).val(name);
2816	if(naviSearchType.indexOf("start")!=-1) {
2817		startName = name;
2818		startCoord = lat+","+lng;
2819		if(naviStartMk!=null) {
2820			naviStartMk.setLatLng(new L.LatLng(lat, lng));	
2821		}else {
2822			naviStartMk = new L.Marker(new L.LatLng(lat, lng),{icon: new L.Icon({
2823				iconUrl: "./images/naviImg/"+subFolder+"/rpin_start.png",
2824				iconAnchor: [15,36]
2825			})}).addTo(map);
2826			naviStartMk.setZIndexOffset(10000);	
2827		}
2828	}else if(naviSearchType.indexOf("end")!=-1) {
2829		endName = name;
2830		endCoord = lat+","+lng;
2831		if(naviEndMk!=null) {
2832			naviEndMk.setLatLng(new L.LatLng(lat, lng));	
2833		}else {
2834			naviEndMk = new L.Marker(new L.LatLng(lat, lng),{icon: new L.Icon({
2835	 	    	iconUrl: "./images/naviImg/"+subFolder+"/rpin_arrival.png",
2836	 	    	iconAnchor: [15,36]
2837			})}).addTo(map);
2838			naviEndMk.setZIndexOffset(10000);	
2839		}
2840	}else {
2841		middleNames.set(naviSearchType,name);
2842		middleCoords.set(naviSearchType,lat+","+lng);
2843		while (naviMiddleMk.length > 0) {
2844			map.removeLayer(naviMiddleMk[naviMiddleMk.length - 1]);
2845			naviMiddleMk.pop();
2846		}
2847		for(var i=0; i<middleCoords.size(); i++) {
2848			var coords = middleCoords.get(middleCoords.keySet()[i]).split(",");
2849			var iconIndex = parseInt(middleCoords.keySet()[i].replace("middleInput",""));
2850			naviMiddleMk.push(new L.Marker(new L.LatLng(coords[0], coords[1]),{icon: new L.Icon({
2851	   			iconUrl: "./images/naviImg/"+subFolder+"/rpin_via_"+(iconIndex+1)+".png",
2852	   			iconAnchor: [15,36]
2853	   		})}).addTo(map));
2854			naviMiddleMk[naviMiddleMk.length-1].setZIndexOffset(10000);
2855		}
2856	}
2857}
2858
2859function navi_searchClear() {
2860	while(geoCodingSearchLayer.length > 0){
2861		map.removeLayer(geoCodingSearchLayer[geoCodingSearchLayer.length - 1]);
2862		geoCodingSearchLayer.pop();
2863	}
2864	
2865	while (geoCodingSearchMarker.length > 0) {
2866		map.removeLayer(geoCodingSearchMarker[geoCodingSearchMarker.length - 1]);
2867		geoCodingSearchMarker.pop();
2868	}
2869	
2870	while(poiSearchMarker.length > 0){
2871		map.removeLayer(poiSearchMarker[poiSearchMarker.length - 1]);
2872		poiSearchMarker.pop();
2873	}
2874	
2875	$("#navi_addressListForm").html("");
2876	$("#navi_addressTotalCount").html("0");
2877	$("#navi_poiListForm").html("");
2878	$("#navi_poiTotalCount").html("0");
2879}
2880
2881function navi_subGeoSearchClear(id) {
2882	while (subGeoCodingSearchMarker.length > 0) {
2883		map.removeLayer(subGeoCodingSearchMarker[subGeoCodingSearchMarker.length - 1]);
2884		subGeoCodingSearchMarker.pop();
2885	}
2886	
2887	while (subGeoCodingSearchLayer.length > 0) {
2888		map.removeLayer(subGeoCodingSearchLayer[subGeoCodingSearchLayer.length - 1]);
2889		subGeoCodingSearchLayer.pop();
2890	}
2891	
2892	var idClass=$(".navi_sub_list");
2893	if(id!="") {
2894		/*
2895		 * for(var i=0; i<idClass.length; i++) { var tempId = idClass[i].id;
2896		 * if(tempId!=id) { $("#"+tempId).html(""); } }
2897		 */
2898	}else {
2899		idClass.html("");
2900		idClass.slideUp();
2901		$(".navi_sub_address").removeClass('minus');
2902		$(".navi_sub_address").addClass('plus');
2903	}
2904}
2905
2906
2907function navi_subPOISearchClear(id) {
2908	while (subPOISearchMarker.length > 0) {
2909		map.removeLayer(subPOISearchMarker[subPOISearchMarker.length - 1]);
2910		subPOISearchMarker.pop();
2911	}
2912	
2913	var idClass=$(".navi_sub_list");
2914	if(id!="") {
2915		/*
2916		 * for(var i=0; i<idClass.length; i++) { var tempId = idClass[i].id;
2917		 * if(tempId!=id) { $("#"+tempId).html(""); } }
2918		 */
2919	}else {
2920		idClass.html("");
2921		idClass.slideUp();
2922		$(".navi_sub_poi").removeClass('minus');
2923		$(".navi_sub_poi").addClass('plus');
2924	}
2925}
2926
2927
2928function navi_searchReset() {
2929	$("#unifiedSearchForm").css("display","none");
2930	$("#inputSearchDel").css("display","none");
2931	$("#inputSearch").val("");
2932	searchClear();
2933}
2934
2935
2936// 슬라이드
2937function navi_subMenuSlide(searchType,id,type,page,parentIndex,treeFlag) {
2938	if(searchType=="addressSearch") {
2939		if(type==0) {
2940			var submenu = $("#"+id);
2941	        // submenu 가 화면상에 보일때는 위로 보드랍게 접고 아니면 아래로 보드랍게 펼치기
2942			navi_subGeoSearchClear("");
2943			
2944	        if(submenu.is(":visible")) {
2945	            submenu.slideUp(200);
2946	            var subClass = $(".navi_JusoResult").eq(parentIndex).find(".navi_sub_address");
2947	            subClass.removeClass('minus');
2948	            subClass.addClass('plus');
2949	        }else{
2950	        	navi_setMapClick($(".navi_JusoResult")[parentIndex]);
2951	        	navi_subGeoSearch(id,"ORIGIN",page);
2952	            submenu.slideDown(200);
2953	            var subClass = $(".navi_JusoResult").eq(parentIndex).find(".navi_sub_address");
2954	            subClass.removeClass('plus');
2955	            subClass.addClass('minus');
2956	        }
2957		}else {
2958			navi_subGeoSearchClear(id);
2959			navi_subGeoSearch(id,"ORIGIN",page);
2960		}
2961	}else if(searchType=="POISearch") {
2962		if(type==0) {
2963			var submenu = $("#"+id);
2964	        // submenu 가 화면상에 보일때는 위로 보드랍게 접고 아니면 아래로 보드랍게 펼치기
2965			navi_subPOISearchClear("");
2966	        if(submenu.is(":visible")) {
2967	            submenu.slideUp(200);
2968	            var subClass = $(".navi_PoiResult").eq(parentIndex).find(".navi_sub_poi");
2969	            subClass.removeClass('minus');
2970	            subClass.addClass('plus');
2971	        }else{
2972	        	navi_setMapClick($(".navi_PoiResult")[parentIndex]);
2973	        	navi_subPOISearch(id,page,treeFlag,parentIndex);
2974	            submenu.slideDown(200);
2975	            var subClass = $(".navi_PoiResult").eq(parentIndex).find(".navi_sub_poi");
2976	            subClass.removeClass('plus');
2977	            subClass.addClass('minus');
2978	        }
2979		}else {
2980			navi_subPOISearchClear(id);
2981			navi_setMapClick($(".navi_PoiResult")[parentIndex]);
2982			navi_subPOISearch(id,page,treeFlag,parentIndex);
2983		}
2984	}
2985}
2986
2987function naviChoice(type,lat,lng,name) {
2988	/** 190829_JIK **/
2989	if(baseMapCnt == 0){
2990		gridAllClear(0); 
2991	}else{
2992		gridAllClear(1);
2993	}
2994	
2995	/* ------------------------ v4 ---------------------------
2996	1. 경로탐색 출도착,경유 판단
2997	---------------------------------------------------------- */
2998	if(type=="startInput"){
2999		startInputFlag = true; endInputFlag = false; middleInputFlag = false;
3000	}else if(type=="endInput"){
3001		startInputFlag = false; endInputFlag = true; middleInputFlag = false;
3002	}else if(type.indexOf("middleInput")!=-1){
3003		startInputFlag = false; endInputFlag = false; middleInputFlag = true;
3004	}
3005	/* ------------------------------------------------------ */
3006	
3007	if($("#naviForm").css("display")=="none") {
3008		naviTextForm();
3009		naviTextFormTf();
3010		naviTextFormSp();
3011		// -------------------------------------------- //
3012	}
3013	$("#searchForm").css("display","none");
3014	$("#naviForm").css("display","");
3015	//----------- v4 : 탭버튼 클릭 시 예외 ------------- //
3016	if(globalNaviTabClickFlag == false){
3017		naviTab(0);
3018	}
3019	// -------------------------------------------- //
3020	searchClear();
3021	bSearchAllClear();
3022	
3023	for(var i=0; i<ncodeSearchMarker.length; i++) {
3024		ncodeSearchMarker[i].popState = false;
3025	}
3026	ncodeSelectMid = "";
3027	
3028	if(startName=="" || endName=="") {
3029		$("#naviFromBg").removeClass("r_size");
3030		navi_rsize_check = false;
3031		$("#naviOnOff").css("display","none");
3032	}
3033	
3034	for(var i=0; i<jiguMarker.length; i++) {
3035		jiguMarker[i].popState = false;
3036	}
3037	jiguSelectMid = "";
3038	
3039	//----------- v4 : 검색 초기화 ------------- //
3040	navi_searchClear();
3041	navi_searchClearTf();
3042	navi_searchClearSp();
3043	// -------------------------------------- //
3044	$("#naviSearchForm").css("display","none");
3045	map.closePopup(rightClickPop);
3046	if(name==null) {  //오른쪽 팝업에서 출발,경유,도착 선택
3047		naviGatAddress(type,lat,lng,"ROAD_ADDRESS");
3048	}else {  //리스트 및 팝업에서 출발,경유,도착 선택
3049		setNaviInfo(type,lat,lng,name);
3050	}
3051}
3052
3053
3054
3055function naviGatAddress(type,lat,lng,adminType) {
3056	jHeader.serviceName = "REVERSE_GEOCODING";
3057	revBody.point = lat+","+lng;
3058	revBody.selectFields.geoType = "EMPTY";
3059	revBody.adminType = adminType;
3060	revBody.spatialOperation = "INTERSECT";
3061	
3062	var jReqBody = {
3063		"header" : jHeader,
3064		"body" : revBody
3065	};
3066	
3067	var dataString = "callback=?&req="+encodeURIComponent(objectToJSONString(jReqBody));
3068	//console.log(jUrl+"?callback=?&req="+objectToJSONString(jReqBody));
3069	$.ajax({
3070		url:jUrl,
3071		async:true,
3072		type:'POST',
3073		dataType:'jsonp',
3074		data:dataString,
3075		timeout : 200000,
3076		error : function(d, textStatus, error){
3077			alert("다시 실행해주시기 바랍니다. code:11 \n"+"getJSON failed : "+d+",  status: " + textStatus + ",  error: "+error);
3078		},success: function(data, result){
3079			var geojson = data.body.geojson;
3080			if(geojson!=null) {
3081				var addrname = "";
3082				if(adminType=="ROAD_ADDRESS") {
3083					addrname = data.body.geojson.features[0].properties.newrpnuname; // 도로명주소
3084				}else {
3085					addrname = data.body.geojson.features[0].properties.pnuname; // 지번 주소
3086				}
3087				setNaviInfo(type,lat,lng,addrname);
3088			}else {
3089				if(adminType=="ROAD_ADDRESS") {
3090					naviGatAddress(type,lat,lng,"JIBUN_ADDRESS");
3091				}else {
3092					if(lan=="KOR") { alert("주소를 찾을 수 없습니다."); }
3093					else if(lan=="ENG") { alert("You have not found the address you want."); }
3094					else if(lan=="JAN") { alert("住所を見つけられません。"); }
3095					else if(lan=="CHINAG") { alert("未找到您要的地址。"); }
3096				}
3097			}
3098		}
3099	});
3100}
3101
3102
3103function setNaviInfo(type, lat, lng, name){
3104	var subFolder = "";
3105	if(lan=="KOR") { subFolder = "kor"; }
3106	else if(lan=="ENG") { subFolder = "eng"; }
3107	else if(lan=="JAN") { subFolder = "jpn"; }
3108	else if(lan=="CHINAG") { subFolder = "chn"; }
3109	
3110	if(type.indexOf("start")!=-1) {
3111		if(naviStartMk==null) {
3112			naviStartMk = new L.Marker(new L.LatLng(lat,lng),{icon: new L.Icon({
3113   	 	    	iconUrl: "./images/naviImg/"+subFolder+"/rpin_start.png",
3114   	 	    	iconAnchor: [15,36]
3115   			})}).addTo(map);
3116		}else {
3117			naviStartMk.setLatLng(new L.LatLng(lat,lng));
3118		}
3119		naviStartMk.setZIndexOffset(10000);
3120		if(name=="") {
3121			if(lan=="KOR") { name = "출발"; }
3122			else if(lan=="ENG") { name = "Start"; }
3123			else if(lan=="JAN") { name = "出発"; }
3124			else if(lan=="CHINAG") { name = "出发"; }
3125		}
3126		$("#startInput").val(name);
3127		startName = name;
3128		startCoord=lat+","+lng;
3129		naviTextFormFocus(type);
3130	}else if(type.indexOf("end")!=-1) {
3131		if(naviEndMk==null) {
3132			naviEndMk = new L.Marker(new L.LatLng(lat,lng),{icon: new L.Icon({
3133				iconUrl: "./images/naviImg/"+subFolder+"/rpin_arrival.png",
3134				iconAnchor: [15,36]
3135   			})}).addTo(map);
3136		}else {
3137			naviEndMk.setLatLng(new L.LatLng(lat,lng));
3138		}
3139		naviEndMk.setZIndexOffset(10000);
3140		if(name=="") {
3141			if(lan=="KOR") { name = "도착"; }
3142			else if(lan=="ENG") { name = "Arrive"; }
3143			else if(lan=="JAN") { name = "到着"; }
3144			else if(lan=="CHINAG") { name = "到着"; }
3145		}
3146		$("#endInput").val(name);
3147		endName = name;
3148		endCoord=lat+","+lng;
3149		naviTextFormFocus(type);
3150	}else if(type.indexOf("middle")!=-1){
3151		var middleCnt = parseInt(type.replace("middleInput",""));
3152		if(middleCnt>=naviAddTextFormCnt) {
3153			var check = naviAddTextForm();
3154			if(!check) {
3155				return;
3156			}
3157		}
3158		naviMiddleMk.push(new L.Marker(new L.LatLng(lat,lng),{icon: new L.Icon({
3159   			iconUrl: "./images/naviImg/"+subFolder+"/rpin_via_"+(middleCnt+1)+".png",
3160   			iconAnchor: [15,36]
3161   		})}).addTo(map));
3162		naviMiddleMk[naviMiddleMk.length-1].setZIndexOffset(10000);
3163		if(name=="") {
3164			if(lan=="KOR") { name = "경유"; }
3165			else if(lan=="ENG") { name = "Via"; }
3166			else if(lan=="JAN") { name = "経由"; }
3167			else if(lan=="CHINAG") { name = "经由"; }
3168		}
3169		$("#"+type).val(name);
3170		middleNames.set(type,name);
3171		middleCoords.set(type,lat+","+lng);
3172		naviTextFormFocus(type);
3173	}
3174	
3175	for(var i=0; i<$(".naviSearchInput").length; i++) {
3176		if($(".naviSearchInput").eq(i).val()!="") {
3177			textDelOn(i);
3178		}
3179	}
3180	
3181	if(startName!="" && endName!="") {
3182		naviStart();
3183	}
3184}
3185
3186
3187// ==================================== 길찾기 ==========================================
3188
3189function naviStart(){ 
3190	/* ------------------------ v4 ---------------------------
3191	1. 자동차 길찾기 성공 시 판단 값
3192	---------------------------------------------------------- */
3193	naviProcessFlag = true;
3194	startInputFlag = false;
3195	middleInputFlag = false;
3196	endInputFlag = false;
3197	naviProcessFlagSp = false;
3198	startInputFlagSp = false;
3199	middleInputFlagSp = false;
3200	endInputFlagSp = false;
3201	naviProcessFlagTf = false;
3202	startInputFlagTf = false;
3203	endInputFlagTf = false;
3204	/* ------------------------------------------------------ */
3205	
3206	if(rightClickPop!=null) {
3207		map.closePopup(rightClickPop);
3208	}
3209	
3210	var startInfoStr = "", middleInfoStr = "", endInfoStr = "", startEndEqual = "";
3211	if(lan=="KOR") { startInfoStr = "출발지를 입력하세요."; middleInfoStr = "경유지를 입력하세요."; endInfoStr = "도착지를 입력하세요."; startEndSame = "출발지와 도착지가 같습니다."; }
3212	else if(lan=="ENG") { startInfoStr = "Input the starting place."; middleInfoStr = "Input the stopover place."; endInfoStr = "Input the destination."; startEndSame = "Starting point and destination are the Same."; }
3213	else if(lan=="JAN") { startInfoStr = "出発地入力"; middleInfoStr = "経由地入力"; endInfoStr = "目的地入力"; startEndSame = "出発地と到着地が同じです。"; }
3214	else if(lan=="CHINAG") { startInfoStr = "输入出发地"; middleInfoStr = "输入经由地"; endInfoStr = "输入目的地"; startEndSame = "出发地和目的地相同。"; }
3215	
3216	if(startCoordSp != "" && endCoordSp != ""){
3217		startCoord = startCoordSp;
3218		endCoord = endCoordSp;
3219		if(middleCoordsSp.size()>0){
3220			middleCoords = middleCoordsSp;
3221		}
3222	}else if(startCoordTf != "" && endCoordTf != ""){
3223		startCoord = startCoordTf;
3224		endCoord = endCoordTf;
3225	}
3226	
3227	if(startName=="") {
3228		alert(startInfoStr);
3229	}else if(endName=="") {
3230		alert(endInfoStr);
3231	}else if(startCoord==endCoord && middleNames.size()==0) {
3232		alert(startEndSame);
3233	}else {
3234		$("#naviOnOff").css("display","");
3235		$("#naviOnOff").attr("class","ico_close naviOnOff");
3236		
3237		$("#naviFromBg").addClass("r_size");
3238		navi_rsize_check = true;
3239		middleSetTextForm();
3240		$("#naviSearchForm").css("display","none");
3241		//$("#naviResultForm").css("display","block");
3242		$('#startEndName').html($('#startInput').val()+'<span class="p_arrow"></span>'+$('#endInput').val());
3243		navi_searchClear();
3244		naviResultClear();
3245		naviSubmit();
3246	}
3247}
3248
3249
3250function naviSubmit() {
3251	var pathFindType = $(".pathFindType:checked").val();
3252	var realTimeCheck = document.getElementById("realTime");
3253	jHeader.serviceName = "CAR_ROUTE";
3254	
3255	naviBody.startPoint.coordinate = startCoord;
3256	naviBody.endPoint.coordinate = endCoord;
3257	naviBody.middlePoint = [];
3258	if(middleCoords.size()>0) {
3259		for(var i=0; i<middleCoords.size(); i++) {
3260			naviBody.middlePoint[i] = {};
3261			naviBody.middlePoint[i].coordinate = middleCoords.get(middleCoords.keySet()[i]);
3262			naviBody.middlePoint[i].id = i+1;
3263		}
3264	}
3265	naviBody.pathFindType = pathFindType;
3266	
3267	naviBody.realTime = false;
3268	if($(realTimeCheck).is(":checked")){
3269		naviBody.realTime = true;
3270	}
3271	naviBody.useStartDirection = $("#switch1").is(':checked');
3272	naviBody.useEndDirection = $("#switch2").is(':checked');
3273	if($("#switch3").is(':checked')) {
3274		naviBody.oneWayType = 1;
3275	}else {
3276		naviBody.oneWayType = 0;
3277	}
3278	naviBody.ignoreOneWay = $("#switch4").is(':checked');
3279	naviBody.avoidSchoolZone = $("#switch5").is(':checked');
3280	naviBody.avoidWaterSourceArea = $("#switch6").is(':checked');
3281	naviBody.hipass = $("#switch7").is(':checked');
3282	naviBody.exception = "";
3283	naviBody.fuelEconomy = {};
3284	naviBody.fuelEconomy.gasolineCost = $("#oilPrice1").children("input").val();
3285	naviBody.fuelEconomy.premiumGasolineCost = $("#oilPrice2").children("input").val();
3286	naviBody.fuelEconomy.dieselCost = $("#oilPrice3").children("input").val();
3287	naviBody.fuelEconomy.lpgCost = $("#oilPrice4").children("input").val();
3288	naviBody.fuelEconomy.distance = $("#mileage").val();
3289	
3290	jHeader.key = "38e57a5016010e8429228065e5f1aa990e61b10c";
3291	//jHeader.key = "e4d049300fa2db77b73aae37d507ca0851faf7a8";
3292	
3293	var jReqBody = {
3294		"header" : jHeader,
3295		"body" : naviBody
3296	};
3297	var dataString = "callback=?&req="+encodeURIComponent(objectToJSONString(jReqBody));
3298	//console.log(jUrl+"?callback=?&req="+objectToJSONString(jReqBody));
3299	
3300	/*
3301	 * $('#lodingBg').fadeIn(500); $('#viewLoading').fadeIn(500);
3302	 */
3303
3304	$.ajax({
3305		url:jUrl,
3306		async:true,
3307		type:'POST',
3308		dataType:'jsonp',
3309		data:dataString,
3310		timeout : 200000,
3311		error : function(d, textStatus, error){
3312			alert("다시 실행해주시기 바랍니다. code:11 \n"+"getJSON failed : "+d+",  status: " + textStatus + ",  error: "+error);
3313		},success: function(data, result){
3314			if(data.header.result=="00") {
3315				if(data.body.geojson != undefined){
3316					$("#naviResultForm").css("display","block");
3317					$("#naviNoResultForm").css("display","none");
3318					
3319					
3320					var features = data.body.geojson.features;
3321					var cloneFeatures1 = JSON.parse(JSON.stringify(data.body.geojson.features));
3322					var cloneFeatures2 = JSON.parse(JSON.stringify(data.body.geojson.features));
3323					var newFeatures1 = [];
3324					var newFeatures2 = [];
3325					
3326					for(var i=0; i<features.length; i++) {
3327						var feature = features[i];
3328						var cloneFeature1 = cloneFeatures1[i];
3329						var cloneFeature2 = cloneFeatures2[i];
3330						var properties = feature.properties;
3331						if(properties.guide_type!="") {
3332							newFeatures1.push(cloneFeature1);
3333							newFeatures2.push(cloneFeature2);
3334						}else {
3335							var prevFeature = features[i-1];
3336							var prevProperties = prevFeature.properties;
3337							
3338							if(prevProperties.traffic_color!=properties.traffic_color
3339								|| (prevProperties.guide_type!=""
3340									&& prevProperties.guide_type!="0"
3341									&& prevProperties.guide_type!="1"
3342									&& prevProperties.guide_type!="41"
3343									&& prevProperties.guide_type!="45"
3344									&& prevProperties.guide_type!="64"
3345									&& prevProperties.guide_type!="65"
3346									&& prevProperties.guide_type!="66"
3347									&& prevProperties.guide_type!="67")) {
3348								newFeatures1.push(cloneFeature1);
3349							}else {
3350								var newFeature1 = newFeatures1[newFeatures1.length-1];
3351								newFeature1.properties.distance = Number(newFeature1.properties.distance)+Number(feature.properties.distance);
3352								for(var j=0; j<feature.geometry.coordinates.length; j++) {
3353									if(j!=0) {
3354										newFeature1.geometry.coordinates.push(cloneFeature1.geometry.coordinates[j]);
3355									}
3356								}
3357							}
3358							
3359							if(prevProperties.guide_type!=""
3360								&& prevProperties.guide_type!="0"
3361								&& prevProperties.guide_type!="1"
3362								&& prevProperties.guide_type!="41"
3363								&& prevProperties.guide_type!="45"
3364								&& prevProperties.guide_type!="64"
3365								&& prevProperties.guide_type!="65"
3366								&& prevProperties.guide_type!="66"
3367								&& prevProperties.guide_type!="67") {
3368								newFeatures2.push(cloneFeature2);
3369							}else {
3370								var newFeature2 = newFeatures2[newFeatures2.length-1];
3371								newFeature2.properties.distance = Number(newFeature2.properties.distance)+Number(feature.properties.distance);
3372								for(var j=0; j<feature.geometry.coordinates.length; j++) {
3373									if(j!=0) {
3374										newFeature2.geometry.coordinates.push(cloneFeature2.geometry.coordinates[j]);
3375									}
3376								}
3377							}
3378						}
3379					}
3380					data.body.geojson.features = newFeatures1;
3381					data.body.geojson.features2 = newFeatures2;
3382				 	naviResult(data);
3383				}else{
3384					$("#naviResultForm").css("display","none");
3385					$("#naviNoResultForm").css("display","block");
3386					
3387					if(lan=="KOR") {
3388						alert("길찾기에 실패 하였습니다.");
3389					}else if(lan=="ENG") {
3390						alert("The route search failed.");
3391					}else if(lan=="JAN") {
3392						alert("道探しに失敗しました。");
3393					}else if(lan=="CHINAG") {
3394						alert("路线搜索失败了。");
3395					}
3396				}
3397			}else {
3398				$("#naviResultForm").css("display","none");
3399				$("#naviNoResultForm").css("display","block");
3400				
3401				if(lan=="KOR") {
3402					alert("길찾기에 실패 하였습니다.");
3403				}else if(lan=="ENG") {
3404					alert("The route search failed.");
3405				}else if(lan=="JAN") {
3406					alert("道探しに失敗しました。");
3407				}else if(lan=="CHINAG") {
3408					alert("路线搜索失败了。");
3409				}
3410				/*$('#viewLoading').fadeOut(500);
3411   				$('#lodingBg').fadeOut(500);*/
3412   				// alert('데이터가 존재하지 않습니다.');
3413			}
3414			
3415			//----------- v4 : 검색 초기화 ------------- //
3416			startCoordSp = "";
3417		 	endCoordSp = "";
3418		 	startCoordTf = "";
3419		 	endCoordTf = "";
3420		 	//-------------------------------------- //
3421		}
3422	});
3423}
3424
3425
3426function naviResult(data) {
3427	try{
3428		naviStartCheck = true;
3429		
3430		var list = '';
3431		if(data!=null && data != ""){
3432			var body = data.body;
3433			allDist = body.totalDistance;
3434			var dist = allDist;
3435			var time = body.totalTime;
3436			var hour = parseInt(time/3600);
3437			var min = parseInt((time%3600)/60);
3438			var middles = body.middlePoint;
3439			
3440			if(hour==0 && min==0) { min=1; }
3441			
3442			if(dist>=1000) { dist = toComma(dist/1000); $('#naviDist').html('<span>'+dist+'</span> km'); }
3443			else { dist = toComma(dist); $('#naviDist').html('<span>'+dist+'</span> m'); }
3444			
3445			var subFolder = "";
3446			if(lan=="KOR") {
3447				$('#naviTime').html('<span>'+hour+'</span> 시간 <span>'+min+'</span> 분');
3448				subFolder = "kor";
3449			}else if(lan=="ENG") {
3450				$('#naviTime').html('<span>'+hour+'</span> hr <span>'+min+'</span> min');
3451				subFolder = "eng";
3452			}else if(lan=="JAN") {
3453				$('#naviTime').html('<span>'+hour+'</span> 時間 <span>'+min+'</span> 分');
3454				subFolder = "jpn";
3455			}else if(lan=="CHINAG") {
3456				$('#naviTime').html('<span>'+hour+'</span> 时间 <span>'+min+'</span> 分');
3457				subFolder = "chn";
3458			}
3459			
3460			var carPriceSetIndex = $(".car_price_set").children("div.on").index();
3461			var priceToll = body.totalGatePrice[carPriceSetIndex].price;
3462			tollChange(priceToll);
3463			
3464			var oilPriceSetIndex = $(".oil_price_set").children("div.on").index();
3465			var oilPrice = 0;
3466			if(oilPriceSetIndex==0) {
3467				oilPrice = body.fuelEconomy.gasolineTotalCost;
3468			}else if(oilPriceSetIndex==1) {
3469				oilPrice = body.fuelEconomy.premiumGasolineTotalCost;
3470			}else if(oilPriceSetIndex==2) {
3471				oilPrice = body.fuelEconomy.dieselTotalCost;
3472			}else if(oilPriceSetIndex==3) {
3473				oilPrice = body.fuelEconomy.lpgTotalCost;
3474			}
3475			oilChange(oilPrice);
3476			
3477			if(middles!=null) {
3478				for(var i=0,j=0; i<middles.length; i++) {
3479					/*if(middles[i].isRoute) {*/
3480						var middleCoord = middles[i].coordinate.split(",");
3481						naviMiddleMk.push(new L.Marker(new L.LatLng(middleCoord[0], middleCoord[1]),{icon: new L.Icon({
3482							iconUrl : "./images/naviImg/"+subFolder+"/rpin_via_"+(j+1)+".png",
3483							iconAnchor: [15,36]
3484				   		})}).addTo(map));
3485						naviMiddleMk[naviMiddleMk.length-1].popState = false;
3486						naviMiddleMk[naviMiddleMk.length-1].index = naviMiddleMk.length-1;
3487						naviMiddleMk[naviMiddleMk.length-1].bindPopup(tooltip.naviContent("middle",middleNames.get(middleNames.keySet()[i])
3487),{autoPan:true,minWidth:362,offset:[0,-15],'className':'dawul'});
3488						naviMiddleMk[naviMiddleMk.length-1].setZIndexOffset(10000);
3489						naviMiddleMk[naviMiddleMk.length-1].on("click", function(){
3490							var index = this.index;
3491							if(this.popState) {
3492								this.popState = false;
3493							}else {
3494								if(rightClickPop!=null) {
3495									map.closePopup(rightClickPop);
3496								}
3497								this.popState = true;
3498								$(".naviMiddle").eq(index).addClass("on");
3499								naviStartMk.popState=false;
3500								$(".naviStart").removeClass("on");
3501								naviEndMk.popState=false;
3502								$(".naviEnd").removeClass("on");
3503								for(var i=0; i<naviMiddleMk.length; i++) {
3504									if(i!=index) {
3505										naviMiddleMk[i].popState=false;
3506										$(".naviMiddle").eq(i).removeClass("on");
3507									}
3508								}
3509								for(var i=0; i<naviInfoMk.length; i++) {
3510									naviInfoMk[i].popState = false;
3511									naviInfoMk[i].setZIndexOffset(100);
3512									
3513									var iconOff = new L.Icon({
3514										iconUrl:'./images/naviImg/num/rnum'+(i+1)+'.png',
3515										iconAnchor: [12,12]
3516									});
3517									naviInfoMk[i].setIcon(iconOff);
3518									naviLayers2[i].setStyle({opacity : 0, fillOpacity : 0});
3519									/*naviLayers[i].setStyle({
3520										weight: 4,
3521										color : "#FF0000",
3522										opacity : 1,
3523										fillColor : "#FF0000",
3524										fillOpacity : 1
3525									});*/
3526									$(".naviResultIcon").eq(i).attr("src",'./images/naviImg/num/rnum'+(i+1)+'.png');
3527								}
3528								$(".naviResult").removeClass("on");
3529								
3530								for(var i=0; i<ncodeSearchMarker.length; i++) {
3531									ncodeSearchMarker[i].popState = false;
3532									ncodeSearchMarker[i].closePopup();
3533								}
3534								ncodeSelectMid = "";
3535								
3536								for(var i=0; i<jiguMarker.length; i++) {
3537									jiguMarker[i].popState = false;
3538									jiguMarker[i].closePopup();
3539								}
3540								jiguSelectMid = "";
3541							}
3542						});
3543						j++;
3544					/*}else {
3545						//alert("경유지 실패");
3546					}*/
3547				}
3548			}
3549			var startcoordT = body.startPoint.coordinate.split(",");
3550			naviStartMk = new L.Marker(new L.LatLng(startcoordT[0], startcoordT[1]),{icon: new L.Icon({
3551		    	iconUrl: "./images/naviImg/"+subFolder+"/rpin_start.png",
3552		    	iconAnchor: [15,36]
3553			})}).addTo(map);
3554			naviStartMk.popState = false;
3555			naviStartMk.bindPopup(tooltip.naviContent("start",startName),{autoPan:true,minWidth:362,offset:[0,-20],'className':'dawul'});
3556			naviStartMk.setZIndexOffset(10000);
3557			naviStartMk.on("click", function(){
3558				if(this.popState) {
3559					this.popState = false;
3560				}else {
3561					if(rightClickPop!=null) {
3562						map.closePopup(rightClickPop);
3563					}
3564					this.popState = true;
3565					$(".naviStart").addClass("on");
3566					naviEndMk.popState=false;
3567					$(".naviEnd").removeClass("on");
3568					if(naviMiddleMk.length>0) {
3569						for(var i=0; i<naviMiddleMk.length; i++) {
3570							naviMiddleMk[i].popState=false;
3571						}
3572						$(".naviMiddle").removeClass("on");
3573					}
3574					
3575					for(var i=0; i<naviInfoMk.length; i++) {
3576						naviInfoMk[i].popState = false;
3577						naviInfoMk[i].setZIndexOffset(100);
3578						
3579						var iconOff = new L.Icon({
3580							iconUrl:'./images/naviImg/num/rnum'+(i+1)+'.png',
3581							iconAnchor: [12,12]
3582						});
3583						naviInfoMk[i].setIcon(iconOff);
3584						naviLayers2[i].setStyle({opacity : 0, fillOpacity : 0});
3585						/*naviLayers[i].setStyle({
3586							weight: 4,
3587							color : "#FF0000",
3588							opacity : 1,
3589							fillColor : "#FF0000",
3590							fillOpacity : 1
3591						});*/
3592						$(".naviResultIcon").eq(i).attr("src",'./images/naviImg/num/rnum'+(i+1)+'.png');
3593					}
3594					$(".naviResult").removeClass("on");
3595					
3596					for(var i=0; i<ncodeSearchMarker.length; i++) {
3597						ncodeSearchMarker[i].popState = false;
3598						ncodeSearchMarker[i].closePopup();
3599					}
3600					ncodeSelectMid = "";
3601					
3602					for(var i=0; i<jiguMarker.length; i++) {
3603						jiguMarker[i].popState = false;
3604						jiguMarker[i].closePopup();
3605					}
3606					jiguSelectMid = "";
3607				}
3608			});
3609		
3610			var endcoordT = body.endPoint.coordinate.split(",");
3611			naviEndMk = new L.Marker(new L.LatLng(endcoordT[0], endcoordT[1]),{icon: new L.Icon({
3612		    	iconUrl: "./images/naviImg/"+subFolder+"/rpin_arrival.png",
3613		    	iconAnchor: [15,36]
3614			})}).addTo(map);
3615			naviEndMk.popState = false;
3616			naviEndMk.bindPopup(tooltip.naviContent("end",endName),{autoPan:true,minWidth:362,offset:[0,-20],'className':'dawul'});
3617			naviEndMk.setZIndexOffset(10000);
3618			naviEndMk.on("click", function(){
3619				if(this.popState) {
3620					this.popState = false;
3621				}else {
3622					if(rightClickPop!=null) {
3623						map.closePopup(rightClickPop);
3624					}
3625					this.popState = true;
3626					naviStartMk.popState=false;
3627					$(".naviStart").removeClass("on");
3628					$(".naviEnd").addClass("on");
3629					if(naviMiddleMk.length>0) {
3630						for(var i=0; i<naviMiddleMk.length; i++) {
3631							naviMiddleMk[i].popState=false;
3632						}
3633						$(".naviMiddle").removeClass("on");
3634					}
3635					
3636					for(var i=0; i<naviInfoMk.length; i++) {
3637						naviInfoMk[i].popState = false;
3638						naviInfoMk[i].setZIndexOffset(100);
3639						
3640						var iconOff = new L.Icon({
3641							iconUrl:'./images/naviImg/num/rnum'+(i+1)+'.png',
3642							iconAnchor: [12,12]
3643						});
3644						naviInfoMk[i].setIcon(iconOff);
3645						naviLayers2[i].setStyle({opacity : 0, fillOpacity : 0});
3646						/*naviLayers[i].setStyle({
3647							weight: 4,
3648							color : "#FF0000",
3649							opacity : 1,
3650							fillColor : "#FF0000",
3651							fillOpacity : 1
3652						});*/
3653						$(".naviResultIcon").eq(i).attr("src",'./images/naviImg/num/rnum'+(i+1)+'.png');
3654					}
3655					$(".naviResult").removeClass("on");
3656					
3657					for(var i=0; i<ncodeSearchMarker.length; i++) {
3658						ncodeSearchMarker[i].popState = false;
3659						ncodeSearchMarker[i].closePopup();
3660					}
3661					ncodeSelectMid = "";
3662					
3663					for(var i=0; i<jiguMarker.length; i++) {
3664						jiguMarker[i].popState = false;
3665						jiguMarker[i].closePopup();
3666					}
3667					jiguSelectMid = "";
3668				}
3669			});
3670			
3671			list += '<li class="naviStart clear" onclick="naviResult_setMapClick(this);">';
3672			list += '<div class="ico"><img src="./images/naviImg/'+subFolder+'/rpin_start.png" width="30" height="36" alt="" /></div>';
3673			list += '<div class="fl">';
3674			list += '<p><a href="#" class="txt">'+startName+'</a></p>';
3675			list += '</div>';
3676			list += '</li>';
3677			
3678			var features = body.geojson.features;
3679			var features2 = body.geojson.features2;
3680			
3681			var fullLineData = null;
3682			var fullLineDataCnt = 0;
3683			fullLineData = {};
3684			fullLineData.type="Feature";
3685			fullLineData.id="0";
3686			fullLineData.geometry={};
3687			fullLineData.geometry.type="LineString";
3688			fullLineData.geometry.coordinates=[];
3689			
3690			var middleNum = 0;
3691			for(var i=0; i<features.length; i++) {
3692				var feature = features[i];
3693				var properties = feature.properties;
3694				if (feature.geometry.type == "LineString") { // 2배열
3695					var k = fullLineDataCnt;
3696					for(var j=k,l=0; j<feature.geometry.coordinates.length+k; j++,l++) {
3697						fullLineData.geometry.coordinates[j]=[];
3698						fullLineData.geometry.coordinates[j][0] = feature.geometry.coordinates[l][0];
3699						fullLineData.geometry.coordinates[j][1] = feature.geometry.coordinates[l][1];
3700						fullLineDataCnt++;
3701					}
3702					fullLineDatas.push(feature);
3703					
3704					borderNaviLayers.push(new L.GeoJSON(
3705							fullLineDatas[fullLineDatas.length-1], {
3706								style : function() {
3707									return {
3708										weight: 8,
3709										color : "#000",
3710										opacity : 1,
3711										fillColor : "#000",
3712										fillOpacity : 1
3713									};						
3714								}
3715							}).addTo(map));
3716					
3717					naviLayers.push(new L.GeoJSON(
3718						fullLineDatas[fullLineDatas.length-1], {
3719							style : function() {
3720								return {
3721									weight: 6,
3722									color : properties.traffic_color,
3723									opacity : 1,
3724									fillColor : properties.traffic_color,
3725									fillOpacity : 1
3726								};						
3727							}
3728						}).addTo(map));
3729					naviLayers[naviLayers.length-1].traffic_color = properties.traffic_color;
3730				}
3731			}
3732			
3733			for(var i=0; i<features2.length; i++) {
3734				var feature = features2[i];
3735				var properties = feature.properties;
3736				var prevFeature = null;
3737				if(i!=0) {
3738					prevFeature = features2[i-1];
3739				}
3740				if (feature.geometry.type == "LineString") { // 2배열
3741					naviLayers2.push(new L.GeoJSON(
3742						feature, {
3743							style : function() {
3744								return {
3745									weight: 6,
3746									color : "#0100FF",
3747									opacity : 0,
3748									fillColor : "#0100FF",
3749									fillOpacity : 0
3750								};						
3751							}
3752						}).addTo(map));
3753					
3754					var x = 0;
3755					var y = 0;
3756					for(var j=0; j<feature.geometry.coordinates.length; j++) {
3757						if(j==0) {
3758							x = feature.geometry.coordinates[j][0];
3759							y = feature.geometry.coordinates[j][1];
3760							break;
3761						}
3762					}
3763					var listNumImg = './images/naviImg/num/rnum'+(naviInfoMk.length+1)+'.png';
3764					var onListNumImg = './images/naviImg/num/on/rnum'+(naviInfoMk.length+1)+'.png';
3765					naviInfoMk.push(new L.Marker(new L.LatLng(x, y),{icon: new L.Icon({
3766				    	iconUrl: listNumImg,
3767				    	iconAnchor: [12,12],
3768				    })}).addTo(map));
3769					naviInfoMk[naviInfoMk.length-1].popState = false;
3770					naviInfoMk[naviInfoMk.length-1].listNumImg = listNumImg;
3771					naviInfoMk[naviInfoMk.length-1].onListNumImg = onListNumImg;
3772					naviInfoMk[naviInfoMk.length-1].index = naviInfoMk.length-1;
3773					if(i!=0) {
3774						naviInfoMk[naviInfoMk.length-1].bindPopup(tooltip.naviContent("naviResult",feature,prevFeature),{autoPan:true,minWidth:362,offset:[0,-15],'className':'dawul'});
3775					}else {
3776						naviInfoMk[naviInfoMk.length-1].bindPopup(tooltip.naviContent("naviResult",feature,null),{autoPan:true,minWidth:362,offset:[0,-15],'className':'dawul'});
3777					}
3778					
3779					naviInfoMk[naviInfoMk.length-1].on("click", function(){
3780						var index = this.index;
3781						if(this.popState) {
3782							this.popState = false;
3783						}else {
3784							if(rightClickPop!=null) {
3785								map.closePopup(rightClickPop);
3786							}
3787							this.popState = true;
3788							this.setZIndexOffset(1000);
3789							for(var i=0; i<naviInfoMk.length; i++) {
3790								if(i!=index) {
3791									naviInfoMk[i].popState = false;
3792									naviInfoMk[i].setZIndexOffset(100);
3793									
3794									var iconOff = new L.Icon({
3795										iconUrl:'./images/naviImg/num/rnum'+(i+1)+'.png',
3796										iconAnchor: [12,12]
3797									});
3798									naviInfoMk[i].setIcon(iconOff);
3799									naviLayers2[i].setStyle({opacity : 0, fillOpacity : 0});
3800									/*naviLayers[i].setStyle({
3801										weight: 4,
3802										color : naviLayers[i].traffic_color,
3803										opacity : 1,
3804										fillColor : naviLayers[i].traffic_color,
3805										fillOpacity : 1
3806									});*/
3807									
3808									$(".naviResultIcon").eq(i).attr("src",'./images/naviImg/num/rnum'+(i+1)+'.png');
3809									$(".naviResult").eq(i).removeClass("on");
3810								}
3811							}
3812							
3813							for(var i=0; i<ncodeSearchMarker.length; i++) {
3814								ncodeSearchMarker[i].popState = false;
3815								ncodeSearchMarker[i].closePopup();
3816							}
3817							ncodeSelectMid = "";
3818							
3819							for(var i=0; i<jiguMarker.length; i++) {
3820								jiguMarker[i].popState = false;
3821								jiguMarker[i].closePopup();
3822							}
3823							jiguSelectMid = "";
3824						}
3825					});
3826					
3827					naviInfoMk[naviInfoMk.length-1].on("mouseover", function(){
3828						var index = this.index;
3829						var iconOn = new L.Icon({
3830							iconUrl:'./images/naviImg/num/on/rnum'+(index+1)+'.png',
3831							iconAnchor: [12,12]
3832						});
3833						this.setIcon(iconOn);
3834						
3835						for(var i=0; i<naviInfoMk.length; i++) {
3836							naviInfoMk[i].setZIndexOffset(100);
3837						}
3838						naviInfoMk[index].setZIndexOffset(1000);
3839						naviLayers2[index].setStyle({opacity : 1, fillOpacity : 1});
3840						/*map.removeLayer(naviLayers[index]);
3841						naviLayers[index] = new L.GeoJSON(
3842							fullLineDatas[index], {
3843								style : function() {
3844									return {
3845										weight: 4,
3846										color : "#0100FF",
3847										opacity : 1,
3848										fillColor : "#0100FF",
3849										fillOpacity : 1
3850									};						
3851								}
3852						}).addTo(map);*/
3853						
3854						$(".naviResultIcon").eq(index).attr("src",'./images/naviImg/num/on/rnum'+(index+1)+'.png');
3855						$(".naviResult").eq(index).addClass("on");
3856					});
3857					
3858					naviInfoMk[naviInfoMk.length-1].on("mouseout", function(){
3859						if(!this.popState) {
3860							var index = this.index;
3861							var iconOff = new L.Icon({
3862								iconUrl:'./images/naviImg/num/rnum'+(index+1)+'.png',
3863								iconAnchor: [12,12]
3864							});
3865							this.setIcon(iconOff);
3866							naviLayers2[index].setStyle({opacity : 0, fillOpacity : 0});
3867							/*map.removeLayer(naviLayers[index]);
3868							naviLayers[index] = new L.GeoJSON(
3869								fullLineDatas[index], {
3870									style : function() {
3871										return {
3872											weight: 4,
3873											color : "#DF0000",
3874											opacity : 1,
3875											fillColor : "#DF0000",
3876											fillOpacity : 1
3877										};						
3878									}
3879							}).addTo(map);*/
3880							
3881							$(".naviResultIcon").eq(index).attr("src",'./images/naviImg/num/rnum'+(index+1)+'.png');
3882							$(".naviResult").eq(index).removeClass("on");
3883						}
3884					});
3885					if(i!=0) {
3886						list += naviResultList(feature,middleNum,prevFeature);
3887					}else {
3888						list += naviResultList(feature,middleNum,null);
3889					}
3890					if(feature.properties.guide_type=="59") {
3891						middleNum++;
3892					}
3893					//listHoverEvt();
3894				}
3895			}
3896			
3897			naviLayer = new L.GeoJSON(
3898				fullLineData, {
3899					style : function() {
3900						return {
3901							weight: 7, color : "#0054FF", opacity : 1, fillColor : "#0054FF", fillOpacity : 1
3902						};						
3903					}
3904				});
3905			
3906			map.fitBounds(naviLayer.getBounds(),{ padding: [100, 100] });
3907			
3908			list += '<li class="naviEnd clear" onclick="naviResult_setMapClick(this);">';
3909			list += '<div class="ico"><img src="./images/naviImg/'+subFolder+'/rpin_arrival.png" width="30" height="36" alt="" /></div>';
3910			list += '<div class="fl">';
3911			list += '<p><a href="#" class="txt">'+endName+'</a></p>';
3912			list += '</div>';
3913			list += '</li>';
3914		}else {
3915			
3916		}
3917		$('#naviResultList').html(list);
3918		listHoverEvt();
3919		/*$('#viewLoading').fadeOut(500);
3920		$('#lodingBg').fadeOut(500);*/
3921	}catch (e) {
3922		// TODO: handle exception
3923		/*$('#viewLoading').fadeOut(500);
3924		$('#lodingBg').fadeOut(500);*/
3925	}
3926}
3927
3928
3929
3930function naviResultList(feature,middleNum,prevFeature){
3931	var subFolder = "";
3932	if(lan=="KOR") {
3933		subFolder = "kor";
3934	}else if(lan=="ENG") {
3935		subFolder = "eng";
3936	}else if(lan=="JAN") {
3937		subFolder = "jpn";
3938	}else if(lan=="CHINAG") {
3939		subFolder = "chn";
3940	}
3941	
3942	var list = '';
3943	var properties = feature.properties;
3944	var facilityType = carRouteContent.get("facilityType_"+properties.facility_type);
3945	var roadType = carRouteContent.get("roadType_"+properties.road_type);
3946	var type = carRouteContent.get("linkType_"+properties.type);
3947	var guideType = carRouteContent.get("guideCode_"+properties.guide_type);
3948	var guideTypeHighway = carRouteContent.get("guideTypeHighway_"+properties.guide_type_highway);
3949	var crossWayName = properties.cross_way_name;
3950	var directionName = properties.direction_name;
3951	var dist = properties.distance;
3952	if(dist>=1000) { dist = toComma((dist/1000).toFixed(2))+"km"; }
3953	else { dist = toComma(dist)+"m"; }
3954	
3955	var prevGuideType = "";
3956	var prevGuideTypeNm = "";
3957	var prevCrossWayName = "";
3958	var prevDirectionName = "";
3959	if(prevFeature!=null) {
3960		var prevProperties = prevFeature.properties;
3961		prevGuideType = prevProperties.guide_type;
3962		prevGuideTypeNm = carRouteContent.get("guideCode_"+prevProperties.guide_type);
3963		prevCrossWayName = prevProperties.cross_way_name;
3964		prevDirectionName = prevProperties.direction_name;
3965	}
3966	list += '<li class="naviResult clear" onclick="naviResult_setMapClick(this);">';
3967	list += '<div class="ico"><img class="naviResultIcon" src="./images/naviImg/num/rnum'+naviInfoMk.length+'.png" width="24" height="24" alt="" /></div>';
3968	list += '<div class="fl">';
3969	list += '<p><a href="javascript:void(0);" class="txt2">'+properties.name+'</a></p>';
3970	if(guideType!=null && guideType!="미사용" && (prevGuideTypeNm==null || prevGuideTypeNm=="")) {
3971		if(crossWayName!="" && lan=="KOR") {
3972			if(crossWayName=="목적지") {
3973				list += '<p class="txt3">'+dist+' 앞 '+guideType+'입니다.</p>';
3974			}else {
3975				if(directionName!="") {
3976					directionName = directionName.replace(/;/g,",");
3977					list += '<p class="txt3">'+dist+' 앞 '+crossWayName+'에서 '+directionName+' 방면으로 '+guideType+'입니다.</p>';
3978				}else {
3979					list += '<p class="txt3">'+dist+' 앞 '+crossWayName+'에서 '+guideType+'입니다.</p>';
3980				}
3981			}
3982		}else {
3983			if(lan=="KOR") {
3984				list += '<p class="txt3">'+dist+' 앞 '+guideType+'입니다.</p>';
3985			}else if(lan=="ENG") {
3986				list += '<p class="txt3">after '+dist+' moving, '+guideType+'</p>';
3987			}else if(lan=="JAN") {
3988				list += '<p class="txt3">'+dist+' 移動 後 '+guideType+'</p>';
3989			}else if(lan=="CHINAG") {
3990				list += '<p class="txt3">'+dist+' 移动 后 '+guideType+'</p>';
3991			}
3992		}
3993	}else {
3994		if(lan=="KOR") {
3995			if(crossWayName=="출발지") {
3996				list += '<p class="txt3">'+crossWayName+' 에서 '+dist+' 직진입니다.</p>';
3997			}else {
3998				var middleList = "";
3999				if(properties.guide_type=="59") { //경유지 부근
4000					middleList = " "+guideType+" ";
4001				}
4002				if(prevGuideType!="59") {
4003					if(prevGuideType=="3"
4004						|| prevGuideType=="4"
4005						|| prevGuideType=="5"
4006						|| prevGuideType=="9"
4007						|| prevGuideType=="10"
4008						|| prevGuideType=="11"
4009						|| prevGuideType=="28"
4010						|| prevGuideType=="29"
4011						|| prevGuideType=="30"
4012						|| prevGuideType=="31"
4013						|| prevGuideType=="32"
4014						|| prevGuideType=="33"
4015						|| prevGuideType=="34"
4016						|| prevGuideType=="35"
4017						|| prevGuideType=="36"
4018						|| prevGuideType=="37"
4019						|| prevGuideType=="38"
4020						|| prevGuideType=="39"
4021						|| prevGuideType=="42"
4022						|| prevGuideType=="43"
4023						|| prevGuideType=="44") {
4024						if(prevCrossWayName!="") {
4025							if(prevDirectionName!="") {
4026								prevDirectionName = prevDirectionName.replace(/;/g,",");
4027								list += '<p class="txt3">'+prevCrossWayName+'에서 '+prevDirectionName+' 방면으로 '+prevGuideTypeNm+' 진입 후 '+dist+' 직진'+middleList+'입니다.</p>';
4028							}else {
4029								list += '<p class="txt3">'+prevCrossWayName+'에서 '+prevGuideTypeNm+' 진입 후 '+dist+' 직진'+middleList+'입니다.</p>';
4030							}
4031						}else {
4032							if(prevDirectionName!="") {
4033								prevDirectionName = prevDirectionName.replace(/;/g,",");
4034								list += '<p class="txt3">'+prevDirectionName+' 방면으로 '+prevGuideTypeNm+' 진입 후 '+dist+' 직진'+middleList+'입니다.</p>';
4035							}else {
4036								list += '<p class="txt3">'+prevGuideTypeNm+' 진입 후 '+dist+' 직진'+middleList+'입니다.</p>';
4037							}
4038						}
4039					}else if(prevGuideTypeNm!=null && prevGuideTypeNm!="" && prevGuideTypeNm!="미사용"){
4040						if(prevCrossWayName!="") {
4041							if(prevDirectionName!="") {
4042								prevDirectionName = prevDirectionName.replace(/;/g,",");
4043								list += '<p class="txt3">'+prevCrossWayName+'에서 '+prevDirectionName+' 방면으로 '+prevGuideTypeNm+' 후 '+dist+' 직진'+middleList+'입니다.</p>';
4044							}else {
4045								list += '<p class="txt3">'+prevCrossWayName+'에서 '+prevGuideTypeNm+' 후 '+dist+' 직진'+middleList+'입니다.</p>';
4046							}
4047						}else {
4048							if(prevDirectionName!="") {
4049								prevDirectionName = prevDirectionName.replace(/;/g,",");
4050								list += '<p class="txt3">'+prevDirectionName+' 방면으로 '+prevGuideTypeNm+' 후 '+dist+' 직진'+middleList+'입니다.</p>';
4051							}else {
4052								list += '<p class="txt3">'+prevGuideTypeNm+' 후 '+dist+' 직진'+middleList+'입니다.</p>';
4053							}
4054						}
4055					}else {
4056						if(prevCrossWayName!="") {
4057							if(prevDirectionName!="") {
4058								prevDirectionName = prevDirectionName.replace(/;/g,",");
4059								list += '<p class="txt3">'+prevCrossWayName+'에서 '+prevDirectionName+' 방면으로 '+dist+' 직진'+middleList+'입니다.</p>';
4060							}else {
4061								list += '<p class="txt3">'+prevCrossWayName+'에서 '+dist+' 직진'+middleList+'입니다.</p>';
4062							}
4063						}else {
4064							if(prevDirectionName!="") {
4065								prevDirectionName = prevDirectionName.replace(/;/g,",");
4066								list += '<p class="txt3">'+prevDirectionName+' 방면으로 '+dist+' 직진'+middleList+'입니다.</p>';
4067							}else {
4068								list += '<p class="txt3">'+dist+' 직진'+middleList+'입니다.</p>';
4069							}
4070						}
4071					}
4072				}else {
4073					list += '<p class="txt3">'+dist+' 직진입니다.</p>';
4074				}
4075			}
4076		}else if(lan=="ENG") {
4077			if(crossWayName=="출발지") {
4078				list += '<p class="txt3">'+dist+' moving</p>';
4079			}else {
4080				var middleList = "";
4081				if(properties.guide_type=="59") { //경유지 부근
4082					middleList = ", "+guideType+" ";
4083				}
4084				if(prevGuideType!="59") {
4085					if(prevGuideTypeNm!=null && prevGuideTypeNm!="" && prevGuideTypeNm!="미사용"){
4086						list += '<p class="txt3">after '+prevGuideTypeNm+' '+dist+' moving'+middleList+'</p>';
4087					}else {
4088						list += '<p class="txt3">'+dist+' moving'+middleList+'</p>';
4089					}
4090				}else {
4091					list += '<p class="txt3">'+dist+' moving</p>';
4092				}
4093			}
4094		}else if(lan=="JAN") {
4095			if(crossWayName=="출발지") {
4096				list += '<p class="txt3">'+dist+' 移動</p>';
4097			}else {
4098				var middleList = "";
4099				if(properties.guide_type=="59") { //경유지 부근
4100					middleList = " "+guideType+" ";
4101				}
4102				if(prevGuideType!="59") {
4103					if(prevGuideTypeNm!=null && prevGuideTypeNm!="" && prevGuideTypeNm!="미사용"){
4104						list += '<p class="txt3">'+prevGuideTypeNm+' 後 '+dist+' 移動 '+middleList+'</p>';
4105					}else {
4106						list += '<p class="txt3">'+dist+' 移動 '+middleList+'</p>';
4107					}
4108				}else {
4109					list += '<p class="txt3">'+dist+' 移動</p>';
4110				}
4111			}
4112		}else if(lan=="CHINAG") {
4113			if(crossWayName=="출발지") {
4114				list += '<p class="txt3">'+dist+' 移动</p>';
4115			}else {
4116				var middleList = "";
4117				if(properties.guide_type=="59") { //경유지 부근
4118					middleList = " "+guideType+" ";
4119				}
4120				if(prevGuideType!="59") {
4121					if(prevGuideTypeNm!=null && prevGuideTypeNm!="" && prevGuideTypeNm!="미사용"){
4122						list += '<p class="txt3">'+prevGuideTypeNm+' 后 '+dist+' 移动 '+middleList+'</p>';
4123					}else {
4124						list += '<p class="txt3">'+dist+' 移动 '+middleList+'</p>';
4125					}
4126				}else {
4127					list += '<p class="txt3">'+dist+' 移动</p>';
4128				}
4129			}
4130		}
4131	}
4132	list += '</div>';
4133	list += '<div class="direction">';
4134	if(guideType!=null && guideType!="미사용" && (prevGuideTypeNm==null || prevGuideTypeNm=="")) {
4135		list += '<div><img class="naviRouteIcon" src="./images/naviImg/route/inavi/arrow_15.png" width="33" height="24" alt="" /></div>';
4136	}else {
4137		if(prevGuideTypeNm!=null && prevGuideTypeNm!="" && prevGuideTypeNm!="미사용") {
4138			list += '<div><img class="naviRouteIcon" src="./images/naviImg/route/inavi/arrow_'+prevGuideType+'.png" width="33" height="24" alt="" /></div>';
4139		}else {
4140			list += '<div><img class="naviRouteIcon" src="./images/naviImg/route/inavi/arrow_15.png" width="33" height="24" alt="" /></div>';
4141		}
4142	}
4143	list += '<div>'+dist+'</div>';
4144	list += '</div>';
4145	list += '</li>';
4146	
4147	if(properties.guide_type=="59"){  //경유지부근
4148		list += '<li class="naviMiddle clear" onclick="naviResult_setMapClick(this);">';
4149		list += '<div class="ico"><img src="./images/naviImg/'+subFolder+'/rpin_via_'+(middleNum+1)+'.png" width="30" height="36" alt="" /></div>';
4150		list += '<div class="fl">';
4151		list += '<p><a href="#" class="txt">'+middleNames.get(middleNames.keySet()[middleNum])+'</a></p>';
4152		list += '</div>';
4153		list += '</li>';
4154	}
4155	
4156	return list;
4157}
4158
4159
4160function listHoverEvt() {
4161	$(".naviResult").hover(
4162	function() {
4163		var index = $(".naviResult").index(this);
4164		var iconOn = new L.Icon({
4165			iconUrl: naviInfoMk[index].onListNumImg,
4166		    iconAnchor: [12,12]
4167		}); 
4168		naviInfoMk[index].setIcon(iconOn);
4169		for(var i=0; i<naviInfoMk.length; i++) {
4170			naviInfoMk[i].setZIndexOffset(100);
4171		}
4172		naviInfoMk[index].setZIndexOffset(1000);
4173		naviLayers2[index].setStyle({opacity : 1, fillOpacity : 1});
4174		//naviLayers[index].setStyle({color : "#0100FF", fillColor : "#0100FF"});
4175		/*map.removeLayer(naviLayers[index]);
4176		naviLayers[index] = new L.GeoJSON(
4177			fullLineDatas[index], {
4178				style : function() {
4179					return {
4180						weight: 4, color : "#0100FF", opacity : 1, fillColor : "#0100FF", fillOpacity : 1
4181					};
4182				}
4183		}).addTo(map);*/
4184		
4185		$(".naviResultIcon").eq(index).attr("src",'./images/naviImg/num/on/rnum'+(index+1)+'.png');
4186	},
4187	function() {
4188		var index = $(".naviResult").index(this);
4189		if(!naviInfoMk[index].popState) {
4190			var iconOff = new L.Icon({
4191				iconUrl:naviInfoMk[index].listNumImg,
4192			    iconAnchor: [12,12]
4193			}); 
4194			naviInfoMk[index].setIcon(iconOff);
4195			naviLayers2[index].setStyle({opacity : 0, fillOpacity : 0});
4196			/*map.removeLayer(naviLayers[index]);
4197			naviLayers[index] = new L.GeoJSON(
4198				fullLineDatas[index], {
4199					style : function() {
4200						return {
4201							weight: 4, color : "#DF0000", opacity : 1, fillColor : "#DF0000", fillOpacity : 1
4202						};						
4203					}
4204			}).addTo(map);*/
4205			
4206			$(".naviResultIcon").eq(index).attr("src",'./images/naviImg/num/rnum'+(index+1)+'.png');
4207		}
4208	});
4209}
4210
4211function naviResult_setMapClick(this_){
4212	if(rightClickPop!=null) {
4213		map.closePopup(rightClickPop);
4214	}
4215	var className = this_.className.split(" ")[0];
4216	var index = $("."+className).index(this_);
4217	if(className == "naviResult"){
4218		naviInfoMk[index].popState = true;
4219		$(".naviResult").eq(index).addClass("on");
4220		naviInfoMk[index].setZIndexOffset(1000);
4221		map.setView(naviInfoMk[index].getLatLng(), 12);
4222		naviInfoMk[index].openPopup();
4223		
4224		for(var i=0; i<naviInfoMk.length; i++) {
4225			if(i!=index) {
4226				naviInfoMk[i].popState = false;
4227				naviInfoMk[i].setZIndexOffset(100);
4228				
4229				var iconOff = new L.Icon({
4230					iconUrl:'./images/naviImg/num/rnum'+(i+1)+'.png',
4231					iconAnchor: [12,12]
4232				});
4233				naviInfoMk[i].setIcon(iconOff);
4234				naviLayers2[i].setStyle({opacity : 0, fillOpacity : 0});
4235				/*naviLayers[i].setStyle({
4236					weight: 4, color : "#DF0000", opacity : 1, fillColor : "#DF0000", fillOpacity : 1
4237				});*/
4238				
4239				$(".naviResultIcon").eq(i).attr("src",'./images/naviImg/num/rnum'+(i+1)+'.png');
4240				$(".naviResult").eq(i).removeClass("on");
4241			}
4242		}
4243		
4244		if(naviStartMk!=null) {
4245			naviStartMk.popState=false;
4246			$(".naviStart").removeClass("on");
4247		}
4248		if(naviEndMk!=null) {
4249			naviEndMk.popState=false;
4250			$(".naviEnd").removeClass("on");
4251		}
4252		if(naviMiddleMk.length>0) {
4253			for(var i=0; i<naviMiddleMk.length; i++) {
4254				naviMiddleMk[i].popState=false;
4255			}
4256			$(".naviMiddle").removeClass("on");
4257		}
4258	}else {
4259		if(className == "naviStart") {
4260			naviStartMk.popState=true;
4261			$(".naviStart").addClass("on");
4262			map.setView(naviStartMk.getLatLng(), 12);
4263			naviStartMk.openPopup();
4264			
4265			if(naviEndMk!=null) {
4266				naviEndMk.popState=false;
4267				$(".naviEnd").removeClass("on");
4268			}
4269			if(naviMiddleMk.length>0) {
4270				for(var i=0; i<naviMiddleMk.length; i++) {
4271					naviMiddleMk[i].popState=false;
4272				}
4273				$(".naviMiddle").removeClass("on");
4274			}
4275		}else if(className == "naviEnd") {
4276			naviEndMk.popState=true;
4277			$(".naviEnd").addClass("on");
4278			map.setView(naviEndMk.getLatLng(), 12);
4279			naviEndMk.openPopup();
4280			
4281			if(naviStartMk!=null) {
4282				naviStartMk.popState=false;
4283				$(".naviStart").removeClass("on");
4284			}
4285			if(naviMiddleMk.length>0) {
4286				for(var i=0; i<naviMiddleMk.length; i++) {
4287					naviMiddleMk[i].popState=false;
4288				}
4289				$(".naviMiddle").removeClass("on");
4290			}
4291		}else if(className == "naviMiddle") {
4292			naviMiddleMk[index].popState = true;
4293			$(".naviMiddle").eq(index).addClass("on");
4294			map.setView(naviMiddleMk[index].getLatLng(), 12);
4295			naviMiddleMk[index].openPopup();
4296			
4297			if(naviStartMk!=null) {
4298				naviStartMk.popState=false;
4299				$(".naviStart").removeClass("on");
4300			}
4301			if(naviEndMk!=null) {
4302				naviEndMk.popState=false;
4303				$(".naviEnd").removeClass("on");
4304			}
4305			for(var i=0; i<naviMiddleMk.length; i++) {
4306				if(i!=index) {
4307					naviMiddleMk[i].popState=false;
4308					$(".naviMiddle").eq(i).removeClass("on");
4309				}
4310			}
4311		}
4312		
4313		
4314		if(naviInfoMk.length>0) {
4315			for(var i=0; i<naviInfoMk.length; i++) {
4316				naviInfoMk[i].popState = false;
4317				naviInfoMk[i].setZIndexOffset(100);
4318				
4319				var iconOff = new L.Icon({
4320					iconUrl:'./images/naviImg/num/rnum'+(i+1)+'.png',
4321					iconAnchor: [12,12]
4322				});
4323				naviInfoMk[i].setIcon(iconOff);
4324				naviLayers2[i].setStyle({opacity : 0, fillOpacity : 0});
4325				/*naviLayers[i].setStyle({
4326					weight: 4, color : "#DF0000", opacity : 1, fillColor : "#DF0000", fillOpacity : 1
4327				});*/
4328				
4329				$(".naviResultIcon").eq(i).attr("src",'./images/naviImg/num/rnum'+(i+1)+'.png');
4330			}
4331			$(".naviResult").removeClass("on");
4332		}
4333	}
4334}
4335
4336
4337function naviResultClear() {
4338	if(naviStartMk!=null) {
4339		map.removeLayer(naviStartMk);
4340		naviStartMk = null;
4341	}
4342	if(naviEndMk!=null) {
4343		map.removeLayer(naviEndMk);
4344		naviEndMk = null;
4345	}
4346	while (naviMiddleMk.length>0) {
4347		map.removeLayer(naviMiddleMk[naviMiddleMk.length - 1]);
4348		naviMiddleMk.pop();
4349	}
4350	while (naviLayers.length>0) {
4351		map.removeLayer(naviLayers[naviLayers.length - 1]);
4352		naviLayers.pop();
4353	}
4354	while (naviLayers2.length>0) {
4355		map.removeLayer(naviLayers2[naviLayers2.length - 1]);
4356		naviLayers2.pop();
4357	}
4358	while (borderNaviLayers.length>0) {
4359		map.removeLayer(borderNaviLayers[borderNaviLayers.length - 1]);
4360		borderNaviLayers.pop();
4361	}
4362	if(naviLayer!=null) {
4363		map.removeLayer(naviLayer);
4364		naviLayer = null;
4365	}
4366	while (naviInfoMk.length>0) {
4367		map.removeLayer(naviInfoMk[naviInfoMk.length - 1]);
4368		naviInfoMk.pop();
4369	}
4370	
4371	while (fullLineDatas.length>0) {
4372		fullLineDatas.pop();
4373	}
4374	
4375	$("#naviResultList").html("");
4376	
4377	naviStartCheck = false;
4378}
4379// ==================================== //길찾기 ================================
4380//실시간 교통정보 체크
4381function nowTrafficCheck() {
4382	if(startCoord!=null && startCoord!="" && endCoord!=null && endCoord!="") {
4383		naviStart();
4384	}
4385}
4386
4387//요금설정 팝업
4388var nowUseStartDirection = false;
4389var nowUseEndDirection = false;
4390var nowOneWayType = 0;
4391var nowIgnoreOneWay = false;
4392var nowAvoidSchoolZone = false;
4393var nowAvoidWaterSourceArea = false;
4394var nowHipass = false;
4395var nowGasolineCost = 0;
4396var nowPremiumGasolineCost = 0;
4397var nowDieselCost = 0;
4398var nowLpgCost = 0;
4399var nowDistance = 0;
4400var nowCarPrice = "";
4401function naviPricePopup() {
4402	nowUseStartDirection = $("#switch1").is(':checked');
4403	nowUseEndDirection = $("#switch2").is(':checked');
4404	if($("#switch3").is(':checked')) {
4405		nowOneWayType = 1;
4406	}else {
4407		nowOneWayType = 0;
4408	}
4409	nowIgnoreOneWay = $("#switch4").is(':checked');
4410	nowAvoidSchoolZone = $("#switch5").is(':checked');
4411	nowAvoidWaterSourceArea = $("#switch6").is(':checked');
4412	nowHipass = $("#switch7").is(':checked');
4413	
4414	nowGasolineCost = $("#oilPrice1").children("input").val();
4415	nowPremiumGasolineCost = $("#oilPrice2").children("input").val();
4416	nowDieselCost = $("#oilPrice3").children("input").val();
4417	nowLpgCost = $("#oilPrice4").children("input").val();
4418	nowDistance = $("#mileage").val();
4419	
4420	nowCarPrice = $(".car_price_set").children("div.on").attr("id");
4421	/*if(lan == "KOR"){
4422		$("#lan_cost_Setting").html('요금설정<span><a href="javascript:void(0);" onclick="naviPricePopupClose();"></a></span>');
4423		$("#lan_tollSetting").html("통행료 설정");
4424		$("#lan_price1").html("<span>1종 :</span> 승용차, 소형 승합차");
4425		$("#lan_price2").html("<span>2종 :</span>
4425 중형 승합차, 중형 화물차");
4426		$("#lan_price3").html("<span>3종 :</span> 대형 승합차, 2축 대형 화물차");
4427		$("#lan_price4").html("<span>4종 :</span> 3축 대형 화물차");
4428		$("#lan_price5").html("<span>5종 :</span> 4축 이상 특수화물차");
4429		$("#lan_price6").html("<span>6종 :</span> 경차");
4430		$("#lan_gasChargeSetting").html("주유비 설정");
4431		$("#lan_oil").html("유종");
4432		$("#lan_gasoline").html("휘발유");
4433		$("#lan_diesel").html("경유");
4434		$("#lan_premiumGasoline").html("고급 휘발유");
4435		$("#lan_lpgCost").html("LPG");
4436		var select_name = $("#oil option:selected").text();
4437		$("#lan_oli_select").html(select_name);
4438		$("#lan_mileage").html("연료1L당 주행거리");
4439		$("#lan_costComplete").html("설정완료");
4440	}else if(lan == "ENG"){
4441		$("#lan_cost_Setting").html('Cost setting<span><a href="javascript:void(0);" onclick="naviPricePopupClose();"></a></span>');
4442		$("#lan_tollSetting").html("Toll setting");
4443		$("#lan_price1").html("<span>1 kinds :</span> Cars, Small van");
4444		$("#lan_price2").html("<span>2 kinds :</span> Medium sized van, Medium truck");
4445		$("#lan_price3").html("<span>3 kinds :</span> Large van, 2 axle freight car");
4446		$("#lan_price4").html("<span>4 kinds :</span> 3 axle freight car");
4447		$("#lan_price5").html("<span>5 kinds :</span> Special truck over 4 axes");
4448		$("#lan_price6").html("<span>6 kinds :</span> Small car");
4449		$("#lan_gasChargeSetting").html("Gas charge setting");
4450		$("#lan_oil").html("Oil");
4451		$("#lan_gasoline").html("Gasoline");
4452		$("#lan_diesel").html("Light oil");
4453		$("#lan_premiumGasoline").html("premium Gasoline");
4454		$("#lan_lpgCost").html("LPG");
4455		var select_name = $("#oil option:selected").text();
4456		$("#lan_oli_select").html(select_name);
4457		$("#lan_mileage").html("Fuel 1L mileage");
4458		$("#lan_costComplete").html("Completed setup");
4459	}else if(lan == "JAN"){
4460		$("#lan_cost_Setting").html('料金設定<span><a href="javascript:void(0);" onclick="naviPricePopupClose();"></a></span>');
4461		$("#lan_tollSetting").html("通行料設定");
4462		$("#lan_price1").html("<span>1種 :</span> 乗用車、小型ワゴン車");
4463		$("#lan_price2").html("<span>2種 :</span> 中型ワゴン車、中型貨物車");
4464		$("#lan_price3").html("<span>3種 :</span> 大型ワゴン車、2軸の大型貨物車");
4465		$("#lan_price4").html("<span>4種 :</span> 3軸の大型貨物車");
4466		$("#lan_price5").html("<span>5種 :</span> 4軸以上特殊貨物車");
4467		$("#lan_price6").html("<span>6種 :</span> 軽自動車");
4468		$("#lan_gasChargeSetting").html("注油費設定");
4469		$("#lan_oil").html("有終");
4470		$("#lan_gasoline").html("ガソリン");
4471		$("#lan_diesel").html("軽油");
4472		$("#lan_premiumGasoline").html("ハイオク");
4473		$("#lan_lpgCost").html("LPG");
4474		var select_name = $("#oil option:selected").text();
4475		$("#lan_oli_select").html(select_name);
4476		$("#lan_mileage").html("燃料1L当たりの走行距離");
4477		$("#lan_costComplete").html("設定完了");
4478	}else if(lan == "CHINAG"){
4479		$("#lan_cost_Setting").html('费用设定<span><a href="javascript:void(0);" onclick="naviPricePopupClose();"></a></span>');
4480		$("#lan_tollSetting").html("通行费设定");
4481		$("#lan_price1").html("<span>1种 :</span> 轿车、小型面包车");
4482		$("#lan_price2").html("<span>2种 :</span> 中型面包车、中型货车");
4483		$("#lan_price3").html("<span>3种 :</span> 大型面包车、2轴大型货车");
4484		$("#lan_price4").html("<span>4种 :</span> 3轴大型货车");
4485		$("#lan_price5").html("<span>5种 :</span> 4轴以上特殊货车");
4486		$("#lan_price6").html("<span>6种 :</span> 轻型车");
4487		$("#lan_gasChargeSetting").html("加油费设定");
4488		$("#lan_oil").html("油种");
4489		$("#lan_gasoline").html("汽油");
4490		$("#lan_diesel").html("轻油");
4491		$("#lan_premiumGasoline").html("优质汽油");
4492		$("#lan_lpgCost").html("LPG");
4493		var select_name = $("#oil option:selected").text();
4494		$("#lan_oli_select").html(select_name);
4495		$("#lan_mileage").html("每燃料1L车程");
4496		$("#lan_costComplete").html("设定完了");
4497	}*/
4498	
4499	$("#naviPricePop").css("display","block");
4500}
4501
4502
4503//경로탐색 설정 팝업 닫기
4504function naviPricePopupClose() {
4505	$("#switch1").prop("checked", nowUseStartDirection);
4506	$("#switch2").prop("checked", nowUseEndDirection);
4507	if(nowOneWayType==0) {
4508		$("#switch3").prop("checked", false);
4509	}else {
4510		$("#switch3").prop("checked", true);
4511	}
4512	$("#switch4").prop("checked", nowIgnoreOneWay);
4513	$("#switch5").prop("checked", nowAvoidSchoolZone);
4514	$("#switch6").prop("checked", nowAvoidWaterSourceArea);
4515	$("#switch7").prop("checked", nowHipass);
4516	
4517	$("#oilPrice1").children("input").val(nowGasolineCost);
4518	$("#oilPrice2").children("input").val(nowPremiumGasolineCost);
4519	$("#oilPrice3").children("input").val(nowDieselCost);
4520	$("#oilPrice4").children("input").val(nowLpgCost);
4521	$("#mileage").val(nowDistance);
4522	
4523	$("#"+nowCarPrice).siblings().removeClass("on");
4524	$("#"+nowCarPrice).addClass("on");
4525	
4526	$("#naviPricePop").css("display","none");
4527}
4528
4529//경로탐색 설정완료
4530function naviPricePopupComplete() {
4531	$("#naviPricePop").css("display","none");
4532	if(startCoord!=null && startCoord!="" && endCoord!=null && endCoord!="") {
4533		naviStart();
4534	}
4535}
4536
4537//톨게이트 통행료 설정 
4538function tollChange(priceToll) {
4539	if(lan=="KOR") {
4540		$("#naviToll").html('통행료 : '+toComma(priceToll)+'원');
4541	}else if(lan=="ENG") {
4542		$("#naviToll").html('Toll : '+toComma(priceToll)+' won');
4543	}else if(lan=="JAN") {
4544		$("#naviToll").html('通行料 : '+toComma(priceToll)+' won');
4545	}else if(lan=="CHINAG") {
4546		$("#naviToll").html('通行费 : '+toComma(priceToll)+' won');
4547	}
4548}
4549
4550//주유비 설정
4551function oilChange(oilPrice) {
4552	//동적 다국어 변경
4553	if(lan=="KOR") {
4554		$("#naviMileage").html('주유비 : '+toComma(numberRoundDecimal(oilPrice, 2))+'원');
4555	}else if(lan=="ENG") {
4556		$("#naviMileage").html('Gas price : '+toComma(numberRoundDecimal(oilPrice, 2))+' won');
4557	}else if(lan=="JAN") {
4558		$("#naviMileage").html('ガソリン代 : '+toComma(numberRoundDecimal(oilPrice, 2))+' won');
4559	}else if(lan=="CHINAG") {
4560		$("#naviMileage").html('耗油费 : '+toComma(numberRoundDecimal(oilPrice, 2))+' won');
4561	}
4562}
4563
4564function carPriceChange(_this) {
4565	$(_this).siblings().removeClass("on");
4566	$(_this).addClass("on");
4567	var carPriceSetIndex = $(".car_price_set").children("div.on").index();
4568	if(carPriceSetIndex==3 || carPriceSetIndex==4) {
4569		$(".car_type4_5").css("display","block");
4570	}else {
4571		$(".option_btn3").removeClass("on");
4572		$(".option_btn3").addClass("off");
4573		$(".option_btn3").eq(0).removeClass("off");
4574		$(".option_btn3").eq(0).addClass("on");
4575		$("#option_btn3").val("");
4576		$(".option_btn4").removeClass("on");
4577		$(".option_btn4").addClass("off");
4578		$(".option_btn4").eq(0).removeClass("off");
4579		$(".option_btn4").eq(0).addClass("on");
4580		$("#option_btn4").val("");
4581		$(".car_type4_5").css("display","none");
4582	}
4583}
4584
4585function oilPriceChange(_this) {
4586	$(_this).siblings().removeClass("on");
4587	$(_this).addClass("on");
4588}
4589
4590function optionBtnChange(_this, optionBtn) {
4591	$("."+optionBtn).removeClass("on");
4592	$("."+optionBtn).addClass("off");
4593	$(_this).removeClass("off");
4594	$(_this).addClass("on");
4595	var index = $("."+optionBtn).index(_this);
4596	if(index==0) {
4597		$("#"+optionBtn).val("");
4598	}
4599}
4600
4601function oilPriceReset() {
4602	var gasolineCost = defaultFuelEconomy.gasolineCost;
4603	var premiumGasolineCost = defaultFuelEconomy.premiumGasolineCost;
4604	var dieselCost = defaultFuelEconomy.dieselCost;
4605	var lpgCost = defaultFuelEconomy.lpgCost;
4606	var distance = defaultFuelEconomy.distance;
4607	
4608	$("#oilPrice1").children("input").val(gasolineCost);
4609	$("#oilPrice2").children("input").val(premiumGasolineCost);
4610	$("#oilPrice3").children("input").val(dieselCost);
4611	$("#oilPrice4").children("input").val(lpgCost);
4612	$("#mileage").val(distance);
4613}
4614
4615function numberRoundDecimal(num, digit) {
4616	var digitNum = Math.pow(10, digit)
4617	return Math.round(num * digitNum) / digitNum;
4618}
4619
4620/**
4621 * TextBox에 숫자 입력만 허용하는 메소드
4622 * 파라미터 : TextBox에 들어온 텍스트
4623 */
4624function handleOnInputNum(text){
4625	text.value = text.value.replace(/[^0-9]/ig, '');
4626}
4627
4628/**
4629 * TextBox에 숫자 . 입력만 허용하는 메소드
4630 * 파라미터 : TextBox에 들어온 텍스트
4631 */
4632function handleOnInputNumEtc(text){
4633	text.value = text.value.replace(/[^0-9.]/ig, '');
4634}
4635
4636/**
4637 * TextBox에 입력 가능한 글자 수를 제한하는 메소드
4638 * 파라미터 : TextBox에 들어온 텍스트, TextBox에 설정 할 최대 Text 길이
4639 */
4640function handleOnInputLimit(text, maxlength) {
4641  if(text.value.length > maxlength)  {
4642    text.value = text.value.substr(0, maxlength);
4643  }
4644}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.