$(document).ready(function(){
		$('#map').css('height',  (util.windowDimensions('y') - 250) + 'px');
	
	});

var iconBlue = new GIcon();
var iconRed = new GIcon(); 
var iconGreen = new GIcon(); 
var iconYellow = new GIcon(); 
iconRed.image = 'http://labs.google.com/ridefinder/images/mm_20_red.png';
iconBlue.image = 'http://labs.google.com/ridefinder/images/mm_20_blue.png';
iconGreen.image = 'http://labs.google.com/ridefinder/images/mm_20_green.png';
iconYellow.image = 'http://labs.google.com/ridefinder/images/mm_20_yellow.png';
iconBlue.shadow = iconGreen.shadow = iconYellow.shadow = iconRed.shadow = 'http://labs.google.com/ridefinder/images/mm_20_shadow.png';
iconBlue.iconSize = iconGreen.iconSize = iconYellow.iconSize = iconRed.iconSize = new GSize(12, 20);
iconBlue.shadowSize = iconGreen.shadowSize = iconYellow.shadowSize = iconRed.shadowSize = new GSize(22, 20);
iconBlue.iconAnchor = iconGreen.iconAnchor = iconYellow.iconAnchor = iconRed.iconAnchor = new GPoint(6, 20);
iconBlue.infoWindowAnchor = iconGreen.infoWindowAnchor = iconYellow.infoWindowAnchor = iconRed.infoWindowAnchor = new GPoint(5, 1);
var customIcons = [];
customIcons["uberman"] = iconGreen;
customIcons["everyman"] = iconBlue;
customIcons["mid-attempt"] = iconYellow;
customIcons["preparing"] = iconRed;

function createMarker(point, name, address, type, comments) {
	var iconType_R = type.split(' ');
	var iconType = iconType_R[0].toLowerCase();
	var marker = new GMarker(point, customIcons[iconType]);
	var html = "<div class='map_name'>" + name + "</div>"
	+ "<div class='map_address'>" + address + "</div>"
	+ "<div class='map_comments'>" + comments.stripSlashes() +"</div>";
	GEvent.addListener(marker, 'click', function() {
		marker.openInfoWindowHtml(html);
	});
	return marker;
}

function initialize() {
    var map = new google.maps.Map2(document.getElementById("map"));
    map.setCenter(new google.maps.LatLng(30.4419, -2.1419), 2);
    var mapControl = new GMapTypeControl();
	map.addControl(mapControl);
	map.addControl(new GLargeMapControl());
	$.get((location.href +"/mapdata").replace('p//', 'p/'),null, function(data) {
		var xml = GXml.parse(data);
		var markers = xml.documentElement.getElementsByTagName("marker");

		for (var i = 0; i < markers.length; i++) {
			var name = markers[i].getAttribute("name");
			
			var address = markers[i].getAttribute("address");
			var type = markers[i].getAttribute("type");
			var userId = markers[i].getAttribute("id");
			var comments = markers[i].getAttribute('comments');
			var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng")));
			point = mapUtil.uniquePoint(point);
			mapUtil.points.push(point);
			var marker = createMarker(point, name, address, type, comments);
			map.addOverlay(marker);
			if(userId == newUser){
				marker.openInfoWindowHtml('<div class="map_success">Success</div><div class="map_comments">Thanks, '+name.showSplit()+'!</div>');
			}
		}
	}, 'text');
}
google.setOnLoadCallback(initialize);

mapUtil = {
	uniquePoint : function(p){
		for(i in mapUtil.points){
			if(p.equals(mapUtil.points[i])){
				return mapUtil.offPoint(p);
			}
		}
		return p;
	},
	offPoint : function(p){
		latR = Math.random() / 100; 
		lngR = Math.random() / 100;
		latD = (Math.floor(Math.random() * 100) % 2) ? 1 : -1;
		lngD = (Math.floor(Math.random() * 100) % 2) ? 1 : -1;
		return new GLatLng(parseFloat(p.lat() + (latR * latD)), parseFloat(p.lng() + (lngR * lngD)));
	},
	points : [],
	}
