/*

Some GOJA utilities...

*/

function addFavorite(url, title) {
    if(window.sidebar)
      window.sidebar.addPanel(title, url, "");
    else if(window.external)
      window.external.AddFavorite(url, title);
}

var map;  
function YaMapInit (locationaddr,locationname) {
  map = new YMaps.Map( document.getElementById("maparea") );
  map.addControl(new YMaps.TypeControl());
  map.addControl(new YMaps.ToolBar());
  map.addControl(new YMaps.Zoom());
  map.addControl(new YMaps.MiniMap());
  map.addControl(new YMaps.ScaleLine());
  var geocoder  = new YMaps.Geocoder(locationaddr)
  YMaps.Events.observe(geocoder , geocoder.Events.Load, function () {
	  if (this.length()) {
			geoResult = this.get(0);
			map.addOverlay(geoResult);
      map.setBounds(geoResult.getBounds());
      //geoResult.setBalloonContent(geoResult.text);
      geoResult.setBalloonContent(locationname);
      geoResult.setStyle({balloonStyle:{template:"plain#balloon"}});
      geoResult.setBalloonOptions({hasCloseButton: false});
      geoResult.openBalloon(); 
     
  //		alert(geoResult.getGeoPoint.toString);
  	//	map.openBalloon(geoResult.getGeoPoint, content);
      //map.openBalloon(new YMaps.GeoPoint(37.620070,55.753630), 'Москва', {hasCloseButton: false, mapAutoPan: 1});
    }
  });
}

function Yaonoff(marea,addr,name) { 
	if (marea.style.display=="none") {
		marea.style.display=""; 
		if (map == null) YMaps.load(YaMapInit(addr,name));
		//YMaps.load(YaMapInit("Ростов-на-Дону, пр. Буденовский, д.80"));
		// "Москва, ул. Станиславского, д.21, стр.3"
	}
	else{
		marea.style.display="none"; 	
	}
} 

function onoff(param) { 
	if (param.style.display=="none") {
	//	document.getElementById('mapsw').innerHTML="скрыть карту";
		param.style.display="";
	}
	else {
//		document.getElementById('mapsw').innerHTML="показать все на карте";
		param.style.display="none";
	}
}

function show_result() { 
	param=document.getElementById('mydescr');
	param.style.display=(param.style.display=="none") ? "" : "none"; 
}


/* ----- NEW ------ */

var ymap,gmap,mpoints; 

//var p=[["Чеховская",37.60752,55.765807],["Боровицкая",37.610152,55.751705],["Полянка",37.619216,55.736802]];


function YaMapCreate(marea,mpoints){
  ymap = new YMaps.Map(marea);
  ymap.addControl(new YMaps.TypeControl());
  ymap.addControl(new YMaps.ToolBar());
  ymap.addControl(new YMaps.Zoom());
  ymap.addControl(new YMaps.ScaleLine());
  
  /*
              // Установка для карты ее центра и масштаба
            ymap.setCenter(new YMaps.GeoPoint(37.64, 55.76), 1);
            
                // Набор точек
            var points = [
                    new YMaps.GeoPoint(37.62254,55.728971),  // метро Добрынинская
                    new YMaps.GeoPoint(37.648986,55.76881),  // метро Красные ворота
                    new YMaps.GeoPoint(37.596956,55.769302)  // метро Маяковская
                ],

                // Создаем область показа по группе точек
                bounds = new YMaps.GeoCollectionBounds(points);

            // Применяем область показа к карте
            ymap.setBounds(bounds);

            // Добавляем метки на карту
            for (var i = 0, l = points.length; i < l; i++) {
                ymap.addOverlay(new YMaps.Placemark(points[i]));
            }
*/
  
  //var bounds = new YMaps.GeoBounds(new YMaps.GeoPoint(37.405841,55.851988),new YMaps.GeoPoint(37.820575,55.60954));
  
  // var gCollection = new YMaps.GeoObjectCollection(); геоколлекция
  // 	var point = new YMaps.GeoPoint(37.60752,55.765807);
 //  var placemark = new YMaps.Placemark(point);
  // gCollection.add(placemark);



  // вариант через массив точек, а не коллекцию
	var points = []; // делаем массив...
  for (var i = 0; i < p.length; i++) {
  	points[i] = new YMaps.GeoPoint(p[i][0],p[i][1]);
  }
  bounds = new YMaps.GeoCollectionBounds(points); // определение границ для массива точек
  ymap.setBounds(bounds);
  for (var i = 0, l = points.length; i < l; i++) {
    placemark = new YMaps.Placemark(points[i],{ style:"default#workshopIcon"});
    placemark.name = p[i][2];
    placemark.description = p[i][3];
    ymap.addOverlay(placemark);
	}
}

function BigMapEngine(provider,AreaName){
		marea=document.getElementById(AreaName);
		if (marea.style.display=="none") {
		document.getElementById(AreaName+".sw").innerHTML="скрыть карту";
		marea.style.display="";
	}
	else {
		document.getElementById(AreaName+".sw").innerHTML="показать все на карте";
		marea.style.display="none";
	}
	if (ymap == null) {
		YMaps.load(YaMapCreate(marea,p));
	}
	//alert(p[1][0]);
}
