﻿var geocoder = null;

function pageLoad()
{
  setFocus();
  if (GBrowserIsCompatible()) {
    var lat = parseFloat($get('m_C_mapLatitude').value);
    var lng = parseFloat($get('m_C_mapLongitude').value);
    var zoom = parseInt($get('m_C_mapZoomLevel').value);
    var mapType = parseInt($get('m_C_mapMapType').value);
    var address = $get('m_C_hAddress').value;
    
    mapdiv = document.getElementById("map"); 
    map = new google.maps.Map2(mapdiv);
    map.setUIToDefault(); 


    geocoder = new GClientGeocoder();
   
    var start = new GLatLng(lat, lng);
    switch (mapType)
    {
      case 2:
        map.setCenter(start, zoom, G_SATELLITE_MAP);
        break;
      case 3:
        map.setCenter(start, zoom, G_HYBRID_MAP);
        break;
      default:
        map.setCenter(start, zoom, G_NORMAL_MAP);
        break;
    }
    showLatLng(start);
    showZoom();
    
    //GEvent.addDomListener(mapdiv, "DOMMouseScroll", map.wheelZoom); // Firefox 
    //GEvent.addDomListener(mapdiv, "mousewheel", map.wheelZoom); // IE 
   
    GEvent.addListener(map, "mousemove", function(point) { 
      showLatLng(point);
    }); 

    GEvent.addListener(map, "zoomend", function(oldLevel, newLevel) {
      showZoom();
    });

    if (address != "") {
      try {
        address = Base64.decode(address);
      }
      catch (err) {
        address = "";
      }
      if (address != "") {
        var tb = $get('m_L_tbStreet');
        tb.value = address;
        searchStreet(address);
      }
    }


    var tb = $get('m_L_tbStreet');
    if (tb.value != "") {
      searchStreet(tb.value);
    } 
    
  }
}

function searchStreet(address)
{
  if (address == "")
  {
    var tb = $get('m_L_tbStreet');
    address = tb.value;
  }
  
  if (address == "")
  {
    alert("Írj be egy címet!");
  }
  else
  {
    if (geocoder) 
    {
      $get('m_up1').style.display = 'block'; 
      geocoder.setBaseCountryCode("HU");
      geocoder.getLocations(
        address,
        function(response) 
        {
          $get('m_up1').style.display = 'none'; 
          if (!response || response.Status.code != 200) 
          {
            alert("Ez a cím, ebben a formában nem található! ("+response.Status.code+")\nEllenőrizd, hogy nem gépelted-e el a címet, vagy próbáld másképpen írni, vagy próbáld rövidebben írni (pl.: házszám, vagy utca név nélkül).\nA címeket ilyen formában adhatod meg:\n- Szőlő utca 25, 1034 III. kerület, Budapest, Hungary\n- Budapest, Szőlő utca 25\n- Budapest");
          } 
          else 
          {
            if (response.Placemark.length != 1)
            {
              showList(response);
            }
            else
            {
              var responseList = $get("responseList");
              responseList.innerHTML = "";
              
              var place = response.Placemark[0];
              var point = new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]);
              map.setCenter(point, 16);
              
              var markerText = '<div style="font-size:11pt;font-weight:bold;">Utcakereső</div>';
              markerText += "<b>" + place.address + "</b><br />";
              markerText += "Szélességi fok: " + point.lat() + " ";
              markerText += "Hosszúsági fok: " + point.lng() + "<br /><br />";
              
              markerText += "<a href='mailto:?body=http://www.ittvoltam.hu/utcakereso.aspx?address=" + Base64.encode(place.address) + "'>";
              markerText += "<img src='http://i.ittvoltam.hu/button/006b.jpg' align=absmiddle border=0>";
              markerText += " küldd el e-mail-ben ezt a helyet";
              markerText += "</a>";

              markerText += "<br />";

              markerText += "<a href='http://www.ittvoltam.hu/default.aspx?latitude=" + point.lat() + "&longitude=" + point.lng() + "&zoom=16'>";
              markerText += "<img src='http://i.ittvoltam.hu/button/002b.jpg' align=absmiddle border=0>";
              markerText += " új hely felvétele erre a pontra";
              markerText += "</a>";
              
              
              
              var icon = new GIcon();
              icon.image = "http://i.ittvoltam.hu/icon/green.png";
              icon.shadow = "http://i.ittvoltam.hu/icon/shadow.png";
              icon.iconSize = new GSize(20, 34);
              icon.shadowSize = new GSize(37, 34);
              icon.iconAnchor = new GPoint(9, 34);
              icon.infoWindowAnchor = new GPoint(9, 2);
              icon.infoShadowAnchor = new GPoint(18, 25);

              var marker = new GMarker(point, icon);
              
              GEvent.addListener(marker, "click", 
                function()
                {
                  marker.openInfoWindowHtml(markerText);  
                }
              );
              map.addOverlay(marker);
              marker.openInfoWindowHtml(markerText); 
            }
          }
        }
      );
    }
  } 
  setFocus();
}

function setFocus()
{
  var tb = $get('m_L_tbStreet');
  tb.focus();
}

function showList(response)
{
  var s = "<br /><b>Válassz az alábbi címek közül:</b><br />";
  var place;
  var responseList = $get("responseList");
  for (i=0; i<response.Placemark.length; i++)
  {
    place = response.Placemark[i];
    s += '<br />• <a href="." onclick="searchStreet(\''+place.address+'\'); event.returnValue = false; return false;">';
    s += place.address;
    s += "</a><br />";
  }
  responseList.innerHTML = s;
}

    
function pageUnload()
{
  GUnload();
}

if (typeof(Sys) !== "undefined") Sys.Application.notifyScriptLoaded();


