var php  = null;
var http = null;
var para = null;
var xml  = null;
var xml2 = null;
var node = null;

area = {
	"spot": "34.6929666,135.1935319"
}

function loadMap(str) {
	/* サーバと通信してデータを取得する */
    php = 'http://club.kobe-np.co.jp/jazz/map/' + str + '.xml';
	http = ZdcXmlHttp.create();
    if(!http)
    {
      alert('通信できません。オブジェクトの生成に失敗しました。');
      return;
    }
    http.open('GET', php, false);
    http.send(null);

    if(http.responseText.length == '0') alert('エラーが発生しました。');

	http.responseText.charset ='Shift_JIS';
	xml = ZdcXml.parse(http.responseText.replace(/[\n\r]/g,""));
        
	//指定の緯度・経度
	var lati_lngi = area[str];
	var data = lati_lngi.split(",");
    var lati = data[0];
	var lngi = data[1];
	/* フリースクロール地図を取得する */
	map = new ZdcMap(document.getElementById("JazzMap"));
	map.setMapType('4');
	map.setMapLocation(new ZdcPoint(lngi,lati), 11);
	map.addMapCenter(new ZdcMapCenter());
    map.addMapScaleBar(new ZdcScaleBar());
    //map.addMapCenterInfoBox(new ZdcMapCenterInfoBox());
	map.addMapControl(new ZdcControl(),5,5);
    map.saveMapLocation();
	
	
	/* ユーザレイヤを作成する */
	var userlay = new ZdcUserLayer();
	userlay.setLayerScale(1,18); // 縮尺レベル1から18に対応
	userlay.setLayerType('manual');

	/* マーカを生成する */
	for( i=0; i< xml.childNodes[0].childNodes.length; i++){
		var icon 	= new ZdcIcon();
		icon.size = new ZdcSize(16, 21);
		icon.shadowsize = new ZdcSize(22, 18);
		icon.offset = new ZdcPixel(-8, -21);
		icon.shdoffset = new ZdcPixel(8,2);
		icon.msgoffset = new ZdcPixel(0, -15);
		icon.image = '/sannomiya/map/img/icon.png';
		icon.shadowimage = '/sannomiya/map/img/shadow.png';
		icon.changeimage = '/sannomiya/map/img/iconc.png';
		icon.changesize = new ZdcSize(32, 24);
		icon.changeoffset = new ZdcPixel(-3, -5);
		
		
		 var point	= new ZdcPoint(xml.childNodes[0].childNodes[i].childNodes[3].childNodes[0].nodeValue ,xml.childNodes[0].childNodes[i].childNodes[2].childNodes[0].nodeValue);
		 var marker	= new ZdcMarker(point, icon);


		/* イベントを追加変更する */
		/* 【マウスクリック】イベントに登録 */
		ZdcEvent.addListener(marker, 'mouseclickmarker', function() {

			_mark = this;
	        if(map.msgopenstatus) map.closeMsgWindow();

			/* 吹き出し(大)を取得する取得する */
			/* サーバと通信してデータを取得する */
		        php = 'http://club.kobe-np.co.jp/jazz/map/parser.php?';
			para = 'id=' + str + '&no=' + _mark.id.nodeValue;

			http = null;
			http = ZdcXmlHttp.create();
		    if(!http)
		    {
		      alert('通信できません。オブジェクトの生成に失敗しました。');
		      return;
		    }
		    http.open('GET', php + para, true);
		    http.onreadystatechange = showMsgWindow; //sendする前にハンドラを追加する
		    http.send(null);
		
		});

		setUserData(marker,i); // 店舗データをマーカにセットする関数です
		userlay.addMarker(marker);	// ユーザレイヤにマーカを追加する 
	}

	/* 地図にユーザレイヤを追加する */
	map.addUserLayer(userlay); 
}

/* メッセージウィンドウを表示する */
function showMsgWindow() {
	if (http.readyState == 4 && http.status == 200) {
		xml2 = ZdcXml.parse(http.responseText.replace(/[\n\r]/g,""));
    	        try{
	          var node = document.createTextNode(xml2.childNodes[0].childNodes[0].childNodes[5].childNodes[0].nodeValue);
                }catch(e){
	          var node = document.createTextNode(" ");
	        }
		_mark.openMsgWindow(_mark.point ,_mark.title ,node);

    }
}

/* 店舗データをマーカにセット */
function setUserData(marker,id) {

	marker.id = document.createTextNode(xml.childNodes[0].childNodes[id].childNodes[0].childNodes[0].nodeValue); // this.idでひろう
	marker.point = new ZdcPoint(xml.childNodes[0].childNodes[i].childNodes[3].childNodes[0].nodeValue ,xml.childNodes[0].childNodes[i].childNodes[2].childNodes[0].nodeValue); // this.pointでひろう
	
	var title_text = document.createTextNode(xml.childNodes[0].childNodes[id].childNodes[1].childNodes[0].nodeValue);
 	try{
	  var link = xml.childNodes[0].childNodes[id].childNodes[4].childNodes[0].nodeValue;
        }catch(e){
	  var link = "";
	}
	var title = document.createElement('a');
	
	if(link != ""){
	  title.setAttribute('target', '_blank');
	  title.setAttribute('href', link);
      title.appendChild(title_text);
	  marker.title = title;
	}else{
	  marker.title = title_text;
	}
	//marker.title = document.createTextNode(xml.childNodes[0].childNodes[id].childNodes[1].childNodes[0].nodeValue); // this.titleでひろう
	
}

function pointofview(titlei, desci, linki, lati, lngi) {
    if(map.msgopenstatus) map.closeMsgWindow();
    var tmp_point = new ZdcPoint(lngi, lati);
    map.setMapLocation(tmp_point, 18); // 中心を変更する
	
	if(linki != ""){
      var nodelinki  = document.createElement('a');
      nodelinki.setAttribute('href', linki);
      nodelinki.setAttribute('target', '_blank');
      nodelinki.appendChild(document.createTextNode(titlei));
	  
	  var title = document.createElement('a');
      title.setAttribute('href', linki);
      title.setAttribute('target', '_blank');
      title.appendChild(document.createTextNode(titlei));
	  
	  var node = document.createElement('a');
      node.appendChild(document.createTextNode(desci));
    }else{
	  var nodelinki = document.createTextNode(titlei);
	  var title = document.createTextNode(titlei);
	  var node = document.createTextNode(desci);
	}
	

    if(titlei.length > 17){
        titlei = titlei.substring(0,15) + '…';
    }
    

	
	
	
    /* 吹き出しを表示する */
    map.createMsgWindow();
    map.openMsgWindow(tmp_point ,title , node); 

}

function moveMap(str) {
    if(map.msgopenstatus){
	  map.closeMsgWindow();
	}
	//指定の緯度・経度
	var data = area[str].split(",");
    var lati = data[0];
	var lngi = data[1];
    tmp_point = new ZdcPoint(lngi, lati);
    map.setMapLocation(tmp_point, 14); // 中心を変更する
	userlay.clearMarker();
	loadMap(str);
}
