/*
   '************************************************************************************************************
   '	Program ID	: Ajax_NewMapEngine.js
   '	Program Name	: Geopis Ajax GMap 
   '	Program Desc	: Geopis Ajax GMap - 지적지도&항공사진 API  
   '	Developer 	: 이종후 
   '	Create Date	: 2007.12.09
   '	Update Date	: 2008.11.25
   '************************************************************************************************************
*/
var oImgList      = new Array();
var LabelArray    = new Array();    //라벨정보 배열 
var Labelcounter  = 0;              //라벨배열 카운터

function onImageEvent(loc_tileName,oImg,loaded,path){
	  oImgList[loc_tileName] = null;
      if(loaded){
		  if (document.images[loc_tileName]){
			  document.images[loc_tileName].src = path;
		  }      
      }else{  
		  	if(GMapType =="DM"){
			  //document.images[loc_tileName].src = 'http://geoimg.paran.com/ajax_noimg/noImage_200.jpg';
		  }else{	
			  //var recurrence = "doesImageExist('" + path + "','" + loc_tileName + "')";
			  //setTimeout(recurrence,1);
		  }
      }
}

function doesImageExist(path,tileName,inner_div){

	var innerDiv     = document.getElementById(inner_div);
	var loc_path     = path;
	var loc_tileName = tileName;

	if (oImgList[loc_tileName] == null){		
		oImgList[loc_tileName] = new Image();
		oImgList[loc_tileName].src = loc_path;  
	}

	var recurrence = "doesImageExist('" + loc_path + "','" + loc_tileName + "','" + inner_div + "')";

	if (oImgList[loc_tileName].complete == false){ 
	    oImgList[loc_tileName].onload = function(){onImageEvent(loc_tileName,oImgList[loc_tileName],true,path);};
		oImgList[loc_tileName].onerror = function(){onImageEvent(loc_tileName,null,false,path);};
	}else if (oImgList[loc_tileName].complete == true){ 
		if (document.images[loc_tileName] == undefined){
		}else{
			document.images[loc_tileName].src = loc_path;
		}
		return;					
	}
}


var GMap = function(outer_div, inner_div) {

	//////////////////////////////////////////////////////////////////////////////////////////////////////////////
	//멤버 변수	

	var landname    = new Array();    //생성해야 할 지명을 담는 배열

	var MakerArray    = new Array();    //생성해야 할 마커를 담는 배열

	var MgrsArray     = new Array();    //거리좌표 정보를 담는 배열
	var MgrsArray2    = new Array();    //면적좌표 정보를 담는 배열
	var MgrsArray3    = new Array();    //면적좌표 정보를 담는 배열
	var MgrsArray4    = new Array();    //면적좌표 정보를 담는 배열
	var MgrsArray5    = new Array();    //면적좌표 정보를 담는 배열

	var Mgrscounter  = 0;          //거리좌표배열 카운터
	var Mgrscounter2 = 0;          //면적좌표배열 카운터
	var Mgrscounter3 = 0;          //면적좌표배열 카운터
	var Mgrscounter4 = 0;          //면적좌표배열 카운터
	var Mgrscounter5 = 0;          //면적좌표배열 카운터
	
	var DistanceArray = new Array();    //거리&면적 정보 배열  
	var Groupidx    = 0;                //거리모드 그룹변수 
	var Groupidx2   = 2;                //면적모드 그룹변수 

	var GMapidx     = 0;           //거리&면적모드일경우 드래그 구분 
	var Mgrsindex   = 0;           //거리&면적 배열 index
	var indexcouter = 0;           //거리&면적 배열 index카운트 0부터 시작
	var distance;                  //한단계전 거리
	var alldistance = 0;           //총거리

	var counter = 0;               //마커배열 카운터
	var Distancecounter = 0;       //거리&면적 클릭지점배열 아이콘 이미지 

	var Eventcounter = 0;
	var clickcount   = 0;

	var visibleTilesMap = new Array();      //빈 맵을 생성 현재 보여지는 Tile 정보 배열
	var visibleTiles;

	var m_outer_div = outer_div;
	var m_inner_div = inner_div;

	var location_low;  //프핀트모듈에 넘길 area값
	var location_col; 

	var viewportWidth;
	var viewportHeight;
	var tileSize = 800;

	var area1;
	var area2;
	var no4_middle;
	var no4_After;
	var no10_middle;
	var no10_After;

	var areanum1;
	var areanum2;

	//////////////////////////////////////////////////////////////////////////////////////////////////////////////
	//정확한 좌표 계산을 위한 멤버변수 추가 ★★★

	var g_loc_areanum1;
	var g_loc_areanum2;
	var g_loc4_middle;
	var g_loc4_after;
	var g_loc10_middle;
	var g_loc10_after;

	//정확한 좌표 계산을 위한 멤버변수 추가 ★★★
	//////////////////////////////////////////////////////////////////////////////////////////////////////////////

	//////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //마커 계산용 변수 

	var m_loc_areanum1;
	var m_loc_areanum2;
	var m_loc4_middle;
	var m_loc4_after;
	var m_loc10_middle;
	var m_loc10_after;

	//////////////////////////////////////////////////////////////////////////////////////////////////////////////

	var i;
	var j;
	var k;
	var m;

	var strRow = new Array("a","b","c","d","e","f","g","h","j","k","l","m","n","p","q","r","s","t","u","v","w","x","y","z"); 
	//mgrs row 문자

	var strCol = new Array("a","b","c","d","e","f","g","h","j","k","l","m","n","p","q","r","s","t","u","v");    //mgrs col 문자
		
	var dragging = false;
	var top;
	var left;
	var dragStartTop;
	var dragStartLeft;

	//GWS84 ellipse GWS 타원체
	//latitude, radians 위도- 각도단위 , longitude, radians경도- 각도단위

	var a  = 6378137;             //semi-major axis of ellipsoid, meters
	var f1 = 1 / 298.257223563;   //flattening of ellipsoid

	//UTM 변환 상수
	var x0  = 0;       //원점의 좌표값
	var y00 = 500000;  
	var ok  = 0.9996;  //원점의 축척계수

	var phi0 = 0;      //원점의 위도, 경도 초기화
	var lam0 = 0;
	
	var strMGRS;

	var xn;
	var ye;

	//멤버 변수
	//////////////////////////////////////////////////////////////////////////////////////////////////////////////

	//////////////////////////////////////////////////////////////////////////////////////////////////////////////
	//메소드

	//START:GMapTypeChange 함수 
	
	this.GMapTypeChange = function() {
		
		//이미지로드여부배열 초기화
		delete oImgList;
		oImgList = [];

		if (GMapType == "OP" || GMapType == "CM"){
			if (tileSize == 100 ||tileSize == 50){
				tileSize = 200
			}
		}else if(GMapType == "DM" || GMapType == "GM"){

			//if (tileSize == 400 ||tileSize == 600 ||tileSize == 800 ||tileSize == 1000 ||tileSize == 1200 ||tileSize == 1400 ||tileSize == 1600 ||tileSize == 1800 ||tileSize == 2000 ){
			//	tileSize = 200;
			//}
			// 개발계획도와 지리도는 지도변환시 무조건 작은 사이즈로 보이게 한다.
			tileSize = 100;
		
		}
		
		var innerDiv = document.getElementById(m_inner_div);
		var imgs = innerDiv.getElementsByTagName("img");
		for (i = 0; i < imgs.length; i++) {
			var id   = imgs[i].getAttribute("id");
			var name = imgs[i].getAttribute("name");
			
				if (name != "MakerName" && name != "icon"){
					//this.purge(document.images[id]);
					innerDiv.removeChild(document.images[id]);
					//innerDiv.removeChild(imgs[i]);
					i--;  // compensate for live nodelist
				}
		}

		this.checkTiles();
		this.checkPMaker();
		this.checkPLabel();
		this.checkdistance();
	}
	// END:GMapTypeChange 함수 

	//화면모드초기화함수
	this.init = function() {

		//드래그를 수행하기 위해 마우스 리스너들을 묶는다.
		var outerDiv   = document.getElementById(m_outer_div);
		var level_area = document.getElementById("level_area");
		var map_area   = document.getElementById("map_area");

		if (GMapMode == "Move"){
				if (outerDiv.attachEvent){
					outerDiv.attachEvent("onmousemove",processmove);    //outerDiv안에서 마우스가 움직일때
					outerDiv.attachEvent("onmousewheel",startwheel);    //outerDiv안에서 마우스 휠버튼 눌렀을 때
					outerDiv.attachEvent("onmousedown",startmove);    //마우스를 누른 순간
					outerDiv.attachEvent("onmouseup",stopmove);       //누른 마우스 버튼을  놓을 때
					outerDiv.attachEvent("onclick",getClickLocation); //객체가 클릭될 때
					outerDiv.attachEvent("onmouseleave",stopmove);

					level_area.attachEvent("onmousewheel",startwheel);  
					map_area.attachEvent("onmousewheel",startwheel); 

				}else if(outerDiv.addEventListener){
					//alert('test');
					outerDiv.addEventListener("mousemove",processmove,false); //outerDiv안에서 마우스가 움직일때   			
					outerDiv.addEventListener("mousewheel",startwheel,false); //outerDiv안에서 마우스 휠버튼 눌렀을 때    
					outerDiv.addEventListener("mousedown",startmove,false);    //마우스를 누른 순간
					outerDiv.addEventListener("mouseup",stopmove,false);       //누른 마우스 버튼을  놓을 때
					outerDiv.addEventListener("click",getClickLocation,false); //객체가 클릭될 때
					outerDiv.addEventListener("mouseleave",stopmove,false);

					level_area.addEventListener("mousewheel",startwheel,false);  
					map_area.addEventListener("mousewheel",startwheel,false);
				}
		}else if (GMapMode == "line" || GMapMode == "area"){	
			if (indexcouter == 0){	
				if (outerDiv.attachEvent){
					outerDiv.attachEvent("oncontextmenu",EndDrawMode);
				}else if(outerDiv.addEventListener){
					outerDiv.addEventListener("contextmenu",EndDrawMode,false);
				}
			}		
		}
		return;
	}
	
	//tooltip삭제함수
	this.RemoveTooltip = function() {

		var innerDiv = document.getElementById(m_inner_div);
		var divs     = innerDiv.getElementsByTagName("div");
		for (i = 0; i < divs.length; i++) {
			var id   = divs[i].getAttribute("id");			
				if (id == "tooltip"){
					innerDiv.removeChild(divs[i]);
					i--;  // compensate for live nodelist
					break;
				}	
		}
	}

	//DrawMode초기화함수
	this.RemoveDMaker = function() {

		MgrsArray      = new Array(); //거리좌표 배열 초기화
		MgrsArray2     = new Array(); //면적좌표 배열 초기화
		MgrsArray3     = new Array(); //면적좌표 배열 초기화
		MgrsArray4     = new Array(); //면적좌표 배열 초기화
		MgrsArray5     = new Array(); //면적좌표 배열 초기화

		DistanceArray  = new Array(); //거리&면적 정보배열 초기화

		Distancecounter  = 0;
		Mgrscounter      = 0;
		Mgrscounter2     = 0;
		Mgrscounter3     = 0;
		Mgrscounter4     = 0;
		Mgrscounter5     = 0;


		var innerDiv = document.getElementById(m_inner_div);
		var outerDiv = document.getElementById(m_outer_div);

		distance_view.style.display = "none";
				
		var divs     = innerDiv.getElementsByTagName("div");
		var imgs     = innerDiv.getElementsByTagName("img");

		for (i = 0; i < divs.length; i++) {
			var name   = divs[i].getAttribute("name");			
				if (name == "icon" || name == "iconline" || name == "iconarea"){
					innerDiv.removeChild(divs[i]);
					i--;  // compensate for live nodelist
				}
		}

		for (i = 0; i < imgs.length; i++) {
			var name = imgs[i].getAttribute("name");			
				if (name == "icon"){
					//this.purge(imgs[i]);
					innerDiv.removeChild(imgs[i]);
					i--;  // compensate for live nodelist
				}	
		}

		Groupidx  = 0;
		Groupidx2 = 2;

		return;
	}

	//휠시 면적 다시 그리기 
	this.ReDrawArea = function(){

		viewportWidth  = document.getElementById("outerDiv").offsetWidth;
	    viewportHeight = document.getElementById("outerDiv").offsetHeight;

		var innerDiv = document.getElementById(m_inner_div);

		var Last2  = DistanceArray.length-1;

		var m_icon   = "icon";
		var m_width  = 130;
		var m_height = 66;

		//왼쪽 상단의 MGRS좌표를 구함
		var lefttop_loc10 = this.getLeftTopLocationMGRS4();

		var lefttop_area1       = lefttop_loc10.substr(0,1);
		var lefttop_area2       = lefttop_loc10.substr(1,1);
		var lefttop_no4_middle  = lefttop_loc10.substr(2,2);
		var lefttop_no4_after   = lefttop_loc10.substring(7,9);
		var lefttop_no10_middle = lefttop_loc10.substring(4,7);
		var lefttop_no10_after  = lefttop_loc10.substring(9,12);

		lefttop_no4_middle  = Number(lefttop_no4_middle);
		lefttop_no4_after   = Number(lefttop_no4_after);
		lefttop_no10_middle = Number(lefttop_no10_middle);
		lefttop_no10_after  = Number(lefttop_no10_after);

		//현재 그려져있는 선정보 삭제
		for (j = 0; j <= Last2; j++) { 

			var Makerinfo = DistanceArray[j];  //2차원 배열값을 변수에 저장 
			
			if (Makerinfo[4] == 5){				
				Makerinfo[0]  = null;	
				Makerinfo[1]  = null;
				Makerinfo[2]  = null;
				Makerinfo[3]  = null;
				Makerinfo[4]  = null;
				Makerinfo[5]  = null;
				Makerinfo[6]  = null;
				Makerinfo[7]  = null;
				Makerinfo[8]  = null;
				Makerinfo[9]  = null;
				Makerinfo[10] = null;
				Makerinfo[11] = null;
			}
			
		}

		//현재 그려져있는 area Div삭제 
		var divs = innerDiv.getElementsByTagName("div");

		for (k = 0; k < divs.length; k++) {
			var name   = divs[k].getAttribute("name");			
				if (name == "iconarea"){
					//this.purge(divs[k]);
					innerDiv.removeChild(divs[k]);
					k--;  // compensate for live nodelist
				}
		}
	
		var kS='';
		var Arraystr;
		var Last;
		var last3 = Groupidx2-3;

		for(m=0; m <= last3; m++){

			k = m + 2;

			if (k == 2){
				Last = MgrsArray2.length-1;
			}else if (k == 3){
				Last = MgrsArray3.length-1;
			}else if (k == 4){
				Last = MgrsArray4.length-1;
			}else if (k == 5){
				Last = MgrsArray5.length-1;
			}

			for(i=0; i <= Last; i++){

					if (k == 2){
						var Mgrsinfo  = MgrsArray2[i];
					}else if (k == 3){
						var Mgrsinfo  = MgrsArray3[i];
					}else if (k == 4){
						var Mgrsinfo  = MgrsArray4[i];
					}else if (k == 5){
						var Mgrsinfo  = MgrsArray5[i];
					}

					var priorMgrs = Mgrsinfo[0];

					/////////////////////////////////////////////////////////////////////////////////////////
					//필요한 문자열 추출
					var Get_area1        = priorMgrs.substr(0,1);
					var Get_area2        = priorMgrs.substr(1,1);
					var Get_no4_middle   = priorMgrs.substr(2,2);
					var Get_no4_after    = priorMgrs.substring(7,9);
					var Get_no10_middle  = priorMgrs.substring(4,7);
					var Get_no10_after   = priorMgrs.substring(9,12);

					Get_no4_middle  = Number(Get_no4_middle);
					Get_no4_after   = Number(Get_no4_after);
					Get_no10_middle = Number(Get_no10_middle);
					Get_no10_after  = Number(Get_no10_after);		
					/////////////////////////////////////////////////////////////////////////////////////////
					//왼쪽 상단과 마커 간의 상대 거리를 계산하여 화면에 표시해줌

					var lefttop_x_value = lefttop_no4_middle*1000+lefttop_no10_middle;
					var lefttop_y_value = lefttop_no4_after*1000+lefttop_no10_after;

					var marker_x_value = Get_no4_middle*1000+Get_no10_middle;
					var marker_y_value = Get_no4_after*1000+Get_no10_after;

					//상대 거리를 구함
					var left_value = marker_x_value - lefttop_x_value;
					left_value     = Math.floor(left_value*(tileSize/1000));

					var top_value  = lefttop_y_value - marker_y_value;
					top_value      = Math.floor(top_value*(tileSize/1000));

					if(i==0){
						kS+="m "+left_value+","+top_value+" l ";
					}else{
						if(i==Last){
							kS+=left_value+","+top_value+"x e";
							var mgrs_str  = Mgrsinfo[0];

							/////////////////////////////////////////////////////////////////////////////////////////
							//현재 클릭지점 좌표 문자열 추출
							var Get_area1        = mgrs_str.substr(0,1);
							var Get_area2        = mgrs_str.substr(1,1);
							var Get_no4_middle   = mgrs_str.substr(2,2);
							var Get_no4_after    = mgrs_str.substring(7,9);
							var Get_no10_middle  = mgrs_str.substring(4,7);
							var Get_no10_after   = mgrs_str.substring(9,12);

							Get_no4_middle  = Number(Get_no4_middle);
							Get_no4_after   = Number(Get_no4_after);
							Get_no10_middle = Number(Get_no10_middle);
							Get_no10_after  = Number(Get_no10_after);	
							/////////////////////////////////////////////////////////////////////////////////////////

							//왼쪽 상단과 마커 간의 상대 거리를 계산하여 화면에 표시해줌
							var lefttop_x_value2 = lefttop_no4_middle*1000+lefttop_no10_middle;
							var lefttop_y_value2 = lefttop_no4_after*1000+lefttop_no10_after;

							var marker_x_value2 = Get_no4_middle*1000+Get_no10_middle;
							var marker_y_value2 = Get_no4_after*1000+Get_no10_after;

							//상대 거리를 구함
							var left_value2 = marker_x_value2 - lefttop_x_value2;
							left_value2     = Math.floor(left_value2*(tileSize/1000));

							var top_value2  = lefttop_y_value2 - marker_y_value2;
							top_value2      = Math.floor(top_value2*(tileSize/1000));
							
						}else{
							kS+=left_value+","+top_value+",";
						}
					}
				}

			var m_icon   = "icon";
			var m_width  = 130;
			var m_height = 66;

			//영역추가
			DistanceArray[Distancecounter] = [mgrs_str, m_icon ,m_width, m_height,5,null,null,null,null,null,left_value2,top_value2,kS];
					
			Distancecounter++;
		}

		return;
	}

	//휠시 거리 다시 그리기 
	this.ReDrawDistance = function(){

		viewportWidth  = document.getElementById("outerDiv").offsetWidth;
	    viewportHeight = document.getElementById("outerDiv").offsetHeight;

		var innerDiv = document.getElementById(m_inner_div);

		var First = 0;
		var Last   = MgrsArray.length-1;
		var Last2  = DistanceArray.length-1;

		var m_icon   = "icon";
		var m_width  = 130;
		var m_height = 66;

		//왼쪽 상단의 MGRS좌표를 구함
		var lefttop_loc10 = this.getLeftTopLocationMGRS4();

		var lefttop_area1       = lefttop_loc10.substr(0,1);
		var lefttop_area2       = lefttop_loc10.substr(1,1);
		var lefttop_no4_middle  = lefttop_loc10.substr(2,2);
		var lefttop_no4_after   = lefttop_loc10.substring(7,9);
		var lefttop_no10_middle = lefttop_loc10.substring(4,7);
		var lefttop_no10_after  = lefttop_loc10.substring(9,12);

		lefttop_no4_middle  = Number(lefttop_no4_middle);
		lefttop_no4_after   = Number(lefttop_no4_after);
		lefttop_no10_middle = Number(lefttop_no10_middle);
		lefttop_no10_after  = Number(lefttop_no10_after);

		//현재 그려져있는 선정보 삭제
		for (j = 0; j <= Last2; j++) { 

			var Makerinfo = DistanceArray[j];  //2차원 배열값을 변수에 저장 
			
			if (Makerinfo[4] == 4){				
				Makerinfo[0]  = null;	
				Makerinfo[1]  = null;
				Makerinfo[2]  = null;
				Makerinfo[3]  = null;
				Makerinfo[4]  = null;
				Makerinfo[5]  = null;
				Makerinfo[6]  = null;
				Makerinfo[7]  = null;
				Makerinfo[8]  = null;
				Makerinfo[9]  = null;
				Makerinfo[10] = null;
				Makerinfo[11] = null;
			}
			
		}

		//현재 그려져있는 line Div삭제 
		var divs = innerDiv.getElementsByTagName("div");

		for (k = 0; k < divs.length; k++) {
			var name   = divs[k].getAttribute("name");			
				if (name == "iconline"){
					//this.purge(divs[k]);
					innerDiv.removeChild(divs[k]);
					k--;  // compensate for live nodelist
				}
		}
		
		//좌표배열순서대로 선다시 그리기 
		for(i=First; i <= Last; i++){

			var Mgrsinfo   = MgrsArray[i]; //현재거리
			var nowMgrs    = Mgrsinfo[0];  //현재클릭지점 Mgrs
			var nowX       = Mgrsinfo[1];  //현재클릭지점 화면좌표 
			var nowY	   = Mgrsinfo[2];
			var Gurop_type = Mgrsinfo[3];

			if (i != 0 ){

				var Mgrsinfo2   = MgrsArray[i-1]; //현재거리
				var Gurop_type2 = Mgrsinfo2[3];  //현재클릭지점 Mgrs

				if (Gurop_type == Gurop_type2){
				
					/////////////////////////////////////////////////////////////////////////////////////////
					//현재 클릭지점 좌표 문자열 추출
					var Get_area1        = nowMgrs.substr(0,1);
					var Get_area2        = nowMgrs.substr(1,1);
					var Get_no4_middle   = nowMgrs.substr(2,2);
					var Get_no4_after    = nowMgrs.substring(7,9);
					var Get_no10_middle  = nowMgrs.substring(4,7);
					var Get_no10_after   = nowMgrs.substring(9,12);

					Get_no4_middle  = Number(Get_no4_middle);
					Get_no4_after   = Number(Get_no4_after);
					Get_no10_middle = Number(Get_no10_middle);
					Get_no10_after  = Number(Get_no10_after);	
					/////////////////////////////////////////////////////////////////////////////////////////

					//왼쪽 상단과 마커 간의 상대 거리를 계산하여 화면에 표시해줌
					var lefttop_x_value2 = lefttop_no4_middle*1000+lefttop_no10_middle;
					var lefttop_y_value2 = lefttop_no4_after*1000+lefttop_no10_after;

					var marker_x_value2 = Get_no4_middle*1000+Get_no10_middle;
					var marker_y_value2 = Get_no4_after*1000+Get_no10_after;

					//상대 거리를 구함
					var left_value2 = marker_x_value2 - lefttop_x_value2;
					left_value2     = Math.floor(left_value2*(tileSize/1000));

					var top_value2  = lefttop_y_value2 - marker_y_value2;
					top_value2      = Math.floor(top_value2*(tileSize/1000));

					var Mgrsinfo2 = MgrsArray[i-1]; //한단계전거리
					var priorMgrs = Mgrsinfo2[0];
					var priorX    = Mgrsinfo2[1];
					var priorY	  = Mgrsinfo2[2];

					/////////////////////////////////////////////////////////////////////////////////////////
					//한단계전 클릭지점 좌표 문자열 추출
					var Get_area1        = priorMgrs.substr(0,1);
					var Get_area2        = priorMgrs.substr(1,1);
					var Get_no4_middle   = priorMgrs.substr(2,2);
					var Get_no4_after    = priorMgrs.substring(7,9);
					var Get_no10_middle  = priorMgrs.substring(4,7);
					var Get_no10_after   = priorMgrs.substring(9,12);

					Get_no4_middle  = Number(Get_no4_middle);
					Get_no4_after   = Number(Get_no4_after);
					Get_no10_middle = Number(Get_no10_middle);
					Get_no10_after  = Number(Get_no10_after);	
					/////////////////////////////////////////////////////////////////////////////////////////

					//왼쪽 상단과 마커 간의 상대 거리를 계산하여 화면에 표시해줌
					var lefttop_x_value = lefttop_no4_middle*1000+lefttop_no10_middle;
					var lefttop_y_value = lefttop_no4_after*1000+lefttop_no10_after;

					var marker_x_value = Get_no4_middle*1000+Get_no10_middle;
					var marker_y_value = Get_no4_after*1000+Get_no10_after;

					//상대 거리를 구함
					var left_value = marker_x_value - lefttop_x_value;
					left_value     = Math.floor(left_value*(tileSize/1000));

					var top_value  = lefttop_y_value - marker_y_value;
					top_value      = Math.floor(top_value*(tileSize/1000));

					//선추가
					DistanceArray[Distancecounter] = [nowMgrs, m_icon ,m_width, m_height,4,null,null,null,left_value,top_value,left_value2,top_value2];

					//선추가
					//DistanceArray[Distancecounter] = [nowMgrs, m_icon ,m_width, m_height,4,null,null,null,priorX,priorY,nowX,nowY];
					
					Distancecounter++;
				}

			}
		}

		return;
	}

	//최종거리&최종면적 구하기함수
	this.EndDrawMode = function(DrawMode){

		var walking,bicycles;
		distance_view.style.display = "none";
		
		if (DrawMode == "line"){

			var lastArray = MgrsArray.length-1; //총배열수

			if (lastArray >= 1){
		
				var Mgrsinfo = MgrsArray[MgrsArray.length-1]; //마지막거리
	
					var nowX    = Mgrsinfo[1];
					var nowY	= Mgrsinfo[2];
					
					var kt = alldistance/4;
					if (kt < 1){
						kt *= 60;
						kt = Math.round(kt);
						walking = kt + "분";
					}else{		
						kt = String(kt);
						var walkingValue = kt.split(".");
						var walkingmin = "0." +walkingValue[1];
						walkingmin *= 60; 
						walkingmin = Math.round(walkingmin);
						walking = walkingValue[0] + "시간" + walkingmin + "분";
					}

					var bK = alldistance/15;
					if (bK < 1){
						bK *= 60;
						bK = Math.round(bK);
						bicycles = bK + "분";
					}else{		
						bK = String(bK);
						var bicyclesValue = bK.split(".");
						var bicyclesmin = "0." +bicyclesValue[1];
						bicyclesmin *= 60; 
						bicyclesmin = Math.round(bicyclesmin);
						bicycles = bicyclesValue[0] + "시간" + bicyclesmin + "분";
					}


					var mgrs_str = Mgrsinfo[0];
					var m_icon   = "icon";
					var m_width  = 130;
					var m_height = 66;
					var distance = 0;

					//클릭지점 Loc10, 아이콘이미지,이미지 넓이,높이 마커추가(거리최종값)
					DistanceArray[Distancecounter] = [mgrs_str, m_icon ,m_width, m_height,3,distance,walking,bicycles];
					
					Distancecounter++;

					this.checkdistance();

					Mgrsindex++;
					Groupidx++;
					
					//MgrsArray   = new Array(); //거리배열 초기화
					//Mgrscounter = 0;           //거리배열카운터 초기화

					alldistance = 0;   //총거리 초기화
					indexcouter = 0;
	
			  }else if (lastArray == 0){

				alert("거리재기는 두점 이상 클릭해야 합니다.");
				return;
			  }
		  		
		}else if(DrawMode == "area"){

			if (Groupidx2 == 2){
				 var lastArray = MgrsArray2.length-1; //총배열수
			}else if (Groupidx2 == 3){
				 var lastArray = MgrsArray3.length-1; //총배열수
			}else if (Groupidx2 == 4){
				 var lastArray = MgrsArray4.length-1; //총배열수
			}else if (Groupidx2 == 5){
				 var lastArray = MgrsArray5.length-1; //총배열수
			}

			  if (lastArray >= 2){

					this.addarea(); //면적추가

					var z     = 0;
					var First = 0;
					var Last  = lastArray;

					//왼쪽 상단의 MGRS좌표를 구함
					var lefttop_loc10 = this.getLeftTopLocationMGRS4();

					var lefttop_area1       = lefttop_loc10.substr(0,1);
					var lefttop_area2       = lefttop_loc10.substr(1,1);
					var lefttop_no4_middle  = lefttop_loc10.substr(2,2);
					var lefttop_no4_after   = lefttop_loc10.substring(7,9);
					var lefttop_no10_middle = lefttop_loc10.substring(4,7);
					var lefttop_no10_after  = lefttop_loc10.substring(9,12);

					lefttop_no4_middle  = Number(lefttop_no4_middle);
					lefttop_no4_after   = Number(lefttop_no4_after);
					lefttop_no10_middle = Number(lefttop_no10_middle);
					lefttop_no10_after  = Number(lefttop_no10_after);
					
					if (Groupidx2 == 2){
						var Firstinfo  = MgrsArray2[First];   //면적배열 첫번째 화면좌표
						var priorMgrs  = Firstinfo[0];
						var FirstX     = Firstinfo[1];
						var FirstY	   = Firstinfo[2];

						var Lastinfo  = MgrsArray2[Last];     //면적배열 마지막 화면좌표
						var mgrs_str  = Lastinfo[0];
						var LastX     = Lastinfo[1];
						var LastY	  = Lastinfo[2];
					}else if (Groupidx2 == 3){
						var Firstinfo  = MgrsArray3[First];   //면적배열 첫번째 화면좌표
						var priorMgrs  = Firstinfo[0];
						var FirstX     = Firstinfo[1];
						var FirstY	   = Firstinfo[2];

						var Lastinfo  = MgrsArray3[Last];     //면적배열 마지막 화면좌표
						var mgrs_str  = Lastinfo[0];
						var LastX     = Lastinfo[1];
						var LastY	  = Lastinfo[2];
					}else if (Groupidx2 == 4){
						var Firstinfo  = MgrsArray4[First];   //면적배열 첫번째 화면좌표
						var priorMgrs  = Firstinfo[0];
						var FirstX     = Firstinfo[1];
						var FirstY	   = Firstinfo[2];

						var Lastinfo  = MgrsArray4[Last];     //면적배열 마지막 화면좌표
						var mgrs_str  = Lastinfo[0];
						var LastX     = Lastinfo[1];
						var LastY	  = Lastinfo[2];
					}else if (Groupidx2 == 5){
						var Firstinfo  = MgrsArray5[First];   //면적배열 첫번째 화면좌표
						var priorMgrs  = Firstinfo[0];
						var FirstX     = Firstinfo[1];
						var FirstY	   = Firstinfo[2];

						var Lastinfo  = MgrsArray5[Last];     //면적배열 마지막 화면좌표
						var mgrs_str  = Lastinfo[0];
						var LastX     = Lastinfo[1];
						var LastY	  = Lastinfo[2];
					}

				    /////////////////////////////////////////////////////////////////////////////////////////
					//필요한 문자열 추출
				    /*var Get_area1        = priorMgrs.substr(0,1);
					var Get_area2        = priorMgrs.substr(1,1);
					var Get_no4_middle   = priorMgrs.substr(2,2);
					var Get_no4_after    = priorMgrs.substring(7,9);
					var Get_no10_middle  = priorMgrs.substring(4,7);
					var Get_no10_after   = priorMgrs.substring(9,12);

					Get_no4_middle  = Number(Get_no4_middle);
					Get_no4_after   = Number(Get_no4_after);
					Get_no10_middle = Number(Get_no10_middle);
					Get_no10_after  = Number(Get_no10_after);		
					/////////////////////////////////////////////////////////////////////////////////////////
					//왼쪽 상단과 마커 간의 상대 거리를 계산하여 화면에 표시해줌

					var lefttop_x_value = lefttop_no4_middle*1000+lefttop_no10_middle;
					var lefttop_y_value = lefttop_no4_after*1000+lefttop_no10_after;

					var marker_x_value = Get_no4_middle*1000+Get_no10_middle;
					var marker_y_value = Get_no4_after*1000+Get_no10_after;

					//상대 거리를 구함
					var left_value = marker_x_value - lefttop_x_value;
					left_value     = Math.floor(left_value*(tileSize/1000));

					var top_value  = lefttop_y_value - marker_y_value;
					top_value      = Math.floor(top_value*(tileSize/1000));

					
					var m_icon   = "icon";
					var m_width  = 130;
					var m_height = 66;

					//선추가
					DistanceArray[Distancecounter] = [mgrs_str, m_icon ,m_width, m_height,4,distance,null,null,left_value,top_value,LastX,LastY];
				
					Distancecounter++;*/

					this.checkdistance();

					for(i=First; i <= Last; i++){

						if (Groupidx2 == 2){
							var Mgrsinfo = MgrsArray2[i];
							var nowX     = Mgrsinfo[1];
							var nowY	 = Mgrsinfo[2];

							if (i < Last){
								var Nextinfo = MgrsArray2[i+1]; //해당순번 다음 화면좌표
								var NextX    = Nextinfo[1];
								var NextY	 = Nextinfo[2];	
							}
						
							if(i > 0){
								var preinfo  = MgrsArray2[i-1]; //해당순번 전 화면좌표 
								var preX     = preinfo[1];
								var preY	 = preinfo[2];
							}
						}else if (Groupidx2 == 3){
							var Mgrsinfo = MgrsArray3[i];
							var nowX     = Mgrsinfo[1];
							var nowY	 = Mgrsinfo[2];

							if (i < Last){
								var Nextinfo = MgrsArray3[i+1]; //해당순번 다음 화면좌표
								var NextX    = Nextinfo[1];
								var NextY	 = Nextinfo[2];	
							}
						
							if(i > 0){
								var preinfo  = MgrsArray3[i-1]; //해당순번 전 화면좌표 
								var preX     = preinfo[1];
								var preY	 = preinfo[2];
							}
						}else if (Groupidx2 == 4){
							var Mgrsinfo = MgrsArray4[i];
							var nowX     = Mgrsinfo[1];
							var nowY	 = Mgrsinfo[2];

							if (i < Last){
								var Nextinfo = MgrsArray4[i+1]; //해당순번 다음 화면좌표
								var NextX    = Nextinfo[1];
								var NextY	 = Nextinfo[2];	
							}
						
							if(i > 0){
								var preinfo  = MgrsArray4[i-1]; //해당순번 전 화면좌표 
								var preX     = preinfo[1];
								var preY	 = preinfo[2];
							}
						}else if (Groupidx2 == 5){
							var Mgrsinfo = MgrsArray5[i];
							var nowX     = Mgrsinfo[1];
							var nowY	 = Mgrsinfo[2];

							if (i < Last){
								var Nextinfo = MgrsArray5[i+1]; //해당순번 다음 화면좌표
								var NextX    = Nextinfo[1];
								var NextY	 = Nextinfo[2];	
							}
						
							if(i > 0){
								var preinfo  = MgrsArray5[i-1]; //해당순번 전 화면좌표 
								var preX     = preinfo[1];
								var preY	 = preinfo[2];
							}
						}
						
						if(i == Last){
							z += nowX * FirstY;
						}else{
							z += nowX * NextY;
						}

						if(i == First){
							z -= nowX * LastY;
						}else{
							z -= nowX * preY;	
						}
					}

					if(z < 0){
						z*=(-1);
					}
					z*=0.5;

					var meter  = 0;
					var result = 0;

					meter = 1000 / tileSize;
					meter  = meter * meter;
					result = z * meter;

					qk = "㎡";
					result = result.toFixed(2);

					if(result > 1000000){
						result = result/1000000;
						result   = result.toFixed(2);
						qk = "㎢"
					}

					result = result + qk;

					var m_icon   = "icon";
					var m_width  = 100;
					var m_height = 46;

					//영역추가
					DistanceArray[Distancecounter] = [mgrs_str, m_icon ,m_width, m_height,6,null,null,null,null,null,LastX,LastY,null,result];

					Distancecounter++;

					this.checkdistance();

					Mgrsindex++;
					Groupidx2++;

					//MgrsArray   = new Array();//거리배열 초기화
					//Mgrscounter2 = 0;         //거리배열카운터 초기화

					alldistance = 0;            //총거리 초기화
					indexcouter = 0;

				}else if (lastArray == 1 || lastArray == 0){

					alert("면적재기는 세점 이상 클릭해야 합니다.");
					return false;
			}
		}

		var outerDiv = document.getElementById(m_outer_div);

		GMapMode = "Move";
		outerDiv.detachEvent("oncontextmenu",EndDrawMode);  //최종거리&면적모드 이벤트제거

		return;
	}
	
	//영역추가
	this.addarea = function(){

		if(!document.namespaces.v){
			document.namespaces.add("v","urn:schemas-microsoft-com:vml"); //VML을 위한 Namespace 정의
			document.createStyleSheet().addRule("v\\:*","behavior: url(#default#VML);") //VML을 위한 behavior정의
		}

		var innerDiv = document.getElementById(m_inner_div);
		var First = 0;

		if (Groupidx2 == 2){
			 var Last = MgrsArray2.length-1; //총배열수
		}else if (Groupidx2 == 3){
			 var Last = MgrsArray3.length-1; //총배열수
		}else if (Groupidx2 == 4){
			 var Last = MgrsArray4.length-1; //총배열수
		}else if (Groupidx2 == 5){
			 var Last = MgrsArray5.length-1; //총배열수
		}

		var kS='';

		//왼쪽 상단의 MGRS좌표를 구함
		var lefttop_loc10 = this.getLeftTopLocationMGRS4();

		var lefttop_area1       = lefttop_loc10.substr(0,1);
		var lefttop_area2       = lefttop_loc10.substr(1,1);
		var lefttop_no4_middle  = lefttop_loc10.substr(2,2);
		var lefttop_no4_after   = lefttop_loc10.substring(7,9);
		var lefttop_no10_middle = lefttop_loc10.substring(4,7);
		var lefttop_no10_after  = lefttop_loc10.substring(9,12);

		lefttop_no4_middle  = Number(lefttop_no4_middle);
		lefttop_no4_after   = Number(lefttop_no4_after);
		lefttop_no10_middle = Number(lefttop_no10_middle);
		lefttop_no10_after  = Number(lefttop_no10_after);

		for(i=First; i <= Last; i++){	

			if (Groupidx2 == 2){
				var Mgrsinfo   = MgrsArray2[i];
				var priorMgrs  = Mgrsinfo[0];
			}else if (Groupidx2 == 3){
				var Mgrsinfo   = MgrsArray3[i];
				var priorMgrs  = Mgrsinfo[0];
			}else if (Groupidx2 == 4){
				var Mgrsinfo   = MgrsArray4[i];
				var priorMgrs  = Mgrsinfo[0];
			}else if (Groupidx2 == 5){
				var Mgrsinfo   = MgrsArray5[i];
				var priorMgrs  = Mgrsinfo[0];
			}

			/////////////////////////////////////////////////////////////////////////////////////////
			//필요한 문자열 추출
			var Get_area1        = priorMgrs.substr(0,1);
			var Get_area2        = priorMgrs.substr(1,1);
			var Get_no4_middle   = priorMgrs.substr(2,2);
			var Get_no4_after    = priorMgrs.substring(7,9);
			var Get_no10_middle  = priorMgrs.substring(4,7);
			var Get_no10_after   = priorMgrs.substring(9,12);

			Get_no4_middle  = Number(Get_no4_middle);
			Get_no4_after   = Number(Get_no4_after);
			Get_no10_middle = Number(Get_no10_middle);
			Get_no10_after  = Number(Get_no10_after);		
			/////////////////////////////////////////////////////////////////////////////////////////
			//왼쪽 상단과 마커 간의 상대 거리를 계산하여 화면에 표시해줌

			var lefttop_x_value = lefttop_no4_middle*1000+lefttop_no10_middle;
			var lefttop_y_value = lefttop_no4_after*1000+lefttop_no10_after;

			var marker_x_value = Get_no4_middle*1000+Get_no10_middle;
			var marker_y_value = Get_no4_after*1000+Get_no10_after;

			//상대 거리를 구함
			var left_value = marker_x_value - lefttop_x_value;
			left_value     = Math.floor(left_value*(tileSize/1000));

			var top_value  = lefttop_y_value - marker_y_value;
			top_value      = Math.floor(top_value*(tileSize/1000));
			
			if(i==0){
				kS+="m "+left_value+","+top_value+" l ";
			}else{
				if(i==Last){
					kS+=left_value+","+top_value+"x e";
					var mgrs_str  = Mgrsinfo[0];
					/////////////////////////////////////////////////////////////////////////////////////////
					//현재 클릭지점 좌표 문자열 추출
					var Get_area1        = mgrs_str.substr(0,1);
					var Get_area2        = mgrs_str.substr(1,1);
					var Get_no4_middle   = mgrs_str.substr(2,2);
					var Get_no4_after    = mgrs_str.substring(7,9);
					var Get_no10_middle  = mgrs_str.substring(4,7);
					var Get_no10_after   = mgrs_str.substring(9,12);

					Get_no4_middle  = Number(Get_no4_middle);
					Get_no4_after   = Number(Get_no4_after);
					Get_no10_middle = Number(Get_no10_middle);
					Get_no10_after  = Number(Get_no10_after);	
					/////////////////////////////////////////////////////////////////////////////////////////

					//왼쪽 상단과 마커 간의 상대 거리를 계산하여 화면에 표시해줌
					var lefttop_x_value2 = lefttop_no4_middle*1000+lefttop_no10_middle;
					var lefttop_y_value2 = lefttop_no4_after*1000+lefttop_no10_after;

					var marker_x_value2 = Get_no4_middle*1000+Get_no10_middle;
					var marker_y_value2 = Get_no4_after*1000+Get_no10_after;

					//상대 거리를 구함
					var left_value2 = marker_x_value2 - lefttop_x_value2;
					left_value2     = Math.floor(left_value2*(tileSize/1000));

					var top_value2  = lefttop_y_value2 - marker_y_value2;
					top_value2      = Math.floor(top_value2*(tileSize/1000));

					//var LastX     = Mgrsinfo[1];
					//var LastY	  = Mgrsinfo[2];
					
				}else{
					kS+=left_value+","+top_value+",";
				}
			}
		}

		var m_icon   = "icon";
		var m_width  = 130;
		var m_height = 66;

		//영역추가
		DistanceArray[Distancecounter] = [mgrs_str, m_icon ,m_width, m_height,5,null,null,null,null,null,left_value2,top_value2,kS];
				
		Distancecounter++;

		this.checkdistance();

		/*var dialog = document.createElement("div"); 
		dialog.style.position = "absolute";
		dialog.style.zIndex   = 1;
		dialog.setAttribute("id", "pinDialog" + Mgrsindex); 	
		dialog.innerHTML = "<v:shape style='position:absolute; width:200; height:200' coordorigin='0 0' coordsize='200 200' stroke='true' strokecolor='#6B8EF0' strokeweight='0.5'><v:fill on='true' color='#6B8EF0'opacity='0.1'/><v:path v='"+kS+"'/></v:shape>";
		innerDiv.appendChild(dialog);*/

		return;
	}

	//라인추가
	this.addlines = function(innerDiv,priorX,priorY,nowX,nowY){

		if(!document.namespaces.v){
			document.namespaces.add("v","urn:schemas-microsoft-com:vml"); //VML을 위한 Namespace 정의
			document.createStyleSheet().addRule("v\\:*","behavior: url(#default#VML);") //VML을 위한 behavior정의
		}

		var dialog = document.createElement("div");
		dialog.style.position = "absolute";
		dialog.style.zIndex   = 1;
		dialog.setAttribute("id", "pinDialog" + Mgrsindex);
		dialog.innerHTML = "<v:line id=lines style='position:absolute;' fillcolor ='#6B8EF0' from='"+priorX+"px,"+priorY+"px' to='"+nowX+"px,"+nowY+"px' strokeweight='2.2pt' strokecolor='#6B8EF0' strokeStyle ='single' />";
		innerDiv.appendChild(dialog);

		return;
	}


	//거리구하기함수
	this.addition = function(MgrsArray_num,DrawMode){

		if (DrawMode == "line"){	
			distance_view.style.display = "block";
		}else if (DrawMode == "area"){

				distance_view.style.diplay = "block";
				var Menulog = document.getElementById("distance_view");
	
				Menulog.innerHTML ="<table width='100' height='40' border='0' background='http://map.geopis.co.kr/map/geopis/noimg/area_view.gif'><tr>&nbsp</tr></table>";

		}

		//한단계전까지의 거리
		if (indexcouter != 0){

			if (DrawMode == "line"){

				var Mgrsinfo = MgrsArray[MgrsArray_num]; //현재거리
				var nowMgrs = Mgrsinfo[0];
				var nowX    = Mgrsinfo[1];
				var nowY	= Mgrsinfo[2];

				var Mgrsinfo2 = MgrsArray[MgrsArray_num-1]; //한단계전거리
				var priorMgrs = Mgrsinfo2[0];
				var priorX    = Mgrsinfo2[1];
				var priorY	  = Mgrsinfo2[2];

				//alert(GMapMode);

				//왼쪽 상단의 MGRS좌표를 구함
				var lefttop_loc10 = this.getLeftTopLocationMGRS4();

				//alert(lefttop_loc10 + " " + priorMgrs);

				var lefttop_area1       = lefttop_loc10.substr(0,1);
				var lefttop_area2       = lefttop_loc10.substr(1,1);
				var lefttop_no4_middle  = lefttop_loc10.substr(2,2);
				var lefttop_no4_after   = lefttop_loc10.substring(7,9);
				var lefttop_no10_middle = lefttop_loc10.substring(4,7);
				var lefttop_no10_after  = lefttop_loc10.substring(9,12);

				lefttop_no4_middle  = Number(lefttop_no4_middle);
				lefttop_no4_after   = Number(lefttop_no4_after);
				lefttop_no10_middle = Number(lefttop_no10_middle);
				lefttop_no10_after  = Number(lefttop_no10_after);

				/////////////////////////////////////////////////////////////////////////////////////////
				//필요한 문자열 추출
				var Get_area1        = priorMgrs.substr(0,1);
				var Get_area2        = priorMgrs.substr(1,1);
				var Get_no4_middle   = priorMgrs.substr(2,2);
				var Get_no4_after    = priorMgrs.substring(7,9);
				var Get_no10_middle  = priorMgrs.substring(4,7);
				var Get_no10_after   = priorMgrs.substring(9,12);

				Get_no4_middle  = Number(Get_no4_middle);
				Get_no4_after   = Number(Get_no4_after);
				Get_no10_middle = Number(Get_no10_middle);
				Get_no10_after  = Number(Get_no10_after);		
				/////////////////////////////////////////////////////////////////////////////////////////
				//왼쪽 상단과 마커 간의 상대 거리를 계산하여 화면에 표시해줌

				var lefttop_x_value = lefttop_no4_middle*1000+lefttop_no10_middle;
				var lefttop_y_value = lefttop_no4_after*1000+lefttop_no10_after;

				var marker_x_value = Get_no4_middle*1000+Get_no10_middle;
				var marker_y_value = Get_no4_after*1000+Get_no10_after;

				//상대 거리를 구함
				var left_value = marker_x_value - lefttop_x_value;
				left_value     = Math.floor(left_value*(tileSize/1000));

				var top_value  = lefttop_y_value - marker_y_value;
				top_value      = Math.floor(top_value*(tileSize/1000));

				//alert(left_value + " " + top_value);

				//this.addlines(innerDiv,priorX,priorY,nowX,nowY);//라인추가
				var Mgrsinfo = MgrsArray[MgrsArray_num]; //현재거리

				var mgrs_str = Mgrsinfo[0];
				var m_icon   = "icon";
				var m_width  = 130;
				var m_height = 66;

				var additionX = nowX - left_value;
				var additionY = nowY - top_value;

				distance = Math.sqrt(Math.pow(additionX,2) + Math.pow(additionY,2)); //피타고라스의 정리에 의한 거리계산
				distance = distance/tileSize;   //타일사이즈에 맞게 거리 보정
				distance = distance.toFixed(2); //소수점 둘째자리까지 고정
				alldistance = Number(alldistance) + Number(distance); //총거리
				alldistance = alldistance.toFixed(2); //소수점 둘째자리까지 고정
				
				//선추가
				DistanceArray[Distancecounter] = [mgrs_str, m_icon ,m_width, m_height,4,distance,null,null,left_value,top_value,nowX,nowY];

				//DistanceArray[Distancecounter] = [mgrs_str, m_icon ,m_width, m_height,4,distance,null,null,priorX,priorY,nowX,nowY];
				
				Distancecounter++;

				this.checkdistance();

				 m_width  = 45;
				 m_height = 17;

				//거리중간값
				DistanceArray[Distancecounter] = [mgrs_str, m_icon ,m_width, m_height,2,distance];
				
				Distancecounter++;

				this.checkdistance();

				var Menulog = document.getElementById("distance_view");
	
				Menulog.innerHTML ="<table width='100' height='64' border='0' background='http://map.geopis.co.kr/map/geopis/noimg/distance_view.gif'><tr>" +
				"<td align='center' width='100' height='20'><b>총거리</b>&nbsp;<font color='blue'>"+ alldistance +"km</font></td></tr><tr><td width='100' height='38'></td></tr></table>";

			}else if (DrawMode == "area"){

				if (Groupidx2 == 2){
					var Mgrsinfo = MgrsArray2[MgrsArray_num]; //현재거리
					var nowMgrs = Mgrsinfo[0];
					var nowX    = Mgrsinfo[1];
					var nowY	= Mgrsinfo[2];

					var Mgrsinfo2 = MgrsArray2[MgrsArray_num-1]; //한단계전거리
					var priorMgrs = Mgrsinfo2[0];
					var priorX    = Mgrsinfo2[1];
					var priorY	  = Mgrsinfo2[2];
				}else if (Groupidx2 == 3){
					var Mgrsinfo = MgrsArray3[MgrsArray_num]; //현재거리
					var nowMgrs = Mgrsinfo[0];
					var nowX    = Mgrsinfo[1];
					var nowY	= Mgrsinfo[2];

					var Mgrsinfo2 = MgrsArray3[MgrsArray_num-1]; //한단계전거리
					var priorMgrs = Mgrsinfo2[0];
					var priorX    = Mgrsinfo2[1];
					var priorY	  = Mgrsinfo2[2];
				}else if (Groupidx2 == 4){
					var Mgrsinfo = MgrsArray4[MgrsArray_num]; //현재거리
					var nowMgrs = Mgrsinfo[0];
					var nowX    = Mgrsinfo[1];
					var nowY	= Mgrsinfo[2];

					var Mgrsinfo2 = MgrsArray4[MgrsArray_num-1]; //한단계전거리
					var priorMgrs = Mgrsinfo2[0];
					var priorX    = Mgrsinfo2[1];
					var priorY	  = Mgrsinfo2[2];
				}else if (Groupidx2 == 5){
					var Mgrsinfo = MgrsArray5[MgrsArray_num]; //현재거리
					var nowMgrs = Mgrsinfo[0];
					var nowX    = Mgrsinfo[1];
					var nowY	= Mgrsinfo[2];

					var Mgrsinfo2 = MgrsArray5[MgrsArray_num-1]; //한단계전거리
					var priorMgrs = Mgrsinfo2[0];
					var priorX    = Mgrsinfo2[1];
					var priorY	  = Mgrsinfo2[2];
				}

				//왼쪽 상단의 MGRS좌표를 구함
				var lefttop_loc10 = this.getLeftTopLocationMGRS4();

				//alert(lefttop_loc10 + " " + priorMgrs);

				var lefttop_area1       = lefttop_loc10.substr(0,1);
				var lefttop_area2       = lefttop_loc10.substr(1,1);
				var lefttop_no4_middle  = lefttop_loc10.substr(2,2);
				var lefttop_no4_after   = lefttop_loc10.substring(7,9);
				var lefttop_no10_middle = lefttop_loc10.substring(4,7);
				var lefttop_no10_after  = lefttop_loc10.substring(9,12);

				lefttop_no4_middle  = Number(lefttop_no4_middle);
				lefttop_no4_after   = Number(lefttop_no4_after);
				lefttop_no10_middle = Number(lefttop_no10_middle);
				lefttop_no10_after  = Number(lefttop_no10_after);

				/////////////////////////////////////////////////////////////////////////////////////////
				//필요한 문자열 추출
				var Get_area1        = priorMgrs.substr(0,1);
				var Get_area2        = priorMgrs.substr(1,1);
				var Get_no4_middle   = priorMgrs.substr(2,2);
				var Get_no4_after    = priorMgrs.substring(7,9);
				var Get_no10_middle  = priorMgrs.substring(4,7);
				var Get_no10_after   = priorMgrs.substring(9,12);

				Get_no4_middle  = Number(Get_no4_middle);
				Get_no4_after   = Number(Get_no4_after);
				Get_no10_middle = Number(Get_no10_middle);
				Get_no10_after  = Number(Get_no10_after);
				
				/////////////////////////////////////////////////////////////////////////////////////////
				//왼쪽 상단과 마커 간의 상대 거리를 계산하여 화면에 표시해줌
				var lefttop_x_value = lefttop_no4_middle*1000+lefttop_no10_middle;
				var lefttop_y_value = lefttop_no4_after*1000+lefttop_no10_after;

				var marker_x_value = Get_no4_middle*1000+Get_no10_middle;
				var marker_y_value = Get_no4_after*1000+Get_no10_after;

				//상대 거리를 구함
				var left_value = marker_x_value - lefttop_x_value;
				left_value     = Math.floor(left_value*(tileSize/1000));

				var top_value  = lefttop_y_value - marker_y_value;
				top_value      = Math.floor(top_value*(tileSize/1000));

				//this.addlines(innerDiv,priorX,priorY,nowX,nowY);//라인추가
				//var Mgrsinfo = MgrsArray2[MgrsArray_num]; //현재거리
				//var mgrs_str = Mgrsinfo[0];

				var m_icon   = "icon";
				var m_width  = 130;
				var m_height = 66;

				//이동시 면적좌표 다시설정  //////////////////////////////////////////////////////////////////////
				/*var Mgrsinfo3 = MgrsArray2[MgrsArray_num-1];
				Mgrsinfo3[1]  = null;
				Mgrsinfo3[2]  = null;
				Mgrsinfo3[1]  = left_value;
				Mgrsinfo3[2]  = top_value;
				//////////////////////////////////////////////////////////////////////////////////////////////////*/

				//선추가
				DistanceArray[Distancecounter] = [nowMgrs, m_icon ,m_width, m_height,4,distance,null,null,left_value,top_value,nowX,nowY];

				//DistanceArray[Distancecounter] = [mgrs_str, m_icon ,m_width, m_height,4,distance,null,null,priorX,priorY,nowX,nowY];
				
				Distancecounter++;

				this.checkdistance();
			}		
			
		}else if (indexcouter == 0){ //시작점

			if (DrawMode == "line"){

				var Mgrsinfo = MgrsArray[MgrsArray_num]; //현재거리

				var mgrs_str = Mgrsinfo[0];
				var m_icon   = "icon";
				var m_width  = 45;
				var m_height = 17;

				//거리시작값
				DistanceArray[Distancecounter] = [mgrs_str, m_icon ,m_width, m_height,1];
				
				Distancecounter++;

				this.checkdistance();

				var Menulog = document.getElementById("distance_view");
	
				Menulog.innerHTML ="<table width='100' height='64' border='0' background='http://map.geopis.co.kr/map/geopis/noimg/distance_view.gif'><tr>" +
				"<td align='center' width='100' height='20'><b>총거리</b>&nbsp;<font color='blue'>"+ 0 +"km</font></td></tr><tr><td width='100' height='38'></td></tr></table>"

			}
		}

		//clickcount++;
		indexcouter++;

		return;

	}

	//클릭지점 좌표반환함수 
	this.Clickpoint = function(event) {

		alert('test');

		viewportWidth  = document.getElementById("outerDiv").offsetWidth;
	  viewportHeight = document.getElementById("outerDiv").offsetHeight;

		var Maker_leftgep = document.body.clientWidth - viewportWidth;
		var Maker_topgep  = document.body.clientHeight - viewportHeight; 

		var left_gap = Math.floor(viewportWidth/2);

		var lt_no4_middle  = 0;
		var lt_no10_middle = 0;

		if (GMapidx == 0){ //처음시작할때
			var c_loc10_middle = g_loc10_middle;
			var c_loc10_after  = g_loc10_after;
		}else if (GMapidx == 1){ //Mousemove이벤트발생후
			if (tileSize == 200){
				var c_loc10_middle = g_loc10_middle + 653;
				var c_loc10_after  = g_loc10_after - 293;
			}else if (tileSize == 400){
				var c_loc10_middle = g_loc10_middle + 537;
				var c_loc10_after  = g_loc10_after - 240;
			}else if (tileSize == 600){
				var c_loc10_middle = g_loc10_middle + 445;
				var c_loc10_after  = g_loc10_after - 204;
			}else if (tileSize == 800){
				var c_loc10_middle = g_loc10_middle + 362;
				var c_loc10_after  = g_loc10_after - 185;
			}else if (tileSize == 1000){
				var c_loc10_middle = g_loc10_middle + 278;
				var c_loc10_after  = g_loc10_after - 165;
			}else if (tileSize == 1200){
				var c_loc10_middle = g_loc10_middle + 238;
				var c_loc10_after  = g_loc10_after - 149;
			}else if (tileSize == 1400){
				var c_loc10_middle = g_loc10_middle + 207;
				var c_loc10_after  = g_loc10_after - 118;
			}else if (tileSize == 1600){
				var c_loc10_middle = g_loc10_middle + 175;
				var c_loc10_after  = g_loc10_after - 88;
			}else if (tileSize == 1800){
				var c_loc10_middle = g_loc10_middle + 156;
				var c_loc10_after  = g_loc10_after - 80;
			}else if (tileSize == 2000){
				var c_loc10_middle = g_loc10_middle + 125;
				var c_loc10_after  = g_loc10_after - 80;
			}

		}

		if ((event.clientX - Maker_leftgep) < left_gap){
			left_gap = left_gap - (event.clientX - Maker_leftgep);
			lt_no4_middle = g_loc4_middle-Math.floor(left_gap/tileSize)-1;
			lt_no10_middle = left_gap%tileSize;
			lt_no10_middle = Math.floor((lt_no10_middle * 1000)/tileSize);
			lt_no10_middle = c_loc10_middle-lt_no10_middle;
			if (lt_no10_middle < 0) {
				lt_no10_middle = 1000+lt_no10_middle;
				lt_no4_middle = lt_no4_middle - 1;
			}
		}else{
			left_gap = (event.clientX - Maker_leftgep) - left_gap;
			lt_no4_middle = g_loc4_middle+Math.floor(left_gap/tileSize)-1;
			lt_no10_middle = left_gap%tileSize;
			lt_no10_middle = Math.floor((lt_no10_middle * 1000)/tileSize);
			lt_no10_middle = lt_no10_middle+c_loc10_middle;
			if (lt_no10_middle > 999) {
				lt_no10_middle = lt_no10_middle-1000;
				lt_no4_middle = lt_no4_middle + 1;
			}
		}
		
		var top_gap = Math.floor(viewportHeight/2);
		var lt_no4_after  = 0;
		var lt_no10_after = 0;

		if ((event.clientY - Maker_topgep) < top_gap){
			top_gap = top_gap - (event.clientY - Maker_topgep);
			lt_no4_after = g_loc4_after+Math.floor(top_gap/tileSize);
			lt_no10_after = top_gap%tileSize;
			lt_no10_after = Math.floor((lt_no10_after * 1000)/tileSize);
			lt_no10_after = lt_no10_after+c_loc10_after;
			if (lt_no10_after > 999) {
				lt_no10_after = lt_no10_after-1000;
				lt_no4_after = lt_no4_after + 1;
			}
		}else{
			top_gap = (event.clientY - Maker_topgep) - top_gap;

			lt_no4_after = g_loc4_after-Math.floor(top_gap/tileSize);
			lt_no10_after = top_gap%tileSize;
			lt_no10_after = Math.floor((lt_no10_after * 1000)/tileSize);
			lt_no10_after = c_loc10_after-lt_no10_after;
			if (lt_no10_after < 0) {
				lt_no10_after = 1000+lt_no10_after;
				lt_no4_after = lt_no4_after - 1;
			}
		}

		
		///////////////////////////////////////////////////////
		var lt_areanum1 = g_loc_areanum1;
		var lt_areanum2 = g_loc_areanum2;

		if (lt_no10_middle > 1000){		
			lt_no10_middle = lt_no10_middle - 1000;
			lt_no4_middle  = lt_no4_middle + 1;
		}else if (lt_no10_middle < 0){
			lt_no10_middle = 1000 + lt_no10_middle;
			lt_no4_middle  = lt_no4_middle - 1;
		}

		if (lt_no10_after > 1000){
			lt_no10_after = lt_no10_after-1000;
			lt_no4_after  = lt_no4_after + 1;
		}else if (lt_no10_after < 0){
			lt_no10_after = 1000 + lt_no10_after;
			lt_no4_after  = lt_no4_after - 1;
		}

		//변경된 Loc4체크(Area변경&Loc4변경) 
		if (lt_no4_middle > 99){
			lt_areanum1 = lt_areanum1 + 1;
			lt_no4_middle = lt_no4_middle - 100;
		}else if (lt_no4_middle < 0){
			lt_areanum1 = lt_areanum1 - 1;			
			lt_no4_middle = 100 + lt_no4_middle;
		}
	
		if (lt_no4_after > 99){
			lt_areanum2 = lt_areanum2 + 1;
			lt_no4_after = lt_no4_after - 100;	
		}else if (lt_no4_after < 0){
			lt_areanum2 = lt_areanum2 - 1;
			lt_no4_after = 100 + lt_no4_after;		
		}

		///////////////////////////////////////////////////////

		var row_string = "";
		if (lt_no4_middle < 10){
			row_string = "0" + lt_no4_middle;
		}else{
			row_string = lt_no4_middle;
		}

		var col_string = "";
		if (lt_no4_after < 10){
			col_string = "0" + lt_no4_after;
		}else{
			col_string = lt_no4_after;
		}

		var row_string2 = "";
		if (lt_no10_middle < 10){
			row_string2 = "00" + lt_no10_middle;
		}else if(lt_no10_middle < 100){
			row_string2 = "0" + lt_no10_middle;
		}else{
			row_string2 = lt_no10_middle;
		}

		var col_string2 = "";
		if (lt_no10_after < 10){
			col_string2 = "00" + lt_no10_after;
		}else if(lt_no10_after < 100){
			col_string2 = "0" + lt_no10_after;
		}else{
			col_string2 = lt_no10_after;
		}
	
		

		var mgrs_str;

		mgrs_str = strRow[lt_areanum1]+strCol[lt_areanum2]+row_string+row_string2+col_string+col_string2;

		alert(mgrs_str);

		return mgrs_str; 	

	}

	//클릭지점 거리&면적좌표 구하기 (광고등록시에도 사용)
	this.addClickMaker = function(event,DrawMode) {
		
		var obj = document.getElementById("outerDiv");

		viewportWidth  = obj.offsetWidth;
	  viewportHeight = obj.offsetHeight;

		var TopPosition = document.body.clientTop + GetObjectTop(obj);
		var LeftPosition = document.body.clientLeft + GetObjectLeft(obj);
				
		var Maker_leftgep = document.body.clientWidth - (viewportWidth - LeftPosition - 11);
		var Maker_topgep  = document.body.clientHeight - (viewportHeight - TopPosition + 45);

		//기업정보 클릭시 좌표보정
		if (DrawMode == "corpclick") {
			var Maker_leftgep = document.body.clientWidth - (viewportWidth - LeftPosition - 0);
			var Maker_topgep  = document.body.clientHeight - (viewportHeight - TopPosition + 58);
		}		
				
		var left_gap = Math.floor(viewportWidth/2);

		var lt_no4_middle  = 0;
		var lt_no10_middle = 0;

		if (GMapidx == 0){ //처음시작할때
			var c_loc10_middle = g_loc10_middle;
			var c_loc10_after  = g_loc10_after;
		}else if (GMapidx == 1){ //Mousemove이벤트발생후
			if (tileSize == 200){
				var c_loc10_middle = g_loc10_middle + 653;
				var c_loc10_after  = g_loc10_after - 293;
			}else if (tileSize == 400){
				var c_loc10_middle = g_loc10_middle + 537;
				var c_loc10_after  = g_loc10_after - 240;
			}else if (tileSize == 600){
				var c_loc10_middle = g_loc10_middle + 445;
				var c_loc10_after  = g_loc10_after - 204;
			}else if (tileSize == 800){
				var c_loc10_middle = g_loc10_middle + 362;
				var c_loc10_after  = g_loc10_after - 185;
			}else if (tileSize == 1000){
				var c_loc10_middle = g_loc10_middle + 278;
				var c_loc10_after  = g_loc10_after - 165;
			}else if (tileSize == 1200){
				var c_loc10_middle = g_loc10_middle + 238;
				var c_loc10_after  = g_loc10_after - 149;
			}else if (tileSize == 1400){
				var c_loc10_middle = g_loc10_middle + 207;
				var c_loc10_after  = g_loc10_after - 118;
			}else if (tileSize == 1600){
				var c_loc10_middle = g_loc10_middle + 175;
				var c_loc10_after  = g_loc10_after - 88;
			}else if (tileSize == 1800){
				var c_loc10_middle = g_loc10_middle + 156;
				var c_loc10_after  = g_loc10_after - 80;
			}else if (tileSize == 2000){
				var c_loc10_middle = g_loc10_middle + 125;
				var c_loc10_after  = g_loc10_after - 80;
			}

		}

		if ((event.clientX - Maker_leftgep) < left_gap){
			left_gap = left_gap - (event.clientX - Maker_leftgep);
			lt_no4_middle = g_loc4_middle-Math.floor(left_gap/tileSize)-1;
			lt_no10_middle = left_gap%tileSize;
			lt_no10_middle = Math.floor((lt_no10_middle * 1000)/tileSize);
			lt_no10_middle = c_loc10_middle-lt_no10_middle;
			if (lt_no10_middle < 0) {
				lt_no10_middle = 1000+lt_no10_middle;
				lt_no4_middle = lt_no4_middle - 1;
			}
		}else{
			left_gap = (event.clientX - Maker_leftgep) - left_gap;
			lt_no4_middle = g_loc4_middle+Math.floor(left_gap/tileSize)-1;
			lt_no10_middle = left_gap%tileSize;
			lt_no10_middle = Math.floor((lt_no10_middle * 1000)/tileSize);
			lt_no10_middle = lt_no10_middle+c_loc10_middle;
			if (lt_no10_middle > 999) {
				lt_no10_middle = lt_no10_middle-1000;
				lt_no4_middle = lt_no4_middle + 1;
			}
		}
		
		var top_gap = Math.floor(viewportHeight/2);
		var lt_no4_after  = 0;
		var lt_no10_after = 0;

		if ((event.clientY - Maker_topgep) < top_gap){
			top_gap = top_gap - (event.clientY - Maker_topgep);
			lt_no4_after = g_loc4_after+Math.floor(top_gap/tileSize);
			lt_no10_after = top_gap%tileSize;
			lt_no10_after = Math.floor((lt_no10_after * 1000)/tileSize);
			lt_no10_after = lt_no10_after+c_loc10_after;
			if (lt_no10_after > 999) {
				lt_no10_after = lt_no10_after-1000;
				lt_no4_after = lt_no4_after + 1;
			}
		}else{
			top_gap = (event.clientY - Maker_topgep) - top_gap;

			lt_no4_after = g_loc4_after-Math.floor(top_gap/tileSize);
			lt_no10_after = top_gap%tileSize;
			lt_no10_after = Math.floor((lt_no10_after * 1000)/tileSize);
			lt_no10_after = c_loc10_after-lt_no10_after;
			if (lt_no10_after < 0) {
				lt_no10_after = 1000+lt_no10_after;
				lt_no4_after = lt_no4_after - 1;
			}
		}

		
		///////////////////////////////////////////////////////
		var lt_areanum1 = g_loc_areanum1;
		var lt_areanum2 = g_loc_areanum2;

		if (lt_no10_middle > 1000){		
			lt_no10_middle = lt_no10_middle - 1000;
			lt_no4_middle  = lt_no4_middle + 1;
		}else if (lt_no10_middle < 0){
			lt_no10_middle = 1000 + lt_no10_middle;
			lt_no4_middle  = lt_no4_middle - 1;
		}

		if (lt_no10_after > 1000){
			lt_no10_after = lt_no10_after-1000;
			lt_no4_after  = lt_no4_after + 1;
		}else if (lt_no10_after < 0){
			lt_no10_after = 1000 + lt_no10_after;
			lt_no4_after  = lt_no4_after - 1;
		}

		//변경된 Loc4체크(Area변경&Loc4변경) 
		if (lt_no4_middle > 99){
			lt_areanum1 = lt_areanum1 + 1;
			lt_no4_middle = lt_no4_middle - 100;
		}else if (lt_no4_middle < 0){
			lt_areanum1 = lt_areanum1 - 1;			
			lt_no4_middle = 100 + lt_no4_middle;
		}
	
		if (lt_no4_after > 99){
			lt_areanum2 = lt_areanum2 + 1;
			lt_no4_after = lt_no4_after - 100;	
		}else if (lt_no4_after < 0){
			lt_areanum2 = lt_areanum2 - 1;
			lt_no4_after = 100 + lt_no4_after;		
		}

		///////////////////////////////////////////////////////

		var row_string = "";
		if (lt_no4_middle < 10){
			row_string = "0" + lt_no4_middle;
		}else{
			row_string = lt_no4_middle;
		}

		var col_string = "";
		if (lt_no4_after < 10){
			col_string = "0" + lt_no4_after;
		}else{
			col_string = lt_no4_after;
		}

		var row_string2 = "";
		if (lt_no10_middle < 10){
			row_string2 = "00" + lt_no10_middle;
		}else if(lt_no10_middle < 100){
			row_string2 = "0" + lt_no10_middle;
		}else{
			row_string2 = lt_no10_middle;
		}

		var col_string2 = "";
		if (lt_no10_after < 10){
			col_string2 = "00" + lt_no10_after;
		}else if(lt_no10_after < 100){
			col_string2 = "0" + lt_no10_after;
		}else{
			col_string2 = lt_no10_after;
		}

		var mgrs_str;

		mgrs_str = strRow[lt_areanum1]+strCol[lt_areanum2]+row_string+row_string2+col_string+col_string2;

		var m_icon   = "http://map.geopis.co.kr/map/geopis/noimg/distance_icon.gif"; 
		var m_width  = 11;
		var m_height = 11;

	   
		 if (DrawMode == "line"){

			 if (temp_start_point!=event.clientX+"/"+event.clientY ) return false;

			 //클릭지점이미지추가 
			DistanceArray[Distancecounter] = [mgrs_str, m_icon ,m_width, m_height,0]; 

			this.checkdistance();		
			
			MgrsArray[Mgrscounter] = [mgrs_str,(event.clientX)-Maker_leftgep,(event.clientY)-Maker_topgep,Groupidx];
			
			Mgrscounter++;

			Distancecounter++;
			this.addition(Mgrscounter-1,DrawMode); //한단계전까지 거리구하기					

		 }else if (DrawMode == "corpclick"){						//기업정보 등록시

			if (temp_start_point!=event.clientX+"/"+event.clientY ) return false;

			 //클릭지점이미지추가(업태별로 아이콘 차별화)
			 icon_name = document.getElementById("state_code").value;
			 m_icon = "/Map/Images/CorpInfo/"+icon_name+".png";
			 var m_width  = 15;
			 var m_height = 15;

			 DistanceArray[Distancecounter] = [mgrs_str, m_icon ,m_width, m_height,0]; 
			 				
			 this.checkdistance();
						 
			 MgrsArray[Mgrscounter] = [mgrs_str,(event.clientX)-Maker_leftgep,(event.clientY)-Maker_topgep,Groupidx];
				
			 //Mgrscounter++;
			 alert("위치가 등록되었습니다.");	
			 //클릭 후에 정보입력창 팝업
			 Corp_Regist = document.getElementById("CorpReg_Window");
			 Corp_Regist.style.left = (document.body.clientWidth - 366)/2;
			 Corp_Regist.style.top = (document.body.clientHeight - 451)/2;	
			 Corp_Regist.style.display = "block";
		
		 }else if (DrawMode == "bmarkclick") {						//즐겨찾기 등록시
				
			 if (temp_start_point!=event.clientX+"/"+event.clientY ) return false;
			 
			 alert("위치가 등록되었습니다.");	
			 //클릭 후에 정보입력창 팝업
			 Bmark_Window = document.getElementById("BookmarkReg_Window")
			 Bmark_Window.style.left = (document.body.clientWidth - 366)/2;
	     Bmark_Window.style.top = (document.body.clientHeight - 139)/2;
			 Bmark_Window.style.display="block";

		 }else if (DrawMode == "area"){
			if (Groupidx2 == 2){

				if (temp_start_point!=event.clientX+"/"+event.clientY ) return false;

				//클릭지점이미지추가 
				DistanceArray[Distancecounter] = [mgrs_str, m_icon ,m_width, m_height,0]; 

				this.checkdistance();

				MgrsArray2[Mgrscounter2] = [mgrs_str,(event.clientX)-Maker_leftgep,(event.clientY)-Maker_topgep];

				Mgrscounter2++;
				Distancecounter++;

				this.addition(Mgrscounter2-1,DrawMode); //한단계전까지 거리구하기

			}else if (Groupidx2 == 3){

				//클릭지점이미지추가 
				DistanceArray[Distancecounter] = [mgrs_str, m_icon ,m_width, m_height,0]; 

				this.checkdistance();

				MgrsArray3[Mgrscounter3] = [mgrs_str,(event.clientX)-Maker_leftgep,(event.clientY)-Maker_topgep];

				Mgrscounter3++;
				Distancecounter++;

				this.addition(Mgrscounter3-1,DrawMode); //한단계전까지 거리구하기
			}else if (Groupidx2 == 4){

				//클릭지점이미지추가 
				DistanceArray[Distancecounter] = [mgrs_str, m_icon ,m_width, m_height,0]; 

				this.checkdistance();

				MgrsArray4[Mgrscounter4] = [mgrs_str,(event.clientX)-Maker_leftgep,(event.clientY)-Maker_topgep];

				Mgrscounter4++;
				Distancecounter++;

				this.addition(Mgrscounter4-1,DrawMode); //한단계전까지 거리구하기
			}else if (Groupidx2 == 5){

				//클릭지점이미지추가 
				DistanceArray[Distancecounter] = [mgrs_str, m_icon ,m_width, m_height,0]; 

				this.checkdistance();

				MgrsArray5[Mgrscounter5] = [mgrs_str,(event.clientX)-Maker_leftgep,(event.clientY)-Maker_topgep];

				Mgrscounter5++;
				Distancecounter++;

				this.addition(Mgrscounter5-1,DrawMode); //한단계전까지 거리구하기
			}else{
				alert("면적재기는 4회까지 가능 합니다.");
				return false;
				
			}

		 }
		  	
		return mgrs_str; 	
	}

	//◆◆◆
	// START:checkdistance 거리 지도영역에 추가
	this.checkdistance = function() {

		var innerDiv = document.getElementById(m_inner_div);  //각 타일을 내부 div에 추가한다.	

		//왼쪽 상단의 MGRS좌표를 구함
		var lefttop_loc10 = this.getLeftTopLocationMGRS2();

		var lefttop_area1       = lefttop_loc10.substr(0,1);
		var lefttop_area2       = lefttop_loc10.substr(1,1);
		var lefttop_no4_middle  = lefttop_loc10.substr(2,2);
		var lefttop_no4_after   = lefttop_loc10.substring(7,9);
		var lefttop_no10_middle = lefttop_loc10.substring(4,7);
		var lefttop_no10_after  = lefttop_loc10.substring(9,12);

		lefttop_no4_middle  = Number(lefttop_no4_middle);
		lefttop_no4_after   = Number(lefttop_no4_after);
		lefttop_no10_middle = Number(lefttop_no10_middle);
		lefttop_no10_after  = Number(lefttop_no10_after);

		for (i = 0; i < DistanceArray.length; i++) {  //<label id="iterate.visible.tiles"/>
								
			var Distanceinfo = DistanceArray[i];  //2차원 배열값을 변수에 저장
			
			if (Distanceinfo[0] != null && Distanceinfo[1] != null && Distanceinfo[2] != null && Distanceinfo[3] != null){

				var Get_area1, Get_area2, Get_no4_middle, Get_no4_after, Get_no10_middle, Get_no10_after;

				//필요한 문자열 추출
				Get_area1       = Distanceinfo[0].substr(0,1);
				Get_area2       = Distanceinfo[0].substr(1,1);
				Get_no4_middle  = Distanceinfo[0].substr(2,2);
				Get_no4_after   = Distanceinfo[0].substring(7,9);
				Get_no10_middle = Distanceinfo[0].substring(4,7);
				Get_no10_after  = Distanceinfo[0].substring(9,12);

				//자료형변환 문자 -> 숫자
				Get_no4_middle  = Number(Get_no4_middle);
				Get_no4_after   = Number(Get_no4_after);
				Get_no10_middle = Number(Get_no10_middle);
				Get_no10_after  = Number(Get_no10_after);

				var m_areanum1;
				for (j=0; strRow.length; j++){
					if (Get_area1 == strRow[j]){
						m_areanum1 = j;
						break;
					} 			
				}

				var m_areanum2;
				for (k=0; strCol.length; k++){
					if (Get_area2 == strCol[k]){
						m_areanum2 = k;
						break;
					}
				}

				///////////////////////////////////////////////////////////////////////////////////////////
				//왼쪽 상단과 마커 간의 상대 거리를 계산하여 화면에 표시해줌
				var lefttop_x_value = lefttop_no4_middle*1000+lefttop_no10_middle;
				var lefttop_y_value = lefttop_no4_after*1000+lefttop_no10_after;

				var marker_x_value = Get_no4_middle*1000+Get_no10_middle;
				var marker_y_value = Get_no4_after*1000+Get_no10_after;

				//상대 거리를 구함
				var left_value = marker_x_value - lefttop_x_value;
				left_value     = Math.floor(left_value*(tileSize/1000));
				var top_value  = lefttop_y_value - marker_y_value;
				top_value      = Math.floor(top_value*(tileSize/1000));

				//left_value = 1000-left_value;
				//alert(lefttop_loc10+" "+left_value);
				//if (left_value > -1 && top_value > -1){
					
					var MakerName =  i + Distanceinfo[1];  //마커명 생성 
			
					if (Distanceinfo[4] == "1"){ //거리시작값

						var Makerdiv = document.getElementById(MakerName);       //현재마커명의 엘리먼트 체크

						if (!Makerdiv){ 	
							var dialog = document.createElement("div");
							dialog.style.position = "absolute";
							dialog.style.left = left_value - (Distanceinfo[2]/2-22) + "px";
							dialog.style.top  = top_value - (Distanceinfo[3]/2-10) + "px";
							dialog.style.width = "45px";
							dialog.style.height = "17px";
							dialog.style.zIndex = 4;
							//dialog.style.backgroundColor="transparent";
							dialog.setAttribute("name", Distanceinfo[1]);
							dialog.setAttribute("id", MakerName);
							dialog.innerHTML = "<table width='45' height='17' border='0' bgcolor='white'><tr>" +
						    "<td align='center'><font color='blue'>시작</font></td></tr></table>";
							innerDiv.appendChild(dialog);
						}else{
							Makerdiv.style.left = left_value - (Distanceinfo[2]/2-22) + "px";
							Makerdiv.style.top  = top_value - (Distanceinfo[3]/2-10) + "px";
						}

					}else if (Distanceinfo[4] == "2"){ //거리중간값

						var Makerdiv = document.getElementById(MakerName);       //현재마커명의 엘리먼트 체크

						if (!Makerdiv){ 	
							var dialog = document.createElement("div");
							dialog.style.position = "absolute";
							dialog.style.left = left_value - (Distanceinfo[2]/2-22) + "px";
							dialog.style.top  = top_value - (Distanceinfo[3]/2-10) + "px";
							dialog.style.width = "45px";
							dialog.style.height = "17px";
							dialog.style.zIndex = 4;
							dialog.setAttribute("name", Distanceinfo[1]);
							dialog.setAttribute("id", MakerName);
							dialog.innerHTML = "<table width='45' height='17' border='0' bgcolor='white'><tr>" +
						    "<td align='center'><font color='blue'>"+ Distanceinfo[5] +"km</font></td></tr></table>";
							innerDiv.appendChild(dialog);
						}else{
							Makerdiv.style.left = left_value - (Distanceinfo[2]/2-22) + "px";
							Makerdiv.style.top  = top_value - (Distanceinfo[3]/2-10) + "px";
						}

					}else if(Distanceinfo[4] == "3"){  //거리최종값

						var Makerdiv = document.getElementById(MakerName);       //현재마커명의 엘리먼트 체크
						if (!Makerdiv){ 	
							var dialog = document.createElement("div");
							dialog.style.position = "absolute";
							dialog.style.left = left_value - (Distanceinfo[2]/2-64) + "px";
							dialog.style.top  = top_value - (Distanceinfo[3]/2-32) + "px";
							dialog.style.width    = "130px";
							dialog.style.height   = "67px";
							dialog.style.zIndex = 5;
							dialog.setAttribute("name", Distanceinfo[1]);
							dialog.setAttribute("id", MakerName);
							dialog.innerHTML = "<table width='130' height='67' border='0' background='http://map.geopis.co.kr/map/geopis/noimg/last_distance.gif' style='background-repeat:no-repeat;'><tr>" +
							"<td align='left' valign='middle' width='45'><b>&nbsp;총거리</b></td><td width='40' ><font color='blue'>"+ alldistance +"km</font></td><td align='left'><img src='http://map.geopis.co.kr/map/geopis/noimg/distance_cancel.gif' style=' cursor:hand;'onclick='javascript:RemoveDMaker("+Mgrsindex+","+indexcouter+");' alt='닫기' name='MakerName'></td></tr><tr><td align='left'width='64'><b>&nbsp;도&nbsp;&nbsp;&nbsp;보</b></td><td colspan='3'><font color='blue'>"+ Distanceinfo[6] +"</font></td></tr><tr><td align='left'width='64'><b>&nbsp;자전거</b></td><td colspan='3'><font color='blue'>"+ Distanceinfo[7] +"</font></td></tr></table>";
							innerDiv.appendChild(dialog);
						}else{
							Makerdiv.style.left = left_value - (Distanceinfo[2]/2-64) + "px";
							Makerdiv.style.top  = top_value - (Distanceinfo[3]/2-32) + "px";
						}

					}else if(Distanceinfo[4] == "4"){ // line 추가

						if(!document.namespaces.v){
							document.namespaces.add("v","urn:schemas-microsoft-com:vml"); //VML을 위한 Namespace 정의
							document.createStyleSheet().addRule("v\\:*","behavior: url(#default#VML);") //VML을 위한 behavior정의
							
						}

						var Makerdiv = document.getElementById(MakerName);       //현재마커명의 엘리먼트 체크
						if (!Makerdiv){ 
							var dialog = document.createElement("div");
							dialog.style.position = "absolute";
							dialog.style.left = left_value - Distanceinfo[10] + "px";
							dialog.style.top  = top_value - Distanceinfo[11] + "px";
							dialog.style.zIndex   = 1;
							dialog.setAttribute("name", Distanceinfo[1] + "line");
							dialog.setAttribute("id", MakerName);
							dialog.innerHTML = "<v:line id=lines style='position:absolute;' fillcolor ='#6B8EF0' from='"+Distanceinfo[8]+"px,"+Distanceinfo[9]+"px' to='"+Distanceinfo[10]+"px,"+Distanceinfo[11]+"px' strokeweight='2.2pt' strokecolor='#6B8EF0' strokeStyle ='single'/>";
							innerDiv.appendChild(dialog);
						}else{
							Makerdiv.style.left = left_value - Distanceinfo[10] + "px";
							Makerdiv.style.top  = top_value - Distanceinfo[11] + "px";
						}

					}else if (Distanceinfo[4] == "5"){ // area 추가
					
						if(!document.namespaces.v){
							document.namespaces.add("v","urn:schemas-microsoft-com:vml"); //VML을 위한 Namespace 정의
							document.createStyleSheet().addRule("v\\:*","behavior: url(#default#VML);") //VML을 위한 behavior정의
						}

						var Makerdiv = document.getElementById(MakerName);       //현재마커명의 엘리먼트 체크
						if (!Makerdiv){ 
							var dialog = document.createElement("div");
							dialog.style.position = "absolute";
							dialog.style.left = left_value - Distanceinfo[10] + "px";
							dialog.style.top  = top_value - Distanceinfo[11] + "px";
							dialog.style.zIndex   = 1;
							dialog.setAttribute("name", Distanceinfo[1] + "area");
							dialog.setAttribute("id", MakerName);
							dialog.innerHTML = "<v:shape style='position:absolute; width:200; height:200' coordorigin='0 0' coordsize='200 200' stroke='true' strokecolor='#6B8EF0' strokeweight='0.5'><v:fill on='true' color='#6B8EF0'opacity='0.5'/><v:path v='"+Distanceinfo[12]+"'/></v:shape>";
							innerDiv.appendChild(dialog);
						}else{

							//alert(Makerdiv.style.left);
							Makerdiv.style.left = left_value - Distanceinfo[10] + "px";
							Makerdiv.style.top  = top_value - Distanceinfo[11] + "px";
						}


					}else if(Distanceinfo[4] == "6"){ //최종 면적값

						var Makerdiv = document.getElementById(MakerName);       //현재마커명의 엘리먼트 체크
						if (!Makerdiv){ 	
							var dialog = document.createElement("div");
							dialog.style.position = "absolute";
							dialog.style.left = left_value - (Distanceinfo[2]/2-48) + "px";
							dialog.style.top  = top_value - (Distanceinfo[3]/2-22) + "px";
							dialog.style.width    = "100px";
							dialog.style.height   = "40px";
							dialog.style.zIndex = 4;
							dialog.setAttribute("name", Distanceinfo[1]);
							dialog.setAttribute("id", MakerName);
							dialog.innerHTML = "<table width='100' height='40' border='0' background='http://map.geopis.co.kr/map/geopis/noimg/last_area.gif'><tr>" +
							"<td align='center' valign='middle' width='76' height='20'><b>&nbsp;총면적</b></td><td align='left'><img src='http://map.geopis.co.kr/map/geopis/noimg/distance_cancel.gif' style=' cursor:hand;'onclick='javascript:RemoveDMaker("+Mgrsindex+","+indexcouter+");' alt='닫기' name='MakerName'></td></tr><tr><td align='center' colspan='2'><font color='blue'>"+ Distanceinfo[13] +"</font></td></tr></table>";
							innerDiv.appendChild(dialog);
						}else{
							Makerdiv.style.left = left_value - (Distanceinfo[2]/2-48) + "px";
							Makerdiv.style.top  = top_value - (Distanceinfo[3]/2-22) + "px";
						}
						
					}else if(Distanceinfo[4] == "0"){ //이미지 추가 

						var img = document.getElementById(MakerName);       //현재마커명의 엘리먼트 체크 
						if (!img){       						
							img = document.createElement("img");  //<label id="create.img"/>		
							img.src = Distanceinfo[1];
							img.style.position = "absolute";
							img.style.left = left_value - (Distanceinfo[2]/2);
							img.style.top  = top_value - (Distanceinfo[3]/2);
							img.style.zIndex = 3;
							img.setAttribute("width", Distanceinfo[2]); 
							img.setAttribute("height", Distanceinfo[3]);
							img.setAttribute("id", MakerName); 
							img.setAttribute("name", "icon");
							innerDiv.appendChild(img);															
						}else{
							img.style.left = left_value - (Distanceinfo[2]/2);
							img.style.top  = top_value - (Distanceinfo[3]/2);
						}
						
						visibleTilesMap["icon"] = true;  //타일맵에 현재 보여지는 아이콘 추가  
					}
			}
		}
		return;
	}
	// END:checkdistance

	//라벨생성함수 
	this.PLabel = function(l_phi, l_lam, l_width, l_height, l_contents, l_title) {

		var strMGRS = this.GP2TM(l_phi,l_lam);

		var land_area1       = strMGRS.substr(0,1);
		var land_area2       = strMGRS.substr(1,1);
		var land_no4_middle  = strMGRS.substr(2,2);
		var land_no4_after   = strMGRS.substring(7,9);
		var land_no10_middle = strMGRS.substring(4,7);
		var land_no10_after  = strMGRS.substring(9,12);


		for (j=0; strRow.length; j++){
			if (land_area1 == strRow[j]){
				var land_areanum1 = j;
				break;
			} 			
		}

		for (k=0; strCol.length; k++){
			if (land_area2 == strCol[k]){
				var land_areanum2 = k;
				break;
			}
		}

		lt_no4_middle  = Number(land_no4_middle);
		lt_no4_after   = Number(land_no4_after);
		lt_no10_middle = Number(land_no10_middle);
		lt_no10_after  = Number(land_no10_after);

		lt_no10_after = lt_no10_after - 50;

		//alert(lt_no10_after);

		///////////////////////////////////////////////////////

		var lt_areanum1 = land_areanum1;
		var lt_areanum2 = land_areanum2;

		//변경된 Loc10체크(Loc4변경&Loc10변경)
		if (lt_no10_middle > 1000){
			lt_no4_middle  = lt_no4_middle - 1;
			lt_no10_middle = lt_no10_middle - 1000;
		}else if (lt_no10_middle < 0){
			lt_no4_middle = lt_no4_middle + 1;
			lt_no10_middle = 1000 + lt_no10_middle;
		}

		if (lt_no10_after > 1000){
			lt_no4_after = lt_no4_after + 1;
			no10_After = no10_After - 1000;
		}else if (lt_no10_after < 0){
			lt_no4_after = lt_no4_after - 1;
			lt_no10_after = 1000 + lt_no10_after;
		}

		//변경된 Loc4체크(Area변경&Loc4변경) 
		if (lt_no4_middle > 99){
			lt_areanum1 = lt_areanum1 + 1;
			lt_no4_middle = lt_no4_middle - 100;
		}else if (lt_no4_middle < 0){
			lt_areanum1 = lt_areanum1 - 1;			
			lt_no4_middle = 100 + lt_no4_middle;
		}
		
		if (lt_no4_after > 99){
			lt_areanum2 = lt_areanum2 + 1;
			lt_no4_after = lt_no4_after - 100;	
		}else if (lt_no4_after < 0){
			lt_areanum2 = lt_areanum2 - 1;
			lt_no4_after = 100 + lt_no4_after;		
		}

		///////////////////////////////////////////////////////

		var row_string = "";
		if (lt_no4_middle < 10){
			row_string = "0" + lt_no4_middle;
		}else{
			row_string = lt_no4_middle;
		}

		var col_string = "";
		if (lt_no4_after < 10){
			col_string = "0" + lt_no4_after;
		}else{
			col_string = lt_no4_after;
		}

		var row_string2 = "";
		if (lt_no10_middle < 10){
			row_string2 = "00" + lt_no10_middle;
		}else if(lt_no10_middle < 100){
			row_string2 = "0" + lt_no10_middle;
		}else{
			row_string2 = lt_no10_middle;
		}

		var col_string2 = "";
		if (lt_no10_after < 10){
			col_string2 = "00" + lt_no10_after;
		}else if(lt_no10_after < 100){
			col_string2 = "0" + lt_no10_after;
		}else{
			col_string2 = lt_no10_after;
		}

		strMGRS = strRow[lt_areanum1]+strCol[lt_areanum2]+row_string+row_string2+col_string+col_string2;

		//alert(strMGRS);

		//라벨NUM, 라벨 Loc10, 넓이, 높이, 내용, 라벨ID
		LabelArray[Labelcounter] = [Labelcounter,strMGRS, l_width, l_height, l_contents, l_title]; 
		
		Labelcounter++;
	
		return Labelcounter-1; //라벨NUM 반환
	
	}

	//라벨삭제함수
	this.RemovePLabel = function(l_num) {

		var Labelinfo = LabelArray[l_num];
		var LabelID   = Labelinfo[5];  //라벨명 생성 

		Labelinfo[0] = null;
		Labelinfo[1] = null;
		Labelinfo[2] = null;
		Labelinfo[3] = null;
		Labelinfo[4] = null;
		Labelinfo[5] = null;
		Labelinfo[6] = null;

		var innerDiv    = document.getElementById(m_inner_div);

		var divs  = innerDiv.getElementsByTagName("div");
		for (i = 0; i < divs.length; i++) {
			var id   = divs[i].getAttribute("id");			
				if (id == LabelID){
					innerDiv.removeChild(divs[i]);
					i--;  // compensate for live nodelist
					break;
				}		
		}

		return;
	}

	//라벨key지정함수
	this.LabelkeySetup =  function(l_num, l_keyvalue) {

		var l_num, l_keyvalue;
		var Labelinfo = LabelArray[l_num];
		
		Labelinfo[6] = l_keyvalue;

		return Labelinfo[6]; //라벨고유키 반환	
	}

	//라벨key삭제함수
	this.RemoveLabelkey = function(l_key) {
		
		var l_key;

		for (i = 0; i < LabelArray.length; i++) { 

			var Labelinfo = LabelArray[i];  //2차원 배열값을 변수에 저장 
			var LabelID   = Labelinfo[5];  //라벨명 생성
	
			if (Labelinfo[6] == l_key){
				
				Labelinfo[0] = null;
				Labelinfo[1] = null;
				Labelinfo[2] = null;
				Labelinfo[3] = null;
				Labelinfo[4] = null;
				Labelinfo[5] = null;
				Labelinfo[6] = null;
				
				var divs = innerDiv.getElementsByTagName("div");
				for (j = 0; j < divs.length; j++) {
					var id   = divs[j].getAttribute("id");			
						if (id == LabelID){						
							innerDiv.removeChild(divs[j]);
							j--;  // compensate for live nodelist
							break;
						}			
				}				
			}			
		}
		
		return;
	}
	
	//◆◆◆
	// START:checkPLabel 라벨 지도영역에 추가
	this.checkPLabel = function() {

		delete landname;
		landname = []; 

		var innerDiv = document.getElementById(m_inner_div);  //각 타일을 내부 div에 추가한다.	

		//왼쪽 상단의 MGRS좌표를 구함
		var lefttop_loc10 = this.getLeftTopLocationMGRS2();

		var lefttop_area1       = lefttop_loc10.substr(0,1);
		var lefttop_area2       = lefttop_loc10.substr(1,1);
		var lefttop_no4_middle  = lefttop_loc10.substr(2,2);
		var lefttop_no4_after   = lefttop_loc10.substring(7,9);
		var lefttop_no10_middle = lefttop_loc10.substring(4,7);
		var lefttop_no10_after  = lefttop_loc10.substring(9,12);

		lefttop_no4_middle  = Number(lefttop_no4_middle);
		lefttop_no4_after   = Number(lefttop_no4_after);
		lefttop_no10_middle = Number(lefttop_no10_middle);
		lefttop_no10_after  = Number(lefttop_no10_after);

		//alert(LabelArray.length);

		for (i = 0; i < LabelArray.length; i++) {  //<label id="iterate.visible.tiles"/>
								
			var Labelinfo = LabelArray[i];  //2차원 배열값을 변수에 저장
			
			if (Labelinfo[0] != null && Labelinfo[1] != null && Labelinfo[2] != null && Labelinfo[3] != null){

				var Get_area1, Get_area2, Get_no4_middle, Get_no4_after, Get_no10_middle, Get_no10_after;

				//필요한 문자열 추출
				Get_area1       = Labelinfo[1].substr(0,1);
				Get_area2       = Labelinfo[1].substr(1,1);
				Get_no4_middle  = Labelinfo[1].substr(2,2);
				Get_no4_after   = Labelinfo[1].substring(7,9);
				Get_no10_middle = Labelinfo[1].substring(4,7);
				Get_no10_after  = Labelinfo[1].substring(9,12);

				//자료형변환 문자 -> 숫자
				Get_no4_middle  = Number(Get_no4_middle);
				Get_no4_after   = Number(Get_no4_after);
				Get_no10_middle = Number(Get_no10_middle);
				Get_no10_after  = Number(Get_no10_after);

				var m_areanum1;
				for (j=0; strRow.length; j++){
					if (Get_area1 == strRow[j]){
						m_areanum1 = j;
						break;
					} 			
				}

				var m_areanum2;
				for (k=0; strCol.length; k++){
					if (Get_area2 == strCol[k]){
						m_areanum2 = k;
						break;
					}
				}

				///////////////////////////////////////////////////////////////////////////////////////////
				//왼쪽 상단과 마커 간의 상대 거리를 계산하여 화면에 표시해줌
				var lefttop_x_value = lefttop_no4_middle*1000+lefttop_no10_middle;
				var lefttop_y_value = lefttop_no4_after*1000+lefttop_no10_after;

				var marker_x_value = Get_no4_middle*1000+Get_no10_middle;
				var marker_y_value = Get_no4_after*1000+Get_no10_after;

				//상대 거리를 구함
				var left_value = marker_x_value - lefttop_x_value;
				left_value     = Math.floor(left_value*(tileSize/1000));
				var top_value  = lefttop_y_value - marker_y_value;
				top_value      = Math.floor(top_value*(tileSize/1000));

				//visibleTilesMap["MakerName"] = true;  //타일맵에 현재 보여지는 마커 추가 
				
				landname[Labelinfo[5]] = true;

				var Labeldiv = document.getElementById(Labelinfo[5]);    

				if (!Labeldiv){ 
					var dialog = document.createElement("div");
					dialog.style.position = "absolute";
					dialog.style.left     = left_value - (Labelinfo[2]/2) + "px";
					dialog.style.top      = top_value - (Labelinfo[3]/2) + "px";
					dialog.style.width    = Labelinfo[2] + "px";
					dialog.style.height   = Labelinfo[3] + "px";
					dialog.style.zIndex   = 3;
					dialog.setAttribute("id", Labelinfo[5]);
					dialog.innerHTML = Labelinfo[4];
					innerDiv.appendChild(dialog);
				}else{
					Labeldiv.style.left = left_value - (Labelinfo[2]/2) + "px";
					Labeldiv.style.top  = top_value - (Labelinfo[3]/2) + "px";
				}
			}
		}

		var divs = innerDiv.getElementsByTagName("div");
		for (j = 0; j < divs.length; j++) {
			var id   = divs[j].getAttribute("id");	
			var name = divs[j].getAttribute("name");
				if (!landname[id]){
					if (name == null){
						innerDiv.removeChild(divs[j]);
						j--; // compensate for live nodelist
					}
					  
				}			
		}

		return;
	}
	// END:checkPLabel


	//마커생성함수
	this.PMaker = function(m_phi, m_lam, m_icon ,m_width, m_height, t_contents, t_width, t_height, r_contents) {

		var m_phi, m_lam, m_icon,m_width, m_height;
		var strMGRS = this.GP2TM(m_phi,m_lam);

		if (r_contents != null){
			//마커 Loc10, 아이콘이미지,이미지 넓이,높이
			MakerArray[counter] = [strMGRS, m_icon ,m_width, m_height,null,null,null,null,r_contents]; 
		}else {
			//마커 Loc10, 아이콘이미지,이미지 넓이,높이
			MakerArray[counter] = [strMGRS, m_icon ,m_width, m_height]; 
		}
	  
		counter++;
	
		return counter-1; //마커NUM 반환	
	}



	//마커삭제함수
	this.RemovePMaker = function(r_num) {

		var Makerinfo = MakerArray[r_num];
		var MakerName = r_num + Makerinfo[0];  //마커명 생성 

			Makerinfo[0] = null;
			Makerinfo[1] = null;
			Makerinfo[2] = null;
			Makerinfo[3] = null;
			Makerinfo[4] = null;
			Makerinfo[5] = null;
			Makerinfo[6] = null;
			Makerinfo[7] = null;
			Makerinfo[8] = null;

		var RemoveMaker = document.getElementById(MakerName);       //현재마커명의 엘리먼트 체크
		var innerDiv    = document.getElementById(m_inner_div);

		var divs  = innerDiv.getElementsByTagName("div");
		for (i = 0; i < divs.length; i++) {
			var id   = divs[i].getAttribute("id");			
				if (id == MakerName){
					innerDiv.removeChild(divs[i]);
					i--;  // compensate for live nodelist
					break;
				}		
		}

		var imgs  = innerDiv.getElementsByTagName("img");
		for (j = 0; j < imgs.length; j++) {
			var id   = imgs[j].getAttribute("id");
				if (id == MakerName){
					//this.purge(imgs[j]);
					innerDiv.removeChild(imgs[j]);
					j--;  // compensate for live nodelist
					break;
				}			
		}

		this.RemoveTooltip();  //툴팁삭제

		return;
	}

	//마커key지정함수
	this.MakerkeySetup =  function(m_num, m_keyvalue) {

		var m_num, m_keyvalue;
		var Makerinfo = MakerArray[m_num];
		
		Makerinfo[4] = m_keyvalue;

		//alert(m_num + " " +Makerinfo[4]);

		return Makerinfo[4]; //마커고유키 반환	
	}

	//마커key삭제함수
	this.RemovePMakerkey = function(m_key) {
		
		var m_key;

		for (i = 0; i < MakerArray.length; i++) { 
			
			var Makerinfo = MakerArray[i];  //2차원 배열값을 변수에 저장 
			var MakerName = i + Makerinfo[0];  //마커명 생성
			if (Makerinfo[4] == m_key){
				
				Makerinfo[0] = null;	
				Makerinfo[1] = null;
				Makerinfo[2] = null;
				Makerinfo[3] = null;
				Makerinfo[4] = null;
				Makerinfo[5] = null;
				Makerinfo[6] = null;
				Makerinfo[7] = null;
				Makerinfo[8] = null;
				
				var divs     = innerDiv.getElementsByTagName("div");
				for (j = 0; j < divs.length; j++) {
					var id   = divs[j].getAttribute("id");			
						if (id == MakerName){
							innerDiv.removeChild(divs[j]);
							j--;  // compensate for live nodelist
						}			
				}

				var imgs  = innerDiv.getElementsByTagName("img");
				for (k = 0; k < imgs.length; k++) {
					var id   = imgs[k].getAttribute("id");
						if (id == MakerName){
							innerDiv.removeChild(imgs[k]);
							k--;  // compensate for live nodelist					
						}			
				}
				
			}
			
		}
		
		//this.RemoveTooltip();  //툴팁삭제

		return;
	}	

	//tooltip내용추가 함수(기존방식)
	/*this.tooltipSetup = function(t_num, t_name, t_addr, t_phone, t_type){

		var t_num, t_name, t_addr, t_phone, t_type;
		var Makerinfo = MakerArray[t_num];

			Makerinfo[5] = t_name;
			Makerinfo[6] = t_addr;
			Makerinfo[7] = t_phone;
			Makerinfo[8] = t_type;
	
		return true;

	}*/

	//tooltip내용추가 함수 
	this.tooltipSetup = function(t_num, t_contents, t_width, t_height){
		
		var t_num, t_name, t_addr, t_phone, t_type;
		var Makerinfo = MakerArray[t_num];

			Makerinfo[5] = t_contents;
			Makerinfo[6] = t_width;
			Makerinfo[7] = t_height;
			//Makerinfo[8] = t_type;

		
		//alert(Makerinfo[0] + " " + Makerinfo[4] + " " + Makerinfo[5] + " " + Makerinfo[6] + " " +  Makerinfo[7] + " " + Makerinfo[8]);

		return true;

	}

	
	//tooltip화면영역 추가함수
	this.addtooltip = function(t_num){

		this.RemoveTooltip();  //툴팁삭제

		viewportWidth  = document.getElementById("outerDiv").offsetWidth;
	  viewportHeight = document.getElementById("outerDiv").offsetHeight;

		var innerDiv = document.getElementById(m_inner_div);  //각 타일을 내부 div에 추가한다.	
		//왼쪽 상단의 MGRS좌표를 구함
		var lefttop_loc10 = this.getLeftTopLocationMGRS2();

		var lefttop_area1       = lefttop_loc10.substr(0,1);
		var lefttop_area2       = lefttop_loc10.substr(1,1);
		var lefttop_no4_middle  = lefttop_loc10.substr(2,2);
		var lefttop_no4_after   = lefttop_loc10.substring(7,9);
		var lefttop_no10_middle = lefttop_loc10.substring(4,7);
		var lefttop_no10_after  = lefttop_loc10.substring(9,12);

		lefttop_no4_middle  = Number(lefttop_no4_middle);
		lefttop_no4_after   = Number(lefttop_no4_after);
		lefttop_no10_middle = Number(lefttop_no10_middle);
		lefttop_no10_after  = Number(lefttop_no10_after);

		var Makerinfo = MakerArray[t_num];  //2차원 배열값을 변수에 저장
		var Get_area1, Get_area2, Get_no4_middle, Get_no4_after, Get_no10_middle, Get_no10_after;

		//필요한 문자열 추출
		Get_area1       = Makerinfo[0].substr(0,1);
		Get_area2       = Makerinfo[0].substr(1,1);
		Get_no4_middle  = Makerinfo[0].substr(2,2);
		Get_no4_after   = Makerinfo[0].substring(7,9);
		Get_no10_middle = Makerinfo[0].substring(4,7);
		Get_no10_after  = Makerinfo[0].substring(9,12);

		//자료형변환 문자 -> 숫자
		Get_no4_middle  = Number(Get_no4_middle);
		Get_no4_after   = Number(Get_no4_after);
		Get_no10_middle = Number(Get_no10_middle);
		Get_no10_after  = Number(Get_no10_after);

		var m_areanum1;
		for (j=0; strRow.length; j++){
			if (Get_area1 == strRow[j]){
				m_areanum1 = j;
				break;
			} 			
		}

		var m_areanum2;
		for (k=0; strCol.length; k++){
			if (Get_area2 == strCol[k]){
				m_areanum2 = k;
				break;
			}
		}

		///////////////////////////////////////////////////////////////////////////////////////////
		//왼쪽 상단과 마커 간의 상대 거리를 계산하여 화면에 표시해줌
		var lefttop_x_value = lefttop_no4_middle*1000+lefttop_no10_middle;
		var lefttop_y_value = lefttop_no4_after*1000+lefttop_no10_after;

		var marker_x_value = Get_no4_middle*1000+Get_no10_middle;
		var marker_y_value = Get_no4_after*1000+Get_no10_after;

		//상대 거리를 구함
		var left_value = marker_x_value - lefttop_x_value;
		left_value     = Math.floor(left_value*(tileSize/1000));
		var top_value  = lefttop_y_value - marker_y_value;
		top_value      = Math.floor(top_value*(tileSize/1000));

		var Move_leftvalue;
		var Move_topvalue;

		if (left_value >= 136 && left_value <= viewportWidth - 125 && top_value > 173){

			Move_leftvalue = left_value - (Makerinfo[2]/2 +115);
			Move_topvalue  = top_value - (Makerinfo[3]/2 +160);

		}else if (left_value < 136 && top_value < 173){
			 //alert('왼위쪽짤림');	
			if(tileSize == 200){
				no10_middle = no10_middle + 600;
				m_loc10_middle = m_loc10_middle - 600;
				no10_After  = no10_After  + 700;
				m_loc10_after = m_loc10_after + 700;
			}else if(tileSize == 400){
				no10_middle = no10_middle + 300;
				m_loc10_middle = m_loc10_middle - 300;
				no10_After  = no10_After  + 500;
				m_loc10_after = m_loc10_after + 500;
			}else if(tileSize == 600){
				no10_middle = no10_middle + 200;
				m_loc10_middle = m_loc10_middle - 200;
				no10_After  = no10_After  + 400;
				m_loc10_after = m_loc10_after + 400;
			}else{
				 no10_middle = no10_middle + 200;
				 m_loc10_middle = m_loc10_middle - 200;
				 no10_After  = no10_After  + 200;
				 m_loc10_after = m_loc10_after + 200;
			}

			//변경된 Loc10체크(Loc4변경&Loc10변경)
			if (no10_middle > 1000){
				no4_middle  = no4_middle - 1;
				no10_middle = no10_middle - 1000;
			}else if (no10_middle < 0){
				no4_middle = no4_middle + 1;
				no10_middle = 1000 + no10_middle;
			}

			if (no10_After > 1000){
				no4_After = no4_After + 1;
				no10_After = no10_After - 1000;
			}else if (no10_After < 0){
				no4_After = no4_After - 1;
				no10_After = 1000 + no10_After;
			}
			
			//변경된 Loc4체크(Area변경&Loc4변경) 
			if (no4_middle > 99){
				areanum1 = areanum1 + 1;
				no4_middle = no4_middle - 100;
			}else if (no4_middle < 0){
				areanum1   = areanum1 - 1;			
				no4_middle = 100 + no4_middle;
			}
			
			if (no4_After > 99){
				areanum2 = areanum2 + 1;
				no4_After = no4_After - 100;	
			}else if (no4_After < 0){
				areanum2 = areanum2 - 1;
				no4_After = 100 + no4_After;		
			}

			//화면출력용 변수 
			///////////////////////////////////////////////////////////////

			///////////////////////////////////////////////////////////////
			//마커계산용 변수 처리 ★★★
			m_loc_areanum1	= areanum1;
			m_loc_areanum2	= areanum2;
			m_loc4_middle	= no4_middle;
			m_loc4_after	= no4_After;


			if (tileSize == 200){
				m_loc10_middle	= (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 400){
				m_loc10_middle	= (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 600){
				m_loc10_middle	= (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 800){
				m_loc10_middle	= (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 1000){
				m_loc10_middle	= (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 1200){
				m_loc10_middle	=  (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 1400){
				m_loc10_middle	=  (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 1600){
				m_loc10_middle	=  (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-135;
			}else if (tileSize == 1800){
				m_loc10_middle	=  (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-140;
			}else if (tileSize == 2000){
				m_loc10_middle	=  (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-145;
			}

			//g_loc10_middle = 1000 - no10_middle;
			//g_loc10_after	 = no10_After + 100;

			if (m_loc10_middle > 1000){		
				m_loc10_middle = m_loc10_middle - 1000;
				m_loc4_middle  = m_loc4_middle + 1;
			}else if (m_loc10_middle < 0){
				m_loc10_middle = 1000 + m_loc10_middle;
				m_loc4_middle  = m_loc4_middle - 1;
			}

			if (m_loc10_after > 1000){
				m_loc10_after = m_loc10_after-1000;
				m_loc4_after  = m_loc4_after + 1;
			}else if (m_loc10_after < 0){
				m_loc10_after = 1000+m_loc10_after;
				m_loc4_after  = m_loc4_after - 1;
			}

			if (m_loc4_middle > 99){
				m_loc_areanum1 = m_loc_areanum1 + 1;
				m_loc4_middle = m_loc4_middle - 100;
			}else if (m_loc4_middle < 0){

				m_loc_areanum1 = m_loc_areanum1 - 1;			
				m_loc4_middle = 100 + m_loc4_middle;
			}

			if (m_loc4_after > 99){

				m_loc_areanum2 = m_loc_areanum2 + 1;
				m_loc4_after = m_loc4_after - 100;	

			}else if (m_loc4_after < 0){

				m_loc_areanum2 = m_loc_areanum2 - 1;
				m_loc4_after = 100 + m_loc4_after;		
			}
			
			//마커계산용 변수 처리 ★★★
			///////////////////////////////////////////////////////////////

			this.checkTiles();
			this.checkPMaker();
			//this.checkdistance();

			if(tileSize == 200){
				Move_leftvalue = left_value - (Makerinfo[2]/2 + 10);
				Move_topvalue = top_value - (Makerinfo[3]/2 + 20);
			}else if(tileSize == 400){
				Move_leftvalue = left_value - (Makerinfo[2]/2 + 5);
				Move_topvalue = top_value - (Makerinfo[3]/2 - 40);
			}else if(tileSize == 600){
				Move_leftvalue = left_value - (Makerinfo[2]/2 -5);
				Move_topvalue = top_value - (Makerinfo[3]/2 - 80);;
			}else if(tileSize == 800){
				Move_leftvalue = left_value - (Makerinfo[2]/2 -45);
				Move_topvalue = top_value - (Makerinfo[3]/2 +1);
			}else if(tileSize == 1000){
				Move_leftvalue = left_value - (Makerinfo[2]/2 -83);
				Move_topvalue = top_value - (Makerinfo[3]/2 -40);
			}else if(tileSize == 1200){
				Move_leftvalue = left_value - (Makerinfo[2]/2 -123);
				Move_topvalue = top_value - (Makerinfo[3]/2 -80);
			}else if(tileSize == 1400){
				Move_leftvalue = left_value - (Makerinfo[2]/2 -168);
				Move_topvalue = top_value - (Makerinfo[3]/2 -120);
			}else if(tileSize == 1600){
				Move_leftvalue = left_value - (Makerinfo[2]/2 -203);
				Move_topvalue = top_value - (Makerinfo[3]/2 -160);
			}else if(tileSize == 1800){
				Move_leftvalue = left_value - (Makerinfo[2]/2 -244);
				Move_topvalue = top_value - (Makerinfo[3]/2 -200);
			}else if(tileSize == 2000){
				Move_leftvalue = left_value - (Makerinfo[2]/2 -287);
				Move_topvalue = top_value - (Makerinfo[3]/2 -240);
			}

		}else if (left_value > viewportWidth - 125 && top_value < 173){

			//alert('오른위쪽짤림');
			m_loc10_middle = m_loc10_middle + 200;
			no10_middle = no10_middle - 200;
			no10_After  = no10_After  + 200;
			m_loc10_after = m_loc10_after + 200;

			this.checkTiles();
			this.checkPMaker();
			//this.checkdistance();

			if(tileSize == 200){
				Move_leftvalue = left_value - (Makerinfo[2]/2 + 152);
				Move_topvalue = top_value - (Makerinfo[3]/2 + 122);
			}else if(tileSize == 400){
				Move_leftvalue = left_value - (Makerinfo[2]/2 + 192);
				Move_topvalue = top_value - (Makerinfo[3]/2 + 82);
			}else if(tileSize == 600){
				Move_leftvalue = left_value - (Makerinfo[2]/2 + 232);
				Move_topvalue = top_value - (Makerinfo[3]/2 + 42);
			}else if(tileSize == 800){
				Move_leftvalue = left_value - (Makerinfo[2]/2 + 272);
				Move_topvalue = top_value - (Makerinfo[3]/2 + 1);
			}else if(tileSize == 1000){
				Move_leftvalue = left_value - (Makerinfo[2]/2 + 312);
				Move_topvalue = top_value - (Makerinfo[3]/2 - 40);
			}else if(tileSize == 1200){
				Move_leftvalue = left_value - (Makerinfo[2]/2 + 352);
				Move_topvalue = top_value - (Makerinfo[3]/2 - 80);
			}else if(tileSize == 1400){
				Move_leftvalue = left_value - (Makerinfo[2]/2 + 392);
				Move_topvalue = top_value - (Makerinfo[3]/2 - 120);
			}else if(tileSize == 1600){
				Move_leftvalue = left_value - (Makerinfo[2]/2 + 432);
				Move_topvalue = top_value - (Makerinfo[3]/2 - 160);
			}else if(tileSize == 1800){
				Move_leftvalue = left_value - (Makerinfo[2]/2 + 472);
				Move_topvalue = top_value - (Makerinfo[3]/2 - 200);
			}else if(tileSize == 2000){
				Move_leftvalue = left_value - (Makerinfo[2]/2 + 512);
				Move_topvalue = top_value - (Makerinfo[3]/2 - 240);
			}

		}else if (left_value >= 136 && left_value <= viewportWidth - 125 && top_value < 173){
			//alert('위쪽짤림');

			if(tileSize == 200){
				no10_After  = no10_After  + 700;
				m_loc10_after = m_loc10_after + 700;
			}else if(tileSize == 400){
				no10_After  = no10_After  + 500;
				m_loc10_after = m_loc10_after + 500;
			}else if(tileSize == 600){
				no10_After  = no10_After  + 400;
				m_loc10_after = m_loc10_after + 400;
			}else{
				no10_After  = no10_After  + 200;
				m_loc10_after = m_loc10_after + 200;
			}

			//변경된 Loc10체크(Loc4변경&Loc10변경)
			if (no10_middle > 1000){
				no4_middle  = no4_middle - 1;
				no10_middle = no10_middle - 1000;
			}else if (no10_middle < 0){
				no4_middle = no4_middle + 1;
				no10_middle = 1000 + no10_middle;
			}

			if (no10_After > 1000){
				no4_After = no4_After + 1;
				no10_After = no10_After - 1000;
			}else if (no10_After < 0){
				no4_After = no4_After - 1;
				no10_After = 1000 + no10_After;
			}
			
			//변경된 Loc4체크(Area변경&Loc4변경) 
			if (no4_middle > 99){
				areanum1 = areanum1 + 1;
				no4_middle = no4_middle - 100;
			}else if (no4_middle < 0){
				areanum1   = areanum1 - 1;			
				no4_middle = 100 + no4_middle;
			}
			
			if (no4_After > 99){
				areanum2 = areanum2 + 1;
				no4_After = no4_After - 100;	
			}else if (no4_After < 0){
				areanum2 = areanum2 - 1;
				no4_After = 100 + no4_After;		
			}

			//화면출력용 변수 
			///////////////////////////////////////////////////////////////

			///////////////////////////////////////////////////////////////
			//마커계산용 변수 처리 ★★★
			m_loc_areanum1	= areanum1;
			m_loc_areanum2	= areanum2;
			m_loc4_middle	= no4_middle;
			m_loc4_after	= no4_After;


			if (tileSize == 200){
				m_loc10_middle	= (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 400){
				m_loc10_middle	= (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 600){
				m_loc10_middle	= (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 800){
				m_loc10_middle	= (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 1000){
				m_loc10_middle	= (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 1200){
				m_loc10_middle	=  (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 1400){
				m_loc10_middle	=  (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 1600){
				m_loc10_middle	=  (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-135;
			}else if (tileSize == 1800){
				m_loc10_middle	=  (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-140;
			}else if (tileSize == 2000){
				m_loc10_middle	=  (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-145;
			}

			//g_loc10_middle = 1000 - no10_middle;
			//g_loc10_after	 = no10_After + 100;

			if (m_loc10_middle > 1000){		
				m_loc10_middle = m_loc10_middle - 1000;
				m_loc4_middle  = m_loc4_middle + 1;
			}else if (m_loc10_middle < 0){
				m_loc10_middle = 1000 + m_loc10_middle;
				m_loc4_middle  = m_loc4_middle - 1;
			}

			if (m_loc10_after > 1000){
				m_loc10_after = m_loc10_after-1000;
				m_loc4_after  = m_loc4_after + 1;
			}else if (m_loc10_after < 0){
				m_loc10_after = 1000+m_loc10_after;
				m_loc4_after  = m_loc4_after - 1;
			}

			if (m_loc4_middle > 99){
				m_loc_areanum1 = m_loc_areanum1 + 1;
				m_loc4_middle = m_loc4_middle - 100;
			}else if (m_loc4_middle < 0){

				m_loc_areanum1 = m_loc_areanum1 - 1;			
				m_loc4_middle = 100 + m_loc4_middle;
			}

			if (m_loc4_after > 99){

				m_loc_areanum2 = m_loc_areanum2 + 1;
				m_loc4_after = m_loc4_after - 100;	

			}else if (m_loc4_after < 0){

				m_loc_areanum2 = m_loc_areanum2 - 1;
				m_loc4_after = 100 + m_loc4_after;		
			}
			
			//마커계산용 변수 처리 ★★★
			///////////////////////////////////////////////////////////////

			this.checkTiles();
			this.checkPMaker();
			//this.checkdistance();
	
			Move_leftvalue = left_value - (Makerinfo[2]/2 +115);

			if(tileSize == 200){
				Move_topvalue = top_value - (Makerinfo[3]/2 + 20);
			}else if(tileSize == 400){
				Move_topvalue = top_value - (Makerinfo[3]/2 - 40);
			}else if(tileSize == 600){
				Move_topvalue = top_value - (Makerinfo[3]/2 - 80);
			}else if(tileSize == 800){
				Move_topvalue = top_value - (Makerinfo[3]/2 + 1);
			}else if(tileSize == 1000){
				Move_topvalue = top_value - (Makerinfo[3]/2 -40);
			}else if(tileSize == 1200){
				Move_topvalue = top_value - (Makerinfo[3]/2 -80);
			}else if(tileSize == 1400){
				Move_topvalue = top_value - (Makerinfo[3]/2 -120);
			}else if(tileSize == 1600){
				Move_topvalue = top_value - (Makerinfo[3]/2 -160);
			}else if(tileSize == 1800){
				Move_topvalue = top_value - (Makerinfo[3]/2 -200);
			}else if(tileSize == 2000){
				Move_topvalue = top_value - (Makerinfo[3]/2 -240);
			}

		}else if (left_value < 136 && top_value > 173){
			 //alert('왼쪽짤림');

			 if(tileSize == 200){
				no10_middle = no10_middle + 600;
				m_loc10_middle = m_loc10_middle - 600;
			}else if(tileSize == 400){
				no10_middle = no10_middle + 300;
				m_loc10_middle = m_loc10_middle - 300;
			}else if(tileSize == 600){
				no10_middle = no10_middle + 200;
				m_loc10_middle = m_loc10_middle - 200;
			}else{
				 no10_middle = no10_middle + 200;
				 m_loc10_middle = m_loc10_middle - 200;
			}

			//변경된 Loc10체크(Loc4변경&Loc10변경)
			if (no10_middle > 1000){
				no4_middle  = no4_middle - 1;
				no10_middle = no10_middle - 1000;
			}else if (no10_middle < 0){
				no4_middle = no4_middle + 1;
				no10_middle = 1000 + no10_middle;
			}

			if (no10_After > 1000){
				no4_After = no4_After + 1;
				no10_After = no10_After - 1000;
			}else if (no10_After < 0){
				no4_After = no4_After - 1;
				no10_After = 1000 + no10_After;
			}
			
			//변경된 Loc4체크(Area변경&Loc4변경) 
			if (no4_middle > 99){
				areanum1 = areanum1 + 1;
				no4_middle = no4_middle - 100;
			}else if (no4_middle < 0){
				areanum1   = areanum1 - 1;			
				no4_middle = 100 + no4_middle;
			}
			
			if (no4_After > 99){
				areanum2 = areanum2 + 1;
				no4_After = no4_After - 100;	
			}else if (no4_After < 0){
				areanum2 = areanum2 - 1;
				no4_After = 100 + no4_After;		
			}

			//화면출력용 변수 
			///////////////////////////////////////////////////////////////

			///////////////////////////////////////////////////////////////
			//마커계산용 변수 처리 ★★★
			m_loc_areanum1	= areanum1;
			m_loc_areanum2	= areanum2;
			m_loc4_middle	= no4_middle;
			m_loc4_after	= no4_After;


			if (tileSize == 200){
				m_loc10_middle	= (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 400){
				m_loc10_middle	= (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 600){
				m_loc10_middle	= (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 800){
				m_loc10_middle	= (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 1000){
				m_loc10_middle	= (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 1200){
				m_loc10_middle	=  (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 1400){
				m_loc10_middle	=  (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 1600){
				m_loc10_middle	=  (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-135;
			}else if (tileSize == 1800){
				m_loc10_middle	=  (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-140;
			}else if (tileSize == 2000){
				m_loc10_middle	=  (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-145;
			}

			//g_loc10_middle = 1000 - no10_middle;
			//g_loc10_after	 = no10_After + 100;

			if (m_loc10_middle > 1000){		
				m_loc10_middle = m_loc10_middle - 1000;
				m_loc4_middle  = m_loc4_middle + 1;
			}else if (m_loc10_middle < 0){
				m_loc10_middle = 1000 + m_loc10_middle;
				m_loc4_middle  = m_loc4_middle - 1;
			}

			if (m_loc10_after > 1000){
				m_loc10_after = m_loc10_after-1000;
				m_loc4_after  = m_loc4_after + 1;
			}else if (m_loc10_after < 0){
				m_loc10_after = 1000+m_loc10_after;
				m_loc4_after  = m_loc4_after - 1;
			}

			if (m_loc4_middle > 99){
				m_loc_areanum1 = m_loc_areanum1 + 1;
				m_loc4_middle = m_loc4_middle - 100;
			}else if (m_loc4_middle < 0){

				m_loc_areanum1 = m_loc_areanum1 - 1;			
				m_loc4_middle = 100 + m_loc4_middle;
			}

			if (m_loc4_after > 99){

				m_loc_areanum2 = m_loc_areanum2 + 1;
				m_loc4_after = m_loc4_after - 100;	

			}else if (m_loc4_after < 0){

				m_loc_areanum2 = m_loc_areanum2 - 1;
				m_loc4_after = 100 + m_loc4_after;		
			}
			
			//마커계산용 변수 처리 ★★★
			///////////////////////////////////////////////////////////////

			this.checkTiles();
			this.checkPMaker();
			//this.checkdistance();

			if(tileSize == 200){
				Move_leftvalue = left_value - (Makerinfo[2]/2 + 10);
			}else if(tileSize == 400){
				Move_leftvalue = left_value - (Makerinfo[2]/2 + 5);
			}else if(tileSize == 600){
				Move_leftvalue = left_value - (Makerinfo[2]/2 - 5);
			}else if(tileSize == 800){
				Move_leftvalue = left_value - (Makerinfo[2]/2 - 45);
			}else if(tileSize == 1000){
				Move_leftvalue = left_value - (Makerinfo[2]/2 - 83);
			}else if(tileSize == 1200){
				Move_leftvalue = left_value - (Makerinfo[2]/2 - 123);
			}else if(tileSize == 1400){
				Move_leftvalue = left_value - (Makerinfo[2]/2 - 168);
			}else if(tileSize == 1600){
				Move_leftvalue = left_value - (Makerinfo[2]/2 - 203);
			}else if(tileSize == 1800){
				Move_leftvalue = left_value - (Makerinfo[2]/2 - 244);
			}else if(tileSize == 2000){
				Move_leftvalue = left_value - (Makerinfo[2]/2 - 287);
			}
			Move_topvalue  = top_value - (Makerinfo[3]/2 +160);

		}else if (left_value > viewportWidth - 125 && top_value > 173){
			 //alert('오른쪽짤림');
			if(tileSize == 200){
				no10_middle = no10_middle - 600;
				m_loc10_middle = m_loc10_middle + 600;
			}else if(tileSize == 400){
				no10_middle = no10_middle - 300;
				m_loc10_middle = m_loc10_middle + 300;
			}else if(tileSize == 600){
				no10_middle = no10_middle - 200;
				m_loc10_middle = m_loc10_middle + 200;
			}else{
				 no10_middle = no10_middle - 200;
				 m_loc10_middle = m_loc10_middle + 200;
			}

			//변경된 Loc10체크(Loc4변경&Loc10변경)
			if (no10_middle > 1000){
				no4_middle  = no4_middle - 1;
				no10_middle = no10_middle - 1000;
			}else if (no10_middle < 0){
				no4_middle = no4_middle + 1;
				no10_middle = 1000 + no10_middle;
			}

			if (no10_After > 1000){
				no4_After = no4_After + 1;
				no10_After = no10_After - 1000;
			}else if (no10_After < 0){
				no4_After = no4_After - 1;
				no10_After = 1000 + no10_After;
			}
			
			//변경된 Loc4체크(Area변경&Loc4변경) 
			if (no4_middle > 99){
				areanum1 = areanum1 + 1;
				no4_middle = no4_middle - 100;
			}else if (no4_middle < 0){
				areanum1   = areanum1 - 1;			
				no4_middle = 100 + no4_middle;
			}
			
			if (no4_After > 99){
				areanum2 = areanum2 + 1;
				no4_After = no4_After - 100;	
			}else if (no4_After < 0){
				areanum2 = areanum2 - 1;
				no4_After = 100 + no4_After;		
			}

			//화면출력용 변수 
			///////////////////////////////////////////////////////////////

			///////////////////////////////////////////////////////////////
			//마커계산용 변수 처리 ★★★
			m_loc_areanum1	= areanum1;
			m_loc_areanum2	= areanum2;
			m_loc4_middle	= no4_middle;
			m_loc4_after	= no4_After;


			if (tileSize == 200){
				m_loc10_middle	= (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 400){
				m_loc10_middle	= (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 600){
				m_loc10_middle	= (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 800){
				m_loc10_middle	= (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 1000){
				m_loc10_middle	= (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 1200){
				m_loc10_middle	=  (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 1400){
				m_loc10_middle	=  (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 1600){
				m_loc10_middle	=  (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-135;
			}else if (tileSize == 1800){
				m_loc10_middle	=  (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-140;
			}else if (tileSize == 2000){
				m_loc10_middle	=  (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-145;
			}

			if (m_loc10_middle > 1000){		
				m_loc10_middle = m_loc10_middle - 1000;
				m_loc4_middle  = m_loc4_middle + 1;
			}else if (m_loc10_middle < 0){
				m_loc10_middle = 1000 + m_loc10_middle;
				m_loc4_middle  = m_loc4_middle - 1;
			}

			if (m_loc10_after > 1000){
				m_loc10_after = m_loc10_after-1000;
				m_loc4_after  = m_loc4_after + 1;
			}else if (m_loc10_after < 0){
				m_loc10_after = 1000+m_loc10_after;
				m_loc4_after  = m_loc4_after - 1;
			}

			if (m_loc4_middle > 99){
				m_loc_areanum1 = m_loc_areanum1 + 1;
				m_loc4_middle = m_loc4_middle - 100;
			}else if (m_loc4_middle < 0){

				m_loc_areanum1 = m_loc_areanum1 - 1;			
				m_loc4_middle = 100 + m_loc4_middle;
			}

			if (m_loc4_after > 99){

				m_loc_areanum2 = m_loc_areanum2 + 1;
				m_loc4_after = m_loc4_after - 100;	

			}else if (m_loc4_after < 0){

				m_loc_areanum2 = m_loc_areanum2 - 1;
				m_loc4_after = 100 + m_loc4_after;		
			}
			
			//마커계산용 변수 처리 ★★★
			///////////////////////////////////////////////////////////////

			this.checkTiles();
			this.checkPMaker();
			//this.checkdistance();

			if(tileSize == 200){
				Move_leftvalue = left_value - (Makerinfo[2]/2 + 232);
			}else if(tileSize == 400){
				Move_leftvalue = left_value - (Makerinfo[2]/2 + 232);
			}else if(tileSize == 600){
				Move_leftvalue = left_value - (Makerinfo[2]/2 + 232);
			}else if(tileSize == 800){
				Move_leftvalue = left_value - (Makerinfo[2]/2 + 272);
			}else if(tileSize == 1000){
				Move_leftvalue = left_value - (Makerinfo[2]/2 + 312);
			}else if(tileSize == 1200){
				Move_leftvalue = left_value - (Makerinfo[2]/2 + 352);
			}else if(tileSize == 1400){
				Move_leftvalue = left_value - (Makerinfo[2]/2 + 392);
			}else if(tileSize == 1600){
				Move_leftvalue = left_value - (Makerinfo[2]/2 + 432);
			}else if(tileSize == 1800){
				Move_leftvalue = left_value - (Makerinfo[2]/2 + 472);
			}else if(tileSize == 2000){
				Move_leftvalue = left_value - (Makerinfo[2]/2 + 512);
			}
			Move_topvalue  = top_value - (Makerinfo[3]/2 +160);
		}

		var tooltipdiv = document.getElementById("tooltip")
		if (!tooltipdiv){

			var gep_left =  Makerinfo[6] - 258;
			var gep_top  =  Makerinfo[7] - 159;

			/*var dialog = document.createElement("div");
			dialog.style.position = "absolute";
			dialog.style.left     = Move_leftvalue + "px";
			dialog.style.top      = Move_topvalue + "px";
			dialog.style.width    = "258px";
			dialog.style.height   = "159px";
			dialog.style.zIndex   = 3;
			dialog.setAttribute("id", "tooltip");*/

			var dialog = document.createElement("div");
			dialog.style.position = "absolute";
			dialog.style.left     = Move_leftvalue + "px";
			dialog.style.top      = (Move_topvalue-gep_top) + "px";			
			dialog.style.width    = Makerinfo[6];
			dialog.style.height   = Makerinfo[7];
			dialog.style.zIndex   = 3;
			dialog.setAttribute("id", "tooltip");

			//onmouseover='javascript:addtooltip("+i+");'

			dialog.innerHTML = Makerinfo[5];
			//dialog.innerHTML = "<table width='258' height='159' border='0' background='http://image.paran.com/search/local/200710/images/landmap/tooltip.gif' style='background-repeat:no-repeat;'><tr><td width='248' height='10' colspan='3'></td></tr><tr><td width='10' height='15'>&nbsp;</td><td align='left' valign='middle' width='232' height='15'>"+Makerinfo[5]+"</td><td width='26' height='15' ><img src='http://image.paran.com/search/local/200710/images/landmap/tooltip_close.gif' name='MakerName' onclick='javascript:RemoveTooltip();' style='cursor:hand;'></img></td></tr><tr><td width='10' height='26'>&nbsp;</td><td colspan='2' width='248' height='26' valign='middle'>"+Makerinfo[6]+"</td></tr><tr><td width='248' height='10' colspan='3'>&nbsp;</td></tr></table>";
			innerDiv.appendChild(dialog);
		}
	}

	//◆◆◆
	// START:checkPMaker 마커 지도영역에 추가
	this.checkPMaker = function() {

		var innerDiv = document.getElementById(m_inner_div);  //각 타일을 내부 div에 추가한다.	

		//왼쪽 상단의 MGRS좌표를 구함
		var lefttop_loc10 = this.getLeftTopLocationMGRS2();

		var lefttop_area1       = lefttop_loc10.substr(0,1);
		var lefttop_area2       = lefttop_loc10.substr(1,1);
		var lefttop_no4_middle  = lefttop_loc10.substr(2,2);
		var lefttop_no4_after   = lefttop_loc10.substring(7,9);
		var lefttop_no10_middle = lefttop_loc10.substring(4,7);
		var lefttop_no10_after  = lefttop_loc10.substring(9,12);

		lefttop_no4_middle  = Number(lefttop_no4_middle);
		lefttop_no4_after   = Number(lefttop_no4_after);
		lefttop_no10_middle = Number(lefttop_no10_middle);
		lefttop_no10_after  = Number(lefttop_no10_after);

		for (i = 0; i < MakerArray.length; i++) {  //<label id="iterate.visible.tiles"/>
								
			var Makerinfo = MakerArray[i];  //2차원 배열값을 변수에 저장
			
			if (Makerinfo[0] != null && Makerinfo[1] != null && Makerinfo[2] != null && Makerinfo[3] != null){

				var Get_area1, Get_area2, Get_no4_middle, Get_no4_after, Get_no10_middle, Get_no10_after;

				//필요한 문자열 추출
				Get_area1       = Makerinfo[0].substr(0,1);
				Get_area2       = Makerinfo[0].substr(1,1);
				Get_no4_middle  = Makerinfo[0].substr(2,2);
				Get_no4_after   = Makerinfo[0].substring(7,9);
				Get_no10_middle = Makerinfo[0].substring(4,7);
				Get_no10_after  = Makerinfo[0].substring(9,12);

				//자료형변환 문자 -> 숫자
				Get_no4_middle  = Number(Get_no4_middle);
				Get_no4_after   = Number(Get_no4_after);
				Get_no10_middle = Number(Get_no10_middle);
				Get_no10_after  = Number(Get_no10_after);

				var m_areanum1;
				for (j=0; strRow.length; j++){
					if (Get_area1 == strRow[j]){
						m_areanum1 = j;
						break;
					} 			
				}

				var m_areanum2;
				for (k=0; strCol.length; k++){
					if (Get_area2 == strCol[k]){
						m_areanum2 = k;
						break;
					}
				}

				///////////////////////////////////////////////////////////////////////////////////////////
				//왼쪽 상단과 마커 간의 상대 거리를 계산하여 화면에 표시해줌
				var lefttop_x_value = lefttop_no4_middle*1000+lefttop_no10_middle;
				var lefttop_y_value = lefttop_no4_after*1000+lefttop_no10_after;

				var marker_x_value = Get_no4_middle*1000+Get_no10_middle;
				var marker_y_value = Get_no4_after*1000+Get_no10_after;

				//상대 거리를 구함
				var left_value = marker_x_value - lefttop_x_value;
				left_value     = Math.floor(left_value*(tileSize/1000));
				var top_value  = lefttop_y_value - marker_y_value;
				top_value      = Math.floor(top_value*(tileSize/1000));

				var MakerName =  i + Makerinfo[0];  //마커명 생성 

				visibleTilesMap["MakerName"] = true;  //타일맵에 현재 보여지는 마커 추가  

				if (Makerinfo[5] != null && Makerinfo[6] != null && Makerinfo[7] != null){//툴팁이 있는 마커 

					var Makerdiv = document.getElementById(MakerName);       

					if (!Makerdiv){ 
						var dialog = document.createElement("div");
						dialog.style.position = "absolute";
						dialog.style.left     = left_value - (Makerinfo[2]/2) + "px";
						dialog.style.top      = top_value - (Makerinfo[3]/2) + "px";
						dialog.style.width    = Makerinfo[2] + "px";
						dialog.style.height   = Makerinfo[3] + "px";
						dialog.style.zIndex   = 3;
						dialog.setAttribute("id", MakerName);
						dialog.innerHTML = "<table width="+Makerinfo[2]+" height="+Makerinfo[3]+" border='0'  style='background-repeat:no-repeat;'><tr><td onmouseover='addtooltip("+i+");' onmouseout='RemoveTooltip("+i+");'style='cursor:hand'><img src="+ Makerinfo[1]+" name='MakerName'></img></td></tr></table>";
						innerDiv.appendChild(dialog);
					}else{
						Makerdiv.style.left = left_value - (Makerinfo[2]/2) + "px";
						Makerdiv.style.top  = top_value - (Makerinfo[3]/2) + "px";
					}

				}else if(Makerinfo[5] == null && Makerinfo[6] == null && Makerinfo[7] == null && Makerinfo[8] != null){//마커를 HTML로 파라미터로 넘길경우 

					var Makerdiv = document.getElementById(MakerName);    

					if (!Makerdiv){ 
						var dialog = document.createElement("div");
						dialog.style.position = "absolute";
						dialog.style.left     = left_value - (Makerinfo[2]/2) + "px";
						dialog.style.top      = top_value - (Makerinfo[3]/2) + "px";
						dialog.style.width    = Makerinfo[2] + "px";
						dialog.style.height   = Makerinfo[3] + "px";
						dialog.style.zIndex   = 3;
						dialog.setAttribute("id", MakerName);
						dialog.innerHTML = Makerinfo[8];
						innerDiv.appendChild(dialog);
					}else{
						Makerdiv.style.left = left_value - (Makerinfo[2]/2) + "px";
						Makerdiv.style.top  = top_value - (Makerinfo[3]/2) + "px";
					}

				}else if(Makerinfo[5] == null && Makerinfo[6] == null && Makerinfo[7] == null && Makerinfo[8] == null){//툴팁이 없는 마커 

					var img = document.getElementById(MakerName);    
					if (!img){       						
						img = document.createElement("img");  		
						img.src = Makerinfo[1];
						img.style.position = "absolute";
						img.style.left = left_value - (Makerinfo[2]/2);
						img.style.top  = top_value - (Makerinfo[3]/2);
						img.style.zIndex = 3;
						img.setAttribute("width", Makerinfo[2]); 
						img.setAttribute("height", Makerinfo[3]);
						img.setAttribute("id", MakerName); 
						img.setAttribute("name", "MakerName");
						innerDiv.appendChild(img);															
					}else{
						img.style.left = left_value - (Makerinfo[2]/2);
						img.style.top  = top_value - (Makerinfo[3]/2);
					}
				}
			}
		}
		return;
	}
	// END:checkPMaker

	//위&경도 MGRS변환 필요인자 추출함수 
	this.LoctionSetup = function(p_width, p_height, p_phi, p_lam) {

		var outerDiv = document.getElementById(m_outer_div);

		viewportWidth  = document.getElementById(m_outer_div).offsetWidth;
	    viewportHeight = document.getElementById(m_outer_div).offsetHeight;

		var strMGRS = this.GP2TM(p_phi,p_lam);

		var Get_area1, Get_area2, Get_no4_middle, Get_no4_after, Get_no10_middle, Get_no10_after;

		//필요한 문자열 추출
		Get_area1       = strMGRS.substr(0,1);
		Get_area2       = strMGRS.substr(1,1);
		Get_no4_middle  = strMGRS.substr(2,2);
		Get_no4_after   = strMGRS.substring(7,9);
		Get_no10_middle = strMGRS.substring(4,7);
		Get_no10_after  = strMGRS.substring(9,12);

        //자료형변환 문자 -> 숫자
		Get_no4_middle  = Number(Get_no4_middle);
		Get_no4_after   = Number(Get_no4_after);
		Get_no10_middle = Number(Get_no10_middle);
		Get_no10_after  = Number(Get_no10_after);

		this.MapSetup(Get_area1,Get_area2,Get_no4_middle,Get_no4_after,Get_no10_middle,Get_no10_after);
	
		return true;
	}

	//u_startx(x좌표), u_starty(y좌표), u_zoomlev(줌레벨) 시작점 계산후 이동함수 
	this.MovePosition = function(Mgrs_value, u_zoomlev){

		var u_zoomlev;
		var strMGRS = Mgrs_value;

		var Get_area1, Get_area2, Get_no4_middle, Get_no4_after, Get_no10_middle, Get_no10_after;

		//필요한 문자열 추출
		Get_area1       = strMGRS.substr(0,1);
		Get_area2       = strMGRS.substr(1,1);
		Get_no4_middle  = strMGRS.substr(2,2);
		Get_no4_after   = strMGRS.substring(7,9);
		Get_no10_middle = strMGRS.substring(4,7);
		Get_no10_after  = strMGRS.substring(9,12);

        //자료형변환 문자 -> 숫자
		Get_no4_middle  = Number(Get_no4_middle);
		Get_no4_after   = Number(Get_no4_after);
		Get_no10_middle = Number(Get_no10_middle);
		Get_no10_after  = Number(Get_no10_after);

		if (u_zoomlev == 0) { 
			tileSize = 200;
		}
		else if (u_zoomlev == 1) {
			tileSize = 400;
		}
		else if (u_zoomlev == 2) { 
			tileSize = 600;
		}
		else if (u_zoomlev == 3) { 
			tileSize = 800;
		}
		else if (u_zoomlev == 4) { 
			tileSize = 1000;
		}
		else if (u_zoomlev == 5) { 
			tileSize = 1200;
		}
		else if (u_zoomlev == 6) { 
			tileSize = 1400;
		}
		else if (u_zoomlev == 7) { 
			tileSize = 1600;
		}
		else if (u_zoomlev == 8) { 
			tileSize = 1800;
		}
		else if (u_zoomlev == 9) { 
			tileSize = 2000;
		}
		else if (u_zoomlev == 10) { 
			tileSize = 100;
		}

		var innerDiv = document.getElementById(m_inner_div);
		var imgs = innerDiv.getElementsByTagName("img");

		for (i = 0; i < imgs.length; i++) {
			var id   = imgs[i].getAttribute("id");
			var name = imgs[i].getAttribute("name");
			
				if (name != "MakerName" || name != "icon"){
					innerDiv.removeChild(imgs[i]);
					i--;  // compensate for live nodelist
				}		
		}

		this.MapSetup2(Get_area1,Get_area2,Get_no4_middle,Get_no4_after,Get_no10_middle,Get_no10_after);

		////////////////////////////////////////////////////
		//마커 좌표와의 거리만큼 이동시킨다

		var display_x = areanum1 * 100000 + no4_middle * 1000 + no10_middle;
		var display_y = areanum2 * 100000 + no4_After * 1000 + no10_After;

		var maker_x = g_loc_areanum1 * 100000 + g_loc4_middle * 1000 + g_loc10_middle;
		var maker_y = g_loc_areanum2 * 100000 + g_loc4_after * 1000 + g_loc10_after;

		var gap_x = 0; //(maker_x - display_x);
		var gap_y = 0; //maker_y - display_y;

		if (no10_middle > m_loc10_middle){
			gap_x = (no10_middle - g_loc10_middle) * - 1;
		}
		else{
			gap_x = (g_loc10_middle - no10_middle);
		}

			
		/////////////////////////////////////////////////////////////////
		//화면출력용 변수 처리

		no10_middle = no10_middle + gap_x;
		no10_After  = no10_After + gap_y;

		var	T_no10_middle = no10_middle + gap_x;  //임시저장 이동거리 x
		var T_no10_After  = no10_After + gap_y;   //임시저장 이동거리 y

		//변경된 Loc10체크(Loc4변경&Loc10변경)
		if (no10_middle > 999){
			no4_middle  = no4_middle - 1;
			no10_middle = no10_middle - 1000;
		}else if (no10_middle < 0){
			no4_middle = no4_middle + 1;
			no10_middle = 1000 + no10_middle;
		}

		if (no10_After > 999){
			no4_After = no4_After + 1;
			no10_After = no10_After - 1000;
		}else if (no10_After < 0){				
			no4_After = no4_After - 1;
			no10_After = 1000 + no10_After;
		}
					
		//변경된 Loc4체크(Area변경&Loc4변경) 
		if (no4_middle > 99){
			areanum1 = areanum1 + 1;
			no4_middle = no4_middle - 100;
		}else if (no4_middle < 0){
			areanum1 = areanum1 - 1;			
			no4_middle = 100 + no4_middle;
		}

		if (no4_After > 99){
			areanum2 = areanum2 + 1;
			no4_After = no4_After - 100;	
		}else if (no4_After < 0){
			areanum2 = areanum2 - 1;
			no4_After = 100 + no4_After;		
		}

		///////////////////////////////////////////////////////////////
		//좌표계산용 변수 처리 ★★★
		g_loc_areanum1	= areanum1;
		g_loc_areanum2	= areanum2;
		g_loc4_middle	= no4_middle;
		g_loc4_after	= no4_After;

		if (T_no10_middle >= 2000){
			g_loc10_middle = g_loc10_middle - 1000*Math.floor((T_no10_middle-1000)/1000);
			g_loc4_middle  = g_loc4_middle - Math.floor((T_no10_middle-1000)/1000);
		}

		if (T_no10_After >= 2000){
			g_loc10_after = g_loc10_after - 1000*Math.floor((T_no10_After-1000)/1000);
			g_loc4_after  = g_loc4_after - Math.floor((T_no10_After-1000)/1000);
		}

		if (tileSize == 200){
			g_loc10_middle	= (1000 - no10_middle) + 1000;
			g_loc10_after 	= (no10_After + 100)-150;
		}else if (tileSize == 400){
			g_loc10_middle	= (1000 - no10_middle) + 1000;
			g_loc10_after 	= (no10_After + 100)-150;
		}else if (tileSize == 600){
			g_loc10_middle	= (1000 - no10_middle) + 1000;
			g_loc10_after 	= (no10_After + 100)-150;
		}else if (tileSize == 800){
			g_loc10_middle	= (1000 - no10_middle) + 1000;
			g_loc10_after 	= (no10_After + 100)-150;
		}else if (tileSize == 1000){
			g_loc10_middle	= (1000 - no10_middle) + 1000;
			g_loc10_after 	= (no10_After + 100)-150;
		}else if (tileSize == 1200){
			g_loc10_middle	=  (1000 - no10_middle) + 1000;
			g_loc10_after 	= (no10_After + 100)-150;
		}else if (tileSize == 1400){
			g_loc10_middle	=  (1000 - no10_middle) + 1000;
			g_loc10_after 	= (no10_After + 100)-150;
		}else if (tileSize == 1600){
			g_loc10_middle	=  (1000 - no10_middle) + 1000;
			g_loc10_after 	= (no10_After + 100)-135;
		}else if (tileSize == 1800){
			g_loc10_middle	=  (1000 - no10_middle) + 1000;
			g_loc10_after 	= (no10_After + 100)-140;
		}else if (tileSize == 2000){
			g_loc10_middle	=  (1000 - no10_middle) + 1000;
			g_loc10_after 	= (no10_After + 100)-145;
		}

		if (g_loc10_middle > 1000){		
			g_loc10_middle = g_loc10_middle - 1000;
			g_loc4_middle  = g_loc4_middle + 1;

		}else if (g_loc10_middle < 0){
			g_loc10_middle = 1000 + g_loc10_middle;
			g_loc4_middle  = g_loc4_middle - 1;
		}

		if (g_loc10_after > 1000){
			g_loc10_after = g_loc10_after-1000;
			g_loc4_after  = g_loc4_after + 1;

		}else if (g_loc10_after < 0){
			g_loc10_after = 1000 + g_loc10_after;
			g_loc4_after  = g_loc4_after - 1;
		}

		if (g_loc4_middle > 99){
			g_loc_areanum1 = g_loc_areanum1 + 1;
			g_loc4_middle = g_loc4_middle - 100;
		}else if (g_loc4_middle < 0){
			g_loc_areanum1 = g_loc_areanum1 - 1;			
			g_loc4_middle = 100 + g_loc4_middle;
		}

		if (g_loc4_after > 99){
			g_loc_areanum2 = g_loc_areanum2 + 1;
			g_loc4_after = g_loc4_after - 100;	
		}else if (g_loc4_after < 0){
			g_loc_areanum2 = g_loc_areanum2 - 1;
			g_loc4_after = 100 + g_loc4_after;		
		}
		
		//좌표계산용 변수 처리 ★★★
		///////////////////////////////////////////////////////////////

		///////////////////////////////////////////////////////////////
		//마커계산용 변수 처리 ★★★
		m_loc_areanum1	= areanum1;
		m_loc_areanum2	= areanum2;
		m_loc4_middle	= no4_middle;
		m_loc4_after	= no4_After;

		if (T_no10_middle >= 2000){
			m_loc10_middle = m_loc10_middle - 1000*Math.floor((T_no10_middle-1000)/1000);
			m_loc4_middle  = m_loc4_middle -Math.floor((T_no10_middle-1000)/1000);
		}

		if (T_no10_After >= 2000){
			m_loc10_after = m_loc10_after - 1000*Math.floor((T_no10_After-1000)/1000);
			m_loc4_after  = m_loc4_after - Math.floor((T_no10_After-1000)/1000);
		}

		if (tileSize == 200){
			m_loc10_middle	= (1000 - no10_middle) + 1000;
			m_loc10_after	= (no10_After + 100) - 150;
		}else if (tileSize == 400){
			m_loc10_middle	= (1000 - no10_middle) + 1000;
			m_loc10_after	= (no10_After + 100)-150;
		}else if (tileSize == 600){
			m_loc10_middle	= (1000 - no10_middle) + 1000;
			m_loc10_after	= (no10_After + 100)-150;
		}else if (tileSize == 800){
			m_loc10_middle	= (1000 - no10_middle) + 1000;
			m_loc10_after	= (no10_After + 100)-150;
		}else if (tileSize == 1000){
			m_loc10_middle	= (1000 - no10_middle) + 1000;
			m_loc10_after	= (no10_After + 100)-150;
		}else if (tileSize == 1200){
			m_loc10_middle	=  (1000 - no10_middle) + 1000;
			m_loc10_after	= (no10_After + 100)-150;
		}else if (tileSize == 1400){
			m_loc10_middle	=  (1000 - no10_middle) + 1000;
			m_loc10_after	= (no10_After + 100)-150;
		}else if (tileSize == 1600){
			m_loc10_middle	=  (1000 - no10_middle) + 1000;
			m_loc10_after	= (no10_After + 100)-135;
		}else if (tileSize == 1800){
			m_loc10_middle	=  (1000 - no10_middle) + 1000;
			m_loc10_after	= (no10_After + 100)-140;
		}else if (tileSize == 2000){
			m_loc10_middle	=  (1000 - no10_middle) + 1000;
			m_loc10_after	= (no10_After + 100)-145;
		}

		//g_loc10_middle = 1000 - no10_middle;
		//g_loc10_after	 = no10_After + 100;

		if (m_loc10_middle > 1000){		
			m_loc10_middle = m_loc10_middle - 1000;
			m_loc4_middle  = m_loc4_middle + 1;
		}else if (m_loc10_middle < 0){
			m_loc10_middle = 1000 + m_loc10_middle;
			m_loc4_middle  = m_loc4_middle - 1;
		}

		if (m_loc10_after > 1000){
			m_loc10_after = m_loc10_after-1000;
			m_loc4_after  = m_loc4_after + 1;
		}else if (m_loc10_after < 0){
			m_loc10_after = 1000+m_loc10_after;
			m_loc4_after  = m_loc4_after - 1;
		}

		if (m_loc4_middle > 99){
			m_loc_areanum1 = m_loc_areanum1 + 1;
			m_loc4_middle = m_loc4_middle - 100;
		}else if (m_loc4_middle < 0){
			m_loc_areanum1 = m_loc_areanum1 - 1;			
			m_loc4_middle = 100 + m_loc4_middle;
		}

		if (m_loc4_after > 99){
			m_loc_areanum2 = m_loc_areanum2 + 1;
			m_loc4_after = m_loc4_after - 100;	
		}else if (m_loc4_after < 0){
			m_loc_areanum2 = m_loc_areanum2 - 1;
			m_loc4_after = 100 + m_loc4_after;		
		}
		    
		this.checkTiles();
		this.checkPLabel();
		this.checkPMaker();
		this.checkdistance();

		return;		
	}



	//u_startx(x좌표), u_starty(y좌표), u_zoomlev(줌레벨) 시작점 계산후 이동함수 
	this.UrlSetup = function(u_width, u_height, u_startx, u_starty, u_zoomlev){
		
		var u_width, u_height, u_startx, u_starty, u_zoomlev;

		width_percent   = u_width;
		height_percent  = u_height;

		viewportWidth  = document.getElementById(m_outer_div).offsetWidth;
	  viewportHeight = document.getElementById(m_outer_div).offsetHeight;

		var strMGRS = this.GP2TM(u_startx,u_starty);
	
		var Get_area1, Get_area2, Get_no4_middle, Get_no4_after, Get_no10_middle, Get_no10_after;

		//필요한 문자열 추출
		Get_area1       = strMGRS.substr(0,1);
		Get_area2       = strMGRS.substr(1,1);
		Get_no4_middle  = strMGRS.substr(2,2);
		Get_no4_after   = strMGRS.substring(7,9);
		Get_no10_middle = strMGRS.substring(4,7);
		Get_no10_after  = strMGRS.substring(9,12);

    //자료형변환 문자 -> 숫자
		Get_no4_middle  = Number(Get_no4_middle);
		Get_no4_after   = Number(Get_no4_after);
		Get_no10_middle = Number(Get_no10_middle);
		Get_no10_after  = Number(Get_no10_after);

		if (u_zoomlev == 0){ tileSize = 200;
		}else if (u_zoomlev == 1){ tileSize = 400;
		}else if (u_zoomlev == 2){ tileSize = 600;
		}else if (u_zoomlev == 3){ tileSize = 800;
		}else if (u_zoomlev == 4){ tileSize = 1000;
		}else if (u_zoomlev == 5){ tileSize = 1200;
		}else if (u_zoomlev == 6){ tileSize = 1400;
		}else if (u_zoomlev == 7){ tileSize = 1600;
		}else if (u_zoomlev == 8){ tileSize = 1800;
		}else if (u_zoomlev == 9){ tileSize = 2000;
		}else if (u_zoomlev == 10){ tileSize = 100;
		}

		//alert(tileSize);

		var innerDiv = document.getElementById(m_inner_div);
		var imgs = innerDiv.getElementsByTagName("img");

		for (i = 0; i < imgs.length; i++) {
			var id   = imgs[i].getAttribute("id");
			var name = imgs[i].getAttribute("name");
			
				if (name != "MakerName" || name != "icon"){
					//this.purge(document.images[id]);
					//innerDiv.removeChild(document.images[id]);
					innerDiv.removeChild(imgs[i]);
					i--;  // compensate for live nodelist
				}
		
		}

		this.MapSetup2(Get_area1,Get_area2,Get_no4_middle,Get_no4_after,Get_no10_middle,Get_no10_after);

		////////////////////////////////////////////////////
		//마커 좌표와의 거리만큼 이동시킨다

		var display_x = areanum1 * 100000 + no4_middle * 1000 + no10_middle;
		var display_y = areanum2 * 100000 + no4_After * 1000 + no10_After;

		var maker_x = g_loc_areanum1 * 100000 + g_loc4_middle * 1000 + g_loc10_middle;
		var maker_y = g_loc_areanum2 * 100000 + g_loc4_after * 1000 + g_loc10_after;

		var gap_x = 0; //(maker_x - display_x);
		var gap_y = 0; //maker_y - display_y;

		if (no10_middle > m_loc10_middle){
			gap_x = (no10_middle - g_loc10_middle) * - 1;
		}else{
			gap_x = (g_loc10_middle - no10_middle);
		}

			{
				/////////////////////////////////////////////////////////////////
				//화면출력용 변수 처리

				no10_middle = no10_middle + gap_x;
				no10_After  = no10_After + gap_y;

				var	T_no10_middle = no10_middle + gap_x;  //임시저장 이동거리 x
				var T_no10_After  = no10_After + gap_y;   //임시저장 이동거리 y

				//변경된 Loc10체크(Loc4변경&Loc10변경)
				if (no10_middle > 999){
					no4_middle  = no4_middle - 1;
					no10_middle = no10_middle - 1000;
				}else if (no10_middle < 0){
					no4_middle = no4_middle + 1;
					no10_middle = 1000 + no10_middle;
				}

				if (no10_After > 999){
					no4_After = no4_After + 1;
					no10_After = no10_After - 1000;
				}else if (no10_After < 0){				
					no4_After = no4_After - 1;
					no10_After = 1000 + no10_After;
				}
							
				//변경된 Loc4체크(Area변경&Loc4변경) 
				if (no4_middle > 99){
					areanum1 = areanum1 + 1;
					no4_middle = no4_middle - 100;
				}else if (no4_middle < 0){
					areanum1 = areanum1 - 1;			
					no4_middle = 100 + no4_middle;
				}

				if (no4_After > 99){
					areanum2 = areanum2 + 1;
					no4_After = no4_After - 100;	
				}else if (no4_After < 0){
					areanum2 = areanum2 - 1;
					no4_After = 100 + no4_After;		
				}

				//alert(no4_middle+" "+no10_middle+" "+no4_After+" "+no10_After);

				///////////////////////////////////////////////////////////////
				//좌표계산용 변수 처리 ★★★
				g_loc_areanum1	= areanum1;
				g_loc_areanum2	= areanum2;
				g_loc4_middle	= no4_middle;
				g_loc4_after	= no4_After;

				if (T_no10_middle >= 2000){
					g_loc10_middle = g_loc10_middle - 1000*Math.floor((T_no10_middle-1000)/1000);
					g_loc4_middle  = g_loc4_middle - Math.floor((T_no10_middle-1000)/1000);
				}

				if (T_no10_After >= 2000){
					g_loc10_after = g_loc10_after - 1000*Math.floor((T_no10_After-1000)/1000);
					g_loc4_after  = g_loc4_after - Math.floor((T_no10_After-1000)/1000);
				}

				if (tileSize == 200){
					g_loc10_middle	= (1000 - no10_middle) + 1000;
					g_loc10_after 	= (no10_After + 100)-150;
				}else if (tileSize == 400){
					g_loc10_middle	= (1000 - no10_middle) + 1000;
					g_loc10_after 	= (no10_After + 100)-150;
				}else if (tileSize == 600){
					g_loc10_middle	= (1000 - no10_middle) + 1000;
					g_loc10_after 	= (no10_After + 100)-150;
				}else if (tileSize == 800){
					g_loc10_middle	= (1000 - no10_middle) + 1000;
					g_loc10_after 	= (no10_After + 100)-150;
				}else if (tileSize == 1000){
					g_loc10_middle	= (1000 - no10_middle) + 1000;
					g_loc10_after 	= (no10_After + 100)-150;
				}else if (tileSize == 1200){
					g_loc10_middle	=  (1000 - no10_middle) + 1000;
					g_loc10_after 	= (no10_After + 100)-150;
				}else if (tileSize == 1400){
					g_loc10_middle	=  (1000 - no10_middle) + 1000;
					g_loc10_after 	= (no10_After + 100)-150;
				}else if (tileSize == 1600){
					g_loc10_middle	=  (1000 - no10_middle) + 1000;
					g_loc10_after 	= (no10_After + 100)-135;
				}else if (tileSize == 1800){
					g_loc10_middle	=  (1000 - no10_middle) + 1000;
					g_loc10_after 	= (no10_After + 100)-140;
				}else if (tileSize == 2000){
					g_loc10_middle	=  (1000 - no10_middle) + 1000;
					g_loc10_after 	= (no10_After + 100)-145;
				}

				if (g_loc10_middle > 1000){		
					g_loc10_middle = g_loc10_middle - 1000;
					g_loc4_middle  = g_loc4_middle + 1;

				}else if (g_loc10_middle < 0){
					g_loc10_middle = 1000 + g_loc10_middle;
					g_loc4_middle  = g_loc4_middle - 1;
				}

				if (g_loc10_after > 1000){
					g_loc10_after = g_loc10_after-1000;
					g_loc4_after  = g_loc4_after + 1;

				}else if (g_loc10_after < 0){
					g_loc10_after = 1000 + g_loc10_after;
					g_loc4_after  = g_loc4_after - 1;
				}

				if (g_loc4_middle > 99){
					g_loc_areanum1 = g_loc_areanum1 + 1;
					g_loc4_middle = g_loc4_middle - 100;
				}else if (g_loc4_middle < 0){
					g_loc_areanum1 = g_loc_areanum1 - 1;			
					g_loc4_middle = 100 + g_loc4_middle;
				}

				if (g_loc4_after > 99){
					g_loc_areanum2 = g_loc_areanum2 + 1;
					g_loc4_after = g_loc4_after - 100;	
				}else if (g_loc4_after < 0){
					g_loc_areanum2 = g_loc_areanum2 - 1;
					g_loc4_after = 100 + g_loc4_after;		
				}
				
				//좌표계산용 변수 처리 ★★★
				///////////////////////////////////////////////////////////////

				///////////////////////////////////////////////////////////////
				//마커계산용 변수 처리 ★★★
				m_loc_areanum1	= areanum1;
				m_loc_areanum2	= areanum2;
				m_loc4_middle	= no4_middle;
				m_loc4_after	= no4_After;

				if (T_no10_middle >= 2000){
					m_loc10_middle = m_loc10_middle - 1000*Math.floor((T_no10_middle-1000)/1000);
					m_loc4_middle  = m_loc4_middle -Math.floor((T_no10_middle-1000)/1000);
				}

				if (T_no10_After >= 2000){
					m_loc10_after = m_loc10_after - 1000*Math.floor((T_no10_After-1000)/1000);
					m_loc4_after  = m_loc4_after - Math.floor((T_no10_After-1000)/1000);
				}

				if (tileSize == 200){
					m_loc10_middle	= (1000 - no10_middle) + 1000;
					m_loc10_after	= (no10_After + 100) - 150;
				}else if (tileSize == 400){
					m_loc10_middle	= (1000 - no10_middle) + 1000;
					m_loc10_after	= (no10_After + 100)-150;
				}else if (tileSize == 600){
					m_loc10_middle	= (1000 - no10_middle) + 1000;
					m_loc10_after	= (no10_After + 100)-150;
				}else if (tileSize == 800){
					m_loc10_middle	= (1000 - no10_middle) + 1000;
					m_loc10_after	= (no10_After + 100)-150;
				}else if (tileSize == 1000){
					m_loc10_middle	= (1000 - no10_middle) + 1000;
					m_loc10_after	= (no10_After + 100)-150;
				}else if (tileSize == 1200){
					m_loc10_middle	=  (1000 - no10_middle) + 1000;
					m_loc10_after	= (no10_After + 100)-150;
				}else if (tileSize == 1400){
					m_loc10_middle	=  (1000 - no10_middle) + 1000;
					m_loc10_after	= (no10_After + 100)-150;
				}else if (tileSize == 1600){
					m_loc10_middle	=  (1000 - no10_middle) + 1000;
					m_loc10_after	= (no10_After + 100)-135;
				}else if (tileSize == 1800){
					m_loc10_middle	=  (1000 - no10_middle) + 1000;
					m_loc10_after	= (no10_After + 100)-140;
				}else if (tileSize == 2000){
					m_loc10_middle	=  (1000 - no10_middle) + 1000;
					m_loc10_after	= (no10_After + 100)-145;
				}

				//g_loc10_middle = 1000 - no10_middle;
				//g_loc10_after	 = no10_After + 100;

				if (m_loc10_middle > 1000){		
					m_loc10_middle = m_loc10_middle - 1000;
					m_loc4_middle  = m_loc4_middle + 1;
				}else if (m_loc10_middle < 0){
					m_loc10_middle = 1000 + m_loc10_middle;
					m_loc4_middle  = m_loc4_middle - 1;
				}

				if (m_loc10_after > 1000){
					m_loc10_after = m_loc10_after-1000;
					m_loc4_after  = m_loc4_after + 1;
				}else if (m_loc10_after < 0){
					m_loc10_after = 1000+m_loc10_after;
					m_loc4_after  = m_loc4_after - 1;
				}

				if (m_loc4_middle > 99){
					m_loc_areanum1 = m_loc_areanum1 + 1;
					m_loc4_middle = m_loc4_middle - 100;
				}else if (m_loc4_middle < 0){
					m_loc_areanum1 = m_loc_areanum1 - 1;			
					m_loc4_middle = 100 + m_loc4_middle;
				}

				if (m_loc4_after > 99){
					m_loc_areanum2 = m_loc_areanum2 + 1;
					m_loc4_after = m_loc4_after - 100;	
				}else if (m_loc4_after < 0){
					m_loc_areanum2 = m_loc_areanum2 - 1;
					m_loc4_after = 100 + m_loc4_after;		
				}
		    }	

		  this.checkTiles();
			this.checkPLabel();
			this.checkPMaker();
			this.checkdistance();

			return;		
	}


	this.UrlSetup2 = function(u_width, u_height, u_startx, u_starty, u_zoomlev){

		var u_width, u_height, u_startx, u_starty, u_zoomlev;

		width_percent   = u_width;
		height_percent  = u_height;

		viewportWidth  = document.getElementById(m_outer_div).offsetWidth;
	    viewportHeight = document.getElementById(m_outer_div).offsetHeight;

		var strMGRS = this.GP2TM(u_startx,u_starty);

		//alert(strMGRS);

		var Get_area1, Get_area2, Get_no4_middle, Get_no4_after, Get_no10_middle, Get_no10_after;

		//필요한 문자열 추출
		Get_area1       = strMGRS.substr(0,1);
		Get_area2       = strMGRS.substr(1,1);
		Get_no4_middle  = strMGRS.substr(2,2);
		Get_no4_after   = strMGRS.substring(7,9);
		Get_no10_middle = strMGRS.substring(4,7);
		Get_no10_after  = strMGRS.substring(9,12);

        //자료형변환 문자 -> 숫자
		Get_no4_middle  = Number(Get_no4_middle);
		Get_no4_after   = Number(Get_no4_after);
		Get_no10_middle = Number(Get_no10_middle);
		Get_no10_after  = Number(Get_no10_after);

		if (u_zoomlev == 0){ tileSize = 200;
		}else if (u_zoomlev == 1){ tileSize = 400;
		}else if (u_zoomlev == 2){ tileSize = 600;
		}else if (u_zoomlev == 3){ tileSize = 800;
		}else if (u_zoomlev == 4){ tileSize = 1000;
		}else if (u_zoomlev == 5){ tileSize = 1200;
		}else if (u_zoomlev == 6){ tileSize = 1400;
		}else if (u_zoomlev == 7){ tileSize = 1600;
		}else if (u_zoomlev == 8){ tileSize = 1800;
		}else if (u_zoomlev == 9){ tileSize = 2000;
		}

		var innerDiv = document.getElementById(m_inner_div);
		var imgs = innerDiv.getElementsByTagName("img");
		for (i = 0; i < imgs.length; i++) {
			var id   = imgs[i].getAttribute("id");
			var name = imgs[i].getAttribute("name");
			
				if (name != "MakerName"){
					//innerDiv.removeChild(document.images[id]);
					//this.purge(imgs[i]);
					innerDiv.removeChild(imgs[i]);
					i--;  // compensate for live nodelist
				}	
		}

		this.MapSetup2(Get_area1,Get_area2,Get_no4_middle,Get_no4_after,Get_no10_middle,Get_no10_after);

		////////////////////////////////////////////////////
		//마커 좌표와의 거리만큼 이동시킨다

		var display_x = areanum1*100000+no4_middle*1000+no10_middle;
		var display_y = areanum2*100000+no4_After*1000+no10_After;

		var maker_x = m_loc_areanum1*100000+m_loc4_middle*1000+m_loc10_middle;
		var maker_y = m_loc_areanum2*100000+m_loc4_after*1000+m_loc10_after;

		var gap_x = 0;//(maker_x - display_x);
		var gap_y = 0;//maker_y - display_y;

		if (no10_middle > m_loc10_middle){
			gap_x = (no10_middle-m_loc10_middle) * -1;
		}else{
			gap_x = (m_loc10_middle-no10_middle);
		}
			
		///////////////////////////////////////////////////
		//이동후 좌표 계산
		{
			/////////////////////////////////////////////////////////////////
			//화면출력용 변수 처리

			no10_middle = no10_middle + gap_x;
			no10_After  = no10_After + gap_y;

			var	T_no10_middle = no10_middle + gap_x;  //임시저장 이동거리 x
			var T_no10_After  = no10_After + gap_y;   //임시저장 이동거리 y


			//변경된 Loc10체크(Loc4변경&Loc10변경)
			if (no10_middle > 999){
				no4_middle  = no4_middle - 1;
				no10_middle = no10_middle - 1000;
			}else if (no10_middle < 0){
				no4_middle = no4_middle + 1;
				no10_middle = 1000 + no10_middle;
			}

			if (no10_After > 999){
				no4_After = no4_After + 1;
				no10_After = no10_After - 1000;
			}else if (no10_After < 0){
				no4_After = no4_After - 1;
				no10_After = 1000 + no10_After;
			}
			
			//변경된 Loc4체크(Area변경&Loc4변경) 
			if (no4_middle > 99){
				areanum1 = areanum1 + 1;
				no4_middle = no4_middle - 100;
			}else if (no4_middle < 0){
				areanum1 = areanum1 - 1;			
				no4_middle = 100 + no4_middle;
			}
			
			if (no4_After > 99){
				areanum2 = areanum2 + 1;
				no4_After = no4_After - 100;	
			}else if (no4_After < 0){
				areanum2 = areanum2 - 1;
				no4_After = 100 + no4_After;		
			}

			//alert(no4_middle+" "+no10_middle+" "+no4_After+" "+no10_After);

			///////////////////////////////////////////////////////////////
			//좌표계산용 변수 처리 ★★★
			g_loc_areanum1	= areanum1;
			g_loc_areanum2	= areanum2;
			g_loc4_middle	= no4_middle;
			g_loc4_after	= no4_After;

			if (T_no10_middle >= 2000){
				g_loc10_middle = g_loc10_middle - 1000*Math.floor((T_no10_middle-1000)/1000);
				g_loc4_middle  = g_loc4_middle -Math.floor((T_no10_middle-1000)/1000);
			}

			if (T_no10_After >= 2000){
				g_loc10_after = g_loc10_after - 1000*Math.floor((T_no10_After-1000)/1000);
				g_loc4_after  = g_loc4_after - Math.floor((T_no10_After-1000)/1000);
			}

			if (tileSize == 200){
				g_loc10_middle	=  no10_middle - 440;
				g_loc10_after	= (no10_After + 100) + 600;
			}else if (tileSize == 400){
				g_loc10_middle	=  no10_middle - 440;
				g_loc10_after	= (no10_After + 100) + 600;
			}else if (tileSize == 600){
				g_loc10_middle	=  no10_middle - 440;
				g_loc10_after	= (no10_After + 100) + 600;
			}else if (tileSize == 800){
				g_loc10_middle	=  no10_middle - 440;
				g_loc10_after	= (no10_After + 100) + 600;
			}else if (tileSize == 1000){
				g_loc10_middle	=  no10_middle + 710;
				g_loc10_after	= (no10_After + 100) + 40;
			}else if (tileSize == 1200){
				g_loc10_middle	=  no10_middle + 757;
				g_loc10_after	= (no10_After + 100) + 14;
			}else if (tileSize == 1400){
				g_loc10_middle	=  no10_middle + 795;
				g_loc10_after	= (no10_After + 100) - 1;
			}else if (tileSize == 1600){
				g_loc10_middle	=  no10_middle + 820;
				g_loc10_after	= (no10_After + 100) - 13;
			}else if (tileSize == 1800){
				g_loc10_middle	=  no10_middle + 840;
				g_loc10_after	= (no10_After + 100) - 22;
			}else if (tileSize == 2000){
				g_loc10_middle	=  no10_middle + 855;
				g_loc10_after	= (no10_After + 100) - 27;
			}

			//g_loc10_middle = 1000 - no10_middle;
			//g_loc10_after	 = no10_After + 100;

			if (g_loc10_middle > 1000){		
				g_loc10_middle = g_loc10_middle - 1000;
				g_loc4_middle  = g_loc4_middle + 1;
			}else if (g_loc10_middle < 0){
				g_loc10_middle = 1000 + g_loc10_middle;
				g_loc4_middle  = g_loc4_middle - 1;
			}

			if (g_loc10_after > 1000){
				g_loc10_after = g_loc10_after-1000;
				g_loc4_after  = g_loc4_after + 1;
			}else if (g_loc10_after < 0){
				g_loc10_after = 1000 + g_loc10_after;
				g_loc4_after  = g_loc4_after - 1;
			}

			if (g_loc4_middle > 99){
				g_loc_areanum1 = g_loc_areanum1 + 1;
				g_loc4_middle = g_loc4_middle - 100;
			}else if (g_loc4_middle < 0){
				g_loc_areanum1 = g_loc_areanum1 - 1;			
				g_loc4_middle = 100 + g_loc4_middle;
			}

			if (g_loc4_after > 99){
				g_loc_areanum2 = g_loc_areanum2 + 1;
				g_loc4_after = g_loc4_after - 100;	
			}else if (g_loc4_after < 0){
				g_loc_areanum2 = g_loc_areanum2 - 1;
				g_loc4_after = 100 + g_loc4_after;		
			}
			
			//var teststr =  String(g_loc4_middle) + String(g_loc10_middle)
			//alert(teststr);

			//var teststr =  String(g_loc4_after) + String(g_loc10_after)
			//alert(teststr);

			//좌표계산용 변수 처리 ★★★
			///////////////////////////////////////////////////////////////

			///////////////////////////////////////////////////////////////
			//마커계산용 변수 처리 ★★★
			m_loc_areanum1	= areanum1;
			m_loc_areanum2	= areanum2;
			m_loc4_middle	= no4_middle;
			m_loc4_after	= no4_After;

			if (T_no10_middle >= 2000){
				m_loc10_middle = m_loc10_middle - 1000*Math.floor((T_no10_middle-1000)/1000);
				m_loc4_middle  = m_loc4_middle -Math.floor((T_no10_middle-1000)/1000);
			}

			if (T_no10_After >= 2000){
				m_loc10_after = m_loc10_after - 1000*Math.floor((T_no10_After-1000)/1000);
				m_loc4_after  = m_loc4_after - Math.floor((T_no10_After-1000)/1000);
			}

			if (tileSize == 200){
				m_loc10_middle	= (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100) - 150;
			}else if (tileSize == 400){
				m_loc10_middle	= (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 600){
				m_loc10_middle	= (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 800){
				m_loc10_middle	= (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100) - 150;
			}else if (tileSize == 1000){
				m_loc10_middle	= (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 1200){
				m_loc10_middle	=  (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 1400){
				m_loc10_middle	=  (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 1600){
				m_loc10_middle	=  (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-135;
			}else if (tileSize == 1800){
				m_loc10_middle	=  (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-140;
			}else if (tileSize == 2000){
				m_loc10_middle	=  (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-145;
			}

			//g_loc10_middle = 1000 - no10_middle;
			//g_loc10_after	 = no10_After + 100;

			if (m_loc10_middle > 1000){		
				m_loc10_middle = m_loc10_middle - 1000;
				m_loc4_middle  = m_loc4_middle + 1;
			}else if (m_loc10_middle < 0){
				m_loc10_middle = 1000 + m_loc10_middle;
				m_loc4_middle  = m_loc4_middle - 1;
			}

			if (m_loc10_after > 1000){
				m_loc10_after = m_loc10_after-1000;
				m_loc4_after  = m_loc4_after + 1;
			}else if (m_loc10_after < 0){
				m_loc10_after = 1000+m_loc10_after;
				m_loc4_after  = m_loc4_after - 1;
			}

			if (m_loc4_middle > 99){
				m_loc_areanum1 = m_loc_areanum1 + 1;
				m_loc4_middle = m_loc4_middle - 100;
			}else if (m_loc4_middle < 0){
				m_loc_areanum1 = m_loc_areanum1 - 1;			
				m_loc4_middle = 100 + m_loc4_middle;
			}

			if (m_loc4_after > 99){
				m_loc_areanum2 = m_loc_areanum2 + 1;
				m_loc4_after = m_loc4_after - 100;	
			}else if (m_loc4_after < 0){
				m_loc_areanum2 = m_loc_areanum2 - 1;
				m_loc4_after = 100 + m_loc4_after;		
			}

			this.checkTiles();
			this.checkPMaker();
			this.checkdistance();
		}	
	}

	this.MapSetup = function(p_area1, p_area2, p_no4_middle, p_no4_after, p_no10_middle, p_no10_after){

		area1			= p_area1;
		area2			= p_area2;
		no4_middle		= p_no4_middle;
		no4_After		= p_no4_after;
		no10_middle		= p_no10_middle;
		no10_After		= p_no10_after;

		for (j=0; strRow.length; j++){
			if (area1 == strRow[j]){
				areanum1 = j;
				break;
			} 			
		}

		for (k=0; strCol.length; k++){
			if (area2 == strCol[k]){
				areanum2 = k;
				break;
			}
		}

		//alert(tileSize);
		///////////////////////////////////////////////////////////////
		//좌표계산용 변수 처리 ★★★
		g_loc_areanum1	= areanum1;
		g_loc_areanum2	= areanum2;
		g_loc4_middle	= no4_middle;
		g_loc4_after	= no4_After;

		if (tileSize == 800){
			g_loc10_middle	= (1000 - no10_middle) + 1000;
			g_loc10_after	= (no10_After + 100) - 150;
		}else if (tileSize == 1000){
			//g_loc10_middle	= (1000 - no10_middle);// + 710;
			g_loc10_middle	= (1000 - no10_middle) + 1000;
			g_loc10_after	= (no10_After + 100)-150;
		}else if (tileSize == 1200){
			//g_loc10_middle	= (1000 - no10_middle);//+ 757;
			g_loc10_middle	= (1000 - no10_middle) + 1000;
			g_loc10_after	= (no10_After + 100)-150;
		}else if (tileSize == 1400){
			//g_loc10_middle	= (1000 - no10_middle);// + 795;
			g_loc10_middle	= (1000 - no10_middle) + 1000;
			g_loc10_after	= (no10_After + 100)-150;
		}else if (tileSize == 1600){
			g_loc10_middle	= (1000 - no10_middle) + 1000;
			g_loc10_after	= (no10_After + 100)-135;
		}else if (tileSize == 1800){
			//g_loc10_middle	= (1000 - no10_middle);// + 840;
			g_loc10_middle	= (1000 - no10_middle) + 1000;
			g_loc10_after	= (no10_After + 100)-140;
		}else if (tileSize == 2000){
			//g_loc10_middle	= (1000 - no10_middle);// + 855;
			g_loc10_middle	= (1000 - no10_middle) + 1000;
			g_loc10_after	= (no10_After + 100)-145;
		}

		/*g_loc10_middle = 1000 - no10_middle;
		g_loc10_after	 = no10_After + 100;*/

		if (g_loc10_middle > 1000){		
			g_loc10_middle = g_loc10_middle - 1000;
			g_loc4_middle  = g_loc4_middle + 1;
		}else if (g_loc10_middle < 0){
			g_loc10_middle = 1000 + g_loc10_middle;
			g_loc4_middle  = g_loc4_middle - 1;
		}

		if (g_loc10_after > 1000){
			g_loc10_after = g_loc10_after-1000;
			g_loc4_after = g_loc4_after+1;
		}else if  (g_loc10_after < 0){
			g_loc10_after = 1000 + g_loc10_after;
			g_loc4_after  = g_loc4_after - 1;
		}

		if (g_loc4_middle > 99){
			g_loc_areanum1 = g_loc_areanum1 + 1;
			g_loc4_middle = g_loc4_middle - 100;
		}else if (g_loc4_middle < 0){
			g_loc_areanum1 = g_loc_areanum1 - 1;			
			g_loc4_middle = 100 + g_loc4_middle;
		}

		if (g_loc4_after > 99){
			g_loc_areanum2 = g_loc_areanum2 + 1;
			g_loc4_after = g_loc4_after - 100;	
		}else if (g_loc4_after < 0){
			g_loc_areanum2 = g_loc_areanum2 - 1;
			g_loc4_after = 100 + g_loc4_after;		
		}

		//좌표계산용 변수 처리 ★★★
		///////////////////////////////////////////////////////////////

		///////////////////////////////////////////////////////////////
		//마커계산용 변수 처리 ★★★
		m_loc_areanum1	= areanum1;
		m_loc_areanum2	= areanum2;
		m_loc4_middle	= no4_middle;
		m_loc4_after	= no4_After;

		if (tileSize == 800){
			m_loc10_middle	= (1000 - no10_middle) + 1000;
			m_loc10_after	= (no10_After + 100) - 150;
		}else if (tileSize == 1000){
			//g_loc10_middle	= (1000 - no10_middle);// + 710;
			m_loc10_middle	=  (1000 - no10_middle) + 1000;
			m_loc10_after	= (no10_After + 100)-150;
		}else if (tileSize == 1200){
			//g_loc10_middle	= (1000 - no10_middle);//+ 757;
			m_loc10_middle	=  (1000 - no10_middle) + 1000;
			m_loc10_after	= (no10_After + 100)-150;
		}else if (tileSize == 1400){
			//g_loc10_middle	= (1000 - no10_middle);// + 795;
			m_loc10_middle	=  (1000 - no10_middle) + 1000;
			m_loc10_after	= (no10_After + 100)-150;
		}else if (tileSize == 1600){
			m_loc10_middle	=  (1000 - no10_middle) + 1000;
			m_loc10_after	= (no10_After + 100)-135;

		}else if (tileSize == 1800){
			//g_loc10_middle	= (1000 - no10_middle);// + 840;
			m_loc10_middle	=  (1000 - no10_middle) + 1000;
			m_loc10_after	= (no10_After + 100)-140;
		}else if (tileSize == 2000){
			//g_loc10_middle	= (1000 - no10_middle);// + 855;
			m_loc10_middle	=  (1000 - no10_middle) + 1000;
			m_loc10_after	= (no10_After + 100)-145;
		}

		//g_loc10_middle = 1000 - no10_middle;
		//g_loc10_after	 = no10_After + 100;

		if (m_loc10_middle > 1000){		
			m_loc10_middle = m_loc10_middle - 1000;
			m_loc4_middle  = m_loc4_middle + 1;
		}else if (m_loc10_middle < 0){
			m_loc10_middle = 1000 + m_loc10_middle;
			m_loc4_middle  = m_loc4_middle - 1;
		}

		if (m_loc10_after > 1000){
			m_loc10_after = m_loc10_after-1000;
			m_loc4_after  = m_loc4_after + 1;
		}else if (m_loc10_after < 0){
			m_loc10_after = 1000+m_loc10_after;
			m_loc4_after  = m_loc4_after - 1;
		}

		if (m_loc4_middle > 99){
			m_loc_areanum1 = m_loc_areanum1 + 1;
			m_loc4_middle  = m_loc4_middle - 100;
		}else if (m_loc4_middle < 0){
			m_loc_areanum1 = m_loc_areanum1 - 1;			
			m_loc4_middle  = 100 + m_loc4_middle;
		}

		if (m_loc4_after > 99){
			m_loc_areanum2 = m_loc_areanum2 + 1;
			m_loc4_after   = m_loc4_after - 100;	
		}else if (m_loc4_after < 0){
			m_loc_areanum2 = m_loc_areanum2 - 1;
			m_loc4_after   = 100 + m_loc4_after;		
		}

		//마커계산용 변수 처리 ★★★
		///////////////////////////////////////////////////////////////

		this.setouterDivSize(viewportWidth,viewportHeight);

		this.checkTiles();
		this.checkPMaker();
		this.checkdistance();
	}


	this.MapSetup2 = function(p_area1, p_area2, p_no4_middle, p_no4_after, p_no10_middle, p_no10_after) {

		area1			= p_area1;
		area2			= p_area2;
		no4_middle		= p_no4_middle;
		no4_After		= p_no4_after;
		no10_middle		= p_no10_middle;
		no10_After		= p_no10_after;

		for (j=0; strRow.length; j++){
			if (area1 == strRow[j]){
				areanum1 = j;
				break;
			} 			
		}

		for (k=0; strCol.length; k++){
			if (area2 == strCol[k]){
				areanum2 = k;
				break;
			}
		}

		///////////////////////////////////////////////////////////////
		//좌표계산용 변수 처리 ★★★
		g_loc_areanum1	= areanum1;
		g_loc_areanum2	= areanum2;
		g_loc4_middle	= no4_middle;
		g_loc4_after	= no4_After;

		if (tileSize == 200){
			g_loc10_middle	= (1000 - no10_middle) + 1000;
			g_loc10_after	= (no10_After + 100) - 150;
		}else if (tileSize == 400){
			g_loc10_middle	=  (1000 - no10_middle) + 1000;
			g_loc10_after	= (no10_After + 100)-150;
		}else if (tileSize == 600){
			g_loc10_middle	=  (1000 - no10_middle) + 1000;
			g_loc10_after	= (no10_After + 100)-150;
		}else if (tileSize == 800){
			g_loc10_middle	=  (1000 - no10_middle) + 1000;
			g_loc10_after	= (no10_After + 100)-150;
		}else if (tileSize == 1000){
			g_loc10_middle	=  (1000 - no10_middle) + 1000;
			g_loc10_after	= (no10_After + 100)-150;
		}else if (tileSize == 1200){
			g_loc10_middle	=  (1000 - no10_middle) + 1000;
			g_loc10_after	= (no10_After + 100)-150;
		}else if (tileSize == 1400){
			g_loc10_middle	=  (1000 - no10_middle) + 1000;
			g_loc10_after	= (no10_After + 100)-150;
		}else if (tileSize == 1600){
			g_loc10_middle	=  (1000 - no10_middle) + 1000;
			g_loc10_after	= (no10_After + 100)-135;
		}else if (tileSize == 1800){
			g_loc10_middle	=  (1000 - no10_middle) + 1000;
			g_loc10_after	= (no10_After + 100)-140;
		}else if (tileSize == 2000){
			g_loc10_middle	=  (1000 - no10_middle) + 1000;
			g_loc10_after	= (no10_After + 100)-145;
		}

		if (g_loc10_middle > 1000){		
			g_loc10_middle = g_loc10_middle - 1000;
			g_loc4_middle  = g_loc4_middle + 1;
		}else if (g_loc10_middle < 0){
			g_loc10_middle = 1000 + g_loc10_middle;
			g_loc4_middle  = g_loc4_middle - 1;
		}

		if (g_loc10_after > 1000){
			g_loc10_after = g_loc10_after-1000;
			g_loc4_after = g_loc4_after+1;
		}else if (g_loc10_after < 0){
			g_loc10_after = 1000 + g_loc10_after;
			g_loc4_after  = g_loc4_after - 1;
		}

		if (g_loc4_middle > 99){
			g_loc_areanum1 = g_loc_areanum1 + 1;
			g_loc4_middle = g_loc4_middle - 100;
		}else if (g_loc4_middle < 0){
			g_loc_areanum1 = g_loc_areanum1 - 1;			
			g_loc4_middle = 100 + g_loc4_middle;
		}

		if (g_loc4_after > 99){
			g_loc_areanum2 = g_loc_areanum2 + 1;
			g_loc4_after = g_loc4_after - 100;	
		}else if (g_loc4_after < 0){
			g_loc_areanum2 = g_loc_areanum2 - 1;
			g_loc4_after = 100 + g_loc4_after;		
		}

		
		//좌표계산용 변수 처리 ★★★
		///////////////////////////////////////////////////////////////

		///////////////////////////////////////////////////////////////
		//마커계산용 변수 처리 ★★★
		m_loc_areanum1	= areanum1;
		m_loc_areanum2	= areanum2;
		m_loc4_middle	= no4_middle;
		m_loc4_after	= no4_After;

		if (tileSize == 200){
			m_loc10_middle	= (1000 - no10_middle) + 1000;
			m_loc10_after	= (no10_After + 100) - 150;
		}else if (tileSize == 400){
			m_loc10_middle	=  (1000 - no10_middle) + 1000;
			m_loc10_after	= (no10_After + 100)-150;
		}else if (tileSize == 600){
			m_loc10_middle	=  (1000 - no10_middle) + 1000;
			m_loc10_after	= (no10_After + 100)-150;
		}else if (tileSize == 800){
			m_loc10_middle	=  (1000 - no10_middle) + 1000;
			m_loc10_after	= (no10_After + 100)-150;
		}else if (tileSize == 1000){
			m_loc10_middle	=  (1000 - no10_middle) + 1000;
			m_loc10_after	= (no10_After + 100)-150;
		}else if (tileSize == 1200){
			m_loc10_middle	=  (1000 - no10_middle) + 1000;
			m_loc10_after	= (no10_After + 100)-150;
		}else if (tileSize == 1400){
			m_loc10_middle	=  (1000 - no10_middle) + 1000;
			m_loc10_after	= (no10_After + 100)-150;
		}else if (tileSize == 1600){
			m_loc10_middle	=  (1000 - no10_middle) + 1000;
			m_loc10_after	= (no10_After + 100)-135;
		}else if (tileSize == 1800){
			m_loc10_middle	=  (1000 - no10_middle) + 1000;
			m_loc10_after	= (no10_After + 100)-140;
		}else if (tileSize == 2000){
			m_loc10_middle	=  (1000 - no10_middle) + 1000;
			m_loc10_after	= (no10_After + 100)-145;
		}

		//g_loc10_middle = 1000 - no10_middle;
		//g_loc10_after	 = no10_After + 100;

		if (m_loc10_middle > 1000){		
			m_loc10_middle = m_loc10_middle - 1000;
			m_loc4_middle  = m_loc4_middle + 1;
		}else if (m_loc10_middle < 0){
			m_loc10_middle = 1000 + m_loc10_middle;
			m_loc4_middle  = m_loc4_middle - 1;
		}

		if (m_loc10_after > 1000){
			m_loc10_after = m_loc10_after-1000;
			m_loc4_after  = m_loc4_after + 1;
		}else if (m_loc10_after < 0){
			m_loc10_after = 1000+m_loc10_after;
			m_loc4_after  = m_loc4_after - 1;
		}

		if (m_loc4_middle > 99){
			m_loc_areanum1 = m_loc_areanum1 + 1;
			m_loc4_middle = m_loc4_middle - 100;
		}else if (m_loc4_middle < 0){
			m_loc_areanum1 = m_loc_areanum1 - 1;			
			m_loc4_middle = 100 + m_loc4_middle;
		}

		if (m_loc4_after > 99){
			m_loc_areanum2 = m_loc_areanum2 + 1;
			m_loc4_after = m_loc4_after - 100;	
		}else if (m_loc4_after < 0){
			m_loc_areanum2 = m_loc_areanum2 - 1;
			m_loc4_after = 100 + m_loc4_after;		
		}
		

		//마커계산용 변수 처리 ★★★
		///////////////////////////////////////////////////////////////

		this.setouterDivSize(viewportWidth,viewportHeight);

		//this.checkTiles();
		//this.checkPMaker();

	}


	//URL복사 함수 인자(복사될 URL) 리턴(복사한 URL)
	this.UrlCopy = function(url_string) {

		var x = (areanum1 * 100000) + (no4_middle * 1000) + no10_middle ;      //시작점을 m단위로 나타냄
		var y = (areanum2 * 100000) + (no4_After * 1000) + no10_After;  
		var z;
		var url_string;

		if (tileSize == 200){ z = 0;
		}else if (tileSize == 400){	z = 1;
		}else if (tileSize == 600){	z = 2;
		}else if (tileSize == 800){	z = 3;
		}else if (tileSize == 1000){ z = 4;
		}else if (tileSize == 1200){ z = 5;
		}else if (tileSize == 1400){ z = 6;
		}else if (tileSize == 1600){ z = 7;
		}else if (tileSize == 1800){ z = 8;
		}else if (tileSize == 2000){ z = 9;
		}

		var url = url_string+"?x=" + x +"&y=" + y +"&z=" + z ;

		return url;
		
	}
	
	this.fnSPHTMD = function(ap, bp, cp, dp, ep, sphi) {

		return (ap * sphi - bp * Math.sin(2 * sphi) + cp * Math.sin(4 * sphi) - dp * Math.sin(6 * sphi) + ep * Math.sin(8 * sphi));

	}

	this.fnSPHSN = function(a, es, sphi) {

		return (a / Math.sqrt(1 - es * Math.pow(Math.sin(sphi), 2)));

	}

	this.GP2TM = function(phi, lam) {
	   var phi, lam;
	   var sphi, slam, sphi0, slam0, f;
	   var fe, degrad, recf, es, ebs;
	   var b, c, tn;
	   var ap, bp, cp, dp, ep;
       var dLam, s, t, eta, sn, tmd, tmd1, nfn, xn1;
       var t1, t2, t3, t4, t5, t6, t7, t8, t9;

		//경위도 -> UTM 으로
		//투영원점 결정
		lam0 = Math.floor(lam / 6) * 6 + 3;

		//남반구이면 x 값에 10 000 000 을 더함
		if (phi < 0) {
			x0 = 10000000;
		}

	    fe = y00;      //원점의 x좌표
	    f = f1;        //편평도

	    degrad = Math.atan(1) / 45;

	    sphi = phi * degrad;      //위도를 라디안으로
        slam = lam * degrad;
        sphi0 = phi0 * degrad;    //원점의 위도를 라디안으로
        slam0 = lam0 * degrad;

	    //** SEMI MAJOR AXIS - B **
		recf = 1 / f;      //편평도 299.1528...
		b = a * (recf - 1) / recf;

		//** ECCENTRICITY SQUARED **
		es = (Math.pow(a, 2) - Math.pow(b, 2)) / Math.pow(a, 2);

		//** SECOND ECCENTRICITY SQUARED **
		ebs = (Math.pow(a, 2) - Math.pow(b, 2)) / Math.pow(b, 2);

		//** TRUE MERIDIONAL DISTANCE CONSTANTS **
		tn = (a - b) / (a + b);
		ap = a * (1 - tn + 5 * (Math.pow(tn, 2) - Math.pow(tn, 3)) / 4 + 81 * (Math.pow(tn, 4) - Math.pow(tn, 5)) / 64);
		bp = 3 * a * (tn - Math.pow(tn, 2) + 7 * (Math.pow(tn, 3) - Math.pow(tn, 4)) / 8 + 55 * Math.pow(tn, 5) / 64) / 2;
		cp = 15 * a * (Math.pow(tn, 2) - Math.pow(tn, 3) + 3 * (Math.pow(tn, 4) - Math.pow(tn, 5)) / 4) / 16;
		dp = 35 * a * (Math.pow(tn, 3) - Math.pow(tn, 4) + 11 * Math.pow(tn, 5) / 16) / 48;
		ep = 315 * a * (Math.pow(tn, 4) - Math.pow(tn, 5)) / 512;

		//***** ZONE - CENTRAL MERIDIAN *****

		//*** DIFFERENCE BETWEEN LONGITUDE AND CENTRAL MERIDIAN ***
		dLam = slam - slam0;     //원점에서 떨어진 경도 rad	

		//*** 원점에 대한 x 좌표 nfn#을 먼저 구함    99.12
		//** TRUE MERIDIONAL DISTANCE ** 
		tmd1 = this.fnSPHTMD(ap, bp, cp, dp, ep, sphi0);

		nfn = tmd1 * ok;

		//****  구하는 점의 x 좌표를 구함
		//*** OTHER COMMON TERMS ***
		s = Math.sin(sphi);
		c = Math.cos(sphi);
		t = s / c;
		eta = ebs * Math.pow(c, 2);

		//** RADIUS OF CURVATURE IN PRIME VERTICAL **
		sn = this.fnSPHSN(a, es, sphi);

		//** TRUE MERIDIONAL DISTANCE **
		tmd = this.fnSPHTMD(ap, bp, cp, dp, ep, sphi);

		//***** NORTHING *****

		t1 = tmd * ok;
		t2 = sn * s * c * ok / 2;
		t3 = sn * s * Math.pow(c, 3) * ok * (5 - Math.pow(t, 2) + 9 * eta + 4 * Math.pow(eta, 2)) / 24;
		t4 = sn * s * Math.pow(c, 5) * ok * (61 - 58 * Math.pow(t, 2) + Math.pow(t, 4) + 270 * eta - 330 * Math.pow(t, 2) * eta + 445 * Math.pow(eta, 2) + 324 * Math.pow(eta, 3) - 680 * Math.pow(t, 2) * Math.pow(eta, 2) + 88 * Math.pow(eta, 4) - 600 * Math.pow(t, 2) * Math.pow(eta, 3) - 192 * Math.pow(t, 2) * Math.pow(eta, 4)) / 720;
		t5 = sn * s * Math.pow(c, 7) * ok * (1385 - 3111 * Math.pow(t, 2) + 543 * Math.pow(t, 4) - Math.pow(t, 6)) / 40320;

		xn1 = t1 + Math.pow(dLam, 2) * t2 + Math.pow(dLam, 4) * t3 + Math.pow(dLam, 6) * t4 + Math.pow(dLam, 8) * t5;
		xn  = xn1 - nfn + x0; //원점과의 차이를 구함   99.12

		//***** EASTING *****
		t6 = sn * c * ok;
		t7 = sn * Math.pow(c, 3) * ok * (1 - Math.pow(t, 2) + eta) / 6;
		t8 = sn * Math.pow(c, 5) * ok * (5 - 18 * Math.pow(t, 2) + Math.pow(t, 4) + 14 * eta - 58 * Math.pow(t, 2) * eta + 13 * Math.pow(eta, 2) + 4 * Math.pow(eta, 3) - 64 * Math.pow(t, 2) * Math.pow(eta, 2) - 24 * Math.pow(t, 2) * Math.pow(eta, 3)) / 120;
		t9 = sn * Math.pow(c, 7) * ok * (61 - 479 * Math.pow(t, 2) + 179 * Math.pow(t, 4) - Math.pow(t, 6)) / 5040;
    
		ye = fe + (dLam * t6) + (Math.pow(dLam, 3) * t7) + (Math.pow(dLam, 5) * t8) + (Math.pow(dLam, 7) * t9);

		return (this.MGRSCRVT(ye,phi,lam));
	}

	//MGRS변환 함수 
	this.MGRSCRVT = function(ye,phi,lam){
		var phi,lam,ye;
		
		var zoneN, zoneD, row, col;
		var mgrsX, mgrsY;

		//zone number
		zoneN = Math.floor((lam + 180) / 6) + 1;  //zoneN = (lam + 180) / 6 + 1;

		//zone designater
		zoneD = Math.floor((phi + 80) / 8);

		//MGRS grid 첫번째 번호 경도와 y 값에 의하여 결정
		var lam1 = Math.floor((lam + 180) % 18);  //18 도씩 나누고 나머지 값 18도 마다 바뀌니까
		var lam2 = Math.floor((lam1 / 6));        //18 도를 다시 6도씩 나누었을때 어디에 몇번째 칸인지

        row   = Math.floor(ye / 100000);          //100 km 이상단위만 잘라내어 6 도 내에서 몇번째 칸인지
        mgrsY = Math.floor(ye - row * 100000);    //100 km 이내의 단위
        row   = lam2 * 8 + row;                   //18 도 칸 처음부터 따져서 몇번째 칸인지
   
        //MGRS grid 두번째 번호 위도와 x 값에 의하여 결정
        col   = Math.floor(xn / 100000);          //100 km 씩 나누어서 몇번째 칸인가
        mgrsX = Math.floor(xn - col * 100000);    //100 km 이내의 단위

        col = col % 20;                           //반복되는 20 칸 내에서 몇번째 칸인가

		if (zoneN % 2 == 0){
			col = col + 5;                        //짝수 이면 5 칸 밀기
		}

		//alert(row+" "+col);

		/////////////////////////////////////////////////
		//좌표 변환 오류로 인하여 일부 지역 하드 코딩했음
		if (row == 22) { row = 2;}
		if (col == 22) { col = 2;}
		if (col == 21) { col = 1;}
		if (col == 24)	{ col = col%20;	}
		else if (col == 23)	{ col = col%20; }
		else if (col == 17) { col = 2; }
		//좌표 변환 오류로 인하여 일부 지역 하드 코딩했음
		/////////////////////////////////////////////////

		strMGRS = strRow[row - 1] + strCol[col];

		//alert(strMGRS);

        var strX, strY;

		if (mgrsX < 10){
			strX = "0000" + mgrsX ;
		}else if (mgrsX < 100){
			strX = "000" + mgrsX;
		}else if (mgrsX < 1000){
			strX = "00" + mgrsX;
		}else if (mgrsX < 10000){
			strX = "0" + mgrsX;
		}else{
			strX = mgrsX;
		}

		if (mgrsY < 10){
			strY = "0000" + mgrsY;
		}else if (mgrsY < 100){
			strY = "000" + mgrsY;
		}else if (mgrsY < 1000){
			strY = "00" + mgrsY;
		}else if (mgrsY < 10000){
			strY = "0" + mgrsY;
		}else{
			strY = mgrsY;
		}

		strMGRS = strMGRS + strY + strX;

		//alert(strMGRS);

		return strMGRS;
	}

	//지오피스 링크
	this.estate = function() {	

		Geopis = window.open("http://geopis.co.kr","estate_info");	

		return;
	}

	//Tile Size 추출
	this.getTileSize = function() {	
		return tileSize;
	}

	//프린트 모듈연결함수 
	this.print = function(Get_type,print_type) {
			
		//숫자 계산이기때문에 Loc4 10자리미만 문자처리 
		var row_string = "";
		if (no4_middle < 10){
			row_string = "0" + no4_middle;
		}else{
			row_string = no4_middle;
		}

		var col_string = "";
		if (no4_After < 10){
			col_string = "0" + no4_After;
		}else{
			col_string = no4_After;
		}

		 var Get_loc10 = location_low + location_col + row_string + no10_middle + col_string + no10_After;

		 mgrs_str = "52S"+Get_loc10;
	
		 var UTM_Center = this.getCenterLocation();	
		 var UTM_CenterRealValue = UTM_Center.split("/");

		 var Get_tileSize;

		 if (tileSize == 200){ Get_tileSize = 0;
		 }else if (tileSize == 400){ Get_tileSize = 1;
		 }else if (tileSize == 600){ Get_tileSize = 2;
		 }else if (tileSize == 800){ Get_tileSize = 3;
		 }else if (tileSize == 1000){ Get_tileSize = 4;
		 }else if (tileSize == 1200){ Get_tileSize = 5;
		 }else if (tileSize == 1400){ Get_tileSize = 6;
		 }else if (tileSize == 1600){ Get_tileSize = 7;
		 }else if (tileSize == 1800){ Get_tileSize = 8;
		 }else if (tileSize == 2000){ Get_tileSize = 9;
		 }else if (tileSize == 100){ Get_tileSize = 10;
		 }
		//alert(print_type);
		if (print_type == 1){
			window.open('./print/print_module3.asp?x='+ UTM_CenterRealValue[0] +'&y='+ UTM_CenterRealValue[1] +'&Get_tileSize='+ Get_tileSize +'&Get_type=' + Get_type,'print_info','width=1085, height=750,toolbar=no, status=no, scrollbars=yes, top=0,left=0');
		}else if (print_type == 2){
			window.open('./print/print_module2.asp?x='+ UTM_CenterRealValue[0] +'&y='+ UTM_CenterRealValue[1] +'&Get_tileSize='+ Get_tileSize +'&Get_type=' + Get_type,'print_info',' width=700, height=850,toolbar=no, status=no, scrollbars=yes,top=0,left=0');
		}else if (print_type == 3){
			window.open('./print/print_module33.asp?x='+ UTM_CenterRealValue[0] +'&y='+ UTM_CenterRealValue[1] +'&Get_tileSize='+ Get_tileSize +'&Get_type=' + Get_type,'print_info',' width=1000, height=650,toolbar=no, status=no, scrollbars=yes, top=0,left=0');
		}else if (print_type == 4){
			window.open('./print/print_module22.asp?x='+ UTM_CenterRealValue[0] +'&y='+ UTM_CenterRealValue[1] +'&Get_tileSize='+ Get_tileSize +'&Get_type=' + Get_type,'print_info','width=700, height=650,toolbar=no, status=no, scrollbars=yes,  top=0,left=0');
		}
	}

	this.WheelZoomin = function(delta) {
		var delta;
		 if (delta >= 120)
			this.Zoomin();
		
		 else if (delta <= -120)
			this.Zoomout();
	}

	// START:Zoom_Change 함수
	this.Zoom_Change = function(zoomlev) {

		var zoomlev = zoomlev;
		
		if (zoomlev == 0){tileSize = 200;
		}else if (zoomlev == 1){ tileSize = 400;
		}else if (zoomlev == 2){ tileSize = 600;
		}else if (zoomlev == 3){ tileSize = 800;
		}else if (zoomlev == 4){ tileSize = 1000;
		}else if (zoomlev == 5){ tileSize = 1200;
		}else if (zoomlev == 6){ tileSize = 1400;
		}else if (zoomlev == 7){ tileSize = 1600;
		}else if (zoomlev == 8){ tileSize = 1800;
		}else if (zoomlev == 9){ tileSize = 2000;
		}

		this.RemoveTooltip(); //툴팁삭제

		var innerDiv = document.getElementById(m_inner_div);
			var imgs = innerDiv.getElementsByTagName("img");
			for (i = 0; i < imgs.length; i++) {
				var id   = imgs[i].getAttribute("id");
				var name = imgs[i].getAttribute("name");				
					if (name != "MakerName" && name != "icon"){
						//innerDiv.removeChild(document.images[id]);
						//this.purge(imgs[i]);
						innerDiv.removeChild(imgs[i]);
						i--;  // compensate for live nodelist
					}	
			}
	
		this.checkTiles();
		this.checkPMaker();
		this.checkdistance();

	}
	// END:Zoom_Change 함수

	// START:Zoomin 함수 
	this.Zoomin = function() {

		clickcount = 0;

		viewportWidth  = document.getElementById("outerDiv").offsetWidth;
	  viewportHeight = document.getElementById("outerDiv").offsetHeight;
		
		if (GMapType == "DM" || GMapType == "GM"){
			if (tileSize == 200){
			}else{
				this.RemoveTooltip(); //툴팁삭제

				tileSize = tileSize + 100;

				this.setZoomlev();	

				var innerDiv = document.getElementById(m_inner_div);
				var imgs = innerDiv.getElementsByTagName("img");
				for (i = 0; i < imgs.length; i++) {
					var id   = imgs[i].getAttribute("id");
					var name = imgs[i].getAttribute("name");
					
						if (name != "MakerName" && name != "icon"){
							//innerDiv.removeChild(document.images[id]);
							//this.purge(imgs[i]);
							innerDiv.removeChild(imgs[i]);
							i--;  // compensate for live nodelist
						}			
				}
				
				//거리&면적재기 일때 함수호출
				this.ReDrawDistance();
				this.ReDrawArea();
			}
		
		}else if(GMapType == "CM" || GMapType == "OP"){

			if (tileSize == 2000){	
			}else{

				this.RemoveTooltip(); //툴팁삭제

				tileSize = tileSize + 200;

				this.setZoomlev();			

				var innerDiv = document.getElementById(m_inner_div);
				var imgs = innerDiv.getElementsByTagName("img");
				for (i = 0; i < imgs.length; i++) {
					var id   = imgs[i].getAttribute("id");
					var name = imgs[i].getAttribute("name");
					
						if (name != "MakerName" && name != "icon"){
							//innerDiv.removeChild(document.images[id]);
							//this.purge(imgs[i]);
							innerDiv.removeChild(imgs[i]);
							i--;  // compensate for live nodelist
						}			
				}	
				
				//거리&면적재기 일때 함수호출
				this.ReDrawDistance();
				this.ReDrawArea();
			}
		}
		
		this.checkTiles();
		this.checkPLabel();
		this.checkPMaker();
		this.checkdistance();
		Display_CorpInfo();
	}
	// END:Zoomin 함수 

	this.setZoomlev = function(){

		//alert(tileSize);

		var slide_btn = document.getElementById("slide_btn");
		var slide_btn_img = document.getElementById("slide_btn_img");

		//var	top  = this.stripPx(slide_btn.style.top);
		//var	left = this.stripPx(slide_btn.style.left);
		//slide_btn.style.top = top - 14  + "px"; 

		var slide_bar_img     = document.getElementById("slide_bar_img");
		var slide_zoomin_img  = document.getElementById("slide_zoomin_img");
		var slide_zoomout_img = document.getElementById("slide_zoomout_img");
		var slide_btn_img     = document.getElementById("slide_btn_img");
		var altitude_img      = document.getElementById("altitude_img");

		/*slide_btn_img.style.filter = 'alpha(opacity=100)';
		slide_bar_img.style.filter = 'alpha(opacity=100)';
		slide_zoomin_img.style.filter = 'alpha(opacity=100)';
		slide_zoomout_img.style.filter = 'alpha(opacity=100)';*/	
		if (GMapType == "CM" || GMapType == "OP"){
			if (tileSize == 200){
				slide_btn.style.top = 122 + "px";
				slide_btn_img.src ="/Map/images/slide_btn1.gif";
				altitude_img.src = "/Map/images/altitude/altitude_img1.gif";
			}else if (tileSize == 400){
				slide_btn.style.top = 108 + "px";
				slide_btn_img.src ="/Map/images/slide_btn2.gif";
				altitude_img.src = "/Map/images/altitude/altitude_img2.gif";
			}else if (tileSize == 600){
				slide_btn.style.top = 94 + "px";
				slide_btn_img.src ="/Map/images/slide_btn3.gif";
				altitude_img.src = "/Map/images/altitude/altitude_img3.gif";
			}else if (tileSize == 800){
				slide_btn.style.top = 80 + "px";
				slide_btn_img.src ="/Map/images/slide_btn4.gif";
				altitude_img.src = "/Map/images/altitude/altitude_img4.gif";
			}else if (tileSize == 1000){
				slide_btn.style.top = 66 + "px";
				slide_btn_img.src ="/Map/images/slide_btn5.gif";
				altitude_img.src = "/Map/images/altitude/altitude_img5.gif";
			}else if (tileSize == 1200){
				slide_btn.style.top = 52 + "px";
				slide_btn_img.src ="/Map/images/slide_btn6.gif";
				altitude_img.src = "/Map/images/altitude/altitude_img6.gif";
			}else if (tileSize == 1400){
				slide_btn.style.top = 38 + "px";
				slide_btn_img.src ="/Map/images/slide_btn7.gif";
				altitude_img.src = "/Map/images/altitude/altitude_img7.gif";
			}else if (tileSize == 1600){
				slide_btn.style.top = 24 + "px";
				slide_btn_img.src ="/Map/images/slide_btn8.gif";
				altitude_img.src = "/Map/images/altitude/altitude_img8.gif";
			}else if (tileSize == 1800){
				slide_btn.style.top = 10 + "px";
				slide_btn_img.src ="/Map/images/slide_btn9.gif";
				altitude_img.src = "/Map/images/altitude/altitude_img9.gif";
			}else if (tileSize == 2000){
				slide_btn.style.top = -4 + "px";
				slide_btn_img.src ="/Map/images/slide_btn10.gif";
				altitude_img.src = "/Map/images/altitude/altitude_img10.gif";
			}
		}else if(GMapType == "DM" || GMapType == "GM"){
			if (tileSize == 100){
				altitude_img.src = "/Map/images/altitude/altitude_img0.gif";
			}else if (tileSize == 200){
				slide_btn.style.top = 210 + "px";
				slide_btn_img.src ="/Map/Image/slide_btn1.gif";
				altitude_img.src = "/Map/images/altitude/altitude_img2.gif";
			}
		}
		
		/*slide_bar_img.style.filter = 'alpha(opacity=40)';
		slide_zoomin_img.style.filter = 'alpha(opacity=40)';
		slide_zoomout_img.style.filter = 'alpha(opacity=40)';
		slide_btn_img.style.filter = 'alpha(opacity=40)';*/
	}
	
	// START:Zoomout 함수
	this.Zoomout = function() {

		clickcount = 0;

		viewportWidth  = document.getElementById("outerDiv").offsetWidth;
	    viewportHeight = document.getElementById("outerDiv").offsetHeight;
		
		if (GMapType == "DM" || GMapType == "GM"){
			if (tileSize == 100){	
			}else{

				this.RemoveTooltip(); //툴팁삭제

				tileSize = tileSize - 100;

				this.setZoomlev();	

				var innerDiv = document.getElementById(m_inner_div);
				var imgs = innerDiv.getElementsByTagName("img");
				for (i = 0; i < imgs.length; i++) {
					var id   = imgs[i].getAttribute("id");
					var name = imgs[i].getAttribute("name");
					
						if (name != "MakerName" && name != "icon"){
							//innerDiv.removeChild(document.images[id]);
							//this.purge(imgs[i]);
							innerDiv.removeChild(imgs[i]);
							i--;  // compensate for live nodelist
						}			
				}	
				//거리&면적재기 일때 함수호출
				this.ReDrawDistance();
				this.ReDrawArea();				
			}
		
		}else if(GMapType == "CM" || GMapType == "OP"){

			if (tileSize == 200){
			}else{

				this.RemoveTooltip(); //툴팁삭제

				tileSize = tileSize - 200;

				this.setZoomlev();

				var innerDiv = document.getElementById(m_inner_div);
				var imgs = innerDiv.getElementsByTagName("img");
				for (i = 0; i < imgs.length; i++) {
					var id   = imgs[i].getAttribute("id");
					var name = imgs[i].getAttribute("name");
						if (name != "MakerName" && name != "icon"){
							//innerDiv.removeChild(document.images[id]);
							//this.purge(imgs[i]);
							innerDiv.removeChild(imgs[i]);
							i--;  // compensate for live nodelist
						}			
				}

				//거리&면적재기 일때 함수호출
				this.ReDrawDistance();
				this.ReDrawArea();
			}
		}

		this.checkTiles();
		this.checkPMaker();
		this.checkPLabel();
		this.checkdistance();
		Display_CorpInfo();
	}
	// END:Zoomout 함수
	
	//마우스 드래그 시작함수
	this.startMove = function(event){	
		
		if (!event) event = window.event; //익스플로러용 코드
		
		dragStartLeft = event.clientX;  //마우스 버튼이 눌린지점의 x좌표
		dragStartTop  = event.clientY;  //마우스 버튼이 눌린지점의 y좌표

		var innerDiv = document.getElementById(m_inner_div);
		innerDiv.style.cursor = "move";  //마우스 커서를 이동모양으로 바꾼다.

		//top  = stripPx(innerDiv.style.top);  내부div 시작점 변수화
		//left = stripPx(innerDiv.style.left);

		dragging = true;

		var tooltipdiv = document.getElementById("tooltip")
		if (GMapMode == "Move"){
			if (!tooltipdiv){
				this.processMove(event);
			}
		}else if(GMapMode == "line" || GMapMode == "area"){
			if(clickcount == 0){
				this.processMove(event);
			}
		}
		
		//RemovePMakerkey('1'); // 검색결과에 표시된 빨간색 네모박스 지우기.
		return false;
	}

	//마우스 드래그 이동함수	
	this.processMove = function(event) {
		//alert('test');
		if (!event) event = window.event; //익스플로러용 코드
		//alert(dragging)
		if (dragging == true){

			//msg_login(); //로그인하지 않았을때 뜨는 레이어 팝업.

			var move_x = (event.clientX - dragStartLeft);  
			//left 왼쪽/오른쪽 지금마우스지점(x좌표)에서 마우스클릭했던 지점 만큼 빼준다.(움직인거리)
			var move_y = (event.clientY - dragStartTop);  
			//top  위쪽/아래쪽 지금마우스지점(y좌표)에서 마우스클릭했던 지점 만큼 빼준다.(움직인거리)

			//////////////////////////////////////////////////////////////////

			var move_loc10x;
			var move_loc10y;
			var real_move_x;
			var real_move_y;

			move_loc10x = move_x;
			move_loc10y = move_y;
			
			if (tileSize == 2000)
			{
				real_move_x = Math.floor((move_loc10x * 1000)/tileSize*2);
				real_move_y = Math.floor((move_loc10y * 1000)/tileSize*2);
			}else{
				real_move_x = Math.floor((move_loc10x * 1000)/tileSize);
				real_move_y = Math.floor((move_loc10y * 1000)/tileSize);
			}

			/////////////////////////////////////////////////////////////////
			//화면출력용 변수 처리
			
				no10_middle = no10_middle + real_move_x;
				no10_After  = no10_After + real_move_y;


			var	T_no10_middle = no10_middle + real_move_x;  //임시저장 이동거리 x
			var T_no10_After  = no10_After + real_move_y;   //임시저장 이동거리 y


			//변경된 Loc10체크(Loc4변경&Loc10변경)
			if (no10_middle > 1000){
				no4_middle  = no4_middle - 1;
				no10_middle = no10_middle - 1000;
			}else if (no10_middle < 0){
				no4_middle = no4_middle + 1;
				no10_middle = 1000 + no10_middle;
			}

			if (no10_After > 1000){
				no4_After = no4_After + 1;
				no10_After = no10_After - 1000;
			}else if (no10_After < 0){
				no4_After = no4_After - 1;
				no10_After = 1000 + no10_After;
			}
			
			//변경된 Loc4체크(Area변경&Loc4변경) 
			if (no4_middle > 99){
				areanum1 = areanum1 + 1;
				no4_middle = no4_middle - 100;
			}else if (no4_middle < 0){
				areanum1   = areanum1 - 1;			
				no4_middle = 100 + no4_middle;
			}
			
			if (no4_After > 99){
				areanum2 = areanum2 + 1;
				no4_After = no4_After - 100;	
			}else if (no4_After < 0){
				areanum2 = areanum2 - 1;
				no4_After = 100 + no4_After;		
			}

			//화면출력용 변수 
			///////////////////////////////////////////////////////////////

			///////////////////////////////////////////////////////////////
			//좌표계산용 변수 처리 ★★★
			g_loc_areanum1	= areanum1;
			g_loc_areanum2	= areanum2;
			g_loc4_middle	= no4_middle;
			g_loc4_after	= no4_After;

			if (T_no10_middle >= 2000){
				g_loc10_middle = g_loc10_middle - 1000 * Math.floor((T_no10_middle-1000)/1000);
				g_loc4_middle  = g_loc4_middle - Math.floor((T_no10_middle-1000)/1000);
			}

			if (T_no10_After >= 2000){
				g_loc10_after = g_loc10_after - 1000*Math.floor((T_no10_After-1000)/1000);
				g_loc4_after  = g_loc4_after - Math.floor((T_no10_After-1000)/1000);
			}

			if (tileSize == 200){
				g_loc10_middle	= (1000 - no10_middle) + 410;
				g_loc10_after	= (no10_After + 100) + 65;
			}else if (tileSize == 400){
				g_loc10_middle	= (1000 - no10_middle) + 490;
				g_loc10_after	= (no10_After + 100) + 50;
			}else if (tileSize == 600){
				g_loc10_middle	= (1000 - no10_middle) + 570;
				g_loc10_after	= (no10_After + 100) + 35;
			}else if (tileSize == 800){
				g_loc10_middle	= (1000 - no10_middle) + 650;
				g_loc10_after	= (no10_After + 100) + 20;
			}else if (tileSize == 1000){
				g_loc10_middle	= (1000 - no10_middle) + 730;
				g_loc10_after	= (no10_After + 100) + 5;
			}else if (tileSize == 1200){
				g_loc10_middle	=  (1000 - no10_middle) + 770;
				g_loc10_after	= (no10_After + 100) - 10;
			}else if (tileSize == 1400){
				g_loc10_middle	=  (1000 - no10_middle) + 800;
				g_loc10_after	= (no10_After + 100) - 40;
			}else if (tileSize == 1600){
				g_loc10_middle	=  (1000 - no10_middle) + 830;
				g_loc10_after	= (no10_After + 100) - 55;
			}else if (tileSize == 1800){
				g_loc10_middle	=  (1000 - no10_middle) + 850;
				g_loc10_after	= (no10_After + 100) - 65;
			}else if (tileSize == 2000){
				g_loc10_middle	=  (1000 - no10_middle) + 880;
				g_loc10_after	= (no10_After + 100) - 70;
			}
		
			//g_loc10_middle = 1000 - no10_middle;
			//g_loc10_after	 = no10_After + 100;

			if (g_loc10_middle > 1000){		
				g_loc10_middle = g_loc10_middle - 1000;
				g_loc4_middle  = g_loc4_middle + 1;
			}else if (g_loc10_middle < 0){
				g_loc10_middle = 1000 + g_loc10_middle;
				g_loc4_middle  = g_loc4_middle - 1;
			}

			if (g_loc10_after > 1000){
				g_loc10_after = g_loc10_after-1000;
				g_loc4_after  = g_loc4_after + 1;
			}else if (g_loc10_after < 0){
				g_loc10_after = 1000 + g_loc10_after;
				g_loc4_after  = g_loc4_after - 1;
			}

			if (g_loc4_middle > 99){
				g_loc_areanum1 = g_loc_areanum1 + 1;
				g_loc4_middle = g_loc4_middle - 100;
			}else if (g_loc4_middle < 0){
				g_loc_areanum1 = g_loc_areanum1 - 1;			
				g_loc4_middle = 100 + g_loc4_middle;
			}

			if (g_loc4_after > 99){
				g_loc_areanum2 = g_loc_areanum2 + 1;
				g_loc4_after = g_loc4_after - 100;	
			}else if (g_loc4_after < 0){
				g_loc_areanum2 = g_loc_areanum2 - 1;
				g_loc4_after = 100 + g_loc4_after;	
			}				

			//좌표계산용 변수 처리 ★★★
			///////////////////////////////////////////////////////////////

			///////////////////////////////////////////////////////////////
			//마커계산용 변수 처리 ★★★
			m_loc_areanum1	= areanum1;
			m_loc_areanum2	= areanum2;
			m_loc4_middle	= no4_middle;
			m_loc4_after	= no4_After;

			if (T_no10_middle >= 2000){
				m_loc10_middle = m_loc10_middle - 1000 * Math.floor((T_no10_middle-1000)/1000);
				m_loc4_middle  = m_loc4_middle - Math.floor((T_no10_middle-1000)/1000);
			}

			if (T_no10_After >= 2000){
				m_loc10_after = m_loc10_after - 1000 * Math.floor((T_no10_After-1000)/1000);
				m_loc4_after  = m_loc4_after - Math.floor((T_no10_After-1000)/1000);
			}

			if (tileSize == 200){
				m_loc10_middle	= (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 400){
				m_loc10_middle	= (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 600){
				m_loc10_middle	= (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 800){
				m_loc10_middle	= (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 1000){
				m_loc10_middle	= (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 1200){
				m_loc10_middle	= (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 1400){
				m_loc10_middle	= (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-150;
			}else if (tileSize == 1600){
				m_loc10_middle	= (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-135;
			}else if (tileSize == 1800){
				m_loc10_middle	= (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-140;
			}else if (tileSize == 2000){
				m_loc10_middle	= (1000 - no10_middle) + 1000;
				m_loc10_after	= (no10_After + 100)-145;
			}

			//g_loc10_middle = 1000 - no10_middle;
			//g_loc10_after	 = no10_After + 100;

			if (m_loc10_middle > 1000){		
				m_loc10_middle = m_loc10_middle - 1000;
				m_loc4_middle  = m_loc4_middle + 1;
			}else if (m_loc10_middle < 0){
				m_loc10_middle = 1000 + m_loc10_middle;
				m_loc4_middle  = m_loc4_middle - 1;
			}

			if (m_loc10_after > 1000){
				m_loc10_after = m_loc10_after-1000;
				m_loc4_after  = m_loc4_after + 1;
			}else if (m_loc10_after < 0){
				m_loc10_after = 1000+m_loc10_after;
				m_loc4_after  = m_loc4_after - 1;
			}

			if (m_loc4_middle > 99){
				m_loc_areanum1 = m_loc_areanum1 + 1;
				m_loc4_middle = m_loc4_middle - 100;
			}else if (m_loc4_middle < 0){

				m_loc_areanum1 = m_loc_areanum1 - 1;			
				m_loc4_middle = 100 + m_loc4_middle;
			}

			if (m_loc4_after > 99){

				m_loc_areanum2 = m_loc_areanum2 + 1;
				m_loc4_after = m_loc4_after - 100;	

			}else if (m_loc4_after < 0){

				m_loc_areanum2 = m_loc_areanum2 - 1;
				m_loc4_after = 100 + m_loc4_after;		
			}
			
			//마커계산용 변수 처리 ★★★
			///////////////////////////////////////////////////////////////

			GMapidx    = 1;
			clickcount = 1;
			Move_flag  = "after";
 				 
			this.RemoveTooltip();  //툴팁삭제

			dragging = false;

			this.displayTiles();
			if (LandMode == "ON"){
				this.checkPLabel();
			}

			this.checkPMaker();
			this.checkdistance();

			///////////////////////////////////////////////////////////////

			dragStartLeft = event.clientX;  //마우스 버튼이 눌린지점의 x좌표
			dragStartTop  = event.clientY;  //마우스 버튼이 눌린지점의 y좌표

			dragging = true;

		}
		//////////////////////////////////////////////////////////////////
	}

	//마우스 드래그 완료함수 
	this.stopMove = function(event) {

		var innerDiv = document.getElementById(m_inner_div);
		innerDiv.style.cursor = "";
		dragging = false;

		this.checkTiles();
		if (event.type == "mouseup"){
			this.checkimg();
		}
	}

	this.stripPx = function(value) {
		
		if (value == ""){ 
			return 0;
		}else{
			return parseFloat(value.substring(0,value.length - 2)); 
			//parseFloat함수는 문자열을 부동소수점으로 변환시켜준다. 
		    //문자열값(100px)을 숫자(100)으로 반환
		}
	}

	//현재줌레벨 리턴함수
	this.getZoomLevel = function() {
		var z;

		if (tileSize == 100){ z =10;
		}else if (tileSize == 200){ z = 0;
		}else if (tileSize == 400){ z = 1;
		}else if (tileSize == 600){ z = 2;
		}else if (tileSize == 800){ z = 3;
		}else if (tileSize == 1000){ z = 4;
		}else if (tileSize == 1200){ z = 5;
		}else if (tileSize == 1400){ z = 6;
		}else if (tileSize == 1600){ z = 7;
		}else if (tileSize == 1800){ z = 8;
		}else if (tileSize == 2000){ z = 9;
		}
		
		return z;
	}

	//서비스가능지역 이미지체크 함수 
	this.checkimg = function() {

		visibleTiles = this.getVisibleTiles();

		var chknoimgcount = 0;
	
		for (i = 0; i < visibleTiles.length; i++) {  
									
			var tileArray = visibleTiles[i];  //2차원 배열값을 변수에 저장 
	
			var row_value  = Math.floor(tileArray[0]/100);         
			var col_value  = 20 - Math.floor(tileArray[1]/100);    
			var row_value2 = Math.floor(tileArray[0]%100);         
			var col_value2 = 99 - Math.floor(tileArray[1]%100);   

			//숫자 계산이기때문에 Loc4 10자리미만 문자처리 
			var row_string = "";
			if (row_value2 < 10){
				row_string = "0" + row_value2;
			}else{
				row_string = row_value2;
			}

			var col_string = "";
			if (col_value2 < 10){
				col_string = "0" + col_value2;
			}else{
				col_string = col_value2;
			}

			var row_start = tileArray[0] - (areanum1 * 100 + no4_middle + 1);               
			var col_start = tileArray[1] - ((20 - areanum2) * 100 + (99 - no4_After + 1)); 

		
			var tileName = strRow[row_value] + strCol[col_value] + row_string + col_string +"1";  //타일명 생성

			var First_tile = document.getElementById(tileName);
			var First_imgsrc = First_tile.getAttribute("src");	
			var check_value  = First_imgsrc.indexOf('noImage');

			if (check_value != -1){
				chknoimgcount =  chknoimgcount + 1;
			}
		}

		if (chknoimgcount > visibleTiles.length-1){
			check_servicearea();
		}
			
		return;			
	}
	
	//START:checkTiles
	this.checkTiles = function() {

		var innerDiv = document.getElementById(m_inner_div);  //각 타일을 내부 div에 추가한다.	
	       
		//내부 div에서 어떤 타일들을 보여줄지 결정한다.
		visibleTiles = this.getVisibleTiles();

		delete visibleTilesMap;
		visibleTilesMap = [];  //타일배열 초기화(현재보여질 타일만 재배치) 

		for (i = 0; i < visibleTiles.length; i++) {  //<label id="iterate.visible.tiles"/>
									
			var tileArray = visibleTiles[i];  //2차원 배열값을 변수에 저장 
	
			var row_value  = Math.floor(tileArray[0]/100);         //area앞자리 배열값  219 / 100 = 2
			var col_value  = 20 - Math.floor(tileArray[1]/100);    //area뒷자리 배열값  26 - 2039 / 100 = 6 
			var row_value2 = Math.floor(tileArray[0]%100);         //loc4값의 앞두자리 계산 219 /100의 나머지 19
			var col_value2 = 99 - Math.floor(tileArray[1]%100);    //loc4값의 뒷두자리 계산  99 - (2039 /100)의 나머지 60

			//숫자 계산이기때문에 Loc4 10자리미만 문자처리 
			var row_string = "";
			if (row_value2 < 10){
				row_string = "0" + row_value2;
			}else{
				row_string = row_value2;
			}

			var col_string = "";
			if (col_value2 < 10){
				col_string = "0" + col_value2;
			}else{
				col_string = col_value2;
			}

			var row_start = tileArray[0] - (areanum1 * 100 + no4_middle + 1);              
			// 눈에 보일때 219 - ( 2 * 100 + 19)  = 0 
			var col_start = tileArray[1] - ((20 - areanum2) * 100 + (99 - no4_After + 1)); 
			// 눈에 보일때 2039 - ((26 - 6) * 100 + (99 - 60) = 0
		
			var tileName = strRow[row_value] + strCol[col_value] + row_string + col_string +"1";  //타일명 생성
			var imgname  = strRow[row_value] + strCol[col_value] + row_string + col_string;       //이미지경로 설정

			if ( i == 0){  //프린트 모듈 Area값 계산
	
				location_low = strRow[row_value];
				location_col = strCol[col_value];
			}

			visibleTilesMap[tileName] = true;  //타일맵에 현재 보여지는 타일 추가  

			var img = document.getElementById(tileName);       //현재타일명의 엘리먼트 체크 

			

			//이때 타일이 이미 존재하는지 확인한다.
			if (tileSize == 50){
				if (!img){   
				
					img = document.createElement("img");  //<label id="create.img"/>		
					img.src = 'http://map.geopis.co.kr/map/geopis/noimg/noImage_200.jpg';
					//img.src = 'http://geoimg.paran.com/ajax_noimg/noImage_200.jpg';
					img.style.position = "absolute";
					img.style.left = (row_start * tileSize) + Math.floor((no10_middle/1000) * tileSize) + Math.floor(viewportWidth/2) + "px";
					img.style.top  = (col_start * tileSize) + Math.floor((no10_After/1000) * tileSize) + Math.floor(viewportHeight/2) + "px";
					img.setAttribute("width", tileSize); 
					img.setAttribute("height", tileSize);
					img.setAttribute("id", tileName); 
					img.setAttribute("name", tileName);
					innerDiv.appendChild(img);
					
					if(GMapType == "DM"){						
						doesImageExist('http://map.geopis.co.kr/map/geopis/dm/50/' + imgname +'-50.jpg', tileName,m_inner_div);
						//doesImageExist('http://geoimg.paran.com/mapblock_dm/' + imgname +'-50.jpg', tileName,m_inner_div);
					}else if(GMapType == "GM"){
						doesImageExist('http://map.geopis.co.kr/map/geopis/gm/50/' + imgname +'-50gm.jpg', tileName,m_inner_div);
					}

				}else{
					img.style.left = (row_start * tileSize) + Math.floor((no10_middle/1000) * tileSize) + Math.floor(viewportWidth/2) + "px";
					img.style.top  = (col_start * tileSize) + Math.floor((no10_After/1000) * tileSize) + Math.floor(viewportHeight/2) + "px";
				}

			}else if (tileSize == 100){
				if (!img){   
				
					img = document.createElement("img");  //<label id="create.img"/>
					if (GMapType == "DM"){						
						img.src = 'http://map.geopis.co.kr/map/geopis/gm/100/' + imgname +'-100gm.jpg';
					}else{
						img.src = 'http://map.geopis.co.kr/map/geopis/noimg/noImage_200.jpg';
						//img.src = 'http://geoimg.paran.com/ajax_noimg/noImage_200.jpg';
					}
					img.style.position = "absolute";
					img.style.left = (row_start * tileSize) + Math.floor((no10_middle/1000) * tileSize) + Math.floor(viewportWidth/2) + "px";
					img.style.top  = (col_start * tileSize) + Math.floor((no10_After/1000) * tileSize) + Math.floor(viewportHeight/2) + "px";
					img.setAttribute("width", tileSize); 
					img.setAttribute("height", tileSize);
					img.setAttribute("id", tileName); 
					img.setAttribute("name", tileName);
					innerDiv.appendChild(img);	
					
					if(GMapType == "DM"){
						doesImageExist('http://map.geopis.co.kr/map/geopis/dm/100/' + imgname +'-100.jpg', tileName,m_inner_div);
						//doesImageExist('http://geoimg.paran.com/mapblock_dm/' + imgname +'-100.jpg', tileName,m_inner_div);
					}else if(GMapType == "GM"){
						doesImageExist('http://map.geopis.co.kr/map/geopis/gm/100/' + imgname +'-100gm.jpg', tileName,m_inner_div);
					}

				}else{
					img.style.left = (row_start * tileSize) + Math.floor((no10_middle/1000) * tileSize) + Math.floor(viewportWidth/2) + "px";
					img.style.top  = (col_start * tileSize) + Math.floor((no10_After/1000) * tileSize) + Math.floor(viewportHeight/2) + "px";
				}

			}else if (tileSize == 200){
				if (!img){				
					img = document.createElement("img");  //<label id="create.img"/>		
					if (GMapType == "DM"){
						img.src = 'http://map.geopis.co.kr/map/geopis/gm/200/' + imgname +'-200gm.jpg';
					}else{
						img.src = 'http://map.geopis.co.kr/map/geopis/noimg/noImage_200.jpg';
						//img.src = 'http://geoimg.paran.com/ajax_noimg/noImage_200.jpg';
					}
					img.style.position = "absolute";
					img.style.left = (row_start * tileSize) + Math.floor((no10_middle/1000) * tileSize) + Math.floor(viewportWidth/2) + "px";
					img.style.top  = (col_start * tileSize) + Math.floor((no10_After/1000) * tileSize) + Math.floor(viewportHeight/2) + "px";
					img.setAttribute("width", tileSize); 
					img.setAttribute("height", tileSize);
					img.setAttribute("id", tileName); 
					img.setAttribute("name", tileName);
					innerDiv.appendChild(img);	

					if (GMapType == "CM"){
						doesImageExist('http://map.geopis.co.kr/map/geopis/cm/200/' + imgname +'-1.jpg', tileName,m_inner_div);
						//doesImageExist('http://geoimg.paran.com/mapblock/' + imgname +'-1.jpg', tileName,m_inner_div);
						//doesImageExist('http://61.100.5.62/mapblock/' + imgname +'-1.jpg', tileName,m_inner_div);
					}else if(GMapType == "OP"){
						doesImageExist('http://map.geopis.co.kr/map/geopis/op/200/' + imgname +'-200op.jpg', tileName,m_inner_div);
						//doesImageExist('http://geoimg.paran.com/mapblock_op/' + imgname +'-200op.jpg', tileName,m_inner_div);
					}else if(GMapType == "DM"){
						doesImageExist('http://map.geopis.co.kr/map/geopis/dm/200/' + imgname +'-200.jpg', tileName,m_inner_div);
						//doesImageExist('http://geoimg.paran.com/mapblock_dm/' + imgname +'-200.jpg', tileName,m_inner_div);
					}else if(GMapType == "GM"){
						doesImageExist('http://map.geopis.co.kr/map/geopis/gm/200/' + imgname +'-200gm.jpg', tileName,m_inner_div);
					}

				}else{
					img.style.left = (row_start * tileSize) + Math.floor((no10_middle/1000) * tileSize) + Math.floor(viewportWidth/2) + "px";
					img.style.top  = (col_start * tileSize) + Math.floor((no10_After/1000) * tileSize) + Math.floor(viewportHeight/2) + "px";
				}

			}else if (tileSize == 400){
				if (!img){  				
					img = document.createElement("img");  //<label id="create.img"/>
					img.src = 'http://map.geopis.co.kr/map/geopis/noimg/noImage_400.jpg';
					//img.src = 'http://geoimg.paran.com/ajax_noimg/noImage_400.jpg';
					img.style.position = "absolute";
					img.style.left = (row_start * tileSize) + Math.floor((no10_middle/1000) * tileSize) + Math.floor(viewportWidth/2) + "px";
					img.style.top  = (col_start * tileSize) + Math.floor((no10_After/1000) * tileSize) + Math.floor(viewportHeight/2) + "px";
					img.setAttribute("width", tileSize); 
					img.setAttribute("height", tileSize);
					img.setAttribute("id", tileName); 
					img.setAttribute("name", tileName);
					innerDiv.appendChild(img);	
					
					if (GMapType == "CM"){
						doesImageExist('http://map.geopis.co.kr/map/geopis/cm/400/' + imgname +'-400cm.jpg', tileName,m_inner_div);
						//doesImageExist('http://geoimg.paran.com/mapblock/' + imgname +'-400cm.jpg', tileName,m_inner_div);
					}else if(GMapType == "OP"){
						doesImageExist('http://map.geopis.co.kr/map/geopis/op/400/' + imgname +'-400op.jpg', tileName,m_inner_div);
						//doesImageExist('http://geoimg.paran.com/mapblock_op/' + imgname +'-400op.jpg', tileName,m_inner_div);
					}

				}else{
					img.style.left = (row_start * tileSize) + Math.floor((no10_middle/1000) * tileSize) + Math.floor(viewportWidth/2) + "px";
					img.style.top  = (col_start * tileSize) + Math.floor((no10_After/1000) * tileSize) + Math.floor(viewportHeight/2) + "px";
				}

			}else if (tileSize == 600){
				if (!img){                              
					img = document.createElement("img");  //<label id="create.img"/>
					img.src = 'http://map.geopis.co.kr/map/geopis/noimg/noImage_600.jpg';
					//img.src = 'http://geoimg.paran.com/ajax_noimg/noImage_600.jpg';
					img.style.position = "absolute";
					img.style.left = (row_start * tileSize) + Math.floor((no10_middle/1000) * tileSize) + Math.floor(viewportWidth/2) + "px";
					img.style.top  = (col_start * tileSize) + Math.floor((no10_After/1000) * tileSize) + Math.floor(viewportHeight/2) + "px";
					img.setAttribute("width", tileSize); 
					img.setAttribute("height", tileSize);
					img.setAttribute("id", tileName); 
					img.setAttribute("name", tileName);
					innerDiv.appendChild(img);
					
					if (GMapType == "CM"){
						doesImageExist('http://map.geopis.co.kr/map/geopis/cm/600/' + imgname +'-600cm.jpg', tileName,m_inner_div);
						//doesImageExist('http://geoimg.paran.com/mapblock/' + imgname +'-600cm.jpg', tileName,m_inner_div);
					}else if(GMapType == "OP"){
						doesImageExist('http://map.geopis.co.kr/map/geopis/op/600/' + imgname +'-600op.jpg', tileName,m_inner_div);
						//doesImageExist('http://geoimg.paran.com/mapblock_op/' + imgname +'-600op.jpg', tileName,m_inner_div);
					}

				}else{
					img.style.left = (row_start * tileSize) + Math.floor((no10_middle/1000) * tileSize) + Math.floor(viewportWidth/2) + "px";
					img.style.top  = (col_start * tileSize) + Math.floor((no10_After/1000) * tileSize) + Math.floor(viewportHeight/2) + "px";
				}

			}else if (tileSize == 800){
				if (img == null){                                
					img = document.createElement("img");  //<label id="create.img"/>
					img.src = 'http://map.geopis.co.kr/map/geopis/noimg/noImage_800.jpg';
					//img.src = 'http://geoimg.paran.com/ajax_noimg/noImage_800.jpg';
					img.style.position = "absolute";
					img.style.left = (row_start * tileSize) + Math.floor((no10_middle/1000) * tileSize) + Math.floor(viewportWidth/2) + "px";
					img.style.top  = (col_start * tileSize) + Math.floor((no10_After/1000) * tileSize) + Math.floor(viewportHeight/2) + "px";
					//img.style.pixelLeft = 100;                                                 
					//img.style.pixelTop  = 100;
					//img.setAttribute("border", 1);
					img.setAttribute("width", tileSize); 
					img.setAttribute("height", tileSize);
					img.setAttribute("id", tileName);   
					img.setAttribute("name", tileName);					
					innerDiv.appendChild(img);	
					
					if (GMapType == "CM"){				
						doesImageExist('http://map.geopis.co.kr/map/geopis/cm/800/' + imgname +'-800cm.jpg', tileName,m_inner_div);
						//doesImageExist('http://geoimg.paran.com/mapblock/' + imgname +'-800cm.jpg', tileName,m_inner_div);
					}else if(GMapType == "OP"){
						doesImageExist('http://map.geopis.co.kr/map/geopis/op/800/' + imgname +'-800op.jpg', tileName,m_inner_div);
						//doesImageExist('http://geoimg.paran.com/mapblock_op/' + imgname +'-800op.jpg', tileName,m_inner_div);
					}

				}else{
					img.style.left = (row_start * tileSize) + Math.floor((no10_middle/1000) * tileSize) + Math.floor(viewportWidth/2) + "px";
					img.style.top  = (col_start * tileSize) + Math.floor((no10_After/1000) * tileSize) + Math.floor(viewportHeight/2) + "px";
				}

			}else if (tileSize == 1000){
				if (!img){                                
					img = document.createElement("img");  //<label id="create.img"/>
					img.src = 'http://map.geopis.co.kr/map/geopis/noimg/noImage_1000.jpg';
					//img.src = 'http://geoimg.paran.com/ajax_noimg/noImage_1000.jpg';
					img.style.position = "absolute";
					img.style.left = (row_start * tileSize) + Math.floor((no10_middle/1000) * tileSize) + Math.floor(viewportWidth/2) + "px";
					img.style.top  = (col_start * tileSize) + Math.floor((no10_After/1000) * tileSize) + Math.floor(viewportHeight/2) + "px";
					img.setAttribute("width", tileSize); 
					img.setAttribute("height", tileSize);
					img.setAttribute("id", tileName); 
					img.setAttribute("name", tileName);
					innerDiv.appendChild(img);
					//alert(tileSize);
					
					if (GMapType == "CM"){
						doesImageExist('http://map.geopis.co.kr/map/geopis/cm/1000/' + imgname +'.jpg', tileName,m_inner_div);
						//doesImageExist('http://geoimg.paran.com/mapblock/' + imgname +'.jpg', tileName,m_inner_div);
					}else if(GMapType == "OP"){
						doesImageExist('http://map.geopis.co.kr/map/geopis/op/1000/' + imgname +'-1000op.jpg', tileName,m_inner_div);
						//doesImageExist('http://geoimg.paran.com/mapblock_op/' + imgname +'-1000op.jpg', tileName,m_inner_div);
					}
				}else{
					img.style.left = (row_start * tileSize) + Math.floor((no10_middle/1000) * tileSize) + Math.floor(viewportWidth/2) + "px";
					img.style.top  = (col_start * tileSize) + Math.floor((no10_After/1000) * tileSize) + Math.floor(viewportHeight/2) + "px";
				}
			}else if (tileSize == 1200){
				if (!img){                                
					img = document.createElement("img");  //<label id="create.img"/>
					img.src = 'http://map.geopis.co.kr/map/geopis/noimg/noImage_1000.jpg';
					//img.src = 'http://geoimg.paran.com/ajax_noimg/noImage_1000.jpg';
					img.style.position = "absolute";
					img.style.left = (row_start * tileSize) + Math.floor((no10_middle/1000) * tileSize) + Math.floor(viewportWidth/2) + "px";
					img.style.top  = (col_start * tileSize) + Math.floor((no10_After/1000) * tileSize) + Math.floor(viewportHeight/2) + "px";
					img.setAttribute("width", tileSize); 
					img.setAttribute("height", tileSize);
					img.setAttribute("id", tileName); 
					img.setAttribute("name", tileName);
					innerDiv.appendChild(img);
					//alert(tileSize);
					
					if (GMapType == "CM"){
						doesImageExist('http://map.geopis.co.kr/map/geopis/cm/1000/' + imgname +'.jpg', tileName,m_inner_div);
						//doesImageExist('http://geoimg.paran.com/mapblock/' + imgname +'.jpg', tileName,m_inner_div);
					}else if(GMapType == "OP"){
						doesImageExist('http://map.geopis.co.kr/map/geopis/op/1000/' + imgname +'-1000op.jpg', tileName,m_inner_div);
						//doesImageExist('http://geoimg.paran.com/mapblock_op/' + imgname +'-1000op.jpg', tileName,m_inner_div);
					}
				}else{
					img.style.left = (row_start * tileSize) + Math.floor((no10_middle/1000) * tileSize) + Math.floor(viewportWidth/2) + "px";
					img.style.top  = (col_start * tileSize) + Math.floor((no10_After/1000) * tileSize) + Math.floor(viewportHeight/2) + "px";
				}

			}else if (tileSize == 1400){
				if (!img){                                
					img = document.createElement("img");  //<label id="create.img"/>
					img.src = 'http://map.geopis.co.kr/map/geopis/noimg/noImage_1000.jpg';
					//img.src = 'http://geoimg.paran.com/ajax_noimg/noImage_1000.jpg';					
					img.style.position = "absolute";
					img.style.left = (row_start * tileSize) + Math.floor((no10_middle/1000) * tileSize) + Math.floor(viewportWidth/2) + "px";
					img.style.top  = (col_start * tileSize) + Math.floor((no10_After/1000) * tileSize) + Math.floor(viewportHeight/2) + "px";
					img.setAttribute("width", tileSize); 
					img.setAttribute("height", tileSize);
					img.setAttribute("id", tileName); 
					img.setAttribute("name", tileName);
					innerDiv.appendChild(img);		
					
					if (GMapType == "CM"){
						doesImageExist('http://map.geopis.co.kr/map/geopis/cm/1000/' + imgname +'.jpg', tileName,m_inner_div);
						//doesImageExist('http://geoimg.paran.com/mapblock/' + imgname +'.jpg', tileName,m_inner_div);
					}else if(GMapType == "OP"){
						doesImageExist('http://map.geopis.co.kr/map/geopis/op/1000/' + imgname +'-1000op.jpg', tileName,m_inner_div);
						//doesImageExist('http://geoimg.paran.com/mapblock_op/' + imgname +'-1000op.jpg', tileName,m_inner_div);
					}

				}else{
					img.style.left = (row_start * tileSize) + Math.floor((no10_middle/1000) * tileSize) + Math.floor(viewportWidth/2) + "px";
					img.style.top  = (col_start * tileSize) + Math.floor((no10_After/1000) * tileSize) + Math.floor(viewportHeight/2) + "px";
				}

		  }else if (tileSize == 1600){
				if (!img){                                
					img = document.createElement("img");  //<label id="create.img"/>
					img.src = 'http://map.geopis.co.kr/map/geopis/noimg/noImage_1000.jpg';
					//img.src = 'http://geoimg.paran.com/ajax_noimg/noImage_1000.jpg';
					img.style.position = "absolute";
					img.style.left = (row_start * tileSize) + Math.floor((no10_middle/1000) * tileSize) + Math.floor(viewportWidth/2) + "px";
					img.style.top  = (col_start * tileSize) + Math.floor((no10_After/1000) * tileSize) + Math.floor(viewportHeight/2) + "px";
					img.setAttribute("width", tileSize); 
					img.setAttribute("height", tileSize);
					img.setAttribute("id", tileName); 
					img.setAttribute("name", tileName);
					innerDiv.appendChild(img);		

					if (GMapType == "CM"){
						doesImageExist('http://map.geopis.co.kr/map/geopis/cm/1000/' + imgname +'.jpg', tileName,m_inner_div);
						//doesImageExist('http://geoimg.paran.com/mapblock/' + imgname +'.jpg', tileName,m_inner_div);
					}else if(GMapType == "OP"){
						doesImageExist('http://map.geopis.co.kr/map/geopis/op/1000/' + imgname +'-1000op.jpg', tileName,m_inner_div);
						//doesImageExist('http://geoimg.paran.com/mapblock_op/' + imgname +'-1000op.jpg', tileName,m_inner_div);
					}

				}else{
					img.style.left = (row_start * tileSize) + Math.floor((no10_middle/1000) * tileSize) + Math.floor(viewportWidth/2) + "px";
					img.style.top  = (col_start * tileSize) + Math.floor((no10_After/1000) * tileSize) + Math.floor(viewportHeight/2) + "px";
				}

		 }else if (tileSize == 1800){
				if (!img){                                
					img = document.createElement("img");  //<label id="create.img"/>
					img.src = 'http://map.geopis.co.kr/map/geopis/noimg/noImage_1000.jpg';
					//img.src = 'http://geoimg.paran.com/ajax_noimg/noImage_1000.jpg';
					img.style.position = "absolute";
					img.style.left = (row_start * tileSize) + Math.floor((no10_middle/1000) * tileSize) + Math.floor(viewportWidth/2) + "px";
					img.style.top  = (col_start * tileSize) + Math.floor((no10_After/1000) * tileSize) + Math.floor(viewportHeight/2) + "px";
					img.setAttribute("width", tileSize); 
					img.setAttribute("height", tileSize);
					img.setAttribute("id", tileName); 
					img.setAttribute("name", tileName);
					innerDiv.appendChild(img);		

					if (GMapType == "CM"){
						doesImageExist('http://map.geopis.co.kr/map/geopis/cm/1000/' + imgname +'.jpg', tileName,m_inner_div);
						//doesImageExist('http://geoimg.paran.com/mapblock/' + imgname +'.jpg', tileName,m_inner_div);
					}else if(GMapType == "OP"){
						doesImageExist('http://map.geopis.co.kr/map/geopis/op/1000/' + imgname +'-1000op.jpg', tileName,m_inner_div);
						//doesImageExist('http://geoimg.paran.com/mapblock_op/' + imgname +'-1000op.jpg', tileName,m_inner_div);
					}
				}else{
					img.style.left = (row_start * tileSize) + Math.floor((no10_middle/1000) * tileSize) + Math.floor(viewportWidth/2) + "px";
					img.style.top  = (col_start * tileSize) + Math.floor((no10_After/1000) * tileSize) + Math.floor(viewportHeight/2) + "px";
				}

		 }else if (tileSize == 2000){
				if (!img){                                
					img = document.createElement("img");  //<label id="create.img"/>
					img.src = 'http://map.geopis.co.kr/map/geopis/noimg/noImage_1000.jpg';
					//img.src = 'http://geoimg.paran.com/ajax_noimg/noImage_1000.jpg';
					img.style.position = "absolute";
					img.style.left = (row_start * tileSize) + Math.floor((no10_middle/1000) * tileSize) + Math.floor(viewportWidth/2) + "px";
					img.style.top  = (col_start * tileSize) + Math.floor((no10_After/1000) * tileSize) + Math.floor(viewportHeight/2) + "px";
					img.setAttribute("width", tileSize); 
					img.setAttribute("height", tileSize);
					img.setAttribute("id", tileName); 
					img.setAttribute("name", tileName);
					innerDiv.appendChild(img);		

					if (GMapType == "CM"){
						doesImageExist('http://map.geopis.co.kr/map/geopis/cm/1900/' + imgname +'-1900cm.jpg', tileName,m_inner_div);
						//doesImageExist('http://geoimg.paran.com/mapblock/' + imgname +'.jpg', tileName,m_inner_div);
						//doesImageExist('http://geoimg.paran.com/mapblock/' + imgname +'-1900cm.jpg', tileName,m_inner_div);
					}else if(GMapType == "OP"){
						doesImageExist('http://map.geopis.co.kr/map/geopis/op/1900/' + imgname +'-1900op.jpg', tileName,m_inner_div);
						//doesImageExist('http://geoimg.paran.com/mapblock_op/' + imgname +'-1000op.jpg', tileName,m_inner_div);
						//doesImageExist('http://geoimg.paran.com/mapblock_op/' + imgname +'-1900op.jpg', tileName,m_inner_div);
					}
				}else{
					img.style.left = (row_start * tileSize) + Math.floor((no10_middle/1000) * tileSize) + Math.floor(viewportWidth/2) + "px";
					img.style.top  = (col_start * tileSize) + Math.floor((no10_After/1000) * tileSize) + Math.floor(viewportHeight/2) + "px";
				}
		  }
		
	   }

		// START:ignoreMaker
		var imgs = innerDiv.getElementsByTagName("img");
		for (i = 0; i < imgs.length; i++) {
			var id   = imgs[i].getAttribute("id");			
			var name = imgs[i].getAttribute("name");
			if (!visibleTilesMap[name]) {					
				if (name != "MakerName" && name != "icon") {
					//innerDiv.removeChild(document.images[id]);
					var delimg = document.getElementById(id);
					//this.purge(delimg);
					delimg.parentNode.removeChild(delimg);
					delimg = null;
					//innerDiv.removeChild(imgs[i]);	
					i--;  // compensate for live nodelist
				}
			}
		}

		//System.gc();
		//CollectGarbage(); // Garbage Collector를 강제로 동작 시킨다.

		//이미지로드여부배열 초기화
		//delete oImgList;
		//oImgList = [];
		return;
	}	
	// END:checktiles
	
	this.purge = function(d){

		var a = d.attributes, i, l, n;
		if (a) {
			l = a.length;
			for (i = 0; i < l; i += 1) {
				n = a[i].name;

				if (typeof d[n] === 'function') {
					d[n] = null;
				}
			}
		}
		a = d.childNodes;
		if (a) {
			l = a.length;
			for (i = 0; i < l; i += 1) {
				this.purge(d.childNodes[i]);
			}
		}
	}
	
	// START:displayTiles
	this.displayTiles = function() {

		for (i = 0; i < visibleTiles.length; i++) {  //<label id="iterate.visible.tiles"/>

			var tileArray  = visibleTiles[i];  //2차원 배열값을 변수에 저장 
			var row_value  = Math.floor(tileArray[0]/100);         //area앞자리 배열값  219 / 100 = 2
			var col_value  = 20 - Math.floor(tileArray[1]/100);    //area뒷자리 배열값  26 - 2039 / 100 = 6 
			var row_value2 = Math.floor(tileArray[0]%100);         //loc4값의 앞두자리 계산 219 /100의 나머지 19
			var col_value2 = 99 - Math.floor(tileArray[1]%100);    //loc4값의 뒷두자리 계산  99 - (2039 /100)의 나머지 60

			//숫자 계산이기때문에 Loc4 10자리미만 문자처리 
			var row_string = "";
			if (row_value2 < 10){
				row_string = "0" + row_value2;
			}else{
				row_string = row_value2;
			}

			var col_string = "";
			if (col_value2 < 10){
				col_string = "0" + col_value2;
			}else{
				col_string = col_value2;
			}

			var row_start = tileArray[0] - (areanum1 * 100 + no4_middle + 1);              
			// 눈에 보일때 219 - ( 2 * 100 + 19)  = 0 
			var col_start = tileArray[1] - ((20 - areanum2) * 100 + (99 - no4_After + 1)); 
			// 눈에 보일때 2039 - ((26 - 6) * 100 + (99 - 60) = 0
		
			var tileName = strRow[row_value] + strCol[col_value] + row_string + col_string + "1";  //타일명 생성

			var img = document.getElementById(tileName);       //현재타일명의 엘리먼트 체크 

			//이때 타일이 이미 존재하는지 확인한다.
			img.style.left = (row_start * tileSize) + Math.floor((no10_middle/1000) * tileSize) + Math.floor(viewportWidth/2) + "px";
			img.style.top  = (col_start * tileSize) + Math.floor((no10_After/1000) * tileSize) + Math.floor(viewportHeight/2) + "px";   
	  }

	}
	// END:displayTiles

		this.displayTiles1 = function(tileNames) {

		i=11;

			var tileArray  = visibleTiles[i];  //2차원 배열값을 변수에 저장 
			var row_value  = Math.floor(tileArray[0]/100);         //area앞자리 배열값  219 / 100 = 2
			var col_value  = 20 - Math.floor(tileArray[1]/100);    //area뒷자리 배열값  26 - 2039 / 100 = 6 
			var row_value2 = Math.floor(tileArray[0]%100);         //loc4값의 앞두자리 계산 219 /100의 나머지 19
			var col_value2 = 99 - Math.floor(tileArray[1]%100);    //loc4값의 뒷두자리 계산  99 - (2039 /100)의 나머지 60

			//숫자 계산이기때문에 Loc4 10자리미만 문자처리 
			var row_string = "";
			if (row_value2 < 10){
				row_string = "0" + row_value2;
			}else{
				row_string = row_value2;
			}

			var col_string = "";
			if (col_value2 < 10){
				col_string = "0" + col_value2;
			}else{
				col_string = col_value2;
			}

			var row_start = tileArray[0] - (areanum1 * 100 + no4_middle + 1);              
			// 눈에 보일때 219 - ( 2 * 100 + 19)  = 0 
			var col_start = tileArray[1] - ((20 - areanum2) * 100 + (99 - no4_After + 1)); 
			// 눈에 보일때 2039 - ((26 - 6) * 100 + (99 - 60) = 0
		
			var tileNames= strRow[row_value] + strCol[col_value] + row_string + col_string;  //타일명 생성
			
				//alert(tileName);
			
			var img = document.getElementById(tileNames);       //현재타일명의 엘리먼트 체크 

			//이때 타일이 이미 존재하는지 확인한다.
//			img.style.left = (row_start * tileSize) + Math.floor((no10_middle/1000) * tileSize) + Math.floor(viewportWidth/2) + "px";
//			img.style.top  = (col_start * tileSize) + Math.floor((no10_After/1000) * tileSize) + Math.floor(viewportHeight/2) + "px";   
	//Get_CheckFile(tileName);
	  
		Get_CheckFile(tileNames);
}
function Get_CheckFile(tileNames) {		
		createXMLHttpRequest(); 
		httpRequest.onreadystatechange = Get_CheckFile_Callback;
		httpRequest.open('GET', '/Map/include/etc/Get_CheckFile.asp?tilename=' + tileNames, true);
		httpRequest.send();
	}


	function Get_CheckFile_Callback() {
		if(httpRequest.readyState == 4){	
		
			if(httpRequest.status == 200) {
		
				var check_result = httpRequest.responseText;
				

				//이미지파일 존재하지 않은 경우				
				if (check_result == 1 ) {					

	
					goSatellites(wgs_y,wgs_x,wgs_y1,wgs_x1,16);
				

				}				
			}
		}
	}
//----




	//보여질 타일 계산
	this.getVisibleTiles = function() {

		var innerDiv = document.getElementById(m_inner_div);  //외부 div에 대한 내부 div의 상대적인 위치

		var mapX = this.stripPx(innerDiv.style.left);   
		var mapY = this.stripPx(innerDiv.style.top);
		if (tileSize > 200){
			var tilesX = Math.ceil(viewportWidth/tileSize) + 2;   //가시영역에 존재하는 행과 열의 개수를 계산하는 부분
			var tilesY = Math.ceil(viewportHeight/tileSize) + 2;  // Math.ceil(n) n의 올림값반환(정수형으로)
		}else{
			var tilesX = Math.ceil(viewportWidth/tileSize) + 1.5;   //가시영역에 존재하는 행과 열의 개수를 계산하는 부분
			var tilesY = Math.ceil(viewportHeight/tileSize) + 1.5;  // Math.ceil(n) n의 올림값반환(정수형으로)
		}
		
		//타일의 시작 열과 행을 알아낸다.-1해준것은 하나 더 미리 로드하여 부드러운효과					
		var startX = Math.abs(Math.floor(mapX/tileSize)) - Math.floor(tilesX/2);
		//Math.abs(n) n의 절대값 반환 // Math.floor(n) n의 내림값반환(정수형으로)
		var startY = Math.abs(Math.floor(mapY/tileSize)) - Math.floor(tilesY/2); 

		var visibleTileArray = new Array(); //로드되어야할 모든 타일을 담는 배열 var visibleTileArray = []; 
		var counter = 0;                    //배열 카운터

		var real_startx = areanum1 * 100 + no4_middle ;               //실제 안보이는 시작점을 Km 단위로 나타냄 (ex: 2 * 100 + 21) 221
		var real_starty = (20 - areanum2) * 100 + (99 - no4_After);   //(ex: (26 - 6) * 100 + (99 - 59) 2040

		for (x = startX; x < (tilesX + startX); x++) {
			for (y = startY; y < (tilesY + startY); y++) {
				visibleTileArray[counter++] = [real_startx + x , real_starty + y]; //실제 위치 추가 (2차원 배열)
			}
		}

		return visibleTileArray; //2차원 배열 반환			
	}

	//내부 div 사이즈 설정
	this.setInnerDivSize = function(width, height) {
		var innerDiv = document.getElementById(m_inner_div);
		innerDiv.style.width = width;
		innerDiv.style.height = height;				
	}
	
	//외부 div 사이즈 설정
	this.setouterDivSize = function(width, height) {	
		/*var outerDiv = document.getElementById(m_outer_div)
		outerDiv.style.width = width;
		outerDiv.style.height = height;*/
	}

	//자동영역 윈도우창의 크기에 따라 Resize 
	this.Resize = function() {
	  var outerDiv = document.getElementById(m_outer_div);

		viewportWidth  = document.getElementById(m_outer_div).offsetWidth;
	  viewportHeight = document.getElementById(m_outer_div).offsetHeight;

		this.setouterDivSize(viewportWidth,viewportHeight);

		this.checkTiles();
		this.checkPMaker();
		this.checkPLabel();
		this.checkdistance();

	}

	//★★★
	//가운데 좌표 구하기(휠용)
	this.getCenterLocation4 = function() {
		
		var c_loc10_middle = g_loc10_middle + 290;
		var c_loc10_after  = g_loc10_after - 150;
		
		var c_loc4_middle  = g_loc4_middle;
		var c_loc4_after   = g_loc4_after;
		var c_loc_areanum1 = g_loc_areanum1;
		var	c_loc_areanum2 = g_loc_areanum2;

		if (c_loc10_middle > 1000)
		{		
			c_loc10_middle = c_loc10_middle - 1000;
			c_loc4_middle  = c_loc4_middle + 1;

		}else if (c_loc10_middle < 0){
			c_loc10_middle = 1000 + c_loc10_middle;
			c_loc4_middle  = c_loc4_middle - 1;
		}

		if (c_loc10_after > 1000)
		{
			c_loc10_after = c_loc10_after-1000;
			c_loc4_after  = c_loc4_after + 1;

		}
		else if (c_loc10_after < 0)
		{
			c_loc10_after = 1000 + c_loc10_after;
			c_loc4_after  = c_loc4_after - 1;
		}

		if (c_loc4_middle > 99){

			c_loc_areanum1 = c_loc_areanum1 + 1;
			c_loc10_middle = c_loc10_middle - 100;

		}else if (c_loc4_middle < 0){

			c_loc_areanum1 = c_loc_areanum1 - 1;			
			c_loc4_middle = 100 + c_loc4_middle;
		}

		if (c_loc4_after > 99){

			c_loc_areanum2 = c_loc_areanum2 + 1;
			c_loc4_after = c_loc4_after - 100;	

		}else if (c_loc4_after < 0){

			c_loc_areanum2 = c_loc_areanum2 - 1;
			c_loc4_after = 100 + c_loc4_after;	
		}			

		var row_string = "";
		if ((c_loc4_middle-1) < 10){
			row_string = "0" + (c_loc4_middle-1);
		}else{
			row_string = (c_loc4_middle-1);
		}

		var col_string = "";
		if (c_loc4_after < 10){
			col_string = "0" + c_loc4_after;
		}else{
			col_string = c_loc4_after;
		}

		var row_string2 = "";
		if (c_loc10_middle < 10){
			row_string2 = "00" + c_loc10_middle;
		}else if (c_loc10_middle < 100){
			row_string2 = "0" + c_loc10_middle;
		}else{
			row_string2 = c_loc10_middle;
		}

		var col_string2 = "";
		if (c_loc10_after < 10){
			col_string2 = "00" + c_loc10_after;
		} else if (c_loc10_after < 100){
			col_string2 = "0" + c_loc10_after;
		}else{
			col_string2 = c_loc10_after;
		}

		var mgrs_str;
		if (c_loc4_middle-1 == -1){
			mgrs_str = "52S"+strRow[c_loc_areanum1-1]+strCol[c_loc_areanum2]+"99"+row_string2+col_string+col_string2;
		}else{
			mgrs_str = "52S"+strRow[c_loc_areanum1]+strCol[c_loc_areanum2]+row_string+row_string2+col_string+col_string2;
		}
		//alert("center:"+mgrs_str);

		var UTM_Value = Convert_MGRS_To_Geodetic(mgrs_str);

		//alert(UTM_Value);

		return UTM_Value;
	
	}

	//★★★
	//가운데 좌표 구하기(08.09.04수정)
	this.getCenterLocation3 = function() {

		if (GMapidx == 0){ //처음시작할때
			var c_loc10_middle = g_loc10_middle + 30;
			var c_loc10_after  = g_loc10_after + 70;
		}else if (GMapidx == 1){ //Mousemove이벤트발생후
			if (tileSize == 100){
				//alert('test');
				var c_loc10_middle = g_loc10_middle + 615;
				var c_loc10_after  = g_loc10_after - 190;
			}else if (tileSize == 200){
				var c_loc10_middle = g_loc10_middle + 615;
				var c_loc10_after  = g_loc10_after - 180;
			}else if (tileSize == 400){
				var c_loc10_middle = g_loc10_middle + 555;
				var c_loc10_after  = g_loc10_after - 110;
			}else if (tileSize == 600){
				var c_loc10_middle = g_loc10_middle + 385;
				var c_loc10_after  = g_loc10_after - 80;
			}else if (tileSize == 800){
				var c_loc10_middle = g_loc10_middle + 330;
				var c_loc10_after  = g_loc10_after - 70;
			}else if (tileSize == 1000){
				var c_loc10_middle = g_loc10_middle + 1;
				var c_loc10_after  = g_loc10_after - 1;
//				var c_loc10_middle = g_loc10_middle + 260;
//				var c_loc10_after  = g_loc10_after - 60;
			}else if (tileSize == 1200){
				var c_loc10_middle = g_loc10_middle + 250;
				var c_loc10_after  = g_loc10_after - 50;
			}else if (tileSize == 1400){
				var c_loc10_middle = g_loc10_middle + 230;
				var c_loc10_after  = g_loc10_after - 40;
			}else if (tileSize == 1600){
				var c_loc10_middle = g_loc10_middle + 200;
				var c_loc10_after  = g_loc10_after - 30;
			}else if (tileSize == 1800){
				var c_loc10_middle = g_loc10_middle + 150;
				var c_loc10_after  = g_loc10_after - 20;
			}else if (tileSize == 2000){
				var c_loc10_middle = g_loc10_middle + 140;
				var c_loc10_after  = g_loc10_after - 10;
			}
		}
		///////////////////////////////////////////////////////
		var c_loc4_middle  = g_loc4_middle;
		var c_loc4_after   = g_loc4_after;
		var c_loc_areanum1 = g_loc_areanum1;
		var	c_loc_areanum2 = g_loc_areanum2;

		//변경된 Loc10체크(Loc4변경) 
		if (c_loc10_middle > 1000){		
			c_loc10_middle = c_loc10_middle - 1000;
			c_loc4_middle  = c_loc4_middle + 1;
		}else if (c_loc10_middle < 0){
			c_loc10_middle = 1000 + c_loc10_middle;
			c_loc4_middle  = c_loc4_middle - 1;
		}

		if (c_loc10_after > 1000){
			c_loc10_after = c_loc10_after-1000;
			c_loc4_after  = c_loc4_after + 1;
		}else if (c_loc10_after < 0){
			c_loc10_after = 1000 + c_loc10_after;
			c_loc4_after  = c_loc4_after - 1;
		}

		//변경된 Loc4체크(Area변경&Loc4변경) 
		if (c_loc4_middle > 99){
			c_loc_areanum1 = c_loc_areanum1 + 1;
			c_loc10_middle = c_loc10_middle - 99;
		}else if (c_loc4_middle < 0){
			c_loc_areanum1 = c_loc_areanum1 - 1;			
			c_loc4_middle = 99 + c_loc4_middle;
		}

		if (c_loc4_after > 99){
			c_loc_areanum2 = c_loc_areanum2 + 1;
			c_loc4_after   = c_loc4_after - 99;	
		}else if (c_loc4_after < 0){
			c_loc_areanum2 = c_loc_areanum2 - 1;
			c_loc4_after    = 99 + c_loc4_after;	
		}			

		var row_string = "";
		if ((c_loc4_middle-1) < 10){
			row_string = "0" + (c_loc4_middle-1);
		}else{
			row_string = (c_loc4_middle-1);
		}

		var col_string = "";
		if (c_loc4_after < 10){
			col_string = "0" + c_loc4_after;
		}else{
			col_string = c_loc4_after;
		}

		var row_string2 = "";
		if (c_loc10_middle < 10){
			row_string2 = "00" + c_loc10_middle;
		}else if (c_loc10_middle < 100){
			row_string2 = "0" + c_loc10_middle;
		}else{
			row_string2 = c_loc10_middle;
		}

		var col_string2 = "";
		if (c_loc10_after < 10){
			col_string2 = "00" + c_loc10_after;
		} else if (c_loc10_after < 100){
			col_string2 = "0" + c_loc10_after;
		}else{
			col_string2 = c_loc10_after;
		}

		var mgrs_str;

		//alert(c_loc4_middle-1);
		if (c_loc4_middle-1 == -1){
			mgrs_str = "52S"+strRow[c_loc_areanum1-1]+strCol[c_loc_areanum2]+"99"+row_string2+col_string+col_string2;
		}else{
			mgrs_str = "52S"+strRow[c_loc_areanum1]+strCol[c_loc_areanum2]+row_string+row_string2+col_string+col_string2;
		}
		//alert("center:"+mgrs_str);
		
		var UTM_Value = Convert_MGRS_To_Geodetic(mgrs_str);
		//alert(UTM_Value);
		return UTM_Value;
		
	}

	//★★★
	//가운데 좌표 구하기
	this.getCenterLocation = function() {

		if (GMapidx == 0){ //처음시작할때
			var c_loc10_middle = g_loc10_middle;
			var c_loc10_after  = g_loc10_after;
		}else if (GMapidx == 1){ //Mousemove이벤트발생후
			if (tileSize == 100){
				var c_loc10_middle = g_loc10_middle + 615;
				var c_loc10_after  = g_loc10_after - 190;
			}else if (tileSize == 200){
				var c_loc10_middle = g_loc10_middle + 535;
				var c_loc10_after  = g_loc10_after - 180;
			}else if (tileSize == 400){
				var c_loc10_middle = g_loc10_middle + 455;
				var c_loc10_after  = g_loc10_after - 170;
			}else if (tileSize == 600){
				var c_loc10_middle = g_loc10_middle + 385;
				var c_loc10_after  = g_loc10_after - 160;
			}else if (tileSize == 800){
				var c_loc10_middle = g_loc10_middle + 330;
				var c_loc10_after  = g_loc10_after - 170;
			}else if (tileSize == 1000){
				var c_loc10_middle = g_loc10_middle + 260;
				var c_loc10_after  = g_loc10_after - 140;
			}else if (tileSize == 1200){
				var c_loc10_middle = g_loc10_middle + 250;
				var c_loc10_after  = g_loc10_after - 130;
			}else if (tileSize == 1400){
				var c_loc10_middle = g_loc10_middle + 230;
				var c_loc10_after  = g_loc10_after - 130;
			}else if (tileSize == 1600){
				var c_loc10_middle = g_loc10_middle + 200;
				var c_loc10_after  = g_loc10_after - 100;
			}else if (tileSize == 1800){
				var c_loc10_middle = g_loc10_middle + 150;
				var c_loc10_after  = g_loc10_after - 80;
			}else if (tileSize == 2000){
				var c_loc10_middle = g_loc10_middle + 100;
				var c_loc10_after  = g_loc10_after -60;
			}
		}
		///////////////////////////////////////////////////////
		var c_loc4_middle  = g_loc4_middle;
		var c_loc4_after   = g_loc4_after;
		var c_loc_areanum1 = g_loc_areanum1;
		var	c_loc_areanum2 = g_loc_areanum2;

		//변경된 Loc10체크(Loc4변경) 
		if (c_loc10_middle > 1000){		
			c_loc10_middle = c_loc10_middle - 1000;
			c_loc4_middle  = c_loc4_middle + 1;
		}else if (c_loc10_middle < 0){
			c_loc10_middle = 1000 + c_loc10_middle;
			c_loc4_middle  = c_loc4_middle - 1;
		}

		if (c_loc10_after > 1000){
			c_loc10_after = c_loc10_after-1000;
			c_loc4_after  = c_loc4_after + 1;
		}else if (c_loc10_after < 0){
			c_loc10_after = 1000 + c_loc10_after;
			c_loc4_after  = c_loc4_after - 1;
		}

		//변경된 Loc4체크(Area변경&Loc4변경) 
		if (c_loc4_middle > 99){
			c_loc_areanum1 = c_loc_areanum1 + 1;
			c_loc10_middle = c_loc10_middle - 99;
		}else if (c_loc4_middle < 0){
			c_loc_areanum1 = c_loc_areanum1 - 1;			
			c_loc4_middle = 99 + c_loc4_middle;
		}

		if (c_loc4_after > 99){
			c_loc_areanum2 = c_loc_areanum2 + 1;
			c_loc4_after   = c_loc4_after - 99;	
		}else if (c_loc4_after < 0){
			c_loc_areanum2 = c_loc_areanum2 - 1;
			c_loc4_after    = 99 + c_loc4_after;	
		}			

		var row_string = "";
		if ((c_loc4_middle-1) < 10){
			row_string = "0" + (c_loc4_middle-1);
		}else{
			row_string = (c_loc4_middle-1);
		}

		var col_string = "";
		if (c_loc4_after < 10){
			col_string = "0" + c_loc4_after;
		}else{
			col_string = c_loc4_after;
		}

		var row_string2 = "";
		if (c_loc10_middle < 10){
			row_string2 = "00" + c_loc10_middle;
		}else if (c_loc10_middle < 100){
			row_string2 = "0" + c_loc10_middle;
		}else{
			row_string2 = c_loc10_middle;
		}

		var col_string2 = "";
		if (c_loc10_after < 10){
			col_string2 = "00" + c_loc10_after;
		} else if (c_loc10_after < 100){
			col_string2 = "0" + c_loc10_after;
		}else{
			col_string2 = c_loc10_after;
		}

		var mgrs_str;

		if (c_loc4_middle-1 == -1){
			mgrs_str = "52S"+strRow[c_loc_areanum1-1]+strCol[c_loc_areanum2]+"99"+row_string2+col_string+col_string2;
		}else{
			mgrs_str = "52S"+strRow[c_loc_areanum1]+strCol[c_loc_areanum2]+row_string+row_string2+col_string+col_string2;
		}
		//alert("center:"+mgrs_str);

		var UTM_Value = Convert_MGRS_To_Geodetic(mgrs_str);

		return UTM_Value;
		
	}

	//★★★ 마커용
	//가운데 좌표 구하기
	this.getCenterLocation2 = function(){

		var row_string = "";
		if ((m_loc4_middle-1) < 10){
			row_string = "0" + (m_loc4_middle-1);
		}else{
			row_string = (m_loc4_middle-1);
		}

		var col_string = "";
		if (m_loc4_after < 10){
			col_string = "0" + m_loc4_after;
		}else{
			col_string = m_loc4_after;
		}

		var row_string2 = "";
		if (m_loc10_middle < 10){
			row_string2 = "00" + m_loc10_middle;
		}else if (m_loc10_middle < 100){
			row_string2 = "0" + m_loc10_middle;
		}else{
			row_string2 = m_loc10_middle;
		}

		var col_string2 = "";
		if (m_loc10_after < 10){
			col_string2 = "00" + m_loc10_after;
		} else if (m_loc10_after < 100){
			col_string2 = "0" + m_loc10_after;
		}else{
			col_string2 = m_loc10_after;
		}

		var mgrs_str;
		if (m_loc4_middle-1 == -1){
			mgrs_str = "52S"+strRow[m_loc_areanum1-1]+strCol[m_loc_areanum2]+"99"+row_string2+col_string+col_string2;
		}else{
			mgrs_str = "52S"+strRow[m_loc_areanum1]+strCol[m_loc_areanum2]+row_string+row_string2+col_string+col_string2;
		}

		//alert("center:"+mgrs_str);

		var UTM_Value = Convert_MGRS_To_Geodetic(mgrs_str);

		return UTM_Value;
	}

	//★★★
	//왼쪽 상단 좌표 구하기
	this.getLeftTopLocation = function() {

		viewportWidth  = document.getElementById("outerDiv").offsetWidth;
	    viewportHeight = document.getElementById("outerDiv").offsetHeight;

		var left_gap = Math.floor(viewportWidth/2);
		var lt_no4_middle = 0;
		var lt_no10_middle = 0;
		lt_no4_middle = g_loc4_middle-Math.floor(left_gap/tileSize)-1;
		lt_no10_middle = left_gap%tileSize;
		lt_no10_middle = Math.floor((lt_no10_middle * 1000)/tileSize);
		lt_no10_middle = g_loc10_middle-lt_no10_middle;
		if (lt_no10_middle < 0) {
			lt_no10_middle = 1000+lt_no10_middle;
			lt_no4_middle = lt_no4_middle - 1;
		}
		
		var top_gap = Math.floor(viewportHeight/2);
		var lt_no4_after = 0;
		var lt_no10_after = 0;
		lt_no4_after = g_loc4_after+Math.floor(top_gap/tileSize);
		lt_no10_after = top_gap%tileSize;
		lt_no10_after = Math.floor((lt_no10_after * 1000)/tileSize);
		lt_no10_after = lt_no10_after+g_loc10_after;
		if (lt_no10_after > 999) {
			lt_no10_after = lt_no10_after-1000;
			lt_no4_after = lt_no4_after + 1;
		}

		///////////////////////////////////////////////////////

		var lt_areanum1 = g_loc_areanum1;
		var lt_areanum2 = g_loc_areanum2;

		//변경된 Loc4체크(Area변경&Loc4변경) 
		if (lt_no4_middle > 99){

			lt_areanum1 = lt_areanum1 + 1;
			lt_no4_middle = lt_no4_middle - 100;

		}else if (lt_no4_middle < 0){

			lt_areanum1 = lt_areanum1 - 1;			
			lt_no4_middle = 100 + lt_no4_middle;
		}
		
		if (lt_no4_after > 99){

			lt_areanum2 = lt_areanum2 + 1;
			lt_no4_after = lt_no4_after - 100;	

		}else if (lt_no4_after < 0){

			lt_areanum2 = lt_areanum2 - 1;
			lt_no4_after = 100 + lt_no4_after;		
		}

		///////////////////////////////////////////////////////

		var row_string = "";
		if (lt_no4_middle < 10){
			row_string = "0" + lt_no4_middle;
		}else{
			row_string = lt_no4_middle;
		}

		var col_string = "";
		if (lt_no4_after < 10){
			col_string = "0" + lt_no4_after;
		}else{
			col_string = lt_no4_after;
		}

		var row_string2 = "";
		if (lt_no10_middle < 10){
			row_string2 = "00" + lt_no10_middle;
		}else if (lt_no10_middle < 100){
			row_string2 = "0" + lt_no10_middle;
		}else{
			row_string2 = lt_no10_middle;
		}

		var col_string2 = "";
		if (lt_no10_after < 10){
			col_string2 = "00" + lt_no10_after;
		} else if (lt_no10_after < 100){
			col_string2 = "0" + lt_no10_after;
		}else{
			col_string2 = lt_no10_after;
		}


		var mgrs_str;
		mgrs_str = "52S"+strRow[lt_areanum1]+strCol[lt_areanum2]+row_string+row_string2+col_string+col_string2;

		var UTM_Value = Convert_MGRS_To_Geodetic(mgrs_str);

		return UTM_Value;
	}

	//◆◆◆거리용
	//왼쪽 상단 좌표 구하기(MGRS)
	this.getLeftTopLocationMGRS4 = function() {

		viewportWidth  = document.getElementById("outerDiv").offsetWidth;
	    viewportHeight = document.getElementById("outerDiv").offsetHeight;

		if (GMapidx == 0){ //처음시작할때
			var c_loc10_middle = m_loc10_middle;
			var c_loc10_after  = m_loc10_after;
		}else if (GMapidx == 1){ //Mousemove이벤트발생후
		
			if (tileSize == 200){
				var c_loc10_middle = m_loc10_middle + 47;
				var c_loc10_after  = m_loc10_after - 86;
			}else if (tileSize == 400){
				var c_loc10_middle = m_loc10_middle + 28;
				var c_loc10_after  = m_loc10_after - 38;
			}else if (tileSize == 600){
				var c_loc10_middle = m_loc10_middle + 9;
				var c_loc10_after  = m_loc10_after - 20;
			}else if (tileSize == 800){
				var c_loc10_middle = m_loc10_middle + 8;
				var c_loc10_after  = m_loc10_after - 15;
			}else if (tileSize == 1000){
				var c_loc10_middle = m_loc10_middle + 8;
				var c_loc10_after  = m_loc10_after - 8;
			}else if (tileSize == 1200){
				var c_loc10_middle = m_loc10_middle + 8;
				var c_loc10_after  = m_loc10_after - 6;
			}else if (tileSize == 1400){
				var c_loc10_middle = m_loc10_middle + 8;
				var c_loc10_after  = m_loc10_after - 6;
			}else if (tileSize == 1600){
				var c_loc10_middle = m_loc10_middle + 7;
				var c_loc10_after  = m_loc10_after - 6;
			}else if (tileSize == 1800){
				var c_loc10_middle = m_loc10_middle + 7;
				var c_loc10_after  = m_loc10_after - 6;
			}else if (tileSize == 2000){
				var c_loc10_middle = m_loc10_middle + 8;
				var c_loc10_after  = m_loc10_after - 6;
			}
		}

		var left_gap = Math.floor(viewportWidth/2);
		var lt_no4_middle  = 0;
		var lt_no10_middle = 0;
		lt_no4_middle = m_loc4_middle-Math.floor(left_gap/tileSize)-1;
		lt_no10_middle = left_gap%tileSize;
		lt_no10_middle = Math.floor((lt_no10_middle * 1000)/tileSize);
		lt_no10_middle = c_loc10_middle-lt_no10_middle;
		if (lt_no10_middle < 0) {
			lt_no10_middle = 1000+lt_no10_middle;
			lt_no4_middle = lt_no4_middle - 1;
		}
		
		var top_gap = Math.floor(viewportHeight/2);
		var lt_no4_after  = 0;
		var lt_no10_after = 0;
		lt_no4_after = m_loc4_after+Math.floor(top_gap/tileSize);
		lt_no10_after = top_gap%tileSize;
		lt_no10_after = Math.floor((lt_no10_after * 1000)/tileSize);
		lt_no10_after = lt_no10_after+c_loc10_after;
		if (lt_no10_after > 999) {
			lt_no10_after = lt_no10_after-1000;
			lt_no4_after = lt_no4_after + 1;
		}

		///////////////////////////////////////////////////////
		var lt_areanum1 = m_loc_areanum1;
		var lt_areanum2 = m_loc_areanum2;

		if (lt_no10_middle > 1000){		
			lt_no10_middle = lt_no10_middle - 1000;
			lt_no4_middle  = lt_no4_middle + 1;
		}else if (lt_no10_middle < 0){
			lt_no10_middle = 1000 + lt_no10_middle;
			lt_no4_middle  = lt_no4_middle - 1;
		}

		if (lt_no10_after > 1000){
			lt_no10_after = lt_no10_after-1000;
			lt_no4_after  = lt_no4_after + 1;
		}else if (lt_no10_after < 0){
			lt_no10_after = 1000 + lt_no10_after;
			lt_no4_after  = lt_no4_after - 1;
		}

		//변경된 Loc4체크(Area변경&Loc4변경) 
		if (lt_no4_middle > 99){
			lt_areanum1 = lt_areanum1 + 1;
			lt_no4_middle = lt_no4_middle - 100;
		}else if (lt_no4_middle < 0){
			lt_areanum1 = lt_areanum1 - 1;			
			lt_no4_middle = 100 + lt_no4_middle;
		}
	
		if (lt_no4_after > 99){
			lt_areanum2 = lt_areanum2 + 1;
			lt_no4_after = lt_no4_after - 100;	
		}else if (lt_no4_after < 0){
			lt_areanum2 = lt_areanum2 - 1;
			lt_no4_after = 100 + lt_no4_after;		
		}

		///////////////////////////////////////////////////////


		var row_string = "";
		if (lt_no4_middle < 10){
			row_string = "0" + lt_no4_middle;
		}else{
			row_string = lt_no4_middle;
		}

		var col_string = "";
		if (lt_no4_after < 10){
			col_string = "0" + lt_no4_after;
		}else{
			col_string = lt_no4_after;
		}

		var row_string2 = "";
		if (lt_no10_middle < 10){
			row_string2 = "00" + lt_no10_middle;
		}else if (lt_no10_middle < 100){
			row_string2 = "0" + lt_no10_middle;
		}else{
			row_string2 = lt_no10_middle;
		}

		var col_string2 = "";
		if (lt_no10_after < 10){
			col_string2 = "00" + lt_no10_after;
		} else if (lt_no10_after < 100){
			col_string2 = "0" + lt_no10_after;
		}else{
			col_string2 = lt_no10_after;
		}

		var mgrs_str;
		mgrs_str = strRow[lt_areanum1]+strCol[lt_areanum2]+row_string+row_string2+col_string+col_string2;

		return mgrs_str;
	}	

	
	//◆◆◆ 마커용
	//왼쪽 상단 좌표 구하기(MGRS)
	this.getLeftTopLocationMGRS2 = function() {

		viewportWidth  = document.getElementById("outerDiv").offsetWidth;
	    viewportHeight = document.getElementById("outerDiv").offsetHeight;

		var left_gap = Math.floor(viewportWidth/2);
		var lt_no4_middle = 0;
		var lt_no10_middle = 0;
		lt_no4_middle = m_loc4_middle-Math.floor(left_gap/tileSize)-1;
		lt_no10_middle = left_gap%tileSize;
		lt_no10_middle = Math.floor((lt_no10_middle * 1000)/tileSize);
		lt_no10_middle = m_loc10_middle-lt_no10_middle;
		if (lt_no10_middle < 0) {
			lt_no10_middle = 1000+lt_no10_middle;
			lt_no4_middle = lt_no4_middle - 1;
		}
		
		var top_gap = Math.floor(viewportHeight/2);
		var lt_no4_after = 0;
		var lt_no10_after = 0;
		lt_no4_after = m_loc4_after+Math.floor(top_gap/tileSize);
		lt_no10_after = top_gap%tileSize;
		lt_no10_after = Math.floor((lt_no10_after * 1000)/tileSize);
		lt_no10_after = lt_no10_after+m_loc10_after;
		if (lt_no10_after > 999) {
			lt_no10_after = lt_no10_after-1000;
			lt_no4_after = lt_no4_after + 1;
		}

		///////////////////////////////////////////////////////

		var lt_areanum1 = m_loc_areanum1;
		var lt_areanum2 = m_loc_areanum2;

		//변경된 Loc4체크(Area변경&Loc4변경) 
		if (lt_no4_middle > 99){

			lt_areanum1 = lt_areanum1 + 1;
			lt_no4_middle = lt_no4_middle - 100;

		}else if (lt_no4_middle < 0){

			lt_areanum1 = lt_areanum1 - 1;			
			lt_no4_middle = 100 + lt_no4_middle;
		}
		
		if (lt_no4_after > 99){

			lt_areanum2 = lt_areanum2 + 1;
			lt_no4_after = lt_no4_after - 100;	

		}else if (lt_no4_after < 0){

			lt_areanum2 = lt_areanum2 - 1;
			lt_no4_after = 100 + lt_no4_after;		
		}

		///////////////////////////////////////////////////////

		var row_string = "";
		if (lt_no4_middle < 10){
			row_string = "0" + lt_no4_middle;
		}else{
			row_string = lt_no4_middle;
		}

		var col_string = "";
		if (lt_no4_after < 10){
			col_string = "0" + lt_no4_after;
		}else{
			col_string = lt_no4_after;
		}

		var row_string2 = "";
		if (lt_no10_middle < 10){
			row_string2 = "00" + lt_no10_middle;
		}else if (lt_no10_middle < 100){
			row_string2 = "0" + lt_no10_middle;
		}else{
			row_string2 = lt_no10_middle;
		}

		var col_string2 = "";
		if (lt_no10_after < 10){
			col_string2 = "00" + lt_no10_after;
		} else if (lt_no10_after < 100){
			col_string2 = "0" + lt_no10_after;
		}else{
			col_string2 = lt_no10_after;
		}

		var mgrs_str;
		mgrs_str = strRow[lt_areanum1]+strCol[lt_areanum2]+row_string+row_string2+col_string+col_string2;

		return mgrs_str;
	}

	//◆◆◆
	//왼쪽 상단 좌표 구하기(MGRS)
	this.getLeftTopLocationMGRS = function() {

		viewportWidth  = document.getElementById("outerDiv").offsetWidth;
	    viewportHeight = document.getElementById("outerDiv").offsetHeight;

		var left_gap = Math.floor(viewportWidth/2);
		var lt_no4_middle = 0;
		var lt_no10_middle = 0;

		lt_no4_middle = g_loc4_middle-Math.floor(left_gap/tileSize)-1;
		lt_no10_middle = left_gap%tileSize;
		lt_no10_middle = Math.floor((lt_no10_middle * 1000)/tileSize);
		lt_no10_middle = g_loc10_middle-lt_no10_middle;

		if (lt_no10_middle < 0) {
			lt_no10_middle = 1000+lt_no10_middle;
			lt_no4_middle = lt_no4_middle - 1;
		}
		
		var top_gap = Math.floor(viewportHeight/2);
		var lt_no4_after = 0;
		var lt_no10_after = 0;

		lt_no4_after = g_loc4_after+Math.floor(top_gap/tileSize);
		lt_no10_after = top_gap%tileSize;
		lt_no10_after = Math.floor((lt_no10_after * 1000)/tileSize);
		lt_no10_after = lt_no10_after+g_loc10_after;

		if (lt_no10_after > 999) {
			lt_no10_after = lt_no10_after-1000;
			lt_no4_after = lt_no4_after + 1;
		}

		///////////////////////////////////////////////////////

		var lt_areanum1 = g_loc_areanum1;
		var lt_areanum2 = g_loc_areanum2;

		//변경된 Loc4체크(Area변경&Loc4변경) 
		if (lt_no4_middle > 99){
			lt_areanum1 = lt_areanum1 + 1;
			lt_no4_middle = lt_no4_middle - 100;
		}else if (lt_no4_middle < 0){
			lt_areanum1 = lt_areanum1 - 1;			
			lt_no4_middle = 100 + lt_no4_middle;
		}
		
		if (lt_no4_after > 99){
			lt_areanum2 = lt_areanum2 + 1;
			lt_no4_after = lt_no4_after - 100;	
		}else if (lt_no4_after < 0){
			lt_areanum2 = lt_areanum2 - 1;
			lt_no4_after = 100 + lt_no4_after;		
		}

		///////////////////////////////////////////////////////
		var row_string = "";
		if (lt_no4_middle < 10){
			row_string = "0" + lt_no4_middle;
		}else{
			row_string = lt_no4_middle;
		}

		var col_string = "";
		if (lt_no4_after < 10){
			col_string = "0" + lt_no4_after;
		}else{
			col_string = lt_no4_after;
		}

		var row_string2 = "";
		if (lt_no10_middle < 10){
			row_string2 = "00" + lt_no10_middle;
		}else if (lt_no10_middle < 100){
			row_string2 = "0" + lt_no10_middle;
		}else{
			row_string2 = lt_no10_middle;
		}

		var col_string2 = "";
		if (lt_no10_after < 10){
			col_string2 = "00" + lt_no10_after;
		} else if (lt_no10_after < 100){
			col_string2 = "0" + lt_no10_after;
		}else{
			col_string2 = lt_no10_after;
		}

		var mgrs_str;
		mgrs_str = strRow[lt_areanum1]+strCol[lt_areanum2]+row_string+row_string2+col_string+col_string2;

		return mgrs_str;
	}

	//★★★
	//오른쪽 하단 좌표 구하기
	this.getRightBottomLocation = function() {

		viewportWidth  = document.getElementById("outerDiv").offsetWidth;
	    viewportHeight = document.getElementById("outerDiv").offsetHeight;

		var left_gap = Math.floor(viewportWidth/2);
		var lt_no4_middle = 0;
		var lt_no10_middle = 0;

		lt_no4_middle = g_loc4_middle+Math.floor(left_gap/tileSize)-1;
		lt_no10_middle = left_gap%tileSize;
		lt_no10_middle = Math.floor((lt_no10_middle * 1000)/tileSize);
		lt_no10_middle = lt_no10_middle+g_loc10_middle;

		lt_no10_middle = lt_no10_middle + 150;  //좌표 추가보정 2008.10.13

		if (lt_no10_middle > 999) {
			lt_no10_middle = lt_no10_middle-1000;
			lt_no4_middle = lt_no4_middle + 1;
		}
	
		var top_gap = Math.floor(viewportHeight/2);
		var lt_no4_after = 0;
		var lt_no10_after = 0;

		lt_no4_after = g_loc4_after-Math.floor(top_gap/tileSize);
		lt_no10_after = top_gap%tileSize;
		lt_no10_after = Math.floor((lt_no10_after * 1000)/tileSize);
		lt_no10_after = g_loc10_after-lt_no10_after;

		lt_no10_after = lt_no10_after - 150;  //좌표 추가보정 2008.10.13

		if (lt_no10_after < 0) {
			lt_no10_after = 1000+lt_no10_after;
			lt_no4_after = lt_no4_after - 1;
		}

		///////////////////////////////////////////////////////

		var lt_areanum1 = g_loc_areanum1;
		var lt_areanum2 = g_loc_areanum2;
		//변경된 Loc4체크(Area변경&Loc4변경) 
		if (lt_no4_middle > 99){
			lt_areanum1 = lt_areanum1 + 1;
			lt_no4_middle = lt_no4_middle - 100;
		}else if (lt_no4_middle < 0){
			lt_areanum1 = lt_areanum1 - 1;			
			lt_no4_middle = 100 + lt_no4_middle;
		}
		
		if (lt_no4_after > 99){
			lt_areanum2 = lt_areanum2 + 1;
			lt_no4_after = lt_no4_after - 100;	
		}else if (lt_no4_after < 0){
			lt_areanum2 = lt_areanum2 - 1;
			lt_no4_after = 100 + lt_no4_after;		
		}

		///////////////////////////////////////////////////////

		var row_string = "";
		if (lt_no4_middle < 10){
			row_string = "0" + lt_no4_middle;
		}else{
			row_string = lt_no4_middle;
		}

		var col_string = "";
		if (lt_no4_after < 10){
			col_string = "0" + lt_no4_after;
		}else{
			col_string = lt_no4_after;
		}

		var row_string2 = "";
		if (lt_no10_middle < 10){
			row_string2 = "00" + lt_no10_middle;
		}else if (lt_no10_middle < 100){
			row_string2 = "0" + lt_no10_middle;
		}else{
			row_string2 = lt_no10_middle;
		}

		var col_string2 = "";
		if (lt_no10_after < 10){
			col_string2 = "00" + lt_no10_after;
		} else if (lt_no10_after < 100){
			col_string2 = "0" + lt_no10_after;
		}else{
			col_string2 = lt_no10_after;
		}

		var mgrs_str;
		mgrs_str = "52S"+strRow[lt_areanum1]+strCol[lt_areanum2]+row_string+row_string2+col_string+col_string2;

		var UTM_Value = Convert_MGRS_To_Geodetic(mgrs_str);

		return UTM_Value;
	}

	//★★★
	//오른쪽 하단 좌표 구하기
	this.getRightBottomLocationMGRS = function() {

		viewportWidth  = document.getElementById("outerDiv").offsetWidth;
	  viewportHeight = document.getElementById("outerDiv").offsetHeight;

		var left_gap = Math.floor(viewportWidth/2);
		var lt_no4_middle = 0;
		var lt_no10_middle = 0;

		lt_no4_middle = g_loc4_middle+Math.floor(left_gap/tileSize)-1;
		lt_no10_middle = left_gap%tileSize;
		lt_no10_middle = Math.floor((lt_no10_middle * 1000)/tileSize);
		lt_no10_middle = lt_no10_middle+g_loc10_middle;

		lt_no10_middle = lt_no10_middle + 150;  //좌표 추가보정 2008.10.13

		if (lt_no10_middle > 999) {
			lt_no10_middle = lt_no10_middle-1000;
			lt_no4_middle = lt_no4_middle + 1;
		}
	
		var top_gap = Math.floor(viewportHeight/2);
		var lt_no4_after = 0;
		var lt_no10_after = 0;

		lt_no4_after = g_loc4_after-Math.floor(top_gap/tileSize);
		lt_no10_after = top_gap%tileSize;
		lt_no10_after = Math.floor((lt_no10_after * 1000)/tileSize);
		lt_no10_after = g_loc10_after-lt_no10_after;

		lt_no10_after = lt_no10_after - 150;  //좌표 추가보정 2008.10.13

		if (lt_no10_after < 0) {
			lt_no10_after = 1000+lt_no10_after;
			lt_no4_after = lt_no4_after - 1;
		}

		///////////////////////////////////////////////////////

		var lt_areanum1 = g_loc_areanum1;
		var lt_areanum2 = g_loc_areanum2;
		//변경된 Loc4체크(Area변경&Loc4변경) 
		if (lt_no4_middle > 99){
			lt_areanum1 = lt_areanum1 + 1;
			lt_no4_middle = lt_no4_middle - 100;
		}else if (lt_no4_middle < 0){
			lt_areanum1 = lt_areanum1 - 1;			
			lt_no4_middle = 100 + lt_no4_middle;
		}
		
		if (lt_no4_after > 99){
			lt_areanum2 = lt_areanum2 + 1;
			lt_no4_after = lt_no4_after - 100;	
		}else if (lt_no4_after < 0){
			lt_areanum2 = lt_areanum2 - 1;
			lt_no4_after = 100 + lt_no4_after;		
		}

		///////////////////////////////////////////////////////

		var row_string = "";
		if (lt_no4_middle < 10){
			row_string = "0" + lt_no4_middle;
		}else{
			row_string = lt_no4_middle;
		}

		var col_string = "";
		if (lt_no4_after < 10){
			col_string = "0" + lt_no4_after;
		}else{
			col_string = lt_no4_after;
		}

		var row_string2 = "";
		if (lt_no10_middle < 10){
			row_string2 = "00" + lt_no10_middle;
		}else if (lt_no10_middle < 100){
			row_string2 = "0" + lt_no10_middle;
		}else{
			row_string2 = lt_no10_middle;
		}

		var col_string2 = "";
		if (lt_no10_after < 10){
			col_string2 = "00" + lt_no10_after;
		} else if (lt_no10_after < 100){
			col_string2 = "0" + lt_no10_after;
		}else{
			col_string2 = lt_no10_after;
		}

		var mgrs_str;
		mgrs_str = strRow[lt_areanum1]+strCol[lt_areanum2]+row_string+row_string2+col_string+col_string2;

		return mgrs_str;
	}

	//★★★
	this.getClickLocation = function(event) {

		viewportWidth  = document.getElementById("outerDiv").offsetWidth;
	    viewportHeight = document.getElementById("outerDiv").offsetHeight;

		var left_gap = Math.floor(viewportWidth/2);
		var lt_no4_middle = 0;
		var lt_no10_middle = 0;
		if (event.clientX < left_gap){
			left_gap = left_gap-event.clientX;

			lt_no4_middle = g_loc4_middle-Math.floor(left_gap/tileSize)-1;
			lt_no10_middle = left_gap%tileSize;
			lt_no10_middle = Math.floor((lt_no10_middle * 1000)/tileSize);
			lt_no10_middle = g_loc10_middle-lt_no10_middle;
			if (lt_no10_middle < 0) {
				lt_no10_middle = 1000+lt_no10_middle;
				lt_no4_middle = lt_no4_middle - 1;
			}

		}else{
			left_gap = event.clientX-left_gap;

			lt_no4_middle = g_loc4_middle+Math.floor(left_gap/tileSize)-1;
			lt_no10_middle = left_gap%tileSize;
			lt_no10_middle = Math.floor((lt_no10_middle * 1000)/tileSize);
			lt_no10_middle = lt_no10_middle+g_loc10_middle;
			if (lt_no10_middle > 999) {
				lt_no10_middle = lt_no10_middle-1000;
				lt_no4_middle = lt_no4_middle + 1;
			}
		}
		
		var top_gap = Math.floor(viewportHeight/2);
		var lt_no4_after = 0;
		var lt_no10_after = 0;
		if (event.clientY < top_gap){

			top_gap = top_gap-event.clientY;

			lt_no4_after = g_loc4_after+Math.floor(top_gap/tileSize);
			lt_no10_after = top_gap%tileSize;
			lt_no10_after = Math.floor((lt_no10_after * 1000)/tileSize);
			lt_no10_after = lt_no10_after+g_loc10_after;
			if (lt_no10_after > 999) {
				lt_no10_after = lt_no10_after-1000;
				lt_no4_after = lt_no4_after + 1;
			}

		}else{
			top_gap = event.clientY-top_gap;

			lt_no4_after = g_loc4_after-Math.floor(top_gap/tileSize);
			lt_no10_after = top_gap%tileSize;
			lt_no10_after = Math.floor((lt_no10_after * 1000)/tileSize);
			lt_no10_after = g_loc10_after-lt_no10_after;
			if (lt_no10_after < 0) {
				lt_no10_after = 1000+lt_no10_after;
				lt_no4_after = lt_no4_after - 1;
			}
		}

		///////////////////////////////////////////////////////

		var lt_areanum1 = g_loc_areanum1;
		var lt_areanum2 = g_loc_areanum2;

		//변경된 Loc4체크(Area변경&Loc4변경) 
		if (lt_no4_middle > 99){
			lt_areanum1 = lt_areanum1 + 1;
			lt_no4_middle = lt_no4_middle - 100;
		}else if (lt_no4_middle < 0){
			lt_areanum1 = lt_areanum1 - 1;			
			lt_no4_middle = 100 + lt_no4_middle;
		}
		
		if (lt_no4_after > 99){
			lt_areanum2 = lt_areanum2 + 1;
			lt_no4_after = lt_no4_after - 100;	
		}else if (lt_no4_after < 0){
			lt_areanum2 = lt_areanum2 - 1;
			lt_no4_after = 100 + lt_no4_after;		
		}

		///////////////////////////////////////////////////////

		var row_string = "";
		if (lt_no4_middle < 10){
			row_string = "0" + lt_no4_middle;
		}else{
			row_string = lt_no4_middle;
		}

		var col_string = "";
		if (lt_no4_after < 10){
			col_string = "0" + lt_no4_after;
		}else{
			col_string = lt_no4_after;
		}

		var row_string2 = "";
		if (lt_no10_middle < 10){
			row_string2 = "00" + lt_no10_middle;
		}else if (lt_no10_middle < 100){
			row_string2 = "0" + lt_no10_middle;
		}else{
			row_string2 = lt_no10_middle;
		}

		var col_string2 = "";
		if (lt_no10_after < 10){
			col_string2 = "00" + lt_no10_after;
		} else if (lt_no10_after < 100){
			col_string2 = "0" + lt_no10_after;
		}else{
			col_string2 = lt_no10_after;
		}

		var mgrs_str;

		mgrs_str = "52S"+strRow[lt_areanum1]+strCol[lt_areanum2]+row_string+row_string2+col_string+col_string2;
	
		//alert("click:"+mgrs_str);

		var UTM_Value = Convert_MGRS_To_Geodetic(mgrs_str);

		return UTM_Value;
	}

	

}



//-----------------------------------------------------------------------------------------------------------------------------------------------------
// By Y.B
//-----------------------------------------------------------------------------------------------------------------------------------------------------



	function centermapsatellite() {//위성사진 가운데 맞춤 centermapsatellite=>위성사진 좌표 맞춤 함수
		if (gCurPage.toUpperCase() == "MAIN.ASP") {	

			var Left_Value=gmapobj.getLeftTopLocation();//x,y의 좌표값
			var Right_Value=gmapobj.getRightBottomLocation();//x1,y1의 좌표값

			var UTM_LeftTopRealValue = Left_Value.split("/");//x와 y의 좌표값을 각각 얻기 위하여 "/"기준으로  값을 ㄹ추출
			var UTM_RightBottomRealValue = Right_Value.split("/");//x1,y1의 좌표값을 각각 얻기 위하여 "/"기준으로 값을 추출

			var x = UTM_LeftTopRealValue[1];
			var y = UTM_LeftTopRealValue[0];

			var x1 = UTM_RightBottomRealValue[1];
			var y1 = UTM_RightBottomRealValue[0];

			var lc=gmapobj.getZoomLevel()+1;
		
			var mapCurZoom;


			if(lc==0 ||lc==1){
				mapCurZoom=14;			
			}else if(lc==2){
				mapCurZoom=15;
			}else if(lc==3||lc==4||lc==5){
				mapCurZoom=16;
			}else if(lc==6||lc==7||lc==8){
				mapCurZoom=17;
			}else if(lc==9||lc==10){
				mapCurZoom=18;
			}else{
				mapCurZoom=16;
			}
	
			gosatellite(UTM_LeftTopRealValue[1],UTM_LeftTopRealValue[0],UTM_RightBottomRealValue[1],UTM_RightBottomRealValue[0],mapCurZoom);	//배열을 이용하여 경도와 위도값을 각각의 배열에 넣어준 뒤에 gosatellite 함수 수행
			
		}//해당 함수를 이용하여 다음 페이지의 지도에 해당 페이지의 좌표값을 넘겨줌.
		else if (gCurPage.toUpperCase() == "NKMAP.ASP" || gCurPage.toUpperCase() == "NK3DMAP.ASP"
																	|| gCurPage.toUpperCase() == "3DMAP.ASP"|| gCurPage.toUpperCase() == "SUBWAY.ASP"){
			if (visit_frm != ""){
				location.href = "/Google/SatelliteMap.asp?vst="+visit_frm;
			}else{
				location.href = "/Google/SatelliteMap.asp";//해당 페이지들은 좌표값을 가져올 수 없으므로 해당 페이지의 default값의 좌표를 가져옴.
			}
		}else if (gCurPage.toUpperCase() == "CM2MAP.ASP" || gCurPage.toUpperCase() == "PLANMAP.ASP"){
				
			var locations=document.getElementById("message").innerHTML//구글지도상의 GEvent메소드를 이용하여 마지막 지점의 좌표를 가져옴.(좌표값이 없을시 해당 
																																															//페이지 상의 default값을 뿌려줌.
			
			var firstLocations=Mid(locations,1,locations.length-2);//마지막 지점의 좌표값을 가져올시 양쪽에 가로가 붙어서 와서 인지를 못하기에 가로를 제외한 좌표값을 얻기 위하여 Mid함수를 이용하여 양쪽의 가로를 제거
			var secondLocations=Mid(locations,1,locations.length-2);//x1,y1좌표값의 양쪽 가로를 제거하기 위하여 Mid함수 적용(Mid함수는 "/Google/js/PlanMapFunction 줄:352에 위치)

			var firstsplit=firstLocations.split(',');//x,y의 좌표값 sort
			var x=firstsplit[1];
			var y=firstsplit[0];

			var secondsplit=secondLocations.split(',');//x1,y1의 좌표값 sort
			var x1=secondsplit[1];
			var y1=secondsplit[0];
			var mapCurZoom=map.getZoom();

			gosk2SA(firstsplit[1],firstsplit[0],secondsplit[1],secondsplit[0],mapCurZoom);

		}else{
			var locations=document.getElementById("message").innerHTML//구글지도상의 GEvent메소드를 이용하여 마지막 지점의 좌표를 가져옴.(좌표값이 없을시 해당 
																																																//페이지 상의 default값을 뿌려줌.				
			var firstLocations=Mid(locations,1,locations.length-2);//마지막 지점의 좌표값을 가져올시 양쪽에 가로가 붙어서 와서 인지를 못하기에 가로를 제외한 좌표값을 얻기 위하여 Mid함수를 이용하여 양쪽의 가로를 제거
			var secondLocations=Mid(locations,1,locations.length-2);//x1,y1좌표값의 양쪽 가로를 제거하기 위하여 Mid함수 적용(Mid함수는 "/Google/js/PlanMapFunction 줄:352에 위치)

			var firstsplit=firstLocations.split(',');//x,y의 좌표값 sort
			var x=firstsplit[1];
			var y=firstsplit[0];

			var secondsplit=secondLocations.split(',');//x1,y1의 좌표값 sort
			var x1=secondsplit[1];
			var y1=secondsplit[0];

			var lc2=map.getZoom();
			var mapCurZoom2;

			if(lc2==14 ){
			mapCurZoom2=0;
			}else if(lc2==14){
				mapCurZoom2=1;
			}else if(lc2==15){
				mapCurZoom2=2;
			}else if(lc2==16){
				mapCurZoom2=3;
			}else if(lc2==16){
				mapCurZoom2=4;
			}else if(lc2==16){
				mapCurZoom2=5;
			}else if(lc2==17){
				mapCurZoom2=6;
			}else if(lc2==17){
				mapCurZoom2=7;
			}else if(lc2==17){
				mapCurZoom2=8;
			}else if(lc2==18){
				mapCurZoom2=9;
			}else if(lc2==18){
				mapCurZoom2=10;
			}else if(lc2<10){
				mapCurZoom2=1;
			}else{
				mapCurZoom2=2;
			}	
			gosk2(firstsplit[1],firstsplit[0],secondsplit[1],secondsplit[0],mapCurZoom2);//해당 함수를 이용하여 다음 페이지에 넘겨줌.
		}
			
	}


	

function streetcentermap(){//centermap2()=>streecentermap()로 변경

	if (gCurPage.toUpperCase() == "MAIN.ASP") {	
		var Left_Value=gmapobj.getLeftTopLocation();
		var Right_Value=gmapobj.getRightBottomLocation();

		var UTM_LeftTopRealValue = Left_Value.split("/");
		var UTM_RightBottomRealValue = Right_Value.split("/");

		var x = UTM_LeftTopRealValue[1];
		var y = UTM_LeftTopRealValue[0];

		var x1 = UTM_RightBottomRealValue[1];
		var y1 = UTM_RightBottomRealValue[0];

		var lc=gmapobj.getZoomLevel()+1;
		
		var mapCurZoom;


		if(lc==0 ||lc==1){
			mapCurZoom=14;
		}else if(lc==2){
			mapCurZoom=15;
		}else if(lc==3||lc==4||lc==5){
			mapCurZoom=16;
		}else if(lc==6||lc==7||lc==8){
			mapCurZoom=17;
		}else if(lc==9||lc==10){
			mapCurZoom=18;
		}else{
			mapCurZoom=16;
		}
		gostreetcenters(UTM_LeftTopRealValue[1],UTM_LeftTopRealValue[0],UTM_RightBottomRealValue[1],UTM_RightBottomRealValue[0],mapCurZoom);
	}
}

function dirstrictcentermap(){//centermap3()=>dirstrictcentermap()으로 변경

	if (gCurPage.toUpperCase() == "MAIN.ASP") {	

		var Left_Value=gmapobj.getLeftTopLocation();
		var Right_Value=gmapobj.getRightBottomLocation();

		var UTM_LeftTopRealValue = Left_Value.split("/");
		var UTM_RightBottomRealValue = Right_Value.split("/");

		var x = UTM_LeftTopRealValue[1];
		var y = UTM_LeftTopRealValue[0];

		var x1 = UTM_RightBottomRealValue[1];
		var y1 = UTM_RightBottomRealValue[0];

		var lc=gmapobj.getZoomLevel()+1;		
		var mapCurZoom;


		if(lc==0 ||lc==1){
			mapCurZoom=14;	
		}else if(lc==2){
			mapCurZoom=15;
		}else if(lc==3||lc==4||lc==5){
			mapCurZoom=16;
		}else if(lc==6||lc==7||lc==8){
			mapCurZoom=17;
		}else if(lc==9||lc==10){
			mapCurZoom=18;
		}else{
			mapCurZoom=16;
		}
		godirstrictcenters(UTM_LeftTopRealValue[1],UTM_LeftTopRealValue[0],UTM_RightBottomRealValue[1],UTM_RightBottomRealValue[0],mapCurZoom);
	
	}

}

function gosatellite(x, y,x1,y1,mapCurZoom) {
	if (visit_frm != ""){
		location.href = "/Google/SatelliteMap.asp?x="+x+"&y="+y+"&x1="+x1+"&y1="+y1+"&mapCurZoom="+mapCurZoom+"&vst="+visit_frm;
	}else{
		location.href = "/Google/SatelliteMap.asp?x="+x+"&y="+y+"&x1="+x1+"&y1="+y1+"&mapCurZoom="+mapCurZoom;//x,y에 각각 경도와 위도값을 받아와서 satelliteMap.asp에 넘겨줌.
	}
}

function gostreetcenters(x, y,x1,y1,mapCurZoom) {
	if (visit_frm != ""){
		location.href = "/Google/CM2Map.asp?x="+x+"&y="+y+"&x1="+x1+"&y1="+y1+"&mapCurZoom="+mapCurZoom+"&vst="+visit_frm;
	}else{
		location.href = "/Google/CM2Map.asp?x="+x+"&y="+y+"&x1="+x1+"&y1="+y1+"&mapCurZoom="+mapCurZoom;
	}
}

function godirstrictcenters(x, y,x1,y1,mapCurZoom) {
	if (visit_frm != ""){
		location.href = "/Google/PlanMap.asp?x="+x+"&y="+y+"&x1="+x1+"&y1="+y1+"&mapCurZoom="+mapCurZoom+"&vst="+visit_frm;
	}else{
		location.href = "/Google/PlanMap.asp?x="+x+"&y="+y+"&x1="+x1+"&y1="+y1+"&mapCurZoom="+mapCurZoom;
	}
}	

function gosk2(x, y,x1,y1,mapCurZoom2){
	if (visit_frm != ""){
		location.href = "/Google/SatelliteMap.asp?x="+x+"&y="+y+"&x1="+x1+"&y1="+y1+"&mapCurZoom2="+mapCurZoom2+"&vst="+visit_frm;
	}else{
		location.href = "/Google/SatelliteMap.asp?x="+x+"&y="+y+"&x1="+x1+"&y1="+y1+"&mapCurZoom2="+mapCurZoom2;
	}
}
function gosk2SA(x, y,x1,y1,mapCurZoom){
	if (visit_frm != ""){
		location.href = "/Google/SatelliteMap.asp?x="+x+"&y="+y+"&x1="+x1+"&y1="+y1+"&mapCurZoom="+mapCurZoom+"&vst="+visit_frm;
	}else{
		location.href = "/Google/SatelliteMap.asp?x="+x+"&y="+y+"&x1="+x1+"&y1="+y1+"&mapCurZoom="+mapCurZoom;
	}
	}

function opcentermap(){//center7()->opcentermap()으로 변경

	var locations=document.getElementById("message").innerHTML

	var firstLocations=Mid(locations,1,locations.length-2);
	var secondLocations=Mid(locations,1,locations.length-2);

	var firstsplit=firstLocations.split(',');
	var x=firstsplit[0];
	var y=firstsplit[1];

	var secondsplit=secondLocations.split(',');
	var x1=secondsplit[1];
	var y1=secondsplit[0];

	var lc2=map.getZoom();
	var mapCurZoom2;

		if(lc2==14 ){
			mapCurZoom2=0;
		}else if(lc2==14){
			mapCurZoom2=1;
		}else if(lc2==15){
			mapCurZoom2=2;
		}else if(lc2==16){
			mapCurZoom2=3;
		}else if(lc2==16){
			mapCurZoom2=4;
		}else if(lc2==16){
			mapCurZoom2=5;
		}else if(lc2==17){
			mapCurZoom2=6;
		}else if(lc2==17){
			mapCurZoom2=7;
		}else if(lc2==17){
			mapCurZoom2=8;
		}else if(lc2==18){
			mapCurZoom2=9;
		}else if(lc2==18){
			mapCurZoom2=10;
		}else if(lc2<10){
			mapCurZoom2=1;
		}else{
			mapCurZoom2=2;
		}	
		goopmap(firstsplit[1],firstsplit[0],secondsplit[1],secondsplit[0],mapCurZoom2);
}

function goopmap(x,y,x1,y1,mapCurZoom2){
	if (visit_frm != ""){
		location.href ="/map/main.asp?mapType=OP&x="+x+"&y="+y+"&x1="+x1+"&y1="+y1+"&mapCurZoom2="+mapCurZoom2+"&vst="+visit_frm;
	}else{
		location.href ="/map/main.asp?mapType=OP&x="+x+"&y="+y+"&x1="+x1+"&y1="+y1+"&mapCurZoom2="+mapCurZoom2;
	}
}

function cm1centermap(){//center8()=>cm1centermap()로 변경

	var locations1=document.getElementById("message").innerHTML

	var firstLocations1=Mid(locations1,1,locations1.length-2);
	var secondLocations1=Mid(locations1,1,locations1.length-2);

	var firstsplit1=firstLocations1.split(',');
	var x=firstsplit1[0];
	var y=firstsplit1[1];

	var secondsplit1=secondLocations1.split(',');
	var x1=secondsplit1[1];
	var y1=secondsplit1[0];


	var lc2=map.getZoom();
	var mapCurZoom2;

	if(lc2==14 ){
		mapCurZoom2=0;
	}else if(lc2==14){
		mapCurZoom2=1;
	}else if(lc2==15){
		mapCurZoom2=2;
	}else if(lc2==16){
		mapCurZoom2=3;
	}else if(lc2==16){
		mapCurZoom2=4;
	}else if(lc2==16){
		mapCurZoom2=5;
	}else if(lc2==17){
		mapCurZoom2=6;
	}else if(lc2==17){
		mapCurZoom2=7;
	}else if(lc2==17){
		mapCurZoom2=8;
	}else if(lc2==18){
		mapCurZoom2=9;
	}else if(lc2==18){
		mapCurZoom2=10;
	}else if(lc2<10){
		mapCurZoom2=1;
	}else{
		mapCurZoom2=2;
	}
	gocmmap(firstsplit1[1],firstsplit1[0],secondsplit1[1],secondsplit1[0],mapCurZoom2);

}

function gocmmap(x,y,x1,y1,mapCurZoom2){
	if (visit_frm != ""){
		location.href ="/map/main.asp?mapType=CM&x="+x+"&y="+y+"&x1="+x1+"&y1="+y1+"&mapCurZoom2="+mapCurZoom2+"&vst="+visit_frm;
	}else{
		location.href ="/map/main.asp?mapType=CM&x="+x+"&y="+y+"&x1="+x1+"&y1="+y1+"&mapCurZoom2="+mapCurZoom2;
	}
}

function dm1centermap(){//center9()=>dm1centermap()로 변경

	var locations2=document.getElementById("message").innerHTML
			
	var firstLocations2=Mid(locations2,1,locations2.length-2);
	var secondLocations2=Mid(locations2,1,locations2.length-2);

	var firstsplit2=firstLocations2.split(',');
	var x=firstsplit2[0];
	var y=firstsplit2[1];

	var secondsplit2=secondLocations2.split(',');
	var x1=secondsplit2[1];
	var y1=secondsplit2[0];


	var lc2=map.getZoom()-2;
	var mapCurZoom2;
			
	if(lc2==17){
		mapCurZoom2=1;		
	}else if(lc2==18){
		mapCurZoom2=1;	
	}else{
		mapCurZoom2=0;		
	}

	godmmap(firstsplit2[1],firstsplit2[0],secondsplit2[1],secondsplit2[0],mapCurZoom2);
}

function godmmap(x,y,x1,y1,mapCurZoom2){
	if (visit_frm != ""){
		location.href ="/map/main.asp?mapType=DM&x="+x+"&y="+y+"&x1="+x1+"&y1="+y1+"&mapCurZoom2="+mapCurZoom2+"&vst="+visit_frm;
	}else{
		location.href ="/map/main.asp?mapType=DM&x="+x+"&y="+y+"&x1="+x1+"&y1="+y1+"&mapCurZoom2="+mapCurZoom2;
	}
}

function gmcentermap(){//center10()=>gmcentermap()로 변경

	var locations3=document.getElementById("message").innerHTML
			
	var firstLocations3=Mid(locations3,1,locations3.length-2);
	var secondLocations3=Mid(locations3,1,locations3.length-2);

	var firstsplit3=firstLocations3.split(',');
	var x=firstsplit3[0];
	var y=firstsplit3[1];

	var secondsplit3=secondLocations3.split(',');
	var x1=secondsplit3[1];
	var y1=secondsplit3[0];

	var lc2=map.getZoom()-2;
	var mapCurZoom2;
			
	if(lc2==17){
		mapCurZoom2=1;
	}else if(lc2==18){
		mapCurZoom2=1;
	}else{
		mapCurZoom2=0;
	}
	
	gogmmap(firstsplit3[1],firstsplit3[0],secondsplit3[1],secondsplit3[0],mapCurZoom2);
}

function gogmmap(x,y,x1,y1,mapCurZoom2){
	if (visit_frm != ""){
		location.href ="/map/main.asp?mapType=GM&x="+x+"&y="+y+"&x1="+x1+"&y1="+y1+"&mapCurZoom2="+mapCurZoom2+"&vst="+visit_frm;
	}else{
		location.href ="/map/main.asp?mapType=GM&x="+x+"&y="+y+"&x1="+x1+"&y1="+y1+"&mapCurZoom2="+mapCurZoom2;
	}
}
	
//-----------------------------------------------------------------------------------------------------------------------------------------------------==============================
var xz='<%=wgs84x%>';
var yz='<%=wgs84y%>';
var xz1='<%=wgs84x%>';
var yz1='<%=wgs84y%>';
////alert(chon);
//
//
////goairfresh
function goairfresh(xz,yz,xz1,yz){
	if (visit_frm != ""){
		location.href ="/map/main.asp?mapType=OP&xz="+xz+"&yz="+yz+"&xz1="+xz1+"&yz1="+yz1+"&vst="+visit_frm;
	}else{
		location.href ="/map/main.asp?mapType=OP&xz="+xz+"&yz="+yz+"&xz1="+xz1+"&yz1="+yz1;
	}
}

function goSatellites(x,y,x1,y1,mapCurZoom){
	if (visit_frm != ""){
		location.href = "/Google/SatelliteMap.asp?x="+x+"&y="+y+"&x1="+x1+"&y1="+y1+"&mapCurZoom="+mapCurZoom+"&vst="+visit_frm;
	}else{
		location.href = "/Google/SatelliteMap.asp?x="+x+"&y="+y+"&x1="+x1+"&y1="+y1+"&mapCurZoom="+mapCurZoom;
	}

	if(x=="" && y=="" && gCurPage.toUpperCase() =="SATELLITEMAP.ASP"){
		location.href="/map/main.asp?";
	}
}  
//===================================================================================================================
//===================================지번지적도=======================================================================
function cm_strictcentermap(){//centermap3()=>dirstrictcentermap()으로 변경
if (gCurPage.toUpperCase() == "MAIN.ASP") {	

	var Left_Value=gmapobj.getLeftTopLocation();
	var Right_Value=gmapobj.getRightBottomLocation();

	var UTM_LeftTopRealValue = Left_Value.split("/");
	var UTM_RightBottomRealValue = Right_Value.split("/");

	var x = UTM_LeftTopRealValue[1];
	var y = UTM_LeftTopRealValue[0];

	var x1 = UTM_RightBottomRealValue[1];
	var y1 = UTM_RightBottomRealValue[0];

		var lc=gmapobj.getZoomLevel()+1;
		
			var mapCurZoom;


	 if(lc==0 ||lc==1){
		mapCurZoom=14;
	
	}
		else if(lc==2){
		mapCurZoom=15;
	}
		else if(lc==3||lc==4||lc==5){
		mapCurZoom=16;
	}
		
	else if(lc==6||lc==7||lc==8){
		mapCurZoom=17;
	}
		else if(lc==9||lc==10){
		mapCurZoom=18;
	}
	else{
		mapCurZoom=16;
	}
	gocm_strictcenters(UTM_LeftTopRealValue[1],UTM_LeftTopRealValue[0],UTM_RightBottomRealValue[1],UTM_RightBottomRealValue[0],mapCurZoom);
	
	}

}

function gocm_strictcenters(x, y,x1,y1,mapCurZoom) {
	if (visit_frm != ""){
		location.href = "/Google/CM4Map.asp?x="+x+"&y="+y+"&x1="+x1+"&y1="+y1+"&mapCurZoom="+mapCurZoom+"&vst="+visit_frm;
	}else{
		location.href = "/Google/CM4Map.asp?x="+x+"&y="+y+"&x1="+x1+"&y1="+y1+"&mapCurZoom="+mapCurZoom;
	}
}	


//====================================================================================================================