function MainPage( )
{
	var currentCountryName = null;
	
	var map = dojoWrapper.getById ( "main_page_middle_map");
	
	var buffer = "";
	
	function enable ( aNode )
	{
		dojoWrapper.removeClass ( aNode, "invisible" );
	}
	
	function disable ( aNode )
	{
		dojoWrapper.addClass ( aNode, "invisible" );
	}
	
	this.setCity = function ( aCityNameEnglish, aCountryNameEnglish )
	{
		// Get all elements involved
		var cityHighlightMarkerNode = dojoWrapper.getById ( aCityNameEnglish + "_highlight_marker" );
		var cityTextNode = dojoWrapper.getById ( aCityNameEnglish + "_text" );
		
		var cityText = "";
		
		
		var mapTextNode = dojoWrapper.getById ( "main_page_middle_map_text" );
		
		buffer =mapTextNode.innerHTML;
		
		// Set country
		this.setCountry ( aCountryNameEnglish );		
		
		// Set city description
		
		if (cityTextNode != null)
		{
			cityText = cityTextNode.innerHTML.toString ();
		}
		
		mapTextNode.innerHTML = cityText;
			
		// Enable elements
		enable ( cityHighlightMarkerNode );
		enable ( mapTextNode );	
	} 
	
	this.unsetCity = function ( aCityNameEnglish )
	{
		// Get all elements involved
		var cityHighlightMarkerNode = dojoWrapper.getById ( aCityNameEnglish + "_highlight_marker" );
		var mapTextNode = dojoWrapper.getById ( "main_page_middle_map_text" );
		
		mapTextNode.innerHTML = buffer;
		
		// Disable elements
		disable ( cityHighlightMarkerNode );
		//disable ( mapTextNode );
	}
	
	this.setCountry = function ( aCountryNameEnglish )
	{
		if ( currentCountryName != aCountryNameEnglish )
		{
			if ( currentCountryName != null )
			{
				this.unsetCountry( currentCountryName );
			}
			else
			{
				var countryMarkers = dojoWrapper.getById ( "country_markers" );
				
				disable ( countryMarkers );
			}
			
			currentCountryName = aCountryNameEnglish;
			
			
			// Get all elements involved
			var cityMarkers = dojoWrapper.getById ( currentCountryName + "_city_markers" );
			
			
			var mapImageUrl = "url(/site_media/location_media/country/" + currentCountryName + "/media/images/map.jpg)";
			
			var mapCaptionNode = dojoWrapper.getById ( "main_page_middle_map_caption" );
			var mapCaptionUrl = "url(/site_media/location_media/country/" + currentCountryName + "/media/images/map_caption.png)";			
			
			// Set the country caption	
			dojoWrapper.setStyle ( mapCaptionNode, "backgroundImage",mapCaptionUrl );
			dojoWrapper.setStyle ( map, "backgroundImage",mapImageUrl );
			
			// Enable elements
			enable ( cityMarkers );
			enable ( mapCaptionNode );	
		}
	}
	
	this.unsetCountry = function ( aCountryNameEnglish )
	{
		// Get all elements involved
		var cityMarkers = dojoWrapper.getById ( aCountryNameEnglish + "_city_markers" );
		
		// Disable elements
		disable ( cityMarkers );
	}
	
	this.setCountrySimple = function ( aCountryNameEnglish )
	{
		// Get all elements involved
		var countryHighlightMarkerNode = dojoWrapper.getById ( aCountryNameEnglish + "_highlight_marker" );
		var countryTextNode = dojoWrapper.getById ( aCountryNameEnglish + "_text" );
		
		var countryText = "";
		
		var mapTextNode = dojoWrapper.getById ( "main_page_middle_map_text" );	
		var mapCaptionNode = dojoWrapper.getById ( "main_page_middle_map_caption" );
		var mapCaptionUrl = "url(/site_media/location_media/country/" + aCountryNameEnglish + "/media/images/map_caption.png)";			
			
		
		// Set country description
		if (countryTextNode != null)
		{
			countryText = countryTextNode.innerHTML;
		}
		
		mapTextNode.innerHTML = countryText;
		dojoWrapper.setStyle ( mapCaptionNode, "backgroundImage",mapCaptionUrl );
			
		// Enable elements
		enable ( countryHighlightMarkerNode );
		enable ( mapTextNode );	
		enable ( mapCaptionNode );	
	}
	
	this.unsetCountrySimple = function ( aCountryNameEnglish )
	{
		// Get all elements involved
		var countryHighlightMarkerNode = dojoWrapper.getById ( aCountryNameEnglish + "_highlight_marker" );
		var mapTextNode = dojoWrapper.getById ( "main_page_middle_map_text" );
		
			
		// disable elements
		disable ( countryHighlightMarkerNode );
		//disable ( mapTextNode );
	}
	

}
