function RemoveItem(ID,List) {
    for (var i = 0; i < List.length; i++)
    {
        if (List[i].id == ID) List.splice(i, 1);
    }
}

function PlotLocation(Placemarks, Map) {
    Map.clearOverlays();
    for (var i = 0; i < Placemarks.length; i++) {
        var place = Placemarks[i];
        var marker = new GMarker(new GLatLng(place.Point.coordinates[1],place.Point.coordinates[0]));
        Map.addOverlay(marker);
    }
}

function RegisterTooltip(map,marker,text) {
    GEvent.addListener(marker,"mouseover", function() { ShowTooltip(map,marker,text); });        
    GEvent.addListener(marker,"mouseout", function() { tooltip.style.visibility = "hidden"; });
}

function ShowTooltip(map,marker,text) {
    tooltip.innerHTML = text;
	var point = map.getCurrentMapType().getProjection().fromLatLngToPixel(map.fromDivPixelToLatLng(new GPoint(0,0),true),map.getZoom());
	var offset = map.getCurrentMapType().getProjection().fromLatLngToPixel(marker.getPoint(),map.getZoom());
	var anchor = marker.getIcon().iconAnchor;
	var width = marker.getIcon().iconSize.width;
	var height = tooltip.clientHeight;
	var pos = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(offset.x - point.x - anchor.x + width, offset.y - point.y -anchor.y -height)); 
	pos.apply(tooltip);
	tooltip.style.visibility="visible";
}

function GetServerData(result, context) {
    if (result == 1) {
        alert('Error in data exchange');
        window.status = 'Error in data exchange'
    } else {
        window.status = 'Response received';
        try {
            eval(result);
        }
        catch (error) {}
    }
}

function Error(result, context) {
    alert( result );
}