var $j = jQuery.noConflict();

var image = new google.maps.MarkerImage(url_address + 'images/markers/marker-ch-blue.png',
    new google.maps.Size(25, 39),
    new google.maps.Point(0,0));
var shadow = new google.maps.MarkerImage('http://www.google.com/mapfiles/shadow50.png',
    new google.maps.Size(37, 34),
    new google.maps.Point(0,0),
    new google.maps.Point(10,34));
var shape = {
    coord: [1, 1, 1, 25, 18, 25, 18 , 1],
    type: 'poly'
};

function singleMapLoad(Lat,Long){
	var homeLatlng = new google.maps.LatLng(Lat,Long);
	var homesMapOptions = {
    	zoom: 13,
    	center: homeLatlng,
    	disableDefaultUI: true,
        streetViewControl: true,
    	zoomControl: true,
        zoomControlOptions: {
          style: google.maps.ZoomControlStyle.DEFAULT
        },
    	mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    var map = new google.maps.Map(document.getElementById("homesGoogleMap"), homesMapOptions);
	var marker = new google.maps.Marker({
      position: homeLatlng, 
      map: map,
      shadow: shadow,
      icon: image,
      shape: shape
	});
}

function mapLoad(postcode,limit){
    var setPostcode = postcode;
    var setLimit = limit;
    var homesMapOptions = {
    	zoom: 6,
    	center: new google.maps.LatLng(53.8,-1.779785),
    	disableDefaultUI: true,
        streetViewControl: true,
    	zoomControl: true,
        zoomControlOptions: {
          style: google.maps.ZoomControlStyle.DEFAULT
        },
    	mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    var map = new google.maps.Map(document.getElementById("homesGoogleMap"), homesMapOptions);

    getHomes(map, setPostcode, setLimit);

}

function getHomes(map, postcode, limit){
        
    $j.ajaxSetup({
	  beforeSend: function() {
		  $j('#resultsLoader').show()
	  },
	  complete: function(){
		  $j('#resultsLoader').hide()
	  }
	});
    
    $j.ajax({
        url: url_address + "module/carehomes/ajaxResponse.php?postcode=" + postcode + "&limit=" + limit,
        context: document.body,
        success: function(data){
            var dat = jQuery.parseJSON(data);
            var infowindow = null;
            var infowindow = new google.maps.InfoWindow({content: ''});
            
            var markerBounds = new google.maps.LatLngBounds();
           
            for(var key in dat){
                var obj = dat[key];
                var point = new google.maps.LatLng(obj['lat'],obj['long']);                                
                var marker = new google.maps.Marker({
                    position: point,
                    map: map,
                    shadow: shadow,
                    icon: image,
                    shape: shape,
                    title: obj['name'],
                    html: '<div class="balloonTitle">' + obj['name'] + '</div><div class="balloonAddress">' + obj['town'] + ', ' + obj['county'] + '</div><div class="balloonLink"><a href="' + homeslink + obj['url'] + '">View details</a></div>'
                });
                google.maps.event.addListener(marker, 'click', function () {
	                infowindow.setContent(this.html);
	                infowindow.open(map, this);
                });
                markerBounds.extend(point);            
            }
            map.fitBounds(markerBounds);
                        
        }
    });    
}
