function mapItem(map, itemData, counter){
		
					
		var counter = counter;
		var point;
		var map = map;
		
		var myData = itemData;

		var scatter = function(val){
			var r = (Math.random() - 0.5) / 2500;
			newval = parseFloat(val) + r;
			return newval;
		}
		
		this.loader = loader;
		function loader(e){
			loadMe(e);
		}
		
		var loadMe = function(e){
			mp = mapItemProperties;
			
			var title = "\n\t\t<h1>" + mp.title + "</h1>";
			var desc = "\n\t\t\t<p>" + mp.description + "</p>";
			var date = "\n\t\t\t<p class=\"date\">Posted by " + mp.author + "<br />" + mp.pubdate + "<br />" + mp.address + "</p>";
			

			var buildHtml = title + date + desc;

			$('preview').innerHTML = buildHtml;
			
			switch (mp.mimetype){
				case "image/jpeg":
					content = "<a href=\"" + mp.link + "\">" + mp.embedContent + "</a>";
					whichDiv = "pic";
					$('video').style.border = "1px solid #ffffff";
					$('audio').style.border = "1px solid #ffffff";
					break;
				case "audio/mpeg":
					content = mp.embedContent;
					whichDiv = "audio";
					$('pic').style.border = "1px solid #ffffff";
					$('video').style.border = "1px solid #ffffff";
					break;
				case "application/x-shockwave-flash":
					content = mp.embedContent;
					whichDiv = "video";
					$('pic').style.border = "1px solid #ffffff";
					$('audio').style.border = "1px solid #ffffff";
					break;
			}

			$(whichDiv).style.border = "1px solid #cccccc";

			$(whichDiv).innerHTML = content;
			map.setCenter(point, 13);

		}
		
		var setupLoad = function(e){
			setItem(counter);
			loadMe(e);	
		}
		
		var attribute = function(node,attr){
			var val = node.getAttribute(attr);
			return val;
		}

		var getNode = function(node,tagName){
			getNodes = node.getElementsByTagName(tagName);
			if (getNodes){
			return getNodes[0];
			}
		}
		
		var getValue = function(node){
			if (node.childNodes[0]){
				return node.childNodes[0].nodeValue;
			}
		}
		
		var mapItemProperties = {
		
			"latitude" : attribute(myData, "latitude"),
			"longitude" : attribute(myData, "longitude"),
			
			"link" : getValue(getNode(myData, "link")),
			"title" : getValue(getNode(myData, "title")),
			"description" : getValue(getNode(myData, "summary")),
			"pubdate" : getValue(getNode(myData, "pubDate")),
			"embedContent" : getValue(getNode(myData, "description")),
			"author" : getValue(getNode(myData, "author")),
			"mediaFile" : attribute(getNode(myData, "enclosure"),"url"),
			"mimetype" : attribute(getNode(myData, "enclosure"),"type"),
			"filelength" : attribute(getNode(myData, "enclosure"),"length"),
			"mediaduration" : attribute(getNode(myData, "enclosure"),"duration"),
			"address" : getValue(getNode(myData, "address"))		
		}
		
		var createMarker = function(mapItemProperties){

				point = new GLatLng(
				parseFloat(scatter(mapItemProperties.latitude)),
				parseFloat(scatter(mapItemProperties.longitude)));
				
				var marker = new GMarker(point);
				
				GEvent.addListener(marker, "click", setupLoad);
				return marker;
			}

		map.addOverlay(createMarker(mapItemProperties));
		
	}


