function prepareBallonData(dealerObj) {
    strHTML  = '<table cellpadding="3" cellspacing="0" border="0">';
    strHTML += '	<tr>';
    strHTML += '		<td';
    if (dealerObj.picture.length > 5) {
    	strHTML += ' colspan="2"';
    }
    strHTML += '		><b>Автосалон</b> <b style="color:red">&laquo;'+ dealerObj.name + '&raquo;</b></td>';
    strHTML += '	</tr>';
    strHTML += '	<tr>';
    if (dealerObj.picture.length > 5) {
    	strHTML += '		<td rowspan="4"><img src="' + dealerObj.picture + '" width="100" height="75" border="0" alt="" style="border:1px dashed black;" /></td>';
    }
    strHTML += '		<td>'+ dealerObj.address + '</td>';
    strHTML += '	</tr>';
    strHTML += '	<tr>';
    strHTML += '		<td style="font-size:120%;">'+ dealerObj.phone + '</td>';
    strHTML += '	</tr>';
    //strHTML += '	<tr>';
    //strHTML += '		<td>'+ dealerObj.hours + '</td>';
	//strHTML += '	</tr>';
    strHTML += '	<tr>';
    strHTML += '		<td><a href="http://'+ dealerObj.www + '" target="_blank" class="red">'+ dealerObj.www + '</a></td>';
    strHTML += '	</tr>';
	strHTML += '</table>';
	
	return strHTML;
}
    
function initYandexMaps() {
	var userScale = (arguments[0]) ? arguments[0] : 0;
	
   	var map = new YMaps.Map(document.getElementById("YMapsID"));
			
    var s = new YMaps.Style();
        s.iconStyle = new YMaps.IconStyle("example#customPointIcon");
        s.iconStyle.offset = new YMaps.Point(-22, -46);
        s.iconStyle.href = "/i/distributor/map/dot.png";
        s.iconStyle.size = new YMaps.Point(26, 46);
    	s.iconStyle.shadow = new YMaps.IconShadowStyle();
        s.iconStyle.shadow.offset = new YMaps.Point(0, -25);
        s.iconStyle.shadow.href = "/i/distributor/map/dot_shadow.png";
        s.iconStyle.shadow.size = new YMaps.Point(25, 23);
    YMaps.Styles.add("example#customPoint", s);
    	          
    var t = new YMaps.Template();
        t.text = "<div><img alt=\"123\" style=\"height:$[style.iconStyle.size.y];width:$[style.iconStyle.size.x];\" src=\"$[style.iconStyle.href]\"\ /></div>";
    YMaps.Templates.add("example#customPointIcon", t);   
             
	map.addControl(new YMaps.TypeControl());
    map.addControl(new YMaps.ToolBar());
    map.addControl(new YMaps.Zoom());
    map.addControl(new YMaps.ScaleLine());
			
    var gc = new YMaps.Geocoder(globCity);

    YMaps.Events.observe(gc, gc.Events.Load, function () {
        if (this.length()) {
            map.setBounds(this.get(0).getBounds());
            
            if (dealersBaloonsData.length > 4) {
            	map.setZoom(9);
            }
            else {
              	map.setZoom(10);
            }
            
            if (userScale > 0) map.setZoom(userScale);
    	  
            
        }
    });
    
    for (var i = 0; i < dealersBaloonsData.length; i++) {
    	var dlrPlacemark = new YMaps.Placemark(new YMaps.GeoPoint(dealersBaloonsData[i].lat,dealersBaloonsData[i].lon),{style: "example#customPoint"});
            dlrPlacemark.setBalloonContent(prepareBallonData(dealersBaloonsData[i]));
            	
            map.addOverlay(dlrPlacemark);
    }
    return map;
}
    
function initGoogleMaps() {
	
	var userScale = (arguments[0]) ? arguments[0] : 0;
	
    if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("GMapsID"));
       		map.addControl(new GLargeMapControl());
        	map.addControl(new GMapTypeControl());
        	
        var geocoder = new GClientGeocoder();

        if (geocoder) {
        	geocoder.getLatLng(globCity,
          					   function(point) {
            										if (!point) {
              											alert(address + " not found");
            										} 
            										else {
            											if (dealersBaloonsData.length > 4) {
            												map.setCenter(point,9);
            											}
            											else {
            										    	map.setCenter(point,10);
            											}
            											
            											if (userScale > 0) map.setCenter(point,userScale);
            										}
          										}
        					  );
        }
      
      	// Build custom marker icons
	  	var tinyIcon = new GIcon();
		  	tinyIcon.image  = "/i/distributor/map/dot.png";
		  	tinyIcon.shadow = "/i/distributor/map/dot_shadow-google.png";
		  	tinyIcon.iconSize = new google.maps.Size(26,46);
		  	tinyIcon.shadowSize = new google.maps.Size(52,46);
		  	tinyIcon.iconAnchor = new google.maps.Point(22,46);
		  	tinyIcon.infoWindowAnchor = new google.maps.Point(22,46);
	  
      	for (var i = 0; i < dealersBaloonsData.length; i++) {	  
		   	 var point = new GLatLng(dealersBaloonsData[i].lon,dealersBaloonsData[i].lat);
		   	 var baloonHTML = prepareBallonData(dealersBaloonsData[i])
			 var icon = {icon:tinyIcon};
			 
		   	 var marker = createMarker(point,icon,baloonHTML);		   	                     
		   	 map.addOverlay(marker);
	  	}
	  	return map;
   	}
   	return false;
}

function createMarker(point,icon,baloonHTML) {
	var marker = new GMarker(point,icon);
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(baloonHTML);
	}); 
	return marker;
}