var map=null;
var infoWindow=null;
var markerClusterer;
var region_id=0;
var category_id=0;
var location_id=0;

function DrawMap(loc,zoom){
	if(!map){
		var myOptions = {streetViewControl:false,mapTypeId: google.maps.MapTypeId.ROADMAP}
		map = new google.maps.Map(document.getElementById('map'), myOptions);
		infoWindow = new google.maps.InfoWindow();
	}
	
	if(zoom)map.setZoom(zoom);
	if(loc){
		loc=loc.split(",");	
		map.setCenter(new google.maps.LatLng(loc[0],loc[1]));
	}
}
function LoadMap(reg,loc,cat){	
	if(reg)region_id=reg;	
	if(cat)category_id=cat;
	if(loc)location_id=loc;
	$.ajax({		
		data: 'module=map&type=xml&region='+region_id+'&category='+category_id+'&location='+location_id,dataType: "xml",
		beforeSend: function(){
			infoWindow.close();			
			if (markerClusterer) markerClusterer.clearMarkers();	
		},
		success: function(result) {	
			var markers=[];
			$(result).find("marker").each(function(){
				var loc=$(this).attr('location').split(",");
				if($(this).attr('image')!='')
				{
					var marker = new google.maps.Marker({
					position: new google.maps.LatLng(loc[0],loc[1]),
					title:$(this).attr('name'),
					link:$(this).attr('link'),
					address:$(this).attr('address'),
					image: $(this).attr('image'),
                                        icon : $(this).attr('icon')
					});
				}
				else
				{
				var marker = new google.maps.Marker({
				position: new google.maps.LatLng(loc[0],loc[1]),
				title:$(this).attr('name'),
				link:$(this).attr('link'),
				address:$(this).attr('address'),
				});
				}
    			
				google.maps.event.addListener(marker, 'click',showWindow);
				markers.push(marker);
			});	
			markerClusterer = new MarkerClusterer(map, markers,{maxZoom: 13, gridSize: 20});
			
			var loc=$(result).children().attr('location');
			var zoom=parseInt($(result).children().attr('zoom'));	
			DrawMap(loc,zoom);
		}
	});	
}

function showWindow(){
    if(this.image){
	infoWindow.setContent('<div style=color:red><b>'+this.title+'</b></div><IMG SRC="'+this.image+'" width=100 height=70><br/><div style=color:black><b>'+this.address+'</b></div><br/><a href="'+this.link+'" style=color:blue>περισσότερα</a>');
	infoWindow.open(map,this);
	}
	else{
	infoWindow.setContent('<div style=color:red><b>'+this.title+'</b></div><br/><div style=color:black><b>'+this.address+'</b></div><br/><a href="'+this.link+'" style=color:blue>περισσότερα</a>');
	infoWindow.open(map,this);
	}
}
