

var PE = {
	
	map : null,
	photos : null,
	hilightmaker : null,
	markeroffset: 0,
	
	init : function(){
		window.onunload = GUnload;
	
		if (typeof data == 'undefined') return;
		if (typeof initmarkeroffset != 'undefined') PE.markeroffset = initmarkeroffset;
	
		PE.photos = eval('('+data+')');
		var lat = 32.6276443438;
		var lng = 0.0;
		var zoom = 2;
		if (typeof initzoomlevel != 'undefined') zoom = 17-initzoomlevel;

		PE.map = new GMap2(document.getElementById('map'));
		//PE.map.addControl(new GSmallMapControl());
		PE.map.setCenter(new GLatLng(lng, lat), zoom);
		PE.map.setMapType(G_HYBRID_MAP);


		if (typeof initbounds != 'undefined'){
			if (initbounds != 'null'){
				var bounds = eval('('+initbounds+')');
				var ne = new GLatLng(bounds.ne.lat,bounds.ne.lng); 
				var sw = new GLatLng(bounds.sw.lat,bounds.sw.lng); 
				var gbounds = new GLatLngBounds(sw,ne);
				var c = new GLatLng((parseFloat(ne.lat())+parseFloat(sw.lat()))/2, (parseFloat(ne.lng())+parseFloat(sw.lng()))/2);
				var zoom = PE.map.getBoundsZoomLevel(gbounds);
				
				PE.map.setCenter(c, zoom);
			}
		}
			
		PE.map.disableDragging();
		
		PE.doMarkers();
		PE.addHilightMarker(PE.map);
		
		if (typeof T != 'undefined') T.init();
	},
	
	showPopupPost : function(lat, lng){		
		var point = new GLatLng(lat,lng);

		PE.moveHilightMarker(point);
	},
	
	showPopupId : function(i){
		PE.showPopupPost(PE.photos[i].lat, PE.photos[i].lng, PE.photos[i].title);
		
		var photo = PE.photos[i];
		
		if (document.getElementById('item')) document.getElementById('item').innerHTML = '<h3>'+photo.title+'</h3>'+nl2br(photo.body);
	},
	
	hidePopup : function(){
		PE.hideHilightMarker();
	},
	
	doMarkers : function(){
	
		PE.markers = new Array();
	
		var items	= PE.photos;
		var map 	= PE.map;

		for(var i = items.length-1; i >= 0 ; i--){
				PE.addMarker(map, items[i]['lat'],items[i]['lng'], i);
		}
	},
	
	addHilightMarker : function(map){
		var icon = new GIcon();
		icon.image = "/images/newmarkers/marker.png";
		icon.shadow = "/images/newmarkers/marker_shadow.png";
		icon.shadowSize = new GSize(22, 18);
		icon.iconSize = new GSize(18, 18);
		icon.iconAnchor = new GPoint(9, 18);
		icon.infoWindowAnchor = new GPoint(9, 0);
		
		var marker	= new GMarker(new GLatLng(-1000,-1000), icon);
			
		map.addOverlay(marker);
		PE.hilightmaker = marker;
	},
	
	moveHilightMarker : function(point){
		PE.hilightmaker.setPoint(point);
	},
	
	hideHilightMarker : function(){
		PE.moveHilightMarker(new GLatLng(-1000,-1000));
	},
	
	addMarker : function(map,lat,lng, iid){
		var point 	= new GLatLng(lat, lng);
		var icon = new GIcon();
		
		var fname = (iid+1+PE.markeroffset)+".png";
		
		if (iid+1+PE.markeroffset > 10) fname="dot.png";
		
		icon.image = "/images/newmarkers/"+fname;
		icon.iconSize = new GSize(10, 10);
		icon.iconAnchor = new GPoint(5, 5);
		icon.infoWindowAnchor = new GPoint(5, 5);
		
		var marker	= new GMarker(point, icon);
			
		map.addOverlay(marker);
			
		PE.markers[iid] = marker;	
			
		GEvent.addListener(marker, 'mouseover', function(){PE.showPopupId(iid);});
		GEvent.addListener(marker, 'mouseout', PE.hidePopup);
	}
	
	
}

window.onload = PE.init;