$(document).ready(function(){	
	var map;
	var geo;
	var info;
	
	if($("#map").length){
		var lat = 51.919438;
		var lng = 19.145136;
		var zoom = 6;
		var marker = new Array();
						
		var defaultLocation = new google.maps.LatLng(lat, lng);   
		var mapOptions = {
			zoom: zoom,
			center: defaultLocation,
			mapTypeId: google.maps.MapTypeId.ROADMAP,
			mapTypeControl: true,
			navigationControl: true,
			zoomControl: true,
    		scaleControl: true,
			//navigationControlOptions: {
				//style: google.maps.NavigationControlStyle.SMALL
			//},
		};  
		map = new google.maps.Map($("#map").get(0), mapOptions);
		geo = new google.maps.Geocoder();
		info = new google.maps.InfoWindow();
		var icon_size = new google.maps.Size(27,34);
		var icon_start = new google.maps.Point(0,0);
		var icon_handle = new google.maps.Point(13,33);  
		var icon = new google.maps.MarkerImage("http://maps.google.com/mapfiles/kml/pal2/icon13.png",icon_size,icon_start,icon_handle);
		map.setZoom(zoom);
		for(var i=0; i<sellpoints_array.length; i++){
			if( sellpoints_array[i][2] && sellpoints_array[i][3] ){
				var marker_position = new google.maps.LatLng(sellpoints_array[i][2], sellpoints_array[i][3]);
				googleMap_addMarker( sellpoints_array[i][0], marker_position, {title: sellpoints_array[i][4], draggable: false, icon: icon});
			}else if( sellpoints_array[i][1] ){
				googleMap_setPoint( sellpoints_array[i][1], sellpoints_array[i][0], {title: sellpoints_array[i][4], draggable: false, icon: icon}, true );
			}
			
		}
		
		
	}
	
	function googleMap_getStage( address ) { 
		geo.geocode( { 'address': address}, 
			function(results, status) {
			if (status == google.maps.GeocoderStatus.OK) {
				var latlngString = String(results[0].geometry.location);
				latlngString = latlngString.replace('(','');
				latlngString = latlngString.replace(')','');
				latlngString = latlngString.replace(' ','');
									
				var latlngStr = latlngString.split(",",2);
				var lat = parseFloat(latlngStr[0]);
				var lng = parseFloat(latlngStr[1]);
				
				var point = new google.maps.LatLng(lat,lng);
				if( point ) map.setCenter(point);
				map.setZoom(8);
				
			} else {
				return '';
			}
		});		
	}
	
	function googleMap_setPoint( address, marker_id, marker_options, savepoint ) { 
		
	
		geo.geocode( { 'address': address}, 
			function(results, status) {
			if (status == google.maps.GeocoderStatus.OK) {
				var latlngString = String(results[0].geometry.location);
				latlngString = latlngString.replace('(','');
				latlngString = latlngString.replace(')','');
				latlngString = latlngString.replace(' ','');
									
				var latlngStr = latlngString.split(",",2);
				var lat = parseFloat(latlngStr[0]);
				var lng = parseFloat(latlngStr[1]);
				
				var marker_position = new google.maps.LatLng(lat,lng);
				if( marker_position ) googleMap_addMarker( marker_id, marker_position, marker_options );
			}else if(status == google.maps.GeocoderStatus.ZERO_RESULTS){
				
			}else if(status == google.maps.GeocoderStatus.OVER_QUERY_LIMIT){
				
			} else {
				return '';
			}
		});		
	}
		  
	function googleMap_addMarker( marker_id, marker_position, marker_options ){
		info.close();
		marker_options.position = marker_position;
		marker_options.map = map; // obiekt mapa jest obiektem globalnym!   
		if(!marker[marker_id]){
			marker[marker_id] = new google.maps.Marker(marker_options);
				
				google.maps.event.addListener(marker[marker_id],'click',function(){   
					
					info.setContent( sellpoints_info_array[marker_id] );     
					info.setPosition(marker[marker_id].getPosition());     
					info.open(map, marker[marker_id]);  		 
				});
				
		}else{
			marker[marker_id].setPosition( marker_position );
		}
	}
	
	$('ol.map-points li').click(function(){
		var sellpoint_id = $(this).attr('id');
		if(marker[sellpoint_id]){

			var latlngString = String(marker[sellpoint_id].getPosition());
			latlngString = latlngString.replace('(','');
			latlngString = latlngString.replace(')','');
			latlngString = latlngString.replace(' ','');
								
			var latlngStr = latlngString.split(",",2);
			var lat = parseFloat(latlngStr[0]);
			var lng = parseFloat(latlngStr[1]);
			
			var point = new google.maps.LatLng(lat,lng);
			if( point ) map.setCenter(point);
			map.setZoom(13);
			
			info.close();
			info.setContent( sellpoints_info_array[sellpoint_id] );     
			info.setPosition(marker[sellpoint_id].getPosition());     
			info.open(map, marker[sellpoint_id]);  
		}else{
			sell_point_num = 0;
			for(var i=0;i<sellpoints_array.length;i++){
				if(sellpoints_array[i][0] == sellpoint_id){ sell_point_num = i; break; }
			}
			googleMap_setPoint( sellpoints_array[sell_point_num][1], sellpoint_id, {title: sellpoints_array[sell_point_num][4], draggable: false, icon: icon}, true );	
		}
	});
	

	



});
