// JavaScript Document
var map;
var api = 'yandex';
var lineStyles = [];
var lineStyle = 0;
var baseIcon;
    
function map_setup() {
    if (api == 'yandex') {
        map = new YMaps.Map(document.getElementById("YMapsID"));
        map.addControl(new YMaps.TypeControl());
        map.addControl(new YMaps.ToolBar());
        map.addControl(new YMaps.Zoom());
        map.addControl(new YMaps.ScaleLine());
        map.setCenter(new YMaps.GeoPoint(60, 60), 3);
    } else if (api == 'google') {
        map = new GMap2(document.getElementById("YMapsID"));
        map.setCenter(new GLatLng(60,60), 3);
        map.addControl(new GMapTypeControl());
        map.addControl(new GLargeMapControl());
        
        baseIcon = new GIcon();
        baseIcon.iconSize = new GSize(16, 16);
        baseIcon.iconAnchor = new GPoint(8, 8);
        baseIcon.image = "/images/avatars/bt_rec.gif";
        baseIcon.infoWindowAnchor = new GPoint(8, 8);
    }
}

function map_free() {
    if (api == 'yandex') {
    
    } else if (api == 'google') {
        GUnload();
    }
}

function getLineStyle() {
    var ret = lineStyles[lineStyle++];
    if (lineStyle>=lineStyles.length) lineStyle = 0;
    return ret;
}

function genLineStyle(color) {
    s = new YMaps.Style();
    s.lineStyle = new YMaps.LineStyle();
    s.lineStyle.strokeColor = color+defaultAlpha;
    s.lineStyle.strokeWidth = defaultStrokeWidth;
    lineStyles[lineStyles.length] = s;
}

function GeoPoint(lon,lat) {
    switch (api) {
        case 'yandex': return new YMaps.GeoPoint(lon,lat);
        case 'google': return new GLatLng(lat,lon);
    }
}

