var infos = [];var loading = false;var displayCount = 0;
 function Info (infoArray) {
	var infoVars = ['latitude', 'longitude', 'text', 'test'];
 	for (var i = 0; i < infoVars.length; i++) {
 		this[infoVars[i]] = infoArray[i];
	}
}
 Info.prototype.lastStatus = function () {
	var myDiv = document.createElement('div');
 	myDiv.innerHTML = this.text; myDiv.id = "lastStatus";
 	return myDiv;	
}
Info.prototype.infoWindow = function() {
	var myInfoWindow = document.createElement('div');
	myInfoWindow.id = "infoWindow";
	myInfoWindow.appendChild(this.lastStatus());
	return myInfoWindow;
}
function loadData() {
 	if (!loading) {
		new Ajax.Request('update_new.php?fdsfsd', { 
			method : 'post',
			onCreate : function () { loading = true; },
			onSuccess : function(transport) {
			addInfos(transport.responseText);},
			onComplete : function () { loading = false; } 
		});
	}
}
function showInfos() {
	var currentInfo = infos.pop();
	if ( currentInfo && currentInfo.show ) {
		currentInfo.show();
		displayCount++;
	}
	if (infos.length == 0)
		loadData();
 	setTimeout("showInfos();", 5000);
}
function addInfos(responseText) {
	var newInfos = eval(responseText);
	if (newInfos.length == 0)
		alert("No Infos Available!");
	else {	
		for (i=0; i<newInfos.length; i++) {
			infos.push(new Info(newInfos[i]));
		}
	}
	if (displayCount == 0)
		showInfos();
}
var map;var userMarker;var marker;
var map_icon = addOptionsToIcon(new GIcon(),{iconSize : new GSize(12, 20), iconAnchor : new GPoint(6,20), infoWindowAnchor : new GPoint(5,1), image : 'http://labs.google.com/ridefinder/images/mm_20_blue.png', shadow : 'http://labs.google.com/ridefinder/images/mm_20_shadow.png'});
function addOptionsToIcon(icon, options) {
	for(var k in options)	{
		icon[k] = options[k];
	}
	return icon;
}
function loadMap () {
	var w = 700; // Width of map container
	map = new GMap2(document.getElementById("map"), {mapTypes: [G_PHYSICAL_MAP] });
	map.setCenter(new GLatLng(39,76), w>685 ? 3 : 2);
	map.addControl(new GSmallMapControl());	
}
Info.prototype.show = function () {
 	map.closeInfoWindow();
	if (marker)
		map.removeOverlay(marker);
 	marker = new GMarker(new GLatLng(this.latitude,this.longitude), { icon : map_icon });
	map.addOverlay(marker);
	map.openInfoWindow(marker.getLatLng(), this.infoWindow(), {noCloseOnClick : true, pixelOffset : new GSize(22,-20) } );
 	$('mapproject').innerHTML = this.test;
}
addEvent(window, 'load', init);
function init() {
	if (GBrowserIsCompatible()) {    
		loadMap();
		loadData();
	} else {
		alert("Sorry, your browser isn't compatible with Google Map!")
	}
}
function addEvent(obj, evType, fn){ 
	if (obj.addEventListener){ 
   		obj.addEventListener(evType, fn, false); 
   		return true; 
 	} else if (obj.attachEvent){ 
   		var r = obj.attachEvent("on"+evType, fn); 
   		return r; 
 	} else { 
   		return false; 
 	} 
}