;(function($,swfobject){
  var MAP_ZOOM = 17;
  var MAP_HEIGHT = 250;
  var FLASH_VARSION = "9.0.0";
  var SWF_DIR = "./swf/";
  var EXPRESS_ISTALL = SWF_DIR + "express-install.swf";
  var ANALYTICS_ID = "UA-200187-14";
  var MAP_KEY = "ABQIAAAAYCG3RoxSCo8pIGqHGdC0kxRb08OtQfOx7OGAeuOsxSIAlyCl1xREU8JgJicpb-_8zBkY-YwZTMSOvA";
  var uaIsSPhone = /iphone|ipad|ipod|android/i.test(navigator.userAgent);

  function init() {
    embMap();
    initAnalytics();
    showMailLink();
  }
  $(init);
  
  function embMap() {
    function num(s) { return Number(s.replace(/(:?[^\.\d])/g,"")); }
    var geo = $("#about address.geo");
    var lat = num($(".latitude",geo).html());
    var lng = num($(".longitude",geo).html());
    $("#mapContent").height(MAP_HEIGHT);
    if(swfobject.hasFlashPlayerVersion(FLASH_VARSION)&&!uaIsSPhone) {
      swfobject.embedSWF(SWF_DIR+"logo.swf", "logo", "500", "40", FLASH_VARSION, EXPRESS_ISTALL);
      swfobject.embedSWF(SWF_DIR+"map.swf", "mapContent", "100%", MAP_HEIGHT, FLASH_VARSION, EXPRESS_ISTALL,{
        lat : lat, lng : lng, zoom : MAP_ZOOM
      });
    } else if(uaIsSPhone) {
      var h1Width = $("h1 img").width()||500;
      function rval(str) {
        return str
          .replace(/%ll%/g,    [lat,lng].join(","))
          .replace(/%width%/g, String(h1Width))
          .replace(/%height%/g,String(MAP_HEIGHT))
          .replace(/%zoom%/g,  String(MAP_ZOOM))
          .replace(/%key%/g,   String(MAP_KEY))
          .replace(/%query%/g, encodeURIComponent($("table.info td span.org.fn").html()));
      }
        
      var mapImgUrl = rval("http://maps.google.com/staticmap?center=%ll%&zoom=%zoom%&size=%width%x%height%&maptype=mobile&markers=%ll%,red&sensor=false&key=%key%");
      var mapUrl = rval("http://maps.google.com/maps?f=q&q=%query%&ll=%ll%&z=%zoom%&t=2");
      $("#mapContent").html(["<a href='",mapUrl,"'><img src='",mapImgUrl,"' /></a>"].join("").replace(/&/g,"&amp;"));

    } else {
      try {
        google.load("maps", "2",{
          callback : function(){
            var pt = new google.maps.LatLng(lat,lng);
            var map = new google.maps.Map2($("#mapContent")[0]);
            map.setCenter(pt, MAP_ZOOM);
            var ctrl = new google.maps.SmallMapControl();
            map.addControl(ctrl);
            var marker = new google.maps.Marker(pt);
            map.addOverlay(marker);
            $(window).bind("unload",function(){
              GUnload();
            });
          }
        });
      } catch(e) {};
    }
  }
  
  function initAnalytics() {
    if(!ANALYTICS_ID) return;
    var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
    $.getScript(gaJsHost+"google-analytics.com/ga.js",function(){
      try {
        var pageTracker = _gat._getTracker(ANALYTICS_ID);
        pageTracker._trackPageview();
      } catch(e) {}
    });
  }
  
  function showMailLink() {
    var adr = ["corp",decodeURIComponent("%40"),"littleapps.co.jp"].join("");
    $("#about tr.tel").after([
      "<tr class=\"email\">",
        "<th>",LittleApps.strings.get(LittleApps.stringField.EMAIL),"<\/th>",
        "<td>",
          "<address>",
            "<a class=\"email\" ",
              "href=\"mailto:",adr,"\" ",
              "title=\"",LittleApps.strings.get(LittleApps.stringField.MAILER_WILL_LAUNCH),
              "\">",
              adr,
            "<\/a>",
          "<\/address>",
        "<\/td>",
      "<\/tr>"
    ].join(""));
  }

})(jQuery,swfobject);

