var map;

var miRelacja = 'blue';
var miPointer = 'blue';
var miRestaurant = 'orange';
var miUtrudnienie = 'yellow';
var miRadary = 'brown';
var miNiebezpieczne = 'red';
var miKamera = 'green';

var nmarker = new Array();

function adjustMap(point, info, cat, ids) {
	var myLatLng;
	var infoWindow = new google.maps.InfoWindow();

	var bounds = new google.maps.LatLngBounds();
	var shadow = new google.maps.MarkerImage('http://labs.google.com/ridefinder/images/mm_20_shadow.png',
		new google.maps.Size(22,20),
		new google.maps.Point(0,0),
		new google.maps.Point(6,20));

	for(var i=0; i<point.length; i++) {
		var coord=point[i].split(",");

		myLatLng = new google.maps.LatLng(coord[0], coord[1]);

		var ico_name = '';
		switch(cat[i]) {
			case 'relacja':										ico_name = miRelacja;				break;
			case 'utrudnienie':								ico_name = miUtrudnienie;		break;
			case 'zjedzwdrodze':							ico_name = miRestaurant;		break;
			case 'fotoradar-miejsce_kontroli':ico_name = miRadary;				break;
			case 'miejsce_niebezpieczne':			ico_name = miNiebezpieczne;	break;
			case 'kamera':										ico_name = miKamera;				break;
			default:													ico_name = miPointer;				break;
		}

		var image = new google.maps.MarkerImage('http://labs.google.com/ridefinder/images/mm_20_' + ico_name + '.png',
			new google.maps.Size(12,20),
			new google.maps.Point(0,0),
			new google.maps.Point(6,20));

	  nmarker[i] = new google.maps.Marker({
			position: myLatLng,
			map: map,
			shadow: shadow,
			icon: image,
			nr: ids[i],
			txt: '<div class="info" style="overflow:hidden;padding-bottom:5px;">'+info[i]+'</div>',
			kategoria: cat[i]
		});

		google.maps.event.addListener(nmarker[i], 'click', function() {
			infoWindow.setContent(this.txt);
			infoWindow.setPosition(this.position);
			infoWindow.open(map);
		});

		bounds.extend(myLatLng);
	}
	if(point.length == 1) {
		map.setZoom(12);
		map.setCenter(myLatLng);
	}
	else map.fitBounds(bounds);
}

function start(center) {
	if(center!=0) {
		var coord=center.split(",");

		var myLatLng = new google.maps.LatLng(coord[0], coord[1]);
    var map_options = {
      zoom: 12,
      center: myLatLng,
			panControl: true,
			streetViewControl: false,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map(document.getElementById("mapa"), map_options);

		var ico_name = '';
    if(typeof(category) == 'undefined') ico_name = miRelacja;
		else {
			switch(category) {
				case 'relacja':										ico_name = miRelacja;				break;
				case 'utrudnienie':								ico_name = miUtrudnienie;		break;
				case 'restauracja':								ico_name = miRestaurant;		break;
				case 'fotoradar-miejsce_kontroli':ico_name = miRadary;				break;
				case 'miejsce_niebezpieczne':			ico_name = miNiebezpieczne;	break;
				case 'kamera':										ico_name = miKamera;				break;
				default:													ico_name = miPointer;				break;
			}
		}
		if(ico_name != '') {
			var image = new google.maps.MarkerImage('http://labs.google.com/ridefinder/images/mm_20_' + ico_name + '.png',
				new google.maps.Size(12,20),
				new google.maps.Point(0,0),
				new google.maps.Point(6,20));
			var shadow = new google.maps.MarkerImage('http://labs.google.com/ridefinder/images/mm_20_shadow.png',
				new google.maps.Size(22,20),
				new google.maps.Point(0,0),
				new google.maps.Point(6,20));

	    var marker = new google.maps.Marker({
				position: myLatLng,
				map: map,
				shadow: shadow,
				icon: image
			});
		}
	} else {
		var m=document.getElementById('mapa');
		m.innerHTML="<p style='text-align: center; margin-top: 10px'>Niestety dla tej relacji nie zaznaczono punktu na mapie!</p>";
	}
}

function startMulti() {
	var myLatLng = new google.maps.LatLng(51.7644403180351, 18.08624267578125);
  var map_options = {
    zoom: 5,
    center: myLatLng,
		panControl: true,
		streetViewControl: false,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };
	map = new google.maps.Map(document.getElementById("mapa"), map_options);

	adjustMap(point, info, cat, ids);
}

function toggleCats(sender) {
	cat = sender.value;

	for(var i=0; i<nmarker.length; i++) {
		if(nmarker[i].kategoria==cat) {
			if(sender.checked) nmarker[i].setVisible(true);
			else nmarker[i].setVisible(false);
		}
	}
}

