var dragger;

var Map =  
  {
  markers: new Array(),
  currentViewing: null, 
  viewingRequestRunning: false,

  initializeMap:function(startPosX,startPosY,zoomMap)
	  {
	  	if (GBrowserIsCompatible()) 
		{
			map = new GMap2(document.getElementById("map"));
			var center=new GLatLng(startPosX,startPosY);
			 
			map.setCenter(center,zoomMap);
			//map.enableScrollWheelZoom();
			
			//GEvent.addListener(map,"moveend",Map.updateViewLocation);
			//GEvent.addListener(map,"zoomend",Map.updateViewLocation);
			
			map.addControl(new GLargeMapControl());			
			//map.addControl(new GMapTypeControl());
			//map.addControl(new GOverviewMapControl());	  		  		    		   
		}
	  },
	  
 initializeDragger:function(startPosX,startPosY,zoomMap)
 {
	if (GBrowserIsCompatible()) 
			{
				map = new GMap2(document.getElementById("map"));
				
				var center=new GLatLng(startPosX,startPosY);
				 
				map.setCenter(center,zoomMap);
				map.enableScrollWheelZoom();
				
				dragger = Marker.dragger();
				map.addControl(new GLargeMapControl());	
				
				function mapMove()
				{				 
				 dragger.setLatLng(map.getCenter());
				 $('#google_x').val(dragger.getPoint().lat());
	 		  	 $('#google_y').val(dragger.getPoint().lng());	 		  	 
				}
								
				GEvent.addListener(map,"moveend",mapMove);
				GEvent.addListener(map,"zoomend",mapMove);				
													
 				map.addOverlay(dragger);						  		  		    		  
			}

 },
 
 showLocation:function(startPosX,startPosY,info)
 {
	if (GBrowserIsCompatible()) 
			{
				map = new GMap2(document.getElementById("map"));
				
				var center=new GLatLng(startPosX,startPosY);
				 
				map.setCenter(center,14);
				map.enableScrollWheelZoom();
								
				marker2 = Marker.marker(info);				
				map.addControl(new GLargeMapControl());												
 				map.addOverlay(marker2);						  		  		    		  
			}

 },
 
 
 showCity:function(startPosX,startPosY)
 {
	if (GBrowserIsCompatible()) 
			{
				map = new GMap2(document.getElementById("map"));				
				var center=new GLatLng(startPosX,startPosY);				 
				map.setCenter(center,11);
				map.enableScrollWheelZoom();								
				map.addControl(new GLargeMapControl());
			}

 },	 	  
 
  
  updateViewLocation: function()
	{ 
    if (systemWorking) return;

    var center = map.getCenter();
    Map.currentViewing = map.getBounds(); 
    var span =  Map.currentViewing.toSpan();  
    var size = map.getSize();
    var xGeo = span.lng() /size.width;
    var yGeo = span.lat() / size.height;   
	
    Map.updateViewingParameters = {lat:     center.lat(), 
                                   lon:     center.lng(), 
                                   zoom:    map.getZoom(),
                                   swLat:   Map.currentViewing.getSouthWest().lat(), 
                                   swLon:   center.lng() - span.lng()/2,
                                   neLat:   Map.currentViewing.getNorthEast().lat(), 
                                   neLon:   center.lng() + span.lng()/2,
                                   xGeo:    xGeo,
                                   yGeo:    yGeo }    
   if (!systemWorking) 
	   {	   
	   $('#google_x').val(center.lat());
	   $('#google_y').val(center.lng());  
      }
  }
}