/**
 * @author Diego
 */

var pubPoint = [];
var ipP = 0;

function addPubtoMap (inMap){
	//for(var i=0;i<=1;i++){
		//var event_handle = ( i == 0 ) ? 'dragend' : 'zoomend';
		GEvent.addListener(inMap, 'zoomend', function(point,pmark){
			var xml_limit = getSquare(inMap);
			getXMLpub(inMap,xml_limit);
		});
	//}
}

function getXMLpub (inMap,limit){
	removePubMarker(inMap);
	//inMap.closeInfoWindow();
	if (inMap.getZoom() > 11) {
		$.getJSON(base_url + "admin/campana/get_map_ads/" + limit, function(data){			
			$.each(data, function(i, d){
				//alert(d.Campaign.id);
				var latlng = new GLatLng(d.Campaign.sector_lat, d.Campaign.sector_lng);
				pubIcon.image = base_url+"admin/campana/icon/"+d.Campaign.id+'/';
				pubPoint[ipP] = new GMarker(latlng, {
					icon: pubIcon,
					zIndexProcess: 0
				});				
				GEvent.addListener(pubPoint[ipP], 'click', function(pmark){
					text = "<center><h3 style=\"margin: 0 0 7px;\">" + d.Campaign.name + "</h3>" + d.Campaign.slogan + "<br /><br /><a target=\"_blank\" href='" + d.Campaign.url + "'>link</a></center>";
					inMap.openInfoWindowHtml(latlng,text);
				});			
					
				inMap.addOverlay(pubPoint[ipP]);			
				
				ipP++;
			});
		});
	}

}

function getSquare(map){

	var bounds = map.getBounds();
	var southWest = bounds.getSouthWest();
	var northEast = bounds.getNorthEast();
	var southEast = new GLatLng(southWest.lat(), northEast.lng());
	var northWest = new GLatLng(northEast.lat(), southWest.lng());
	
	var lat_min = ( northEast.lat() < southWest.lat() ) ? northEast.lat() : southWest.lat() ;
	var lat_max = ( northEast.lat() > southWest.lat() ) ? northEast.lat() : southWest.lat() ;
	
	var lng_min = ( northEast.lng() < southWest.lng() ) ? northEast.lng() : southWest.lng() ;
	var lng_max = ( northEast.lng() > southWest.lng() ) ? northEast.lng() : southWest.lng() ;
	
	return (lat_min-0.2)+'/'+(lat_max+0.2)+'/'+(lng_min-0.2)+'/'+(lng_max+0.2);
}

function removePubMarker (map){
	for (var i = 0; i < pubPoint.length; i++) {
		if( typeof(pubPoint[i]) == 'object' ){
			map.removeOverlay(pubPoint[i]);
		}
	}	
}
