var map; var map_route; var marker; var myicon; var mapHash = {}; var currentCd; $(document).ready(function() { $("#twitter").tooltip(); $("#preBlog").attr("disabled", "disable"); $("#nextBlog").attr("disabled", "disable"); $("#preImage").attr("disabled", "disable"); $("#nextImage").attr("disabled", "disable"); $(".mapButtonLarge").click(function(){ getAreaData( this.id );}); $(".mapButton").click(function(){ getAreaData( this.id );}); $("#preBlog").click(function(){ searchBlogByKeyword( -1 );}); $("#nextBlog").click(function(){ searchBlogByKeyword( 1 );}); $("#preImage").click(function(){ searchImageByKeyword( -1 );}); $("#nextImage").click(function(){ searchImageByKeyword( 1 );}); $("#resetRoute").click(function(){ resetRoute();}); $(":radio").click(function(){ showRoute();}); $("#sendMessage").click(function(){ sendMessage();}); init();}); function init()
{ getDataIni(); searchBlogByKeyword( 0 ); searchImageByKeyword( 0 ); shadowBoxInitial();}
function getDataIni() { map = new GMap2(document.getElementById("map")); map.addControl(new GLargeMapControl()); map.setCenter(new GLatLng( 35.575937, 139.659572), 15); map.clearOverlays(); myicon = new GIcon(); myicon.image = "http://www.musashi-kosugi.info/ajax/map/img/ramen.gif"; myicon.iconSize = new GSize(30, 24); myicon.iconAnchor = new GPoint(15, 12); myicon.infoWindowAnchor = new GPoint(15, 12); GEvent.addListener(map, "click", function(marker, point)
{ if (point == undefined)
return; if (firstFlag == 0)
{ fromPt["lat"] = point.lat(); fromPt["lng"] = point.lng(); firstFlag = 1; var point = new GPoint(fromPt["lng"], fromPt["lat"]); var marker = createMarker(point); map.addOverlay( marker );}
else if (firstFlag == 1)
{ toPt["lat"] = point.lat(); toPt["lng"] = point.lng(); firstFlag = 0; showRoute();}
});}
var firstFlag = 0; var fromPt = []; var toPt = []; var directions; function showRoute()
{ map.clearOverlays(); if (fromPt["lat"] == null || toPt["lat"] == null)
return; var points = []; points.push( new GLatLng(fromPt["lat"], fromPt["lng"]) ); points.push( new GLatLng(toPt["lat"], toPt["lng"]) ); if (directions == null)
directions = new GDirections( map, document.getElementById('map_route_detail') ); else
directions.clear(); var mode = $("input:radio[@name='test']:checked").val(); if (mode == "walk")
var route_option = {locale: "ja_JP", travelMode: G_TRAVEL_MODE_WALKING}; else
var route_option = {locale: "ja_JP", travelMode: G_TRAVEL_MODE_DRIVING}; directions.loadFromWaypoints( points, route_option );}
function resetRoute()
{ map.clearOverlays(); if (directions != null)
directions.clear();}
function getAreaData( cd )
{ currentCd = cd; map.setCenter(new GLatLng( 35.575937, 139.659572), 15); map.clearOverlays(); if (mapHash[ currentCd ] != null) { show_page(mapHash[ currentCd ], "success"); return;}
else
{ mapHash[ currentCd ] = "";}
var url = "http://www.musashi-kosugi.info/ci.php/Share/GetMapInfo/"; var para = "category_cd:" + cd; $.ajax({ url: url, type: "POST", data: "category_cd=" + cd, cache: false, dataType: "json", success : show_page, error: function(XMLHttpRequest, textStatus, errorThrown){ alert('Error loading XML document');}
});}
function show_page(data, status)
{ if (mapHash[ currentCd ] == "")
mapHash[ currentCd ] = data; marker = new Array( data.length ); for(var i=0; i < data.length; i++)
{ var item = data[i]; var html = "<div style=\"width:280px; height:80px;font-size:12px;color:#555555;\" align=left>"; html += "<p><a href='" + item["entry_url"] + "'>" + item["name"] + "　（" + item["tel"] + "）</a><br />"; html += item["address"] + "<br />"; if (item["url"] != "")
html += "<a href='" + item["url"] + "' target='_blank'>" + item["url"] + "</a>"; html += "</div>"; var point = new GPoint(item['lng'], item['lat']); marker[i] = createMarker(point, html); map.addOverlay( marker[i] );}
}
function createMarker(point, html) { var marker = new GMarker( point ); GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(html);}); return marker;}
var DEFAULT_KEYWORD = "武蔵小杉"; var KEYWORD_ELEMENT_COUNT = 10; var blogPage = 1; var blogTotalPage = 1; function searchBlogByKeyword( offset )
{ if (offset == 0)
blogPage = 1; blogPage += offset; var nextPage = blogPage; var appid = "appid=boostertechno&"; var page = "start=" + ((nextPage - 1) * KEYWORD_ELEMENT_COUNT + 1).toString() + "&"; var resultNum = "results=" + KEYWORD_ELEMENT_COUNT + "&"; var queryString = "query=" + encodeURI( DEFAULT_KEYWORD ); var url = "http://search.yahooapis.jp/BlogSearchService/V1/blogSearch"; var para = appid + page + resultNum + queryString + "&output=json"; var fullpath = url + "?" + para; $.getJSON( fullpath + '&callback=?', { query: encodeURI( DEFAULT_KEYWORD ) }, show_blog );}
function show_blog(data, status)
{ blogTotalPage = Math.ceil( data["@attributes"].totalResultsAvailable / KEYWORD_ELEMENT_COUNT ); if (blogPage == 1)
{ $("#preBlog").attr("disabled", "true"); $("#nextBlog").removeAttr("disabled");}
else if (blogPage == blogTotalPage)
{ $("#preBlog").removeAttr("disabled"); $("#nextBlog").attr("disabled", "true");}
else
{ $("#preBlog").removeAttr("disabled"); $("#nextBlog").removeAttr("disabled");}
var result = "<table border=0 bgcolor=\"#666666\" cellspacing=0 cellpadding=0><tr><td>"; result += "<table width=\"100%\" cellspacing=\"1\" border=\"0\" cellpadding=\"3\">"; result += "<tr bgcolor=\"#FFFFFF\">"; result += "<td width=\"110\">日時</td><td width=\"480\">タイトル</td>"; result += "</tr>"; $.each(data.Result, function(index, value) { var tm = value.DateTime; var time = tm.substring(0, 4) + "/" + tm.substring(5, 7) + "/" + tm.substring(8, 10) + " " + tm.substring(11, 16); result += "<tr bgcolor=\"#FFFFFF\">"; result += "<td>" + time + "</td>"; result += "<td>" + "<a href=\"" + value.Url + "\" target=\"_blank\">" + value.Title + "</a></td>"; result += "</tr>";} ); result += "</table>"; result += "</td></tr></table>"; $('#blog').html(result);}
var IMAGE_ELEMENT_COUNT = 14; var imagePage = 1; var imageTotalPage = 1; function searchImageByKeyword( offset )
{ if (offset == 0)
imagePage = 1; imagePage += offset; var nextPage = imagePage; var page = ((nextPage - 1) * IMAGE_ELEMENT_COUNT + 1).toString(); var url = 'http://api.search.live.net/json.aspx'; var appid = '04A991BDE5010BE3896866FAFD865D33CDE3EEF6'; var source = 'image'; var count = IMAGE_ELEMENT_COUNT; var offset = page; var version = '2.2'; var jsontype = 'callback'; $.ajax({ dataType: 'jsonp', data: { Appid: appid, Query: DEFAULT_KEYWORD, Sources: source, 'Image.Count': count, 'Image.Offset': offset, Version: version, JsonType: jsontype
}, cache: false, jsonp: 'JsonCallback', url: url, error: function(response) { console.log(response); console.log('Response Error.');}, success: show_image
});}
function show_image(response, status)
{ imageTotalPage = Math.ceil( response.SearchResponse.Image.Total / IMAGE_ELEMENT_COUNT ); if (imagePage == 1)
{ $("#preImage").attr("disabled", "true"); $("#nextImage").removeAttr("disabled");}
else if (imagePage == imageTotalPage)
{ $("#preImage").removeAttr("disabled"); $("#nextImage").attr("disabled", "true");}
else
{ $("#preImage").removeAttr("disabled"); $("#nextImage").removeAttr("disabled");}
var errors = response.SearchResponse.Errors; if (errors != null) { console.log('Request Error.'); console.log(errors);} else { var result = ""; var results = response.SearchResponse.Image.Results; for (var i = 0; i < results.length; i ++)
{ title = results[i]['Title']; img_medium = results[i]['MediaUrl']; html_medium = results[i]['Url']; img_small = results[i]['Thumbnail']['Url']; width_small = results[i]['Thumbnail']['Width']; height_small = results[i]['Thumbnail']['Height']; result += "<div style='width:84px;height:75px;float:left'>"; result += "<a href=\"" + img_medium + "\" rel=\"shadowbox\" title=\"" + title + "\"><img style=\"max-width:80px;max-height:75px\" src=\"" + img_small + "\"  alt=\"" + title + "\" ></a>"; result += "</div>";}
$('#photoIndex').html(result); Shadowbox.setup();}
}
function shadowBoxInitial()
{ Shadowbox.init({ language: 'ja', player: ['img', 'html', 'htm', 'flv'], overlayColor: '#000000', overlayOpacity: '0.8'
});}
function sendMessage()
{ if (window.confirm("メッセージを送信しますがよろしいですか？"))
{ var message = $("#msg").val(); $.post("http://www.musashi-kosugi.info/mail.php", { toiawase: message
}, function(data){ $('#msg').text(""); alert("メッセージを送信しました。ありがとうございました。");});}
}
function mouseWheelZooming( event ){ if( navigator.userAgent.match( "MSIE" ) ){ var delta = event.wheelDelta * -1; event.returnValue = false;}
if( navigator.userAgent.match( "Gecko" ) ){ var delta = event.detail; event.preventDefault();}
if( navigator.userAgent.match( "Safari" ) ){ var delta = event.wheelDelta * -1; event.returnValue = false;}
map.setZoom( map.getZoom() + ( delta < 0 ? 1 : -1 ) );}

