var currentMarkers = [];
var geocoder;
var map2;
var zoom = 10;
jQuery().ready(function(){
      function initialize() {
    if (GBrowserIsCompatible()) {
        map2 = new GMap2(document.getElementById("map_canvas"));
        map2.setCenter(new GLatLng(52.025459,19.204102), 6);
        var opts = map2.getDefaultUI();
        opts['maptypes']['normal'] = true;
        opts['maptypes']['satellite'] = false;
        opts['maptypes']['hybrid'] = false;
        opts['maptypes']['physical'] = false;
        opts['zoom']['scrollwheel'] = true;
        opts['zoom']['doubleclick'] = true;
        opts['controls']['scalecontrol'] = false;
        opts['controls']['menumaptypecontrol'] = false;

        map2.setUI(opts);

        geocoder = new GClientGeocoder();
        geocoder.setBaseCountryCode("pl");



        /*jQuery("p.company").click( function (){
                        map2.setCenter(new GLatLng(jQuery(this).children("span.lat").text(),jQuery(this).children("span.lng").text()), 14);
        });*/

    }

 $.getJSON('/dealers/getservices', function(data) {


 var mgr = new MarkerManager(map2);


 $.each(data,function(index,item){

var txt = item['Dealer']['company']+'<br/>'+item['Dealer']['address']+'<br/><br/>'+item['Dealer']['telephone']+'<br/><br/>'+item['Dealer']['info'];
                      var marker = new GMarker(new GLatLng( item['Dealer']['lat'], item['Dealer']['lng']));
                        currentMarkers.push(marker);
                        //mgr.addMarker(mgr.getMarker(53.424402, 14.552902, 12), 12, 13);
                        map2.addOverlay(marker);
                        marker.bindInfoWindowHtml(txt);
 });
});





}

 function addAddressToMap(response) {

 if (!response || response.Status.code != 200) {
alert("Sorry, we were unable to geocode that address");
} else {
place = response.Placemark[0];
point = new GLatLng(place.Point.coordinates[1],
place.Point.coordinates[0]);
  map2.setCenter(point, zoom);


 }
 }


 function showLocation(address) {
 geocoder.getLocations(address,addAddressToMap);

 }

 $('div#MapCity_container > ul > li').live('click',function(){
       if($(this).html()!=''){

       zoom =10;
       showLocation($(this).html());

       }
 });
       $('div#MapProvince_container > ul > li').live('click',function(){

       var services='';
       zoom = 8;
              $('div#services_list').hide('fast');
       $('select#MapCity').html('');
       city=null;
  $('div#MapCity_container').remove();
$('input#MapCity_input').remove();
     if($(this).html()!='Województwo'){
       $.getJSON('/dealers/getservices/'+$(this).html(), function(data) {

            $.each(data,function(index,item){
              services+='<div style="color:#8F9192;height:110px;width:160px;padding:10px;float:left;"><span class="red">'+item['Dealer']['company']+'</span><br/>'+item['Dealer']['address']+'<br/>'+item['Dealer']['city']+'<br/>'+item['Dealer']['telephone']+'<br/>'+item['Dealer']['info']+'</div>';
               if(city!=item['Dealer']['city']){
$('select#MapCity').append('<option value="'+item['Dealer']['city']+'">'+item['Dealer']['city']+'</option>');
              }

            city=item['Dealer']['city'];


            });

                 $('#MapCity').selectbox({debug: true});

             if(services!=''){
                     $('div#services_list').html(services);

             $('div#services_list').show('slow');

             }
       });
       showLocation($(this).html());

       }else{
             $.getJSON('/dealers/getservices', function(data) {

            $.each(data,function(index,item){
              services+='<div style="color:#8F9192;height:140px;width:160px;padding:10px;float:left;"><span class="red">'+item['Dealer']['company']+'</span><br/>'+item['Dealer']['address']+'<br/>'+item['Dealer']['city']+'<br/>'+item['Dealer']['telephone']+'<br/>'+item['Dealer']['info']+'</div>';
               if(city!=item['Dealer']['city']){
$('select#MapCity').append('<option value="'+item['Dealer']['city']+'">'+item['Dealer']['city']+'</option>');
              }

            city=item['Dealer']['city'];


            });

                 $('#MapCity').selectbox({debug: true});

             if(services!=''){
                     $('div#services_list').html(services);

             $('div#services_list').show('slow');

             }
       });
      map2.setCenter(new GLatLng(52.025459,19.204102), 6);
       }
       });

initialize();

});