//<![CDATA[
//-----------------------------------------------------------------------------------------------//
// 初期設定
//-----------------------------------------------------------------------------------------------//
var map = "";			// GoogleMapのオブジェクト
var xml_name = "";		// 読み込むXMLファイルの名前
var outflg = "sales";	// 現在表示している情報(営業所【branch】or 納入事例【sales】)
var markers = [];		// XMLから読み込んだmarker情報の配列
var xmlDoc = "";		// XMLから読み込んだデータ
var map = "";			// GoogleMapの情報
var mpoint = "";		// markerの座標
var photo = "";			// markerに表示するHTML(写真)
var title = "";			// markerに表示するHTML(タイトル)
var url = "";			// markerに表示するHTML(ＵＲＬ)
var comment = "";		// markerに表示するHTML(説明文)
var spot = "";			// markerに表示するHTML(住所)
var salesname = "";		// markerに表示するHTML(営業名)
var tell = "";			// markerに表示するHTML(電話番号)
var fax = "";			// markerに表示するHTML(FAX番号)
var icon = "";			// markerに使用する画像
var marker = "";		// markers配列から取り出した一件のmarker情報
var lat = 0;			// markerの緯度
var lng = 0;			// markerの経度
var focus = "";			// markerの緯度経度
var html = "";			// markerで吹き出し表示するhtmlデータ
var marker_img = "";	// markerで吹き出し表示するhtmlに埋め込む画像
var branch_point = "";	// selectboxから指定された営業所の情報を格納した文字列(緯度 # 経度 # 営業名)
var pickup = "";		// selectboxから指定された営業所をピックアップする
var zoom_flg = 0;		// ZoomLevelを調整する為のフラグ


// 各種マーカーの画像設定

var marker_1 = new GIcon();
marker_1.image = "./images/icon/europe.png";
marker_1.iconSize = new GSize(40, 40);
marker_1.printImage = "./images/icon/europe.png";
marker_1.mozPrintImage = "./images/icon/europe.png";
marker_1.iconAnchor = new GPoint(10, 31);
marker_1.infoWindowAnchor = new GPoint(16, 0);
marker_1.shadow = "./images/icon/shadow.png";
marker_1.shadowSize = new GSize(40, 40);
marker_1.printShadow = "./images/icon/shadow.png";

var marker_2 = new GIcon();
marker_2.image = "./images/icon/africa.png";
marker_2.iconSize = new GSize(40, 40);
marker_2.printImage = "./images/icon/africa.png";
marker_2.mozPrintImage = "./images/icon/africa.png";
marker_2.iconAnchor = new GPoint(10, 31);
marker_2.infoWindowAnchor = new GPoint(16, 0);
marker_2.shadow = "./images/icon/shadow.png";
marker_2.shadowSize = new GSize(40,40);
marker_2.printShadow = "./images/icon/shadow.png";

var marker_3 = new GIcon();
marker_3.image = "./images/icon/japan.png";
marker_3.iconSize = new GSize(40, 40);
marker_3.printImage = "./images/icon/japan.png";
marker_3.mozPrintImage = "./images/icon/japan.png";
marker_3.iconAnchor = new GPoint(10, 31);
marker_3.infoWindowAnchor = new GPoint(16, 0);
marker_3.shadow = "./images/icon/shadow.png";
marker_3.shadowSize = new GSize(40,40);
marker_3.printShadow = "./images/icon/shadow.png";

var marker_4 = new GIcon();
marker_4.image = "./images/icon/asia.png";
marker_4.iconSize = new GSize(40, 40);
marker_4.printImage = "./images/icon/asia.png";
marker_4.mozPrintImage = "./images/icon/asia.png";
marker_4.iconAnchor = new GPoint(10, 31);
marker_4.infoWindowAnchor = new GPoint(16, 0);
marker_4.shadow = "./images/icon/shadow.png";
marker_4.shadowSize = new GSize(40,40);
marker_4.printShadow = "./images/icon/shadow.png";

var marker_5 = new GIcon();
marker_5.image = "./images/icon/america.png";
marker_5.iconSize = new GSize(40, 40);
marker_5.printImage = "./images/icon/america.png";
marker_5.mozPrintImage = "./images/icon/america.png";
marker_5.iconAnchor = new GPoint(10, 31);
marker_5.infoWindowAnchor = new GPoint(16, 0);
marker_5.shadow = "./images/icon/shadow.png";
marker_5.shadowSize = new GSize(40,40);
marker_5.printShadow = "./images/icon/shadow.png";

var marker_11 = new GIcon();
marker_11.image = "./images/icon/11.png";
marker_11.iconSize = new GSize(40, 40);
marker_11.printImage = "./images/icon/11.png";
marker_11.mozPrintImage = "./images/icon/11.png";
marker_11.iconAnchor = new GPoint(10, 31);
marker_11.infoWindowAnchor = new GPoint(16, 0);
marker_11.shadow = "./images/icon/11s.png";
marker_11.shadowSize = new GSize(40, 40);
marker_11.printShadow = "./images/icon/11s.png";

var marker_12 = new GIcon();
marker_12.image = "./images/icon/12.png";
marker_12.iconSize = new GSize(40, 40);
marker_12.printImage = "./images/icon/12.png";
marker_12.mozPrintImage = "./images/icon/12.png";
marker_12.iconAnchor = new GPoint(10, 31);
marker_12.infoWindowAnchor = new GPoint(16, 0);
marker_12.shadow = "./images/icon/12s.png";
marker_12.shadowSize = new GSize(40,40);
marker_12.printShadow = "./images/icon/12s.png";

var marker_13 = new GIcon();
marker_13.image = "./images/icon/13.png";
marker_13.iconSize = new GSize(40, 40);
marker_13.printImage = "./images/icon/13.png";
marker_13.mozPrintImage = "./images/icon/13.png";
marker_13.iconAnchor = new GPoint(10, 31);
marker_13.infoWindowAnchor = new GPoint(16, 0);
marker_13.shadow = "./images/icon/13s.png";
marker_13.shadowSize = new GSize(40,40);
marker_13.printShadow = "./images/icon/13s.png";

var marker_14 = new GIcon();
marker_14.image = "./images/icon/14.png";
marker_14.iconSize = new GSize(40, 40);
marker_14.printImage = "./images/icon/14.png";
marker_14.mozPrintImage = "./images/icon/14.png";
marker_14.iconAnchor = new GPoint(10, 31);
marker_14.infoWindowAnchor = new GPoint(16, 0);
marker_14.shadow = "./images/icon/14s.png";
marker_14.shadowSize = new GSize(40,40);
marker_14.printShadow = "./images/icon/14s.png";

var marker_15 = new GIcon();
marker_15.image = "./images/icon/15.png";
marker_15.iconSize = new GSize(40, 40);
marker_15.printImage = "./images/icon/15.png";
marker_15.mozPrintImage = "./images/icon/15.png";
marker_15.iconAnchor = new GPoint(10, 31);
marker_15.infoWindowAnchor = new GPoint(16, 0);
marker_15.shadow = "./images/icon/15s.png";
marker_15.shadowSize = new GSize(40,40);
marker_15.printShadow = "./images/icon/15s.png";

// Googlemapに追記する地図タイプの情報
var normal_j = new GMapType(G_NORMAL_MAP.getTileLayers(),G_NORMAL_MAP.getProjection(),"地図");//★地図追加★
var Satellite_j = new GMapType(G_SATELLITE_MAP.getTileLayers(),G_SATELLITE_MAP.getProjection(),"航空写真");//★航空写真追加★
var Physical_j = new GMapType(G_PHYSICAL_MAP.getTileLayers(),G_PHYSICAL_MAP.getProjection(),"地形");//★地形追加★

//-----------------------------------------------------------------------------------------------//
// ページを読み込んだ時の処理
//-----------------------------------------------------------------------------------------------//
// GoogleMapを生成する
function createMap() {
    map = new GMap2( document.getElementById("map"));
    //map.getPane(G_MAP_FLOAT_SHADOW_PANE).style.display = 'none';
    map.getMapTypes().length= 0;//★マップ表示全部クリア★
    map.addMapType(normal_j);//★地図追加★
    map.addMapType(Satellite_j);//★航空写真追加★
    map.addMapType(Physical_j);//★地形追加★
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl);
    return;
}


// 納入事例の地図を読み込む
function load_map_sales(xml_name) {
//----- XMLからマーカの情報を読み込む -----//
    GDownloadUrl(xml_name ,function(data, responseCode) {
        xmlDoc = GXml.parse(data);
        markers = xmlDoc.documentElement.getElementsByTagName("marker");
        load_in_sales();
    });
//----- ズーム倍率によりマーカーの切り替え -----//
    GEvent.addListener(map, 'zoomend', function(oldZoomLevel, newZoomLevel) {
        if(outflg == 'sales') {
            if(newZoomLevel > 10 && zoom_flg == 1) {
                map.setZoom(10);
            }
        }
    });
    map.setMapType(normal_j);
    map.setCenter(new GLatLng(26,135));
    map.setZoom(2);
    outflg = 'sales';
    return;
}


// 拠点の地図を読み込む
function load_map_branch(xml_name) {
    outflg = 'branch';
//----- XMLからマーカの情報を読み込む -----//
    GDownloadUrl(xml_name ,function(data, responseCode) {
        xmlDoc = GXml.parse(data);
        markers = xmlDoc.documentElement.getElementsByTagName("marker");
        load_in_branch();
    });
    map.setMapType(normal_j);
    map.setCenter( new GLatLng(34.703285,135.564707));
    map.setZoom(14);
    return;
}


//-----------------------------------------------------------------------------------------------//
// 冒険エリアに戻るをクリックした時の地図の初期化
//-----------------------------------------------------------------------------------------------//
function reset_maps() {
    pickup = '大阪本店';
    map.clearOverlays();
    map.setMapType(normal_j);
    map.setCenter(new GLatLng(26,135));
    map.setZoom(2);
    zoom_flg = 0;
    outflg = 'sales';
    div = document.getElementById("pointtxt");
    div.className = "hide3";
    return;
}


//-----------------------------------------------------------------------------------------------//
// SELECT BOX による座標移動
//-----------------------------------------------------------------------------------------------//
function move_select(branch_point, xml_name) {
    var info = branch_point.split("#");
    pickup = info[2];
    load_map_branch(xml_name);
    mpoint = new GLatLng(info[0], info[1]);
    map.panTo(mpoint);
}


//-----------------------------------------------------------------------------------------------//
// FLASHのボタンによる座標移動
//-----------------------------------------------------------------------------------------------//
function move_map_sales(focus) {
    if(focus == "europe") {
        zoom_flg = 0;
        load_map_sales('./xmls/salesmap1.xml')
        map.setZoom(3);
        map.panTo(new GLatLng(53.85252660044951,10.37109375));
    }
    if(focus == "africa") {
        zoom_flg = 0;
        load_map_sales('./xmls/salesmap2.xml')
        map.setZoom(3);
        map.panTo(new GLatLng(2.986927393334876,46.93359375));
    }
    if(focus == "asia") {
        zoom_flg = 0;
        load_map_sales('./xmls/salesmap3.xml')
        map.setZoom(3);
        map.panTo(new GLatLng(-4.390228926463384,126.9140625));
    }
    if(focus == "america") {
        zoom_flg = 0;
        load_map_sales('./xmls/salesmap4.xml')
        map.setZoom(3);
        map.panTo(new GLatLng(29.22889003019423,-89.12109375));
    }
    if(focus == "hokkaido") {
        zoom_flg = 1;
        load_map_sales('./xmls/salesmap5.xml')
        map.setZoom(6);
        map.panTo(new GLatLng(41.21172151054787,140.6689453125));
    }
    if(focus == "kanto") {
        zoom_flg = 1;
        load_map_sales('./xmls/salesmap6.xml')
        map.setZoom(7);
        map.panTo(new GLatLng(36.738884124394,138.109130859375));
    }
    if(focus == "chubu") {
        zoom_flg = 1;
        load_map_sales('./xmls/salesmap7.xml')
        map.setZoom(8);
        map.panTo(new GLatLng(35.19625600786368,136.8951416015625));
    }
    if(focus == "kinki") {
        zoom_flg = 1;
        load_map_sales('./xmls/salesmap8.xml')
        map.setZoom(9);
        map.panTo(new GLatLng(34.67387626588273,135.516357421875));
    }
    if(focus == "chugoku") {
        zoom_flg = 1;
        load_map_sales('./xmls/salesmap9.xml')
        map.setZoom(8);
        map.panTo(new GLatLng(34.43409789359469,133.0828857421875));
    }
    if(focus == "kyusyu") {
        zoom_flg = 1;
        load_map_sales('./xmls/salesmap10.xml')
        map.setZoom(6);
        map.panTo(new GLatLng(29.821582720575016,129.7265625));
    }
    outflg = "sales";
}


//-----------------------------------------------------------------------------------------------//
// マーカ作成処理
//-----------------------------------------------------------------------------------------------//
function createMarker_sales(photo, title, area, url, subtitle, comment, mpoint, icon) {
//----- 表示するHTMLを作成(画像なし) -----//
if(photo == "images/spacer.gif") {
    var html = "<table width='0' border='0' cellpadding='0' cellspacing='0'><tr><td><div class='gmp2'><a href = '"+url+"' target = 'tsurumi' class='gmplink'>"+title+"</a><br />"+area+"</div><div class='detail2'><a href = '"+url+"' target = 'tsurumi' class='gmplink'><img src='images/icon/detail.gif' border='0'></a></div><div class='detailtxt3'>"+subtitle+"</div><div class='detailtxt4'>"+comment+"</div></td></tr></table>";
}else {
//----- 表示するHTMLを作成(画像あり) -----//
    var html = "<table width='0' border='0' cellpadding='0' cellspacing='0'><tr><td width='150' height='150' align='center' class='waku'><img src='"+photo+"' class='gphoto'></td><td><div class='gmp'><a href = '"+url+"' target = 'tsurumi' class='gmplink'>"+title+"</a><br />"+area+"</div><div class='detail'><a href = '"+url+"' target = 'tsurumi' class='gmplink'><img src='images/icon/detail.gif' border='0'></a></div><div class='detailtxt'>"+subtitle+"</div><div class='detailtxt2'>"+comment+"</div></td></tr></table>";
}
//----- マーカ画像を読み込む -----//
    switch(icon) {
        case '1':
            marker_img = {icon: marker_1};
            break;
        case '2':
            marker_img = {icon: marker_2};
            break;
        case '3':
            marker_img = {icon: marker_3};
            break;
        case '4':
            marker_img = {icon: marker_4};
            break;
        case '5':
            marker_img = {icon: marker_5};
            break;
        case '11':
            marker_img = {icon: marker_11};
            break;
        case '12':
            marker_img = {icon: marker_12};
            break;
        case '13':
            marker_img = {icon: marker_13};
            break;
        case '14':
            marker_img = {icon: marker_14};
            break;
        case '15':
            marker_img = {icon: marker_15};
            break;
    }
    var marker = new GMarker(mpoint, marker_img);
    GEvent.addListener(marker, "click", function() {
        marker.openInfoWindowHtml(html);
    });
    return marker;
}


function createMarker_branch(photo, spot, salesname, tel, fax, mpoint, icon) {
    if(photo == "images/spacer.gif") {
//----- 表示するHTMLを作成(画像なし) -----//
        var html = "<table width='0' border='0' cellpadding='0' cellspacing='0'><tr><td><div class='nameb'><img src='images/icon/name.gif' /><div class='txtb'>"+salesname+"</div></div><div class='addressb'><img src='images/icon/address.gif' /><div class='txtb'>"+spot+"</div></div><div class='telb'><img src='images/icon/tel.gif' /><div class='txtb2'>"+tel+"</div></div><div class='faxb'><img src='images/icon/fax.gif' /><div class='txtb2'>"+fax+"</div></div></td></tr></table>";
    }else {
//----- 表示するHTMLを作成(画像あり) -----//
        var html = "<table width='0' border='0' cellpadding='0' cellspacing='0'><tr><td width='150' height='150' align='center' class='waku'><img src='"+photo+"' class='gphoto'></td><td><div class='name'><img src='images/icon/name.gif' /><div class='txt'>"+salesname+"</div></div><div class='address'><img src='images/icon/address.gif' /><div class='txt'>"+spot+"</div></div><div class='tel'><img src='images/icon/tel.gif' /><div class='txt2'>"+tel+"</div></div><div class='fax'><img src='images/icon/fax.gif' /><div class='txt2'>"+fax+"</div></div></td></tr></table>";
    }
//----- マーカ画像を読み込み -----//
    switch(icon) {
        case '1':
            marker_img = {icon: marker_1};
            break;
        case '2':
            marker_img = {icon: marker_2};
            break;
        case '3':
            marker_img = {icon: marker_3};
            break;
        case '4':
            marker_img = {icon: marker_4};
            break;
        case '5':
            marker_img = {icon: marker_5};
            break;
        case '11':
            marker_img = {icon: marker_11};
            break;
        case '12':
            marker_img = {icon: marker_12};
            break;
        case '13':
            marker_img = {icon: marker_13};
            break;
        case '14':
            marker_img = {icon: marker_14};
            break;
        case '15':
            marker_img = {icon: marker_15};
            break;
    }
    var marker = new GMarker(mpoint, marker_img);
    GEvent.addListener(marker, "click", function() {
        marker.openInfoWindowHtml(html);
    });
    return marker;
}


//-----------------------------------------------------------------------------------------------//
// マーカを配置
//-----------------------------------------------------------------------------------------------//
function load_in_sales() {
    map.clearOverlays();
//----- XMLデータを元に、地図にマーカを追加 ------//
    for (i = 0; i < markers.length; i++) {
        mpoint = new GLatLng(
            markers[i].getAttribute("lat"),
            markers[i].getAttribute("lng")
        );
        type = markers[i].getAttribute("type");
        photo = markers[i].getAttribute("photo");
        title = markers[i].getAttribute("title");
        area = markers[i].getAttribute("area");
        url = markers[i].getAttribute("url");
        salesname = markers[i].getAttribute("salesname");
        subtitle = markers[i].getAttribute("comment");
        comment = markers[i].getAttribute("comment2");
        icon = markers[i].getAttribute("icon");
        marker = createMarker_sales(photo, title, area, url, subtitle, comment, mpoint, icon);
        map.addOverlay(marker);
    }
    return;
}


function load_in_branch() {
    map.clearOverlays();
    if(pickup == '') {
        pickup = '大阪本店';
    }
//----- XMLデータを元に、地図にマーカを追加 ------//
    for (i = 0; i < markers.length; i++) {
        mpoint = new GLatLng(
            markers[i].getAttribute("lat"),
            markers[i].getAttribute("lng")
        );
        type = markers[i].getAttribute("type");
        photo = markers[i].getAttribute("photo");
        spot = markers[i].getAttribute("spot");
        salesname = markers[i].getAttribute("salesname");
        tel = markers[i].getAttribute("tel");
        fax = markers[i].getAttribute("fax");
        icon = markers[i].getAttribute("icon");
        marker = createMarker_branch(photo, spot, salesname, tel, fax, mpoint, icon);
        map.addOverlay(marker);
        if(pickup == salesname) {
            GEvent.trigger(marker, "click");
        }
    }
    return;
}

//]]>

