/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

            //<![CDATA[

            var map;

//            var splitCode = String.fromCharCode(9); // TAB区切り
              var splitCode = ","; // カンマ区切り

            var linefeedCode = String.fromCharCode(10);　// 行末(LF)
            //        var LinefeedCode = String.fromCharCode(13); // 行末(CR)
            //        var LinefeedCode = String.fromCharCode(13)+String.fromCharCode(10); // 行末(CR)


            var statusCode = 0;

            var datafile = "spotdata.csv"; // おひるねスポットデータ

            var lineData = new Array();
            var itemData = new Array();

            var spotmarkerArray = new Array();



            function initialize() {
                if (GBrowserIsCompatible()) {
                    map = new GMap2(document.getElementById("map"));
                    map.addControl(new GMapTypeControl());
                    map.addControl(new GLargeMapControl());
                    map.enableScrollWheelZoom(); //マウスのスクロールホイールを使用したズームを有効化

                    map.setCenter(new GLatLng(38.479394, 137.724609), 5); // 地図表示

                    GDownloadUrl(datafile, function(loadTextData, statusCode){
                        if (statusCode == 200){
                            setmarkerfunc(loadTextData, statusCode);
                        }
                    }); // Google map apiによるファイル読み込み


                    document.getElementById("bt").onclick = markercls;

                }
            }

            function markercls(){
              map.clearOverlays();
            }


            /*
             * spotdata.csv
             * 1行目はラベルで、以下の語句を含んでいること。
             * Title Description Latitude Longitude Officialhomepage（値）
             * Blog（ラベル）Date
             *
             */

            function setmarkerfunc(loadTextData, statusCode){

                var title ="";
                var Officialurl="";
                var blogurl ="";
                var windowtxt ="";
                var lat;
                var lng;

                var markerind = 0;
                var openInfoWindowHtmlopt = {maxWidth:250};


                if (statusCode == 200){
                    lineData = loadTextData.split(linefeedCode); // レコード抽出

                    itemData = lineData[0].split(splitCode); // ラベル抽出

                    var i;

                    for (i=0; i<itemData.length; i++){
                        if (itemData[i] == "Title") { var Label_T = i;}
                        if (itemData[i] == "Description") { var Label_D = i;}
                        if (itemData[i] == "Latitude") { var Label_Lat = i;}
                        if (itemData[i] == "Longitude") { var Label_Long = i;}
                        if (itemData[i] == "Officialhomepage（値）") { var Label_URL = i;} // 公式ホームページ
                        if (itemData[i] == "Blog（値）") { var Label_BLOG = i;} // ブログページ
                        if (itemData[i] == "Date") { var Label_DATE = i;} // 日付
                    }



                    for (i=1; i<lineData.length; i++){

                        itemData = lineData[i].split(splitCode); // アイテム抽出


//                        alert(itemData[Label_T]+" "+itemData[Label_D]+" "+itemData[Label_Long]+" "+itemData[Label_Lat]+" "+itemData[Label_URL]);

                        if (itemData[Label_T] != undefined){

                            title = itemData[Label_T];
                            Officialurl = itemData[Label_URL];
                            blogurl = itemData[Label_BLOG];
                            description = itemData[Label_D];

                            windowtxt = title+"　";

                            if (itemData[Label_DATE].length > 4){
                                windowtxt = windowtxt +"<br />"+ itemData[Label_DATE].substring(0,4)+"年"; // 西暦部分のみ抽出
                            }

                            windowtxt = windowtxt + "<hr />";

                            if (blogurl.indexOf("http") != -1 ) {
                                windowtxt = windowtxt + "<a href=\""+itemData[Label_BLOG]+"\" target = \"spotdisp\"><span class=\"blogpage\">ブログを読む</span></a>";
                            }else{
                                if (itemData[Label_D].length > 4){
                                    windowtxt = windowtxt + itemData[Label_D];
                                }
                            }


                            if (Officialurl.indexOf("http") != -1 ) {
                                windowtxt = windowtxt +"<br />"+"<a href=\""+itemData[Label_URL]+"\" target = \"spotdisp\"><span class=\"phomepage\">公式ホームページ</span></a>";
                            }

                            windowtxt = "<div style=\"width:250px;\">" + windowtxt + "</div>"; // 情報ウィンドの幅を指定する。


                            lat = parseFloat(itemData[Label_Lat]);
                            lng = parseFloat(itemData[Label_Long]);
                            
                            if (!(isNaN(lat) ||  isNaN(lng))){
                              var spotmarker = createMarker(parseFloat(itemData[Label_Lat]),parseFloat(itemData[Label_Long]),title,windowtxt);
                              spotmarkerArray[markerind] = spotmarker;
//                              map.addOverlay(spotmarker);

                              var eventlink = "<a href=\"#\" onclick=\"openInfo("+markerind+")\">"+title+"</a>"+" ";

                              document.getElementById("spots").innerHTML += eventlink;
                              
                              markerind++;

                            }

                        }

                    }


                }
            }

            function createMarker(lat,lng,inputtitle,windowtxt){ // 緯度、経度
                var gmarkeroptions = new Object();
                gmarkeroptions.draggable = false;
                gmarkeroptions.title = inputtitle;
                var marker = new GMarker((new GLatLng(lat,lng)),gmarkeroptions);
                GEvent.addListener(marker, "click", function(){
                    marker.openInfoWindowHtml(windowtxt);
                });

                return marker;
            }

            //イベント発生させるメソッド
            function openInfo(i) {
                map.addOverlay(spotmarkerArray[i]);
                GEvent.trigger(spotmarkerArray[i], "click", null);
            }




            /*
             *  windowの領域がすべて読み込まれた場合に起動
             * <body onload=func()>と指定すると、body以下の要素が読み込まれる前に
             * スクリプトが起動するため、スクリプト内でbody以下の要素にアクセスすると
             * NGとなる場合がある。それを防止するため。
             *
             */
            window.onload = initialize; // 関数オブジェクトを代入する。initialize()ではないことに注意！
            window.unload = GUnload; // ウインドウが閉じられたときにオブジェクト解放


            //]]>

