    
    //<![CDATA[


var map           = null;
var geocoder      = null;
var markers       = 0;
var unknownCenter =true


function load(){
	if(GBrowserIsCompatible()){
    map      = new GMap2(document.getElementById("map"));
    geocoder = new GClientGeocoder();
    
    map.addControl(new GOverviewMapControl());		
		map.addControl(new GSmallMapControl());
		map.addControl(new GScaleControl());
		
		showObjects();
    
		showCity(odyssei_city_name, odyssei_city_lat, odyssei_city_lon, odyssei_city_author, odyssei_country_en);
  }
}


function showCity(city, lat, lon, author, country_en){
	
	//Mamy wspolrzedne w bazie.
	if(lat != '' && lon !=''){
		//Sa wspolrzedne w bazie.
		//Po prostu zaznacz.
		var odyssei_point = new GLatLng(parseFloat(lat), parseFloat(lon));
		
		map.setCenter(odyssei_point, 12);
		map.setCenter(new GLatLng(parseFloat(lat), parseFloat(lon)), 12);
		
		//document.getElementById('odyssei_gmaps_city_sourceInfo_odyssei').style.display = 'block';
		document.getElementById('odyssei_gmaps_city_addForm').style.display = 'block';
		
		unknownCenter = false;
	}			
	else{
		//Nie ma wspolrzednych w bazie.
		//Sprobuj znalezc.
		map.setCenter(new GLatLng(0.0, 0.0), 1);
		prepareToEstablish();
		document.getElementById('odyssei_gmaps_city_sourceInfo_none').style.display = 'block';
		
		var userId = returnUserID();
		if(!(userId == '' || userId == null || userId == 0)){
			document.getElementById('divEstablishCity').style.display = 'block';
		}
		unknownCenter = false;
	}
}

function createMarker(point, text){
	var marker = new GMarker(point);
	GEvent.addListener(marker, "mouseover", function() {
		marker.openInfoWindowHtml(text,{maxWidth: 100});
  });
  /*
	GEvent.addListener(marker, "mouseout", function() {
		map.closeInfoWindow();
  });*/
  return marker;
}


function prepareToAdd(){
	//Obsluz mape.
	GEvent.addListener(map, "click", function(marker, point){
  		if(!marker){
  			if(markers == 0){
  				var odyssei_marker = new GMarker(point, {draggable: true});
    			map.addOverlay(odyssei_marker);
  				setCoords(odyssei_marker);
    			markers = 1;
    			GEvent.addListener(odyssei_marker, "dragend", function(){
  					setCoords(odyssei_marker);
				  });
  	  	}
			}
		}
	);

	//Wyswietl forme.
	document.getElementById('addObject_form').style.display = 'block';
}


function prepareToEstablish(){
	//Obsluz mape.
	GEvent.addListener(map, "click", function(marker, point){
  		if(marker){
  	  		map.removeOverlay(marker);
  	  		setCoords_2(null);
    			markers = 0;
	  	}
			else{
  			if(markers == 0){
  				var odyssei_marker = new GMarker(point, {draggable: true});
    			map.addOverlay(odyssei_marker);
  				setCoords_2(odyssei_marker);
    			markers = 1;
    			GEvent.addListener(odyssei_marker, "dragend", function(){
  					setCoords_2(odyssei_marker);
				  });
  	  	}
			}
		}
	);
	
	// Daj zoom na kraj.
	showAddress(odyssei_country_en);
}



function showAddress(address){
	if(geocoder){
		geocoder.getLatLng(
			address,
			function(point) {
				if(point){
					map.setCenter(point, 6);
				}
			}
		);
	}
}


function setCoords(mark){
	if(mark)
		document.getElementById('addObject_coords').value = mark.getPoint();
	else
		document.getElementById('addObject_coords').value = '';
}


function setCoords_2(mark){
	if(mark)
		document.getElementById('establishLocation_coords').value = mark.getPoint();
	else
		document.getElementById('establishLocation_coords').value = '';
}


function showObjects(){
	if(odyssei_city_objects.length > 0){
		document.getElementById('objects_by_users_div').style.display  = 'block';
		document.getElementById('odyssei_city_tags_div').style.display = 'block';
	}

	for(var i = 0; i < odyssei_city_objects.length; i++){
		var odyssei_point = new GLatLng(parseFloat(odyssei_city_objects[i].coords_lat),
			parseFloat(odyssei_city_objects[i].coords_lon));
		
		text_to_display =
			"<a href='objects/" + odyssei_city_objects[i].id + ".html'><strong>" +
			odyssei_city_objects[i].name + "</strong></a><br />" +
			odyssei_city_objects[i].description + "[...]";
			
		if(odyssei_city_objects[i].tags != ''){
			text_to_display += "<br /><em>";
			
			var tags_array = odyssei_city_objects[i].tags.split(' ');
			for(var k = 0; k < tags_array.length; k++)
				text_to_display += "<a href='tags," + tags_array[k] + "'>"+tags_array[k] + "</a> ";
			
			text_to_display += "</em>";
		}
		
		if(odyssei_city_objects[i].image != ''){
			var digit_1 = odyssei_city_objects[i].image.charAt(9);
			var digit_2 = odyssei_city_objects[i].image.charAt(8);
			var digit_3 = odyssei_city_objects[i].image.charAt(7);
			
			text_to_display += "<br />" +
			"<div style='height:150px'><img style='max-height:150px;width:150px;' src='http://www.odyssei.com/community/cities/objects/images/thumbs/" +
			digit_1 + "/" + digit_2 + "/" + digit_3 + "/" +
			odyssei_city_objects[i].image + "' alt='" + odyssei_city_objects[i].name + "' /></div>";
		}
		
		if(unknownCenter){
			map.setCenter(odyssei_point, 10);
			unknownCenter = false;
		}
		map.addOverlay(createMarker(odyssei_point, text_to_display));
	}
}


function CityAddObject_validate(){
	var val_coords = document.getElementById('addObject_coords').value;
	var val_name   = document.getElementById('addObject_name').value;
	
	//Czy sa wspolrzedne?
	if(val_coords == ''){
		alert(odyssei_error_coords);
		return false;
	}
	
	//Czy podano nazwe?	
	if(val_name == ''){
		alert(odyssei_error_name);
		document.getElementById('addObject_name').focus();
		return false;
	}
	
	return true;
}


function CityEstablishLocation_validate(){
	var val_coords = document.getElementById('establishLocation_coords').value;
	
	//Czy sa wspolrzedne?
	if(val_coords == ''){
		alert(odyssei_error_coords);
		return false;
	}
	
	return true;
}


    //]]>
