﻿
var lp_bloglist;

function toggle_bloglist() {
    //$("div.network-panel").animate({width:'toggle'}, 'fast');
    if ($("div.network-panel div").css("display") == "none") {
        $("div.network-panel div").css('display', 'block');
        // $.cookie('lp_bloglist','', {expires: -1, path: '/'});
    } else {
        $("div.network-panel div").css('display', 'none');
        //$.cookie('lp_bloglist','hide', {expires: 365, path: '/'});
    }
}

///////////////////////////////////////////////////////////
///// THIS SCRIPT WAS CREATED SPECIALY FOR OPPOZIT.RU/////
//// by Anton (Acrid) Rudikov acrid-dark@rambler.ru  /////
//////////////////////////////////////////////////////////
// -----------------------------------------------------------------------------------------------------




var map=null;		// Объявляем глобальные переменные
var geocoder=null;
var ptypes=null;

function init() { //Грузим карту, центрируем по России, вешаем контролы

	 GDownloadUrl("markers/types.xml", function(data) {			//
	  var xml = GXml.parse(data);						// Грузит в массив типы точек их XML
          ptypes = xml.documentElement.getElementsByTagName("PointType");	//
                    });
     
	map = new GMap2(document.getElementById("map_canvas"));
	geocoder = new GClientGeocoder();
	map.setCenter(new GLatLng(56.3165, 62.3144), 4); 
    map.enableDoubleClickZoom();
	map.addControl(new GLargeMapControl());
    //map.addControl(new GOverviewMapControl());

	// map.enableContinuousZoom();  // управление зумом колесиком мышки
	// map.enableScrollWheelZoom();
	map.addControl(new GMapTypeControl());
	GEvent.addListener(map, "moveend", function() {
          var center = map.getCenter();
          document.getElementById("coord").value = center.toString();
        });
	WriteTypes(); // Показывает галочки типов на странице

		}

//-------------------------------------------------------------------------------------

function changeSelected() {// Изменяет отображение точек на карте в зависимости от галочек

	map.clearOverlays() //Убрать все нах
	for (var i = 0; i < ptypes.length; i++) {
	if (document.getElementById("ch"+i).checked==1)
	{ 
	  LoadPoints(i+1); //И если галка отмечена - показать точки данного типа
 	}
	}
}
//-----------------------------------------------------------------------------------------

function WriteTypes() { //Показывает галочки типов на странице

	  mnu=document.getElementById("menu"); //Докапываемся до DIV'a

          var iHTML="";
          for (var i = 0; i < ptypes.length; i++) {
        	iHTML=iHTML+"<img src='markers/"+ ptypes[i].getAttribute("Image")+"'><input type='checkbox' checked id='ch" + i + "' >" + ptypes[i].getAttribute("name")+ "<br>";
          }
		iHTML=iHTML+"<br><center><input type='button' onClick='changeSelected()' nstyle=\"width:70%;\" value='Показать'>";
	
	  mnu.innerHTML=iHTML; //Собственно вставляем в него код, сформированный выше

}
//-----------------------------------------------------------------------------------------
function SetMarker(CoordX,CoordY,TxtHTML,MarkerFileName,MarkerShadowFileName,Active) { 
//Вставляет маркер на карту, по заданным параметрам 
//Если передать Active=1 то маркер можно будет таскать
        var MIcon = new GIcon();
        MIcon.image = MarkerFileName; 		//Внешний вид маркера
        MIcon.shadow = MarkerShadowFileName;	//и его тени
        MIcon.iconSize = new GSize(18, 18);
        MIcon.shadowSize = new GSize(18, 18);
        MIcon.iconAnchor = new GPoint(18, 18);
        MIcon.infoWindowAnchor = new GPoint(5, 1);
	if (Active==0)  {
			MOpts={ icon:MIcon };
			}
			else
			{
			MOpts={ icon:MIcon, draggable: true };
	
			};
	var mark=new GMarker(new GLatLng(CoordX, CoordY),MOpts); 
        if (Active==1) {
                     GEvent.addListener(mark, "dragstart", function() {  map.closeInfoWindow();  });
		     GEvent.addListener(mark, "dragend", function() {    });
                    } 
			else { GEvent.addListener(mark, "click", function() {   map.openInfoWindowHtml(new GLatLng(CoordX, CoordY), TxtHTML);  }); 
                             };
map.addOverlay(mark);
}
//-------------------------------------------------------------------------

   function Find() { //Ищет точку на карте по адресу

      var What=document.getElementById("find_what").value;
      if (geocoder) {
        geocoder.getLatLng(What,function(point) {
            if (!point) {
              alert(What + " не удалось найти в Google Maps");
            } else {
              map.setCenter(point, 13);
              var marker = new GMarker(point);
              map.addOverlay(marker);
              marker.openInfoWindowHtml("<h3><b>Найдено:</b> " + What+"");
            }
          }
        );
      }
    }
//---------------------------------------------------------------------------

function LoadPoints(pt) {// Собсно открывает ХМL и берет точки
	GDownloadUrl("uc_points.xml", function(data) {
          var xml = GXml.parse(data);
          var pts = xml.documentElement.getElementsByTagName("Point");
          for (var i = 0; i < pts.length; i++) {
            var cx=pts[i].getAttribute("cx");
            var cy=pts[i].getAttribute("cy");
            var typ=pts[i].getAttribute("typ");
            var adr=pts[i].getAttribute("adress");
            var tel=pts[i].getAttribute("tel");
            var person=pts[i].getAttribute("person");
            var desc=pts[i].getAttribute("desc");
            var capt=pts[i].getAttribute("caption");
	    var typStr=ptypes[typ-1].getAttribute("name");
            tHTML="<div class=cloud><center><b>"+capt+"</b><br><i>" + typStr + "</i></center><b>Адрес:</b> " + adr + "<br><b>Тел.: </b> " + tel + "<br><b>Конт. лицо: </b>"+person+
                  "<br><b>Описание:</b> " + desc+ "</div>"

            if (typ==pt) {var a=SetMarker(cx,cy,tHTML,"markers/"+ ptypes[typ-1].getAttribute("Image") ,"markers/mm_20_shadow.png",0);};

          }
        });
}

