﻿var Marks = new Array();
function Mark(iLat, iLng, iAnons, iContent) 
{
	this.Lat=iLat; 
	this.Lng=iLng;
	this.Anons=iAnons;
	this.Content=iContent;
}
function AddMark(iLat, iLng, iAnons, iContent)
{
	var newMark = new Mark (iLat, iLng, iAnons, iContent); 
	Marks.push(newMark);
}
function InitMap() 
{
	var map = new YMaps.Map(YMaps.jQuery("#YMapsID")[0]);
	map.addControl(new YMaps.ToolBar());
    map.addControl(new YMaps.Zoom());
    map.addControl(new YMaps.ScaleLine());
	if(Marks.length!=1)
	{
		var MaxLat=-10000;var MinLat= 10000;
		var MaxLng=-10000;var MinLng= 10000;
		for(var i=0; i<Marks.length;i++)
		{
			if(MaxLat<Marks[i].Lat)
				MaxLat=Marks[i].Lat;
			if(MinLat>Marks[i].Lat)
				MinLat=Marks[i].Lat;
			if(MaxLng<Marks[i].Lng)
				MaxLng=Marks[i].Lng;
			if(MinLng>Marks[i].Lng)
				MinLng=Marks[i].Lng;
		}
		MaxLat+=Math.abs((MaxLat - MinLat)/5);
		MinLat-=Math.abs((MaxLat - MinLat)/5);
		MaxLng+=Math.abs((MaxLng - MinLng)/5);
		MinLng-=Math.abs((MaxLng - MinLng)/5);
		var Bounds = new YMaps.GeoBounds(
				 new YMaps.GeoPoint(MinLat,MinLng), 
				 new YMaps.GeoPoint(MaxLat,MaxLng));
		map.setBounds(Bounds);
	}
	else
		map.setCenter(new YMaps.GeoPoint(Marks[0].Lat, Marks[0].Lng), 5);
	for(var i=Marks.length-1; i>=0;i--)
	{
		var cur = Marks[i];
		var Placemark=new YMaps.Placemark(new YMaps.GeoPoint(cur.Lat, cur.Lng));
		Placemark.setIconContent(cur.Anons);
		Placemark.setBalloonContent(cur.Content);
		map.addOverlay(Placemark);
	}
}
