var map = null;
var geocoder = null;
var marker = null;

// googleMapの初期表示
function initGoogleMap(add){
	
	if (GBrowserIsCompatible()) {
        map = new GMap2($('googleMap'));
        map.addControl(new GLargeMapControl());
        
        // GClientGeocoderを初期化
        geocoder = new GClientGeocoder();
        
        setCenterByAdd(add);
        
        GEvent.addListener(map, 'move',
                       function() {
	        var xy = map.getCenter();
	        $('ido').value = xy.lng();
	        $('keido').value = xy.lat();
	        
	        map.clearOverlays();
	        
	        marker = new GMarker(map.getCenter());
	        map.addOverlay(marker);
	    });
	    
      }
}

function setCenterByAdd(add){
	
	if(add != ""){ 
		geocoder.getLatLng(add,
	          function(point) {           
	              if(!point){              
		              var pattern = "(北海道|京都府|大阪府|東京都|.*?県)";
	 		          geocoder.getLatLng(add.match(pattern)[0],
				          function(point) {           
				              if(!point){
					            map.setCenter(new GLatLng(35.67514743608467, 139.779052734375), 5);
				 		      } else {
				 		      	map.setCenter(point, 8);
				 		      }
				          }
				        );
	 		      } else {
	 		      	map.setCenter(point, 13);
	 		      }
	          }
	        );
    } else {
      map.setCenter(new GLatLng(35.67514743608467, 139.779052734375), 5);
    }
}

function initGoogleMapByIdKeido(ido,keido){
	if (GBrowserIsCompatible()) {
        map = new GMap2($('googleMap'));
        map.addControl(new GLargeMapControl());
        
        // GClientGeocoderを初期化
        geocoder = new GClientGeocoder();
        
        map.setCenter(new GLatLng(keido, ido), 13);
        
        GEvent.addListener(map, 'move',
                       function() {
	        var xy = map.getCenter();
	        $('ido').value = xy.lng();
	        $('keido').value = xy.lat();
	        
	        map.clearOverlays();
	        
	        marker = new GMarker(map.getCenter());
	        map.addOverlay(marker);
	    });
	    
	    marker = new GMarker(map.getCenter());
	    map.addOverlay(marker);
      }

}

function googleMapView(ido,keido){
	if (GBrowserIsCompatible()) {
	
		if(ido == ""){
			ido = 139.779052734375;
		}
		
		if(keido == ""){
			keido = 35.67514743608467;
		}
	
        map = new GMap2($('googleMap'));
        map.addControl(new GLargeMapControl());
        // GClientGeocoderを初期化
        geocoder = new GClientGeocoder();
        
        map.setCenter(new GLatLng(keido, ido), 13);
		
		marker = new GMarker(map.getCenter());
	    map.addOverlay(marker);
      }
}
