    var map;
    var mgr;
    var icons = {};
    var markers = {};
    var dots = {};
		var count = 0;
		
		var zoom_interval = 10;
		   
		function gotoretailer(lng, lat, lng1, lat1, zoom, i) {
			point = new GLatLng(lng, lat);
			point1 = new GLatLng(lng1, lat1);			
			info = storeLayer[i]["info"];
			
//			if(zoom > zoom_interval) {
//				markers[i].openInfoWindowHtml(info);
//			}
//			else 
//				dots[i].openInfoWindowHtml(info);		
			map.openInfoWindowHtml(point1, info);	
			map.setCenter(point, zoom);						
		}

		
    function getIcon(images) {
      var icon = null;
      if (images) {
        if (icons[images[0]]) {
          icon = icons[images[0]];
        } else {
          icon = new GIcon();
          icon.image = "/media/" + images[0]; //+ ".png";
          var size = images[1];
          icon.iconSize = new GSize(size.width, size.height);
          icon.iconAnchor = new GPoint((size.width / 2) >> 1, size.height >> 1);
//          icon.shadow = "img/" + images[2];// + ".png"; 
          size = images[3];
//          icon.shadowSize = new GSize(size.width, size.height);
          icon.infoWindowAnchor = new GPoint(1, 1);
          
          // default shadow
//					icon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
//					icon.shadowSize = new GSize(22, 20);
         
          icons[images[0]] = icon;
        }
      }
      return icon;
    }

    function setupRetailerMarkers(mod) {
    		count=0;
//				var mgr = new GMarkerManager(map);    		
//    		var markers = [];
    		var dots = [];
    		var dot = getIcon(["MapMarker_small.png", {width: 12, height: 12}, "client-shadow", {width: 12, height: 12}]);
        for (var j in storeLayer) {
          var place = storeLayer[j];
          var icon = getIcon(place["icon"]);         
          var posn = new GLatLng(place["posn"][0], place["posn"][1]);     
          var info = place["info"];              
          var sid = place["id"];
        	
        	if('Client' == place["name"]){						
//							dots.push(createDot(posn, icon, info, sid));  
//  						markers.push(createMarker(posn, icon, info, sid));
								map.addOverlay(createDot(posn, icon, info, sid));  
        	}  						
        
        	if((mod == place["model"]) || ( 'both' == place["model"]))	{						
//							dots.push(createDot(posn, dot, info, sid));  
//  						markers.push(createMarker(posn, icon, info, sid));
								map.addOverlay(createDot(posn, dot, info, sid));  
        	}
        } 			
//			mgr.addMarkers(dots, 0, zoom_interval);          
// 			mgr.addMarkers(markers, zoom_interval + 1, 17);        
// 			mgr.refresh();
 			if('real' == mod) {
 				eval(triger_real);	
 			}
 			if('virtual' == mod) {
 				eval(triger_virtual);	
 			}  			
    }
    
    function createMarker(point, icon, info, sid) {
      var marker = new GMarker(point, icon);
      GEvent.addListener(marker, "click", function() {
        marker.openInfoWindowHtml(info);
      });
      markers[sid] = marker;       
      return marker;
    }    

    function createDot(point, icon, info, sid) {
      var marker = new GMarker(point, icon);
      GEvent.addListener(marker, "click", function() {
        marker.openInfoWindowHtml(info);
      });
      dots[sid] = marker;       
      return marker;
    }        
  
    function switch_result(name1, name2) {    	   	
    	if((name1 == 'real') || (name1 == 'virtual')) {    	
	    	map.clearOverlays();
				window.setTimeout("setupRetailerMarkers('"+name1+"')", 0);
	    }   	    	  	
    }      