var MSG_LOGIN = "로그인해 주세요.";
var MSG_LOGIN_OTHER = "로그인 후 사용하셔야 합니다. 로그인하시겠습니까?";
var MSG_REG = "이야기등록을 하실 수 없는 사용자입니다.";
var MSG_DEL_OK = "삭제되었습니다.";
var MSG_ERROR = "에러가 발생하였습니다.";

var MAPAPI_URL = "http://mapapi.cyworld.com/OpenMapAPIServer/openmap.do"
var MAP_HOME = "http://map.cyworld.com";
var MAP_LOGIN = "http://www.cyworld.com/main2/login.asp?loginstr=direct&redirection="
var MAP_POP_LOGIN = "http://map.cyworld.com/pop/login.map?cmd=pop&redirect="
var MAP_PLAZA2 = "http://cyplaza.cyworld.com/story/bbs/bbs_map.asp?vtype=2&url="
var TOWN_CD = "7";
var MAPVIEW_HOME = "http://map.cyworld.com/menu/view.map";

var LOADING = "<img src=\"/img/loading.gif\" />";
var STAT_LOADING = "<img id=\"statImg\" src=\"http://stat.cyworld.com/stat/stat.tiff?cp_url=[cyworld_ndr.nate.com/menu/view.map]\" width=\"0\" height=\"0\" border=\"0\"/>";
var SEARCH_LOADING =  "<img src=\"/img/loading.gif\" style=\"margin:200px 0 0 110px\"/>";                 
var LOADINGTITLE = "<img src=\"/img/loading_title.gif\" />"
var LOGCOUNT=0;

var MINI_PATH = "/img/attach/";
var DEFAULT_PIN = "pin01.gif";
var PRINT_PATH = "/img/print/";
var DEFAULT_PRINT_PIN = "print_pin_01.gif";
var MINI_DELIMETER = "|";
var NATION_NAME = "대한민국";

var ZOOM_SI = 10
var ZOOM_GU = 6
var ZOOM_DONG = 3
var SEARCH_DEFAULT_ZOOM = 4;
var TOP_MARGIN = 10;

var bIE = (navigator.userAgent.toLowerCase().indexOf("msie") != -1);
var bIE7 = (navigator.userAgent.toLowerCase().indexOf("msie 7") != -1);
var svcId = null;
var orderType = null;
var svcTitle = null;
var initPosition={marginTop:"0px",marginLeft:"0px",height:"0px",width:"0px"};

//컨텐츠를 리로딩 한다.	
var reloadFunc=null;
//이미지/이야기 토글시 호출할 함수
var toggleFunc=null;

function getLoading (w, h) {
	var loading = "<table width=\"" + w + "\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"clear:both;\">" +
		"<tr>" +
		"<td height=\"" + h + "\" style=\"text-align:center;\">" + LOADING + "</td>" +
    "</tr>" +
    "</table>";
	
	return loading;    
}

function px(a) {
  return Math.round(a) + "px";
}

function bessel(a) {
  return Math.floor(a, 0)
}
  
function trim(str) {
  return firstEnc(endEnc(str));
}

// 문자 뒤의 공백문자를 제거하는 함수
function endEnc(str) {
  str += "";
  var len = str.length;
  for(var i = (len - 1); (str.charAt(i) == ' '||(str.charAt(i)=="\n" )||(str.charAt(i)=="\r" )) && i > 0; i--);
  str = str.substring(0, i + 1);
  return str;
}

// 문자 맨 앞의 공백문자를 제거하는 함수
function firstEnc(str) {
  str += "";
  var len = str.length;
  var i = 0;

  for(i = 0; (str.charAt(i) == ' '||(str.charAt(i)=="\n" )||(str.charAt(i)=="\r" )) && i < len; i++){
  }
  str = str.substring(i, len);
  return str;
}

function isBlank(objj)
{
  if (trim(objj.value) == "" || objj.value == null || objj.value == "undefined")
     return false;
  else return true;
}

function cutName (name, len) {
  var str = " ..";
  var result = "";
  if (name) {
    if (name.length > len) {
      result = name.substring(0, len) + str;
    } else {
      result = name;
    }
  }

  return result;
}

function swfPhoto (idSWF, filenm, widthSWF, heightSWF,id) {
  var swfSrc='<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,124,0" width="' + widthSWF + '" height="' + heightSWF + '" align="middle"  VIEWASTEXT id="' + idSWF + '">';
  swfSrc+='<param name="allowScriptAccess" value="never">';
  swfSrc+='<param name="invokeURLs" value="false">';
  swfSrc+='<param name="wmode" value="transparent">';
  swfSrc+='<param name="quality" value="high">';
  swfSrc+='<param name="bgcolor" value="#ffffff">';
  swfSrc+='<param name="movie" value="' + filenm + '">';
  swfSrc+='<embed invokeURLs=false AllowScriptAccess="never" src="' + filenm + '" width="' + widthSWF + '" height="' + heightSWF + '" wmode="transparent"></embed>';
  swfSrc+='</object>';

	try {
		if ($(id)) {
	  	$(id).innerHTML = swfSrc;
	  }
	} catch (e) {}
}

function nateonObject(enc_nateon_email) {
  if (bIE) {
    document.write("<object id=\"NateOnApiAtx\" classid=\"clsid:7E00B0C7-30E9-4E5A-88A4-433AC86532C3\" width=\"0\" height=\"0\" VIEWASTEXT>");
    document.write("<param name=\"encodedkey\" value=\"" + enc_nateon_email + "\">");
    document.write("</object>");
  }
}

function bindParam(p_url,p_param,p_value){
  var parseUrl=p_url.split("?");
  var v_domain=parseUrl[0];
  var v_parameter="";
  var isAdded=false;    
  parseUrl=parseUrl[1].split("&");
  for(var i=0;i<parseUrl.length;i++){
    var params=parseUrl[i].split("=");
    if(params[0]==p_param){
      parseUrl[i]=params[0]+"="+p_value;
      isAdded=true;
      break;
    }
  }
  for(var i=0;i<parseUrl.length;i++){
    v_parameter=v_parameter+parseUrl[i];
    if(i<parseUrl.length-1)v_parameter=v_parameter+"&";

  }   
  if(!isAdded){
    v_parameter=v_parameter+"&"+p_param+"="+p_value;
  }
  return v_domain+"?"+v_parameter;
}

function ajaxSend(url,params,responseFunction) {
  var myAjax = new Ajax.Request(
    url, 
    {
      method: 'post', 
      parameters: params, 
      onComplete: responseFunction,
      asynchronous: true
    });
}

function ajaxSyncSend(url,params,responseFunction) {
  var myAjax = new Ajax.Request(
    url, 
    {
      method: 'post', 
      parameters: params, 
      onComplete: responseFunction,
      asynchronous: false
    });
}

function ajaxUpdate(objId, url,params){
  var myAjax = new Ajax.Updater(
    objId, 
    url, 
    {
      method: 'post', 
      parameters: params
    });
}

function ajaxPeriod (objId, url,params,responseFunction){
  var myAjax = new Ajax.PeriodicalUpdater(
    objId, 
    url, 
    {
      method: 'post', 
      parameters: params,
      frequency:10,
      onSuccess:responseFunction
    });
}

function ajaxSendUrlParam(url,name,value,func){
  var s_url = bindParam(url,name,value);
  var urlOnly = s_url.substring(0,s_url.indexOf("?"));
  var paramOnly = s_url.substring(s_url.indexOf("?")+1);
  ajaxSend (urlOnly,paramOnly,func);
}

//타이머 관련  셑팅 
var delay = 10;
//슬라이더 초기 셑팅 
this.countLimit = 144; //총이동할 픽셀
this.countStep = 144; //이동픽셀 
this.lastIdx = 0;

//프로그램 관련 상수 (손대지마시오)
var scrollObj=null; //스크롤 오브젝트 
var timerID = null;
var timerRunning = false;
//왼쪽으로 움직이기 
function movePrevious(objId){
  scrollObj=$(objId);
  StartTheTimer("moveSlide('right')");
}
//오른쪽으로 움직이기 
function moveNext(objId){
  scrollObj=$(objId);
  StartTheTimer("moveSlide('left')",10);
}

function moveFirst (objId) {
  scrollObj=$(objId);
  StartTheTimer("moveSlide('first')");
}

function moveLast (objId) {
  scrollObj=$(objId);
  StartTheTimer("moveSlide('last')");
}

function moveDown (objId) {
  StartTheTimer("doSlidePopup('"+objId+"',8,true)",10);
}

function moveUp (objId) {
  StartTheTimer("doSlidePopup('"+objId+"',8,false)",10);
}

function moveSlide (dirMove) {
  if (scrollObj == null) return;
  if (scrollObj.scrollLeft == null) scrollObj.scrollLeft=0;
  if (!this.isRun) {
    this.oldPosition= scrollObj.scrollLeft;
    this.count=0;
    this.isRun=true;
  }
  if (this.count >= this.countLimit){
    this.isRun = false;
  } else {
    this.count = this.count + this.countStep;

    if (dirMove == "left") {
      scrollObj.scrollLeft = scrollObj.scrollLeft + this.countStep;
    } else if (dirMove == "right") {
      scrollObj.scrollLeft = scrollObj.scrollLeft - this.countStep;
    } else if (dirMove == "first") {
      scrollObj.scrollLeft = 0;
    } else {
      scrollObj.scrollLeft = this.countStep * this.lastIdx;
    }
  }

  return this.isRun;
}

//팝핑
function doSlidePopup(id,step,isOpen) {
  var obj=$(id);
  
  var limite=1;
  var height=obj.clientHeight;
  if (isOpen) {
    limite=obj.scrollHeight;
    height=height+step;
  } else {
    limite=1;
    height=height-step;
  }
  if (isOpen&& height > limite ) {
    obj.style.height=limite;
    return false;
  } else if(!isOpen&& height < limite) {
    obj.style.height=limite;
    return false;
  }
  obj.style.height=height;
  //alert(obj.offsetTop+":"+obj.offsetHeight+":"+ obj.scrollHeight+":"+ obj.scrollTop);
  return true;
}


//팝업슬라이드 시키기
function doSlidePopup(id,step,isOpen){
  var obj=$(id);
  var limite=1;
  var height=obj.clientHeight;
  if(isOpen){
    limite=obj.scrollHeight;
    height=height+step;
  }else{
    limite=1;
    height=height-step;
  }
  if(isOpen&& height>limite ){
    obj.style.height=limite;
    return false;
  }else if(!isOpen&& height<limite){
    obj.style.height=limite;
    return false;
  }
  obj.style.height=height;
  //alert(obj.offsetTop+":"+obj.offsetHeight+":"+ obj.scrollHeight+":"+ obj.scrollTop);
  return true;
}


 
function fadeOut(objId,start,min,step,p){
  StopTheClock();
  var obj=$(objId);
  $(objId).min=min;
  $(objId).opt=start;
  $(objId).step=step;
  obj.fade=p;
  StartTheTimer("fade('"+objId+"',true)",1);
}

function afterFadeOut(obj){
  obj.style.marginTop=obj.fade.marginTop;
  obj.style.marginLeft=obj.fade.marginLeft;
  obj.style.height=obj.fade.height;
  obj.style.width=obj.fade.width;
}

function fadeIn(objId,start,max,step,p,zIndex){
  StopTheClock();
  var obj=$(objId);
  $(objId).max=max;
  $(objId).opt=start;
  $(objId).step=step;
  if (zIndex) {
    obj.style.zIndex = zIndex;
  } else {
    obj.style.zIndex = 90;
  }

  obj.style.display=""; 
  obj.style.marginTop=p.marginTop;
  obj.style.marginLeft=p.marginLeft;
  obj.style.height=p.height;
  obj.style.width=p.width;

  StartTheTimer("fade('"+objId+"',false)",1);
}

function fade(objId,isOut){
  var opt=$(objId).opt;
  var limit=0;
  var isLimit=false;
  if(isOut) {
    limit = $(objId).min;
    opt=opt-$(objId).step;
    isLimit=$(objId).min>opt
  } else { 
    limit = $(objId).max;
    isLimit=$(objId).max<opt;
    opt=opt+$(objId).step;
  }
  $(objId).opt=opt;

  if ($(objId).style.MozOpacity){
    opt=!isLimit?opt/100:limit/100;
    $(objId).style.MozOpacity=opt;
    if(isLimit&&isOut){
      afterFadeOut($(objId));
      return false;
    }else if(isLimit){
      return false;
    }
  }else{
    opt=!isLimit?opt:limit;
    $(objId).style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity="+opt+")" ;
    if(isLimit&&isOut){
      afterFadeOut($(objId));
      return false;
    }else if(isLimit){
      return false;
    }
  }
  return true;
}

function fadeInAllScreen(flag) {
  var width = $("container").clientWidth + 20;
  var height = $("container").clientHeight - TOP_MARGIN;

  var fade = $('fadeScreen');
  fade.style.backgroundColor="ffffff";
  var position=null;

  // flag : true 면 home
  if (flag) {
    height += 40;
    position={marginTop:"-40px",marginLeft:"0px",height:px(height),width:px(width)};
  } else {
    position={marginTop:"0px",marginLeft:"0px",height:px(height),width:px(width)};
  }
  fadeIn('fadeScreen',0,54,10,position,100);
}

function fadeOutAllScreen(){
  var fade=$("fadeScreen");
  var position={marginTop:"0px",marginLeft:"0px",height:"0px",width:"0px"} //fadeOut 한후 없앨 위치
  fadeOut('fadeScreen',54,0,20,position); 
}

/*-------- Timer --------*/
function StopTheClock(){
  if(timerRunning);
  clearTimeout(timerID);
  timerRunning = false;
}

var myDelay=null;
function StartTheTimer(func,pDelay) {
  myDelay=pDelay?pDelay:delay;
  try{
    var isRunable=false;
    if(func!=null){
      isRunable=eval(func);
    }else{
      isRunalbe=false;
    }
    
    if( isRunable){
      timerID = self.setTimeout("StartTheTimer(\""+func+"\","+myDelay+")", myDelay);
      timerRunning = true;
    }else if(timerRunning &&!isRunable){
      StopTheClock();
    }
  }catch(e){
      if(timerID) StopTheClock();
      alert(e);
  }
}

function evalScriptsByName(eval_scriptName){
  var eval_scripts = document.getElementsByTagName("SCRIPT");
  var tmp;
  var idx = 0;
  var swfArr = new Array();
  
  try {
	  for (var eval_index = 0;eval_index < eval_scripts.length;eval_index++) {
	    tmp = eval_scripts[eval_index];
	
	    if (tmp.defer) {
	      swfArr[idx++] = tmp.innerHTML;
	    } else if (tmp.type == eval_scriptName && !tmp.active) {
	      tmp.active = true;
	      eval(tmp.innerHTML);
	    }
	  }
	  
	  if (!bIE) {
	    for (i = 0;i < swfArr.length;i++) {
	      eval (swfArr[i]);
	    }
	  }
	} catch (e) {}
}

//오브젝트 ID 를 이용하여 스크립트를 eval 시킨다.
function evalScriptById(id){
  if(!$(id)) return;
  eval($(id).innerHTML);
}

/* 싸이월드 Script */
/*****************************************************
* 로그인 페이지로 이동--상단로그인버튼 전용
*****************************************************/
function login () {
	var fullUrl = window.document.URL;
	var idx = fullUrl.indexOf("?");
	var url;
	
	url = MAP_LOGIN + encodeURIComponent(fullUrl);

  top.location.href = url;
}

/*****************************************************
* 싸이로그아웃
*****************************************************/
function logout() {
  //document.location.href = "/com/logout.map";
    document.location.href = "http://cyxso.cyworld.com/logout.jsp";
}

function ndrClick (content, etc) {
	var img;
	
	if ($("statImg")) {
		img = $("statImg");
	} else {
		img = new Image();
	}
	content = clipNdrUrl(content);
	var srcUrl;
	
  if (etc && etc == "N") {
  	srcUrl = "http://stat.cyworld.com/stat/stat.tiff?cp_url=[cyworld_ndr.nate.com/" + content + "]";
  } else {
		srcUrl = "http://statetc.cyworld.com/stat/stat.tiff?cp_url=[cyworld_ndretc.nate.com/" + content + "]";
	}
	
	img.src = "";
	img.src = srcUrl;
}

function clipNdrUrl (val) {
	if (val.substring(0,1) == "/") {
		result = val.substring(1);
	} else {
		result = val;
	}
	
	return result;
}

function openWindow(url,target,intWidth,intHeight,prop) {
  if(!prop ) prop="resizable=no,scrollbars=no";  
  var posX = (screen.availWidth/2)-(intWidth/2);
  var posY = (screen.availHeight/2)-(intHeight/2);
  var winoption = "";

  if (arguments.length >= 3) {
    winoption = "width="+intWidth+",height="+intHeight+",left="+posX+",top="+posY +","+prop;
  }
  var opener=window.open(url, target, winoption);
  if(opener) opener.focus();
  return opener;
}

/**
* 싸이 미니홈피 open
**/
function setViewNum (postId, writerId) {
  var params = "cmd=updatePostCount&post_id=" + postId;
  if (writerId) {
    params += "&writer_id=" + writerId;
  }

  ajaxSend('/view/post.map', params, showViewCnt);
}

function showViewCnt(res) {
  var result = trim(res.responseText);
  var val = result.split(",");

  if (val[0] > 0) {
    var arr = document.getElementsByName("view_" + val[1]);
    var cnt;
    
    for (i = 0;i < arr.length;i++) {
      if (i == 0) {
        try {
          cnt = parseInt(arr[0].innerHTML) + 1;
        } catch (e) {
          cnt = arr[0].innerHTML;
        }
      }
      arr[i].innerHTML = cnt;
    }
  }
}

function openOriginalPost(url, svc_id, postId, writerId) {
	if (reloadFunc) {
	  if (reloadFunc == sendArea) {
	    ndrClick ("click_map/search/place");
	  } else {
	    ndrClick ("click_map/search/story");
	  }
  }
  
  setViewNum (postId, writerId);
  
  if (svc_id=="MH" || svc_id=="MV") {
    var intWidth=932;
    var intHeight=538;
    var posX = (screen.availWidth/2)-(intWidth/2);
    var posY = (screen.availHeight/2)-(intHeight/2);  
    var winoption = "width="+intWidth+",height="+intHeight+",left="+posX+",top="+posY +",resizable=no,scrollbars=no";   
    window.open(url ,'person_info',winoption);
  } else if (svc_id=="TW") {
    var intWidth=932;
    var intHeight=538;
    var posX = (screen.availWidth/2)-(intWidth/2);
    var posY = (screen.availHeight/2)-(intHeight/2);  
    var winoption = "width="+intWidth+",height="+intHeight+",left="+posX+",top="+posY +",resizable=no,scrollbars=no";   
    window.open(url,'town_info',winoption);
  } else {
    window.open(url ,'_new','');
  }
}

function openHompy (url) {
  var intWidth=932;
  var intHeight=538;
  var posX = (screen.availWidth/2)-(intWidth/2);
  var posY = (screen.availHeight/2)-(intHeight/2);  
  var winoption = "width="+intWidth+",height="+intHeight+",left="+posX+",top="+posY +",resizable=no,scrollbars=no";   
  window.open(url ,'person_info',winoption);
}

// *****  해쉬 맵 클래스 **** //
JHashMap = Class.create();
JHashMap.prototype = {
  keys:null,
  values:null,
  size:0,
  initialize : function () {
    this.keys=new Array();
    this.values=new Array();
  },
  put : function (key,value) {
    if(this.getKeyIndex(key)>=0){
      var idx=this.getKeyIndex(key);
      this.keys[idx]=key;
      this.values[idx]=value;
    }else{
      this.keys[this.size]=key;
      this.values[this.size]=value;
      this.size=this.size+1;
    }
    
  },
  get : function(key){
    if(this.size==0) return null;
    for(var i=0;i<this.keys.length;i++){
      if(this.keys[i]==key) return this.values[i];
    }
    return null;
  },
  getKeyIndex : function(key){
    if(this.size==0) return -1;
    for(var i=0;i<this.keys.length;i++){
      if(this.keys[i]==key) return i;
    }
    return -1;
  },
  getKeys : function(){
    return this.keys;
  },
  getValues : function(){
    return this.values;
  },
  remove : function(key) {
    var rmIdx=this.getKeyIndex(key);
    if(rmIdx==-1)return;
    this.keys[rmIdx]=this.keys[this.keys.length-1];
    this.keys.length=this.keys.length-1;
    this.values[rmIdx]=this.values[this.values.length-1];
    this.values.length=this.values.length-1;
    this.size=this.size-1;
  }
}

//옵션 메니져
JSelectBox = Class.create();
JSelectBox.prototype = {
  selectBox:null,
  initialize : function (sBox) {
    this.selectBox=sBox;
  },
  clear: function (start,end) { //select Box 내 Option 삭제
    if(start==null) start=0;
    if(end==null||end>this.selectBox.options.length) end=this.selectBox.options.length;
    if(start >= end) return;
    for(var i=end;i>=start;i--){
      this.selectBox.options[i]=null;
    }
  },
  append: function (oPs) { //Option 추가 단 oPs 는 Options 배열일것
    var start=this.selectBox.options.length;
    for(var i=0;i<oPs.length;i++){
      this.selectBox.options[(i+start)]=oPs[i];
    }
  }
}

function stripHTMLtag (string) {
  var objStrip = new RegExp();
  objStrip = /[<][^>]*[>]/gi;
  return string.replace(objStrip, "");
}

function convertHTMLtag (string) {
  var tmp = string.replace(/&lt;/gi, "<");
  tmp = tmp.replace(/&gt;/gi, ">");
  tmp = tmp.replace(/&quot;/gi, "\"");

  return tmp;
}

function chkCtrlWheel () {
  if (event.ctrlKey) {
    return false;
  } else {
    return true;
  }
}

function attachFile(frm_name,flag,m_flag) {
  var domain = MAP_HOME;
  var obj = eval('document.' + frm_name);

  var id = '';
  var frmType;
  var align;
  
  if (flag == undefined) flag = "img2";
  if (m_flag == undefined) m_flag = "";
  
  if (obj.attach_size) {
    if (obj.attach_size.value > 2000) {
      alert ('첨부파일은 2MB 를 초과할 수 없습니다.');
      return;
    }
  }
  
  if (obj.frmType == undefined || flag != "img") {
    frmType = "N";
    align = '';
  } else {
    frmType = obj.frmType.value;
    align = 1;
  }
  
  /* 2006.03.29 added by fantazic 업로드 경로 추가 for 사진인증 */
  var uploadUrl = 'http://cyupload4.cyworld.com/common/file_upload_select_v2.asp';

  /* 2005.5.18 added by WDH frmType 추가(html editor 에 넣는지 여부 파악하는 flag) */
  var goUrl = uploadUrl + '?tid=' + id + '&flag=' + flag + '&m_flag=' + m_flag + '&align=' + align + '&up_domain=' + domain + 
              '&frm_name=' + frm_name + '&frmType=' + frmType + '&html_flag=' + frmType;
  window.open(goUrl,'upload','height=500,width=800,scrollbars=no,resizable=no');
}

/**
  쿠키관련 툴 
*/
function setCookie (name, value, expiredays, path, domain)  { 
  if(!path) path="/";
  if(!domain) domain="";
  var expireDate = new Date();
  expireDate.setDate(expireDate.getDate() + expiredays);
  document.cookie = name + "=" + escape(value) + "; path="+path+";domain="+domain+"; expires=" + expireDate.toGMTString();
} 

function getCookie(name) {
  var nameOfCookie = name + "=";

  var x = 0;
  while (x <= document.cookie.length ) {
  	var y = (x+nameOfCookie.length);
    if (document.cookie.substring(x, y) == nameOfCookie) {
    	if ((endOfCookie=document.cookie.indexOf( ";", y )) == -1) endOfCookie = document.cookie.length;
			return unescape(document.cookie.substring(y, endOfCookie));
		}
    x = document.cookie.indexOf(" ", x) + 1;
    if (x == 0) break;
  }
  return "";
}


function clearCookie(name,path,domain){
  if(!path) path="/";
  if(!domain) domain="";  
  var todayDate = new Date(); 
  document.cookie=name + "=" + ";path=" +path + ";domain=" + domain+ ";expires="  + todayDate;
}

function openViewMap (map_id, target) {
  var url = "/menu/view.map?map_id=" + map_id;
  var targetwin;
  
  if (arguments.length == 1) {
    targetwin = "openmap";
  } else {
    targetwin = target;
  }
  openWindow(url, targetwin);
}

var oldDivId = null;
var oldImgId = null;
var oldToggleImg = null;

function toggleMenuDiv (objId, imgId, toggleImg){
  var visible = $(objId).style.visibility == "hidden" ? false : true;
	var defaultImg =  "/img/button/btn_select03";
	if (toggleImg) {
		defaultImg = toggleImg;
	}
			
  if (!visible){
    MM_showHideLayers(objId,'','show');
  } else {
    MM_showHideLayers(objId,'','hide');
  }

  if ((oldDivId && oldDivId != objId) && $(oldDivId)) {
    $(oldDivId).style.visibility = "hidden";
    if (oldImgId) {
    	if (oldToggleImg) {
    		$(oldImgId).src = oldToggleImg + ".gif";
    	} else {
    		$(oldImgId).src = defaultImg + ".gif";
    	}
    }
  }

  oldDivId = objId;
  oldImgId = imgId;
  oldToggleImg = toggleImg;

  if (imgId) {
		if (visible) {
      $(imgId).src = defaultImg + ".gif";
    } else {
      $(imgId).src = defaultImg + "_up.gif";
    }
  }
}

var oldDivToggleId = null;
var oldToggleImgId = null;

function toggleDiv (objId, imgId, left, top) {
  var visible = $(objId).style.display == "none" ? false : true;

  if (!visible){
    $(objId).style.display = "block";
  } else {
    $(objId).style.display = "none";
  }
 	if ((oldDivToggleId && oldDivToggleId != objId) && $(oldDivToggleId)) {
    $(oldDivToggleId).style.display = "none";
    if (oldToggleImgId) {
    	$(oldToggleImgId).style.background = "url(/img/v2/bul_grayarrow02.gif) " + left + " 8px no-repeat";
    }
  }

  oldDivToggleId = objId;
  oldToggleImgId = imgId;
  
  if (imgId) {
    if (visible) {
      $(imgId).style.background = "url(/img/v2/bul_grayarrow02.gif) " + left + " 8px no-repeat";
    } else {
      $(imgId).style.background = "url(/img/v2/bul_grayarrow02_up.gif) " + left + " 7px no-repeat";
    }
  }
}

function toggleMiniDiv (objId, imgId) {
	toggleLayer(objId);
	
	if ($(objId).style.display == "none") {
		$(imgId).src = "/img/renew/ico_navi.gif";
	} else {
		$(imgId).src = "/img/renew/ico_navi_up.gif";
	}
}

function toggleMenuDivNew (objId, imgId){
  var visible = $(objId).style.visibility == "hidden" ? false : true;

  if (!visible){
    MM_showHideLayers(objId,'','show');
  } else {
    MM_showHideLayers(objId,'','hide');
  }

  if ((oldDivId && oldDivId != objId) && $(oldDivId)) {
    $(oldDivId).style.visibility = "hidden";
  }

  oldDivId = objId;
  if (imgId) {
    if (visible) {
      $(imgId).style.display = "block";
	  $(imgId+"Up").style.display = "none";
    } else {
      $(imgId).style.display = "none";
	  $(imgId+"Up").style.display = "block";
    }
  }
}

function setMenuDiv (text, code) {
  svcTitle = text;
  svcId = code;
}

function initParam () {
  svcTitle = null;
  svcId = null;
  orderType = null;
}

function trimChar(strValue, strDel) {
  var strResult = "";
  var c;
  var i;
  var nLength = strValue.length;
  
  for(i = 0;i < nLength;i++) {
    c = strValue.charAt(i);
    if(c != strDel){
      strResult += c;
    }
  }
  return(strResult);
}

function IsNumeric(checkStr) {
  checkStr = trimChar(checkStr,",");

  for (i = 0;  i < checkStr.length;  i++) {
    ch = checkStr.charAt(i);
    if (ch < "0" || ch > "9")
      return (false); 
  }
  return (true); 
}

function IsAlpha (checkStr) {
  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";

  for (i = 0;i < checkStr.length;i++) {
    ch = checkStr.charAt(i);
    for (j = 0;j < checkOK.length;j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length) {
      return (false);
      break;
    }
  }
  return (true);
}

function goRoute (flag, x, y) {
  var url = "/route/route.map?flag=" + flag + "&center_x=" + x + "&center_y=" + y;
  window.location.replace (url);
}

function goMapMenu (type, obj) {
  var url = "/menu/view.map";
  if(type == "route")  url = "/route/route.map";
  else if(type == "trans") url = "/traffic/home.map";
  if(obj){
	var center = obj.getCenterLatLng();
	var zoom_level = obj.getZoomLevel();
	url += "?zoom_level=" + zoom_level + "&center_x=" + center.x + "&center_y=" + center.y;
  }
  window.location.replace (url);
}

function mapZoomUp (obj) {  
  var level = obj.getZoomLevel();

  obj.zoomTo (level - 1);
}

function mapZoomDown (obj) {  
  var level = obj.getZoomLevel();

  obj.zoomTo (level + 1);
}

function mapInit (obj) {
  if (obj.lastLatLng) {
    obj.recenterOrPanToLatLng(obj.lastLatLng);
  }
}

function printMap (mapObj, x, y, poi_type, poi_id, name) {
  var link, level, center;
  
  if (mapObj) {
  	level = mapObj.getZoomLevel();
  	center = mapObj.getCenterLatLng();
  } else {
  	level = SEARCH_DEFAULT_ZOOM;
  	center = {};
  	center.x = x;
  	center.y = y;
  }
  
  link = "/addon/print.map?printable=true&center_x=" + center.x + "&center_y=" + center.y + "&zoom_level=" + level;
  
  if (x) {
  	link += "&x_coord=" + x;
  }
  
  if (y) {
  	link += "&y_coord=" + y;
  }

  if (poi_type) {
     link += "&poi_type=" + poi_type;
  }
  
  if (poi_id) {
    link += "&poi_id=" + poi_id;
  }
  
  if (name) {
    link += "&poi_name=" + encodeURIComponent(name);
  }
  
  openWindow(link, 'print', 640, 635);
}

function couponMap (x, y, poi_type, poi_id, name) {
  var link, level, center;
  
  link = "/addon/print.map?cmd=couponPrint&printable=true&center_x=" + x + "&center_y=" + y + "&zoom_level=3";
  
  if (x) {
  	link += "&x_coord=" + x;
  }
  
  if (y) {
  	link += "&y_coord=" + y;
  }

  if (poi_type) {
     link += "&poi_type=" + poi_type;
  }
  
  if (poi_id) {
    link += "&poi_id=" + poi_id;
  }
  
  if (name) {
    link += "&poi_name=" + encodeURIComponent(name);
  }

  openWindow(link, 'print', 600, 710);
}

/* 이야기 신고 */
function claim (post_id) {
	if(!chkLogin ("")) return;
  
  var reqParam = "post_id=" + post_id;
  ajaxSend('/view/claim.map', reqParam, showClaim);
}

function showClaim (res) {
  var result = trim(res.responseText);

  if (result.substring(0,1) == "0") {
    openWindow ('/view/claim.map?printable=true&cmd=form&post_id=' + result.substring(1), 'claim', 400, 345, '');
  } else {
    alert (result.substring(1));  
  }
}

/* 댓글 신고 */
function claimRepl(repl_id, repl_type) {
	if(!chkLogin ()) return;
	var reqParam = "&reply_id=" + repl_id + "&reply_type=" + repl_type;
	ajaxSend("/view/claim.map?cmd=check", reqParam, showClaimReply);
}


function showClaimReply(res) {
	eval(trim(res.responseText));
	//execScript(trim(res.responseText), 'javascript');
}

/* 이야기 추천 */
function recPost (post_id, post_wid, prefix) {
	if(!chkLogin ("")) return;
  if(post_wid && post_wid == user_id){
	alert("본인이 작성한 이야기는 추천할 수 없습니다.");
	return;
	}
  var reqParam = "post_id=" + post_id;
  if (prefix) {
    reqParam += "&prefix=" + prefix;
  }
  ajaxSend('/view/rec.map?cmd=recPost', reqParam, showPostRec);
}

function recPoi (flag, poi_type, poi_id) {
	if(!chkLogin ("")) return;
  
  var reqParam = "rec_type=" + flag + "&poi_type=" + poi_type + "&poi_id=" + poi_id;
  ajaxSend('/view/rec.map?cmd=recPoi', reqParam, showPoiRec);
}

function showPostRec (res) {
  /* message,result,post_id */
  var result = trim(res.responseText);
  var val = result.split(",");
  alert (val[0]);

  if (val[1] == "Y") {
    var arr = document.getElementsByName("rec_" + val[2]);
    var cnt;
    
    for (i = 0;i < arr.length;i++) {
      if (i == 0) {
        try {
          cnt = parseInt(arr[0].innerHTML) + 1;
        } catch (e) {
          cnt = arr[0].innerHTML;
        }
      }
      arr[i].innerHTML = cnt;
    }
  }
}

function showPoiRec (res) {
  var result = trim(res.responseText);
  var val = result.split(",");
  var obj, cnt;
  
  // 추천
  if (val[1] == "Y") {
		obj = $("rec_cnt");
		if (obj) {
			cnt = parseInt(obj.innerHTML) + 1;
			obj.innerHTML = cnt;
		}
  // 비추천
  } else if (val[1] == "N") {
  	obj = $("dec_cnt");
		if (obj) {
			cnt = parseInt(obj.innerHTML) + 1;
			obj.innerHTML = cnt;
		}
  }  	

  alert (val[0]);
}

function openGuide (tab, pos) {
  var tmp = tab + "Guide";
  var tmpPos = "";
  
  if (pos) tmpPos = pos;

  openWindow ("/guide/guide.map?printable=true&page=" + tmp + "#" + tmpPos, 'guide', 636, 595);
}

function goAreaPost (type, poi_id, show_id) {
  var url = "/theme/theme.map?cmd=poiView&poi_type=" + type + "&poi_id=" + poi_id;
  if (show_id) {
    url += "&showId=" + show_id;
  }
  window.location.href = url;
}
var w_Flag;	//전체, 현재 지역 로딩 플래그
var w_post_id;
var w_post_user_id;		//삭제될 포스트의 주인 아이디
function sendDelPost (svc_id, post_id, post_user_id, flag) {
  if (!confirm("삭제하시겠습니까?")) {
    return;
  }
  var params = "cmd=deleteStory&svc_id=" + svc_id + "&post_id=" + post_id;
  if(flag) w_Flag = flag;
  w_post_user_id = post_user_id;
  ajaxSend('/view/post.map', params, showDelPost);
}

function showDelPost (res) {
  var result = trim(res.responseText);

  if (result == "Y") {
    alert (MSG_DEL_OK);
	//이야기 삭제후 이야기 다시 읽어오기
	if($("mystory")) sendUserPost(w_post_user_id,w_Flag);
  } else {
    alert (MSG_ERROR);
  }
}

function getNameKey(name) {
  var arr = document.getElementsByName(name);
  var j;
    
  for (var i = 0; i < arr.length; i++) {
    if (arr[i].checked) {
      j++;
      return arr[i].value;
    }
  }
  
  if (j == 0) return "";
}

function themeScrap (theme_id, flag) {
	if(!chkLogin ("")) return;

	var goUrl = "/scrap.map?printable=true&item_seq=" + theme_id;
	if (flag) {
		goUrl += "&flag=" + flag;
	}
	openWindow (goUrl, "scrap", 300, 270);
}


function postScrap (post_id) {
	if(!chkLogin ("")) return;

	var goUrl = "/scrap.map?printable=true&item_seq=" + post_id;
	goUrl += "&flag=aoipost";
	openWindow (goUrl, "scrap", 300, 270);
}

var scrap_poi_id = 0;
var scrap_poi_type = "";
var scrap_type = 0;

function setScrapType (poi_id, poi_type) {
	if(!chkLogin ("")) return;
	scrap_poi_id = poi_id;
	scrap_poi_type = poi_type;	

	fadeInAllScreen();
	var divTop = 250;
	
	$("navi_scrap").style.top = px(divTop + parseInt(document.documentElement.scrollTop));
	$("navi_scrap").style.left = getCLeft("navi_scrap");
	$("navi_scrap").style.display = "block";
}

function poiScrap () {
	if(!chkLogin ("")) return;
	
	var obj = document.getElementsByName("r01");
	var checked = false;
	
	for (i = 0;i < obj.length;i++) {
		if (obj[i].checked == true) {
			checked = true;
			scrap_type = obj[i].value;
			break;
		}
	}
	
	if (!checked) {
		alert ("장소 스크랩 방법을 선택해주세요.");
		obj[0].focus();
		return;
	}
		
	$("navi_scrap").style.display = "none";	
	
	if(scrap_poi_id == 0 || scrap_poi_type == "") return;

	if(scrap_type == 0){
		sendPoiScrap();
		return;
	}
	
	var goUrl = "/scrap.map?printable=true&poi_id=" + scrap_poi_id + "&poi_type=" + scrap_poi_type + "&scrap_type=" + scrap_type;
	openWindow (goUrl, "scrap", 300, 270);
	fadeOutAllScreen();
}

function sendPoiScrap() {
	var param = "cmd=poiScrap&poi_id=" + scrap_poi_id + "&poi_type=" + scrap_poi_type + "&scrap_type=" + scrap_type;
	ajaxSend('/scrap.map', param, showPoiScrap);
}

function showPoiScrap(res) {
	if(trim(res.responseText) == "1") {
		var goUrl = "/scrap.map?printable=true&cmd=poiConfirm";
		openWindow (goUrl, "scrap", 300, 230);
	} else {
		alert("스크랩 실패! 관리자에게 문의해주세요.");
	}
	
	fadeOutAllScreen();
}

function closeScrap() {
	scrap_poi_id = 0;
	scrap_poi_type = "";
	
	fadeOutAllScreen();
	$("navi_scrap").style.display = "none";	
}

function tourPrint(tourId, flag) {
	var winStyle = 'toolbar=no,resizable=no,scrollbars=yes,status=no';
	var printUrl = "/addon/tour.map?printable=true&cmd=print&tour_id=" + tourId;
	if(flag && flag == 'plaza')
		printUrl += "&flag=" + flag;
	openWindow (printUrl, "printWnd", 587, 700, winStyle);
}

function tourApply() {
	if(!chkLogin ("")) return;
	var winStyle = 'toolbar=no,resizable=no,scrollbars=no,status=no';
	var applyUrl = "/addon/tour.map?printable=true&cmd=applyView";
	openWindow (applyUrl, "applyWnd", 400, 475, winStyle);
}

function goMyMap () {
	if (!chkLogin()) return;
	
	window.location.href = "/story/my.map";		
}

function goMyOneMap (url) {
	if (!chkLogin()) return;
	
	window.location.href = url;
}

function chkLogin () {
	if (user_id == "") {
		if (confirm(MSG_LOGIN)) {
			var dUrl = window.document.URL;

			if (dUrl.indexOf("/plaza") >= 0) {
				dUrl = MAP_PLAZA2 + encodeURIComponent(dUrl);
			} else {
				dUrl = dUrl;
			}
			
			var idx = dUrl.indexOf("?");
			var url;
			
			url = MAP_LOGIN + encodeURIComponent(dUrl);
            
			top.location.href = url;
		}
		return false;
	}
	return true;
}

function chkPopLogin (url) {
	if (user_id == "") {
		if (confirm(MSG_LOGIN)) {
			var dUrl = window.document.URL;
			openWindow (MAP_POP_LOGIN + encodeURIComponent(dUrl), "loingpop", 250, 270);
		}
		return false;
	}
	return true;
}

var tempRecFlag = 'R';
var w_id = "";			//장소, 테마기행 아이디
var w_type = "";		//장소, 테마기행 타입
var w_cmdName = "";		//호출할 함수 이름
var w_resultDivName = "";	//댓글 결과를 보여줄 영역 아이디
//댓글 쓰기 함수
function sendWriteReply(wid, type, text_id) {
	if(!chkLogin ()) return;

	/* 타운 사용자 체크 */
	if (user_id.substring(0,1) == "7") {
		townLayer(true);
		return;
	}

	if (trim($(text_id).value) == '') {
		alert ("내용을 입력해주세요.");
		$(text_id).focus();
		return;
	}			

	var param = "cmd=write&type=" + type + "&poi_id=" + wid + "&rec_cnt=0&content=" + encodeURIComponent($(text_id).value);		
	//장소 추천 인자값 체크
	var isChk;
	if(type == "T"){
		if($('chk01'))
			isChk = $('chk01').checked;
	}
	else{
		if($('recommended'))
			isChk = $('recommended').checked;
	}

	if(isChk) {
		tempRecFlag = 'R';	
	} else {
		tempRecFlag = 'D';
	}	

	param += "&poi_rec_flag=" + tempRecFlag;	
	
	//미니홈피 공개 유무 체크
	var reply_user_flag = "&user_flag=Y";
	if ( $("chk02") && $('chk02').checked)
			reply_user_flag = "&user_flag=N";
	param += reply_user_flag;

	w_id = wid;
	w_type = type;
	ajaxSend('/view/reply.map', param, showWriteReply);
}

//댓글 쓰기 결과 보여주기 함수
function showWriteReply(res) {
	//결과가 성공이면 댓글 페이지를 새로고침
	if(trim(res.responseText) == "1") {
		sendPoiReply(w_id, w_type, w_cmdName);
		if(tempRecFlag == 'R')
			recPoi('rec',type,w_id);
		else if(tempRecFlag == 'D' && w_type == 'P')
			recPoi('dec',type,w_id);		
	}
}

var rec_flag = "";
var sort = "";

//장소 댓글 로딩 함수
function sendPoiReply(wid, type, cmdName, resultDivName) {
	w_cmdName = cmdName;
	var writerName = "";
	if ($("writerName") != null) {
		writerName = escape(trim($("writerName").value));
	}
	w_id = wid;
	w_type = type;
	if(resultDivName && resultDivName != "")
		w_resultDivName = resultDivName;
	var param = "cmd="+cmdName+"&poi_id="+wid+"&type="+type+"&writerName=" + writerName + "&sort=" + sort + "&poi_rec_flag=" + rec_flag;
	ajaxSend('/view/reply.map', param, showPoiReply);
}

var temp_repl_id = "";
//댓글 추천하기 함수
function recRepl(repl_id, repl_type) {
	if(!chkLogin ()) return;
	
	if (user_id.substring(0,1) == "7") {
		townLayer(true);
		return;
	}
			
	var param = "cmd=recommand&type=" + repl_type + "&reply_id=" + repl_id;
	temp_repl_id = repl_id;
	ajaxSend('/view/reply.map', param, showRecommandReply);
}

//댓글 추천 결과 보여주기 함수
function showRecommandReply(res) {
	var result = trim(res.responseText);

	if (result.substring(0,1) == "Y") {
		alert("추천되었습니다.");
		if($("repl_"+temp_repl_id)) {
			var aRecCnt = $("repl_"+temp_repl_id).innerHTML;
			aRecCnt++;
			$("repl_"+temp_repl_id).innerHTML = aRecCnt;
		}
		replyList(w_replyParam);
	} else {
		alert(result.substring(1, result.length));
	}
}

function getMousePoint(e, obj) {
	var p = new OPoint();
  if (!e) {
    var e = window.event;
  }
  if (e.pageX || e.pageY) {
    p.x = e.pageX;
    p.y = e.pageY;
  } else {
    if (e.clientX || e.clientY) {
      p.x = e.clientX + document.documentElement.scrollLeft;
      p.y = e.clientY + document.documentElement.scrollTop;
    }
  }
  
  if (obj) {
  	p.x -= obj.offsetLeft;
  	p.y -= obj.offsetTop;
  }
  return p;
}

function gotoURL (url) {
	if (url.indexOf("http://") < 0)
		url = "http://" + url;
	window.open(url);
}

function sendToPhoneMap (x, y, poi_type, poi_id) {
  var link = "/mobile.map?printable=true&center_x=" + x + "&center_y=" + y + "&poi_type=" + poi_type + "&poi_id=" + poi_id;
  
  openWindow(link, 'print', 540, 500);
}

function sendWriteAoiPost(){
	var param = "cmd=write";
	param += "&user_id=" + "22317633";
	param += "&aoi_id=" + "1";
	param += "&title=" + $("txtTitle").value;
	param += "&content=" + $("txtContent").value;
	param += "&sort=" + 0;
	param += "&area_code_large=" + "00";
	param += "&area_code_medium=" + "000";
	param += "&area_code_small=" + "000";
	param += "&root_id=" + "0";
	param += "&sort=" + "0";
	ajaxSend('/view/aoipost.map', param, showResult);
}


function sendViewAoiPost(){
	var param = "cmd=view";
	param += "&post_id=" + $("txtTitle").value;
	ajaxSend('/view/aoipost.map', param, showResult);
}

function sendRecAoiPost(){
	var param = "cmd=recommand";
	param += "&post_id=" + $("txtTitle").value;
	ajaxSend('/view/aoipost.map', param, showResult);
}

/*
function sendDeleteAoiPost(){
	var param = "cmd=delete";
	param += "&post_id=" + $("txtTitle").value;
	ajaxSend('/view/aoipost.map', param, showResult);
}
*/
function showResult(res){
	alert(res.responseText);
}


function sendWriteAoiPostEvent(){
	var param = "cmd=test";
	param += "&post_id=" + $("txtTitle").value;
	param += "&event_type=" + $("txtContent").value;
	ajaxSend('/view/aoipost.map', param, showResult);
}

function showWriteAoiPostEvent(res){
	alert(res.responseText);
}

/* 룰 적용 */
var zoomLevel;
var defaultVal = {success:"", scode_large:"00", code_large:"00", code_medium:"000", code_small:"000", si:NATION_NAME, gu:"", hdong:""};

function refreshZoomDong (center) {
	var url = "/addon/dong.map?fnc=setZoomDong&x=" + center.x/10 + "&y=" + center.y/10;
	$("hiddenFrame").src = url;
}

function setZoomDong (res) {
	var retVal = defaultVal;

	if (res) {
  	var result = res.Search_dong;
		if (result.success == 1) {
			retVal = {
					success:result.success, scode_large:result.hcode.substring(0,2), code_large:result.hcode.substring(0,2), code_medium:result.hcode.substring(2,5), code_small:result.hcode.substring(5,8),
					si:result.si, gu:result.gu, hdong:result.hdong};
		}			
	}
		
	setDongInfo (retVal);
}

function refreshDong (center, obj) {
	zoomLevel = map.getZoomLevel();
	
	if (obj) obj.innerHTML = LOADINGTITLE;
	var url = "/addon/dong.map?fnc=setDong&x=" + center.x/10 + "&y=" + center.y/10;

	$("hiddenFrame").src = url;
	lastCenter = {x:center.x, y:center.y};
}

function setDong (obj) {
	var retVal = defaultVal;
	
	if (obj) {
  	var result = obj.Search_dong;
  	
		if (result.success == 1) {
			retVal = {
					success:result.success, scode_large:result.hcode.substring(0,2), code_large:result.hcode.substring(0,2), code_medium:result.hcode.substring(2,5), code_small:result.hcode.substring(5,8),
					org_code_large:result.hcode.substring(0,2), org_code_medium:result.hcode.substring(2,5), org_code_small:result.hcode.substring(5,8),
					si:result.si, gu:result.gu, hdong:result.hdong};

			/* 룰 적용 */
			if (zoomLevel > ZOOM_DONG) {
				retVal.hdong = "";
				retVal.code_small = "";
			}
			
			if (zoomLevel > ZOOM_GU) {
				retVal.gu = "";
				retVal.code_medium = "";
			}
			
			if (zoomLevel > ZOOM_SI) {
				defaultVal.scode_large = retVal.scode_large;
				retVal = defaultVal;
			}
		}
	}

	displayDong(retVal);
}  

function getCLeft (objId) {
	var cLeft = parseInt(document.body.clientWidth)/2 - parseInt($(objId).style.width)/3;
	return px(cLeft);
}

function checkLen(obj) {
	var str,msg;
	var len = 0;
	var temp;
	var count = 0;
	var tempText = obj.value;	
	msg = tempText;

	str = new String(msg);
	len = str.length;

 	for (k=0 ; k<len ; k++) {
    temp = str.charAt(k);
  	if (escape(temp).length > 4) {
     	count += 2;
  	} else if (temp == '\r' && str.charAt(k+1) == '\n') {
   		count++;
  	} else if (temp != '\n') {
   		count++;
    }
 	}
 
 	if (count > 500) {
		obj.blur();
  	alert ("한줄평은 500byte 이내로 작성하셔야 합니다.");
  } else{
  	return false;
 	}
	obj.value =  tempText.substring(0,tempText.length-2);
}

var oldPoiLarge = "";
var oldPoiMedium = "";
var oldPoiLevel = "";
var poiMarkers = [];

function displayPoiXml (obj, areaInfo) {
	var level = obj.getZoomLevel ();

	if (level > 2) {
		oldPoiLevel = level;
		return;
	}
	var code_large = areaInfo.code_large;
	var code_medium = areaInfo.code_medium;

	if ((oldPoiLarge != code_large && oldPoiMedium != code_medium) || oldPoiLevel != level) {

		var url = "http://map.cyworld.com/xml/" + level + "/" + code_large + "_" + code_medium + ".xml";

		var xmlDoc = new EGeoXml("xmlDoc", obj, url);
		xmlDoc.parse();
		poiMarkers = xmlDoc.omarkers;
	}

	oldPoiLevel = level;	
	oldPoiLarge = code_large;
	oldPoiMedium = code_medium;
}

function removePoiXml (obj, areaInfo) {
	var code_large = areaInfo.code_large;
	var code_medium = areaInfo.code_medium;
	var level = obj.getZoomLevel ();
	
	if ((oldPoiLarge != code_large && oldPoiMedium != code_medium) || oldPoiLevel != level) {
		if (poiMarkers.length > 0) {
			var m;
			var n = poiMarkers;
			for (i = 0; i < n.length; i++) {
				m = n[i];
				obj.removeOverlay(m);
			}
		}
	}
}
