// ==UserScript==
// @name            Google StreetView for HOME'S
// @description     Add Google StreetView Maps for HOME'S
// @include         http://realestate.homes.co.jp/search/detail/*
// ==/UserScript==

(function(){
  
  var textNodes  = xpath("//div[@class='bukkenTopInfo']/table[@class='line']/tbody/tr[position()=last()]/td[3]");
  var address    = textNodes[0].wrappedJSObject.textContent;
  
  var wrapper    = document.createElement("div");
  var loadURL    = "http://tech.openvista.jp/tmp/map/index.html?a=" + encodeURI(address);
  wrapper.id     = "map_gm";
  wrapper.innerHTML = '<iframe src="' + loadURL +'" width="100%" height="300"></iframe>';
  
  var insertNodes = xpath("//div[@class='bukkenImageInfo']");
  var insertNode  = insertNodes[0].wrappedJSObject;
  insertNode.insertBefore(wrapper, insertNode.firstChild);
  
  function showMap(){
    
    // Normal Maps
    map = new GMap2(document.getElementById("map_gm"));
    map.setCenter(new GLatLng(35.0306376952383, 135.75711250305176), 17, G_NORMAL_MAP);
    map.addControl(new GLargeMapControl());
    map.addControl(new GScaleControl());
    
  }
  
  function xpath(query) {
    var results = document.evaluate(query, document, null,
        XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
    var nodes = new Array();
    for(var i=0; i<results.snapshotLength; i++){
      nodes.push(results.snapshotItem(i));
    }
    return nodes;
  }
  
})();
