﻿var vibory_2010_1=false;
if(vibory_2010)vibory_2010_1=true;

var map, navToolbar,toolbar_draw;
var themes=new Array();
var themes_c =0;
var symbol=new Array();
var highlightSymbol=new Array();
var findTask, findParams;
var findTask2, findParams2;
var t=new Array();
var map_id=1;
var n_id,n_v;
var map_c_count = 0;
var map1,map2,map3;
var str_queryTask, str_query;
var roadsLayer,stationsLayer;
var stationsLayer_added = false;
var DoOnClick = 0;

function WhatTodoOnClick(evt)
{
	//alert(DoOnClick);
	document.getElementById('loadingImg').style.display = "";
	switch(DoOnClick)
	{
	case 0 : //Ничего не делать
			
	break;
	case 1 : //Пямятники
		doIdentify22(evt);
	break;	
	case 2 : //Жкс
		doIdentify55(evt);
	break;
	case 3 : //Роутинг
		addStop(evt);
	break;
	case 4 : //Маршруты
		addStopMT(evt);
	break;
	case 5 : //Выборы олд
		doIdentify(evt);
	break;	
	case 6 : //Выборы  2010
		doIdentify01(evt);
	break;
		
		
	}
	document.getElementById('loadingImg').style.display = "none";
} 


//---------------------------------------------- 
 function dechex (number) {
    // Returns a string containing a hexadecimal representation of the given number  
    // 
    // version: 1004.2314
    // discuss at: http://phpjs.org/functions/dechex    // +   original by: Philippe Baumann
    // +   bugfixed by: Onno Marsman
    // +   improved by: http://stackoverflow.com/questions/57803/how-to-convert-decimal-to-hex-in-javascript
    // +   input by: pilus
    // *     example 1: dechex(10);    // *     returns 1: 'a'
    // *     example 2: dechex(47);
    // *     returns 2: '2f'
    // *     example 3: dechex(-1415723993);
    // *     returns 3: 'ab9dc427'    
	if (number < 0) {
        number = 0xFFFFFFFF + number + 1;
    }
        number =  parseInt(number, 10).toString(16);
	 while (number.length<8)number="0"+number;
	 return "R"+number;;
 }
  function dechex2 (number) {
    // Returns a string containing a hexadecimal representation of the given number  
    // 
    // version: 1004.2314
    // discuss at: http://phpjs.org/functions/dechex    // +   original by: Philippe Baumann
    // +   bugfixed by: Onno Marsman
    // +   improved by: http://stackoverflow.com/questions/57803/how-to-convert-decimal-to-hex-in-javascript
    // +   input by: pilus
    // *     example 1: dechex(10);    // *     returns 1: 'a'
    // *     example 2: dechex(47);
    // *     returns 2: '2f'
    // *     example 3: dechex(-1415723993);
    // *     returns 3: 'ab9dc427'    
	if (number < 0) {
        number = 0xFFFFFFFF + number + 1;
    }
        number =  parseInt(number, 10).toString(16);
	 while (number.length<8)number="0"+number;
	 return "C"+number;
 }
function getTileUrl2(srv) {

   return  function (level, row, col)
   {
   	return "http://www.citymap.odessa.ua/ArcGIS/rest/services/"+srv+"/MapServer/tile/" +level+ "/"+row+"/"+col;
	//return "http://www.citymap.odessa.ua/map/layers/cache/"+srv.replace("/","_")+"/Layers/_alllayers/L0"+level+"/"+dechex(row)+"/"+dechex2(col)+".png";
   }

}
function getTileUrl3(layer,srv,format) {

//layer.onLoad = function

		layer.getTileUrl = function (level, row, col)
 		{
   		//		return "http://www.citymap.odessa.ua/ArcGIS/rest/services/"+srv+"/MapServer/tile/" +level+ "/"+row+"/"+col;
			return "http://www.citymap.odessa.ua/map/layers/cache/"+srv.replace("/","_")+"/Layers/_alllayers/L0"+level+"/"+dechex(row)+"/"+dechex2(col)+"."+format;
		}

}

var virtual_earth_loaded = true;
function load_virtual_eart(id)
{
	if(!virtual_earth_loaded)
	{
	var script = document.createElement('script');
	script.type = 'text/javascript';
	script.src = 'http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.1';
	
	//document.getElementsByTagName('head')[0].appendChild(script);  
	var temp = document.getElementsByTagName('head')[0];
	temp.insertBefore(script,temp.childNodes[0]);
	
	virtual_earth_loaded = true;
	script.onload=virtual_earth_loading_done; 
	}
	else
	{
		virtual_earth_loading_done();
	}

} 
function virtual_earth_loading_done()
{
//alert(11);
	map = new VEMap("dt"+map_c_count);
	map.LoadMap(); 
	map.SetMapStyle('h'); 
}
var queryTask;


function update_link()
{
	document.getElementById('link_to_map').value = "http://www.citymap.odessa.ua/map/?lang="+lang1+"&n="+path_1+"&ext=l&e1="+parseInt(map.extent.xmin)+"&e2="+parseInt(map.extent.ymin)+"&e3="+parseInt(map.extent.xmax)+"&e4="+parseInt(map.extent.ymax)+"";
	document.getElementById('link_to_map').focus();
	document.getElementById('link_to_map').select();
}
function update_link2()
{
	document.getElementById('link_to_map').value = "http://www.citymap.odessa.ua/map/?lang="+lang1+"&n="+path_1+"&ext=l&e1="+parseInt(map.extent.xmin)+"&e2="+parseInt(map.extent.ymin)+"&e3="+parseInt(map.extent.xmax)+"&e4="+parseInt(map.extent.ymax)+"";

}
function drawDiv(text,x,y)
{

     var x = document.getElementById("hint_1");
	 x.innerHTML=text;// +";y="+window.event.y;
     x.style.display = 'block';
     x.style.top = y ;
     x.style.left = x ;
}
function panaramio()
{

}
function hideDiv()
{
   var x = document.getElementById("hint_1");
x.style.display = 'none';

}
  var gsvc = null;
	var atributs = new Array();
	var X_Y= new Array();
	var ids = new Array();
function pana(xmin,ymin,xmax,ymax,start)
	{
atributs = new Array();
	if(start!="true")
	{
		document.getElementById('log').innerHTML= document.getElementById('log').innerHTML + "start<br>";
		xmin=27.500449523;
		ymin=44.893357563;
		xmax=31.828587742;
		ymax=48.422827221;
	}

		dojo.xhrGet( {
		url: "cross.php?xmin="+xmin+"&ymin="+ymin+"&xmax="+xmax+"&ymax="+ymax,
        handleAs: "json",
        load: function(responseObject, ioArgs) {
	for(var t=0;t<responseObject.photos.length/15;t++)

	{
	//alert(responseObject.photos.length);
	var points= new Array();
	var graphics= new Array()
		//for(var i=0;i<15;i++)
		for(var i=0;i<15;i++)
			{
			 //if(!ids[responseObject.photos[i+(t*15)].photo_id])
			 if(responseObject.photos[i+(t*15)] !== undefined)
			 if(ids[responseObject.photos[i+(t*15)]]== undefined)
			 {
			 var pt = new esri.geometry.Point(responseObject.photos[i+(t*15)].longitude,responseObject.photos[i+(t*15)].latitude,new esri.SpatialReference({ wkid: 4326 })) ;
				var gra ;
				
				var infoTemplate = new esri.InfoTemplate();
				atributs[i+(t*15)]= responseObject.photos[i+(t*15)];
				ids[responseObject.photos[i+(t*15)].photo_id] = responseObject.photos[i+(t*15)];
				var attr = {
							"content":i+(t*15),
							"id":responseObject.photos[i+(t*15)].photo_id
					    };
						gra = new esri.Graphic(pt, symbol,attr) ;
				infoTemplate.setTitle('<span style="color:green">'+responseObject.photos[i+(t*15)].photo_title+'</span> ');
				infoTemplate.setContent('<img src="'+responseObject.photos[i+(t*15)].photo_file_url+'">');

				gra.setInfoTemplate(infoTemplate);
				graphics.push(gra);
				points.push(pt);
				X_Y[pt.x+"_"+pt.y] = responseObject.photos[i+(t*15)].photo_id;
				}
				else
				{
					
				}
			}
			toPul(points,graphics);
		
	}

		}
			});
	}
	var connect_Pan= false;var connect_Zoom = false;
	function pana_start()
	{
	
		if(document.getElementById('panaramio').checked)
		{
	//	map.infoWindow.resize(300,300);
			projectToLatLong();
			connect_Pan=  dojo.connect(map, "onPanEnd",  function(evt) {
				if(map.getLevel()>1)
				{
					projectToLatLong();
					// document.getElementById('log').innerHTML= document.getElementById('log').innerHTML + "pan<br>";
				}

			 
			  
				  });
			 
		connect_Zoom = 		dojo.connect(map, "onZoomEnd", function(evt) {
			// document.getElementById('log').innerHTML= document.getElementById('log').innerHTML + "zoom<br>";
			  projectToLatLong();
				  });
				  graps2.show();
		}
		
		else
		{
			graps2.hide();
			dojo.disconnect(connect_Pan);
			dojo.disconnect(connect_Zoom);
		}
	}
	function pr1(features,graphic)
	{
		alert(graphic.length);
		alert(features.length);
	}
 function toPul(points,graphic) {
      
	  var outSR = new esri.SpatialReference({wkid:102113});
	  if(map_service=="odessa_n")outSR = new esri.SpatialReference({ wkid: 32636  });
	   for(var i1=0; i1 < points.length;i1++)
	  {			//var id = graphic[i1].attributes.id;
				
			//	var temp = function(features,id1)
			//	{	var temp_y = id1;
			//		alert(temp_y);
			//	}
			//	gsvc.project( [points[i1]] , outSR,function(features){temp(features,id);});
				/*gsvc.project( [points[i1]] , outSR, function(features,temp_attributes ) {

			  for(var i=0; i < features.length;i++)
			  {
					pt = features[i];
					//var pt = new esri.geometry.Point(pt.x,pt.y,new esri.SpatialReference({ wkid: 28466  })) ;
					var pt;
					if(map_service=="odessa_n")
					{
					var s1 = wgsToLocal(pt.x,pt.y);
					pt = new esri.geometry.Point( s1[0],s1[1],new esri.SpatialReference({wkid:102113})) ;
					}
					else
					{
					pt = new esri.geometry.Point(pt.x,pt.y,new esri.SpatialReference({wkid:102113})) ;
					}
					var gra ;
					var symbol1 ;
				if(i<30) { symbol1 = new esri.symbol.PictureMarkerSymbol(ids[temp_attributes.id].photo_file_url.replace('small', "mini_square"), 32,32) ;}
				 else {symbol1 = new esri.symbol.PictureMarkerSymbol(ids[temp_attributes.id].photo_file_url.replace('small', "mini_square"), 16,16) ;}
				
					gra = new esri.Graphic(pt, symbol1) ;
					var infoTemplate = new esri.InfoTemplate();
					infoTemplate.setTitle('<span style="color:green">'+ids[temp_attributes.id].photo_title+'</span> ');
					infoTemplate.setContent("Автор :<a href='"+ids[temp_attributes.id].owner_url+"'>"+ids[temp_attributes.id].owner_name+"</a><br>дата: "+ids[temp_attributes.id].upload_date+'<br><div align="center"><a target="_blank" border="0" href="'+ids[temp_attributes.id].photo_url+'"><img border="0" src="'+ids[temp_attributes.id].photo_file_url+'"></a></div>"Фотографии предоставлены Panoramio и находятся под авторским правом их владельцев."');
					gra.setInfoTemplate(infoTemplate);
					graps2.add(gra);
			  }

			  },function(error){alert(error)} );*/
	  }
  /*    gsvc.project( points , outSR, function(features) {

	  for(var i=0; i < features.length;i++)
	  {
			pt = features[i];
			var id = X_Y[pt.x+"_"+pt.y];
			//var pt = new esri.geometry.Point(pt.x,pt.y,new esri.SpatialReference({ wkid: 28466  })) ;
			var pt;
			if(map_service=="odessa_n")
			{
			var s1 = wgsToLocal(pt.x,pt.y);
			pt = new esri.geometry.Point( s1[0],s1[1],new esri.SpatialReference({wkid:102113})) ;
			}
			else
			{
			pt = new esri.geometry.Point(pt.x,pt.y,new esri.SpatialReference({wkid:102113})) ;
			}
			var gra ;
			var symbol1 ;
		if(i<30) { symbol1 = new esri.symbol.PictureMarkerSymbol(ids[id].photo_file_url.replace('small', "mini_square"), 32,32) ;}
		 else {symbol1 = new esri.symbol.PictureMarkerSymbol(ids[id].photo_file_url.replace('small', "mini_square"), 16,16) ;}
		
			gra = new esri.Graphic(pt, symbol1) ;
			var infoTemplate = new esri.InfoTemplate();
			infoTemplate.setTitle('<span style="color:green">'+ids[id].photo_title+'</span> ');
			infoTemplate.setContent("Автор :<a href='"+ids[id].owner_url+"'>"+ids[id].owner_name+"</a><br>дата: "+ids[id].upload_date+'<br><div align="center"><a target="_blank" border="0" href="'+ids[id].photo_url+'"><img border="0" src="'+ids[id].photo_file_url+'"></a></div>"Фотографии предоставлены Panoramio и находятся под авторским правом их владельцев."');
			gra.setInfoTemplate(infoTemplate);
			graps2.add(gra);
	  }

      },function(error){alert(error)} );*/
    }

    function projectToLatLong() {
	
	 // var pt1 = new esri.geometry.Point(map.extent.xmin,map.extent.ymin,new esri.SpatialReference({ wkid: 28466  })) ;
	  //var pt2 = new esri.geometry.Point(map.extent.xmax,map.extent.ymax,new esri.SpatialReference({ wkid: 28466  })) ;
	  var xmin=-11515;
	  var ymin=-21750;
	  var xmax=9309;
	  var ymax=16683;
	  if(xmin<map.extent.xmin)xmin=map.extent.xmin;
	  if(ymin<map.extent.ymin)ymin=map.extent.ymin;
	  if(xmax>map.extent.xmax)xmax=map.extent.xmax;
	  if(ymax>map.extent.ymax)ymax=map.extent.ymax;
	  
	  var a1 = localToWGS(parseInt(xmin),parseInt(ymin));
	  var a2 = localToWGS(parseInt(xmax),parseInt(ymax));
	  var pt1 = new esri.geometry.Point(a1[0],a1[1],new esri.SpatialReference({ wkid: 32636  })) ;
	  var pt2 = new esri.geometry.Point(a2[0],a2[1],new esri.SpatialReference({ wkid: 32636  })) ;
	  
	
	 // var pt1 = new esri.geometry.Point(map.extent.xmin,map.extent.ymin,new esri.SpatialReference({wkid:102113})) ;
	 // var pt2 = new esri.geometry.Point(map.extent.xmax,map.extent.ymax,new esri.SpatialReference({wkid:102113})) ;
	  
      var symbol = new esri.symbol.SimpleMarkerSymbol();
      var graphic1 = new esri.Graphic(pt1, symbol);
	  var graphic2 = new esri.Graphic(pt2, symbol);
      var outSR = new esri.SpatialReference({ wkid: 4326});

	  
      gsvc.project([ pt1,pt2 ], outSR, function(features) {
	 
        pt1 = features[0];
		pt2 = features[1];
		
		pana(pt1.x,pt1.y,pt2.x,pt2.y,"true");
      });
    }
var koff = (1.6497831426008*Math.PI)/180;
function wgsToLocal(x,y)
{
var xz=1;var yz=1;var koff2=koff;
var point = new Array(2);
x = x -326164.818; //Сдвижка
y= y-5149773.478; 
if(x>0&&y>0){xz=1;yz=1;}
if(x>0&&y<0){xz=1;yz=-1;koff2=-koff;}
if(x<0&&y<0){xz=-1;yz=-1;}
if(x<0&&y>0){xz=-1;yz=1;koff2=-koff;}

var a = Math.sqrt(x*x+y*y);
var B = Math.asin(Math.abs(y)/a);
point[1] = (Math.sin(B + koff))*a*yz;
point[0] = (Math.cos(B + koff))*a*xz;
return point;

}
function localToWGS(x,y)
{
var point = new Array(2);
var xz=1;var yz=1;var koff2=koff;
var a = Math.sqrt(x*x+y*y);
if(x>0&&y>0){xz=1;yz=1;}
if(x>0&&y<0){xz=1;yz=-1;koff2=-koff;}
if(x<0&&y<0){xz=-1;yz=-1;}
if(x<0&&y>0){xz=-1;yz=1;koff2=-koff;}

var B = Math.asin(Math.abs(y)/a);
point[1] = (Math.sin(B - koff2))*a;
point[0] = (Math.cos(B - koff2))*a;

point[0]=(point[0]*xz)+326164.818;
point[1]=(point[1]*yz)+5149773.478;
return point;
}
var findTask_p, findParams_p;
function load_pams_str()
{
	//create find task with url to map service
          findTask_p = new esri.tasks.FindTask("http://www.citymap.odessa.ua/ArcGIS/rest/services/work/pams/MapServer");

          //create find parameters and define known values
          findParams_p = new esri.tasks.FindParameters();
          findParams_p.returnGeometry = true;
          findParams_p.layerIds = [0];
          findParams_p.searchFields = ["Id","Id"];
		 
}	
var pams_l_v = false;
 function load_pams() {
        //set the search text to find parameters
        findParams_p.searchText = "0";
		if(document.getElementById('pams_1').checked)
		{
        findTask_p.execute(findParams_p,showResults_p);
			if(pams_l_s)
			{
			pams_l.show();
			pams_l_s= true;
			pams_l_v = true;
			}
			else
			{
			pams_l_s= true;
			 map.addLayer(pams_l);
			 pams_l_v = true;
			}
			
			window.open("http://www.citymap.odessa.ua/work/pam_c.html","mywindow","menubar=1,resizable=1,scrollbars=1,width=450,height=450");
			//dojo.disconnect(cl_con);
			//alert(1);
			//cl_con = dojo.connect(pams_l, "onClick", doIdentify22);
			//cl_con = dojo.connect(map, "onClick", doIdentify22);
			DoOnClick=1;
		}
		else
		{
		map.graphics.clear();
		pams_l.hide();
		pams_l_v = false;
		//dojo.disconnect(cl_con);
	//	cl_con = dojo.connect(map, "onClick", doIdentify55);
		DoOnClick=2;
		}
      }
	  var polygonSymbol1 = new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_NONE, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([255,0,0]), 5), new dojo.Color([255,0,0,1]));
function showResults_p(results) {
       //symbology for graphics
     
		var markerSymbol = new esri.symbol.PictureMarkerSymbol('icons/g1/arch.png', 32,32) ;
		
        var lineSymbol = new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_DASH, new dojo.Color([255,0,0]), 1);
        
       var polygonSymbol = new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_SOLID,  new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID,  new dojo.Color([0,0,0]), 1),new dojo.Color([255,0,0,0.5]));
        //find results return an array of findResult.
     //   map.graphics.clear();
        //var dataForGrid = [];
        //Build an array of attribute information and add each found graphic to the map
        dojo.forEach(results,function(result){
          var graphic = result.feature;
          //dataForGrid.push([result.layerName,result.foundFieldName,result.value]);
          switch (graphic.geometry.type) {
            case "point":
              graphic.setSymbol(markerSymbol);
              break;
            case "polyline":
              graphic.setSymbol(lineSymbol);
              break;
            case "polygon":
              //
			  {
			  graphic.symbol=polygonSymbol;
			  graphic.setSymbol(polygonSymbol);
			 // alert(1);
			  }
              break;
          }
		  var infoTemplate = new esri.InfoTemplate();
		  
		  if(parseInt(graphic.attributes['numder'])>43)
		  {
		  	infoTemplate.setTitle('<span style="color:green">ПАМ’ЯТКИ МІСЦЕВОГО ЗНАЧЕННЯ</span> ');
		  }
		  else
		  {
		    infoTemplate.setTitle('<span style="color:green">ПАМ`ЯТКИ НАЦІОНАЛЬНОГО  ЗНАЧЕННЯ</span> ');
		  }
		  //infoTemplate.setTitle('<span style="color:green">'+graphic.attributes['name']+'</span> ');

			infoTemplate.setContent('<div id="m_p1" ><img src="ajax-loader.gif" onload="pam_info('+"'"+graphic.attributes['numder']+"'"+')"> </info>');
			graphic.setInfoTemplate(infoTemplate);
          map.graphics.add(graphic);
        });
        //var data={
        //  items:dataForGrid
        //};        
        //var store = new dojo.data.ItemFileReadStore({data:data});
        //grid.setStore(store);
      }
function pam_info(name)
{
		dojo.xhrPost({
           url:'/work/pam.php',
          content: {'name':name},
		//   content: {'text':layerTabContent(layer2results,"layer2results") },
           load: function (data) {
		
	//alert(data);
document.getElementById('m_p1').innerHTML = data;
//document.getElementById('m_p1').style.width= "400px";
//var node = dijit.byId("m_p1");

//var coords=dojo.coords("m_p1", true);

//map.infoWindow.resize(400,coords.h+60);

		}
			});
}
function send_to_pam()
{
var name = document.getElementById('pan_url').value;
var id = document.getElementById('pan_url_id').value;
		dojo.xhrPost({
           url:'/work/foto_to2.php',
          content: {'pam_send_url':name,'pam_send_id':id},
		//   content: {'text':layerTabContent(layer2results,"layer2results") },
           load: function (data) {
		
	//alert(data);
document.getElementById('pam_send_done').innerHTML = data;

		}
			});
}
var queryTask2,query2,infoTemplate2;
var go_to_road = 0;
function show_road(FID,s)
{
	go_to_road= s;
	query2.where = "FID ="+FID;
	queryTask2.execute(query2);
}
var iTip=false;	  
function g_onMouseOutHandler(evt) {
                iTip.hide();
            }
            
            function g_onMouseOverHandler(evt) {  
			
                iTip.setContent(evt.graphic.attributes.Name);
                iTip.show(evt.screenPoint);
            }   
function load_stations()
{

	infoTemplate2 = new esri.InfoTemplate("№: ${Nomer} ${type}.","${Name}<br><br><br><b>Прямой маршрут</b><br>${F}<br><br><b>Обратный маршрут</b><br>${B}.");
	
	queryTask = new esri.tasks.QueryTask("http://www.citymap.odessa.ua/ArcGIS/rest/services/work/roads/MapServer/0");
	
	queryTask2 = new esri.tasks.QueryTask("http://www.citymap.odessa.ua/ArcGIS/rest/services/work/roads/MapServer/1");
	query2 = new esri.tasks.Query();
    query2.returnGeometry = true;
    query2.outFields = ["Nomer","Name","Put","F","B","type","FID"];
	 dojo.connect(queryTask2, "onComplete", function(featureSet)
	 {
		roadsLayer.clear();
			var markerSymbol2 = new esri.symbol.SimpleLineSymbol().setWidth(2).setColor(new dojo.Color([0,0,255]));
			var markerSymbol3 = new esri.symbol.SimpleLineSymbol().setWidth(2).setColor(new dojo.Color([255,0,0]));
			for (var i=0, il=featureSet.features.length; i<il; i++)
			{
				var graphic2 = featureSet.features[i];
					
				if(graphic2.attributes.Put=="прямой")
				{
					graphic2.setSymbol(markerSymbol2);
				}
				else
				{
					graphic2.setSymbol(markerSymbol3);	
				}
				graphic2.setInfoTemplate(infoTemplate2);				
				roadsLayer.add(graphic2);
				if(go_to_road)
				{
					  var extent = esri.graphicsExtent(roadsLayer.graphics);
					  if (extent) {
						map.setExtent(extent, true); //the 2nd argument makes sure that the argument extent is completely visible
						map.infoWindow.hide();
					  }
				}
			}
					
	 });
	map.addLayer(roadsLayer); 
	map.addLayer(stationsLayer); 
	query = new esri.tasks.Query();
    query.returnGeometry = true;
    query.outFields = ["Name","info1","FID"];
	query.where = "FID < 500";
	//query.where = "id=0";
	queryTask.execute(query);
		
	query.where = "FID >499";
	queryTask.execute(query);
	var infoTemplate = new esri.InfoTemplate();
    infoTemplate.setTitle("Остановка общественного транспорта");
    infoTemplate.setContent("${Name}<br><div id='roadlist2'></div>");
	 dojo.connect(queryTask, "onComplete", function(featureSet)
	 {
			var markerSymbol = new esri.symbol.PictureMarkerSymbol('icons/bus_r_16.png', 16,16) ;
			for (var i=0, il=featureSet.features.length; i<il; i++)
			{
				var graphic = featureSet.features[i];
				graphic.setSymbol(markerSymbol);
				graphic.setInfoTemplate(infoTemplate);				
				stationsLayer.add(graphic);
			}
			if(!iTip)
			{
				//alert(1);
				iTip = new infoTip("iTipDiv", "infoTip  roundcorner black", map.position, false); 
				dojo.connect(stationsLayer, "onMouseOver", g_onMouseOverHandler);
				dojo.connect(stationsLayer, "onMouseOut", g_onMouseOutHandler);
				//alert(2);
			}	
			
	 });
	dojo.connect(stationsLayer, "onClick",station_info );
		 stationsLayer_added  = true;
	// map.getLayer("stationsLayer").hide();
	
		if(map.getLevel()>4)
		{
		
			//map.addLayer(stationsLayer);
			
			stationsLayer_added  = true;
		}
		else
		{
			
			stationsLayer.hide();
			
		}
		
}
function initFunctionality(map) {

		
		
		
		queryTask = new esri.tasks.QueryTask("http://www.citymap.odessa.ua/arcgis/rest/services/history_rayons_odessa/MapServer/0");

        //build query filter
        var query = new esri.tasks.Query();
        query.returnGeometry = true;
		//query.layerIds = [0];
        query.outFields = ["name"];
        query.where = "ind = 1";

        var infoTemplate = new esri.InfoTemplate();
       infoTemplate.setTitle("${NAME}");
        infoTemplate.setContent("-");
		
		
		
	  //Can listen for onComplete event to process results or can use the callback option in the queryTask.execute method.
        dojo.connect(queryTask, "onComplete", function(featureSet) {
		
        //  map.graphics.clear();
		   
          var highlightSymbol = new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_SOLID, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_NONE, new dojo.Color([255,0,0]), 1), new dojo.Color([125,125,125,0.35]));
         
 var symbol = new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_NULL, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([255, 255, 0]), 1), new dojo.Color([255, 255, 0, 0.5]));

          for (var i=0, il=featureSet.features.length; i<il; i++) {

            var graphic = featureSet.features[i];
            graphic.setSymbol(symbol);
            graphic.setInfoTemplate(infoTemplate);
			
            map.graphics.add(graphic);
          }
          map.graphics.enableMouseEvents();
          dojo.connect(map.graphics, "onMouseOver", function(evt) {
		 alert('onMouseOver');
            var content = evt.graphic.getContent();
           map.infoWindow.setContent(content);
            var title = evt.graphic.getTitle();
			var conn55 = new Ext.data.Connection();
								conn55.request(
								{
									url: '/work/encode.php',
								    method: 'POST',
								    params: {"text":title},
								    success: function(responseObject)
									{			

									   drawDiv(responseObject.responseText,evt.clientX,evt.clientY);

									},
								     failure: function() {
								         Ext.Msg.alert('Status', 'Нет связи с сервером. Please try again later.');
								     }
								}); 		

            evt.graphic.setSymbol(highlightSymbol);


		   
          });
          dojo.connect(map.graphics, "onMouseOut", function(evt) {

			hideDiv();
            evt.graphic.setSymbol(symbol);
          });
        });

  /* dojo.connect(map, "onZoom", function(evt) {

		if(queryTask)
		if(map.getLevel()>1)
		{
			map.graphics.clear();
		}
          });*/
       // queryTask.execute(query);
		
      }
var store4;	  
function onRowClickHandler(evt)
{
		var id = evt.grid.store.getValue(evt.grid.getItem(evt.rowIndex), "ID");
		//alert(id);
	//	var id = evt.grid.store.getValue(evt.grid.getItem(evt.rowIndex), "STREET_ID");
		//  str_query.outFields = ["ID", "STRNAME", "DEZ"];	
		 // str_query.where = "ID = "+ id;
		  str_query.outFields = ["OBJECTID_1", "STRNAME", "DEZ"];	
		  str_query.where = "OBJECTID_1 =" + id;;
		  
		  executeQueryTask();
}
var symbol_str;
 function getstrlist(query) {
 symbol_str = new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([255,0,0]), 4);
  var url2 = "/work/streets_search.php?query="+encodeURI(query);
 			dojo.xhrGet( {
		url: url2,
        handleAs: "json",
        load: function(responseObject, ioArgs) {
		//alert(responseObject.items.length);
	items= [];
	for(var t=0;t<responseObject.items.length;t++)
	{
		
								var ar3 = new Array();
								 
								 ar3['ID'] = responseObject.items[t].OBJECTID_1;
								 ar3['STRNAME'] = responseObject.items[t].STRNAME;
								 ar3['DEZ'] = responseObject.items[t].DEZ;
								// ar3['NUM'] = "responseObject.items[t].num";
								 items.push(ar3);
								
	}
									
										var data = {
										//  identifier:'OBJECTID',
										  items: items
										};

										 //Create data store and bind to grid.
										store4 = new dojo.data.ItemFileReadStore({ data:data });

										grid6.setStore(store4);

										dojo.connect(grid6, "onRowClick", onRowClickHandler);				
				
										
		
		
}});


 }
     //Format the time as hours and minutes
      function formatTime(time) {
        var hr = Math.floor(time / 60), //Important to use math.floor with hours
            min = Math.round(time % 60);

        if (hr < 1 && min < 1) {
          return "";
        }
        else if (hr < 1) {
          return min + " minute(s)";
        }

        return hr + " hour(s) " + min + " minute(s)";
      }

      //Round the distance to the nearest hundredth of a unit
      function formatDistance(dist, units) {
        var d = Math.round(dist * 100) / 100;
        if (d === 0) {
          return ""
        }

        return d + " " + units;
      }
//------------------------------------------------------------------------------------
  function executeQueryTask() {
      //  map.infoWindow.hide();
      //  map.graphics.clear();

        //onClick event returns the evt point where the user clicked on the map.
        //This is contains the mapPoint (esri.geometry.point) and the screenPoint (pixel xy where the user clicked).
        //set query geometry = to evt.mapPoint Geometry
       // query.geometry = evt.mapPoint;

        //Execute task and call showResults on completion
        str_queryTask.execute(str_query, function(fset) {
		//alert(fset.features.length);
          if (fset.features.length === 1) {
		  map.graphics.clear();
		  fset.features[0].setSymbol(symbol_str);
      //  feature.setInfoTemplate(infoTemplate);
        map.graphics.add(fset.features[0]);
		var extent = esri.graphicsExtent(map.graphics.graphics);
  if (extent) {
    map.setExtent(extent, true); //the 2nd argument makes sure that the argument extent is completely visible
  }
           // showFeature(fset.features[0],evt);
          } else if (fset.features.length !== 0) {
           // showFeatureSet(fset,evt);
          }
        });
      }
	  
var con01;
var pams_l = false;
var pams_l_s = false;
var graps;
var odessa_3d = false;
//----------------------------------------------
function init()
{
	create_divs();
vars1[0]=document.getElementById('d1').style.display;
	vars1[1]=document.getElementById('d2').style.display;
	vars1[2]=document.getElementById('toolbar').style.top;
	vars1[3]=document.getElementById('d3').style.left;
	vars1[4]=document.getElementById('d3').style.top;

	vars1[5]=document.getElementById('buttons1').style.top;
	vars1[6]=document.getElementById('legend_d').style.top;
	
	vars1[7]=document.getElementById('d3').style.width;
	vars1[8]=document.getElementById('d3').style.height;
	  esriConfig.defaults.map.slider = { right:"10px", top:"10px", width:null, height:"250px" };
	  esriConfig.defaults.map.panDuration = 1000; //time in milliseconds; default panDuration:250
	  var labels = [];
	    // var lods = t[map_id].tileInfo.lods;
	    for (i=0, il=7; i<il; i++)
		{
	        labels[i] = i;
			 //labels[i] = lods[i].scale;;
	    }
	//	labels[0]="Общий_вид";
	//	labels[2]="Магистрали";
	//	labels[4]="Кварталы";
	//	labels[6]="Дома";
	//	labels[7]="Номера_домов";
		//dojo.connect(map, "onLoad", initFunctionality);
		esriConfig.defaults.map.sliderLabel = {
          tick: 5,
          labels: labels,
          style: "width:2em; font-family:Verdana; font-size:65%; color:black; padding-left:0px;"
        };
		
	load_roads_table();
	
	if(extent_to_load)
	{
		var extent_to_load_data  = new esri.geometry.Extent(e1,e2,e3,e4, null);
	//	alert(e1 +'|' +e2 +'|' +e3 +'|'+e4 );
		map = new esri.Map("d3",{extent:extent_to_load_data,nav:true,displayGraphicsOnPan:false,logo: false});
	}
	else
	{
		map = new esri.Map("d3",{nav:true,showInfoWindowOnClick:true,displayGraphicsOnPan:false,logo: false});
	}
	
	  str_queryTask = new esri.tasks.QueryTask("http://www.citymap.odessa.ua/arcgis/rest/services/serach_str/MapServer/0");
	 //build query filter
        str_query = new esri.tasks.Query();
        str_query.returnGeometry = true;
        str_query.outFields = ["OBJECTID_1", "STRNAME", "DEZ"];	
		  str_query.where = "OBJECTID_1 > -1 order by STRNAME" ;
		  
		

//map.infoWindow.resize(310,305);
var $tepm_b = false;
var $tepm_b2 = false;

if(map_service!="obl_pz6"|| map_service!="ukraine")document.getElementById("map_c2").style.display = "none";
if(map_service!="obl_pz6")document.getElementById("map_c8").style.display = "none";
								if(map_service=="odessa_n" || map_service=="cosmo1" || map_service=="cosmo2008")
								{
									document.getElementById("map_c1").style.display = "";
									document.getElementById("map_c2").style.display = "none";
									dojo.connect(map, "onLoad", add_pano);
								//	alert(map_service);
									
									if(map_service=="cosmo1")
									{$tepm_b = true;
									
									}
									if(map_service=="cosmo2008")
									{$tepm_b2 = true;
									
									}
									map_service="odessa_n";
								}
								else
								{
										
									map1 = false;
									map2 = false;
									document.getElementById("map_c1").style.display = "none";
									if(map_service=="obl_pz6"|| map_service=="ukraine")document.getElementById("map_c2").style.display = "";
								//	alert(map_service);
									if(map_service=="obl_pz6")document.getElementById("map_c8").style.display = "";
								}
	
	if(!map_to_load)
	{
	//alert('1');
	
		
		if(lang1==0)
		{
			//t[map_id] = new esri.layers.ArcGISTiledMapServiceLayer("http://www.citymap.odessa.ua/arcgis/rest/services/odessa_n/MapServer");
			t[map_id] = new esri.layers.ArcGISTiledMapServiceLayer("http://www.citymap.odessa.ua/map/layers/odessa_n.php");
		// 	t[map_id].getTileUrl =getTileUrl2('odessa_n');
			dojo.connect(t[map_id], "onLoad", function st(){
						if(t[map_id].tileInfo.format=="PNG24")
						{
							getTileUrl3(t[map_id],'odessa_n',"png");
						}
						else
						{
							getTileUrl3(t[map_id],'odessa_n',"jpg");
						}
					});
			
		}
		else
		{
			//if(lang1==1)t[map_id] = new esri.layers.ArcGISTiledMapServiceLayer("http://www.citymap.odessa.ua/arcgis/rest/services/odessa_eng/MapServer");
			//if(lang1==2)t[map_id] = new esri.layers.ArcGISTiledMapServiceLayer("http://www.citymap.odessa.ua/arcgis/rest/services/odessa_ukr/MapServer");
			if(lang1==1){t[map_id] = new esri.layers.ArcGISTiledMapServiceLayer("http://www.citymap.odessa.ua/map/layers/odessa_eng.php");
			//t[map_id].getTileUrl =getTileUrl2('odessa_eng');
			
			dojo.connect(t[map_id], "onLoad", function st(){
						if(t[map_id].tileInfo.format=="PNG24")
						{
							getTileUrl3(t[map_id],'odessa_eng',"png");
						}
						else
						{
							getTileUrl3(t[map_id],'odessa_eng',"jpg");
						}
					});
			
			
			}
			if(lang1==2){t[map_id] = new esri.layers.ArcGISTiledMapServiceLayer("http://www.citymap.odessa.ua/map/layers/odessa_ukr.php");
		//	t[map_id].getTileUrl =getTileUrl2('odessa_ukr');
			
			dojo.connect(t[map_id], "onLoad", function st(){
						if(t[map_id].tileInfo.format=="PNG24")
						{
							getTileUrl3(t[map_id],'odessa_ukr',"png");
						}
						else
						{
							getTileUrl3(t[map_id],'odessa_ukr',"jpg");
						}
					});
			
			}
		}
		//pams_l = new esri.layers.ArcGISTiledMapServiceLayer("http://www.citymap.odessa.ua/ArcGIS/rest/services/work/pams3/MapServer",{opacity:0.5});
		pams_l = new esri.layers.ArcGISTiledMapServiceLayer("http://www.citymap.odessa.ua/map/layers/work/pams3.php",{opacity:0.5});
	//	pams_l.getTileUrl =getTileUrl2('work/pams3');
		
		dojo.connect(pams_l, "onLoad", function st(){
						if(pams_l.tileInfo.format=="PNG24")
						{
							getTileUrl3(pams_l,'work/pams3',"png");
						}
						else
						{
							getTileUrl3(pams_l,'work/pams3',"jpg");
						}
					});
		
		
		
	    map.addLayer(t[map_id]);
		//create find task with url to map service
	    findTask = new esri.tasks.FindTask("http://www.citymap.odessa.ua/arcgis/rest/services/odessa_s4/MapServer");
	    //create find parameters and define known values
	    findParams = new esri.tasks.FindParameters();
	    findParams.returnGeometry = true;
	    findParams.layerIds = [0];
	   findParams.searchFields = ["sum2"];
		//findParams.searchFields = ["STREET","ID"];
		//----------------------------------------------------------------------------


        

		
		
		
	   
	}
	else
	{
	   findTask = new esri.tasks.FindTask("http://www.citymap.odessa.ua/arcgis/rest/services/odessa_s4/MapServer");
	    //create find parameters and define known values
	    findParams = new esri.tasks.FindParameters();
	    findParams.returnGeometry = true;
	    findParams.layerIds = [0];
	    findParams.searchFields = ["sum2"];
	//alert(map_service);
		if(map_type=="d")
		{
			t[map_id] = new esri.layers.ArcGISDynamicMapServiceLayer("http://www.citymap.odessa.ua/arcgis/rest/services/"+map_service+"/MapServer");
			map.addLayer(t[map_id]);
		}
		if(map_type=="t")
		{
		
			//t[map_id] = new esri.layers.ArcGISTiledMapServiceLayer("http://www.citymap.odessa.ua/arcgis/rest/services/"+map_service+"/MapServer");
			
			
			t[map_id] = new esri.layers.ArcGISTiledMapServiceLayer("http://www.citymap.odessa.ua/map/layers/"+map_service+".php");
		 	//t[map_id].getTileUrl =getTileUrl2(map_service);
			
				dojo.connect(t[map_id], "onLoad", function st(){
						if(t[map_id].tileInfo.format=="PNG24")
						{
							getTileUrl3(t[map_id],map_service,"png");
						}
						else
						{
							getTileUrl3(t[map_id],map_service,"jpg");
						}
					});
			
			
			
			
			map.addLayer(t[map_id]);
		}
		if(map_type=="i")
		{
		
			t[map_id] = new esri.layers.ArcGISTiledMapServiceLayer(map_service);
			
		//	t[map_id] = new esri.layers.ArcGISTiledMapServiceLayer("http://www.citymap.odessa.ua/map/layers/"+map_service+".php");
		 //	t[map_id].getTileUrl =getTileUrl2(map_service);
			
		//	alert(map_service);
			map.addLayer(t[map_id]);
		}
	}
	navToolbar = new esri.toolbars.Navigation(map);
    toolbar_draw = new esri.toolbars.Draw(map);
	con01 = dojo.connect(toolbar_draw, "onDrawEnd", addToMap);
	dojo.connect(map, "onExtentChange", update_link2);
 gsvc = new esri.tasks.GeometryService("http://www.citymap.odessa.ua/arcgis/rest/services/Geometry/GeometryServer");
 
 
 
 
									if($tepm_b)
									{
										if(!map1){ 
										//map1 = new esri.layers.ArcGISTiledMapServiceLayer("http://www.citymap.odessa.ua/arcgis/rest/services/cosmo1/MapServer"); 
										map1 = new esri.layers.ArcGISTiledMapServiceLayer("http://www.citymap.odessa.ua/map/layers/cosmo1.php"); 
								//		map1.getTileUrl = getTileUrl2("cosmo1");
										
											dojo.connect(map1, "onLoad", function st(){
						if(map1.tileInfo.format=="PNG24")
						{
							getTileUrl3(map1,"cosmo1","png");
						}
						else
						{
							getTileUrl3(map1,"cosmo1","jpg");
						}
					});	
										
										
										
										
										
										map.addLayer(map1);
										t[n_v_b].hide();
										}
										if(!map1.visible){map1.show();t[n_v_b].hide();};
										if(map2)map2.hide();
									}
									if($tepm_b2)
									{
										if(!map2){
										//map2 = new esri.layers.ArcGISTiledMapServiceLayer("http://www.citymap.odessa.ua/arcgis/rest/services/cosmo2_local/MapServer");
										map2 = new esri.layers.ArcGISTiledMapServiceLayer("http://www.citymap.odessa.ua/map/layers/cosmo2_local.php"); 
									//	map2.getTileUrl = getTileUrl2("cosmo2_local");
										
										dojo.connect(map2, "onLoad", function st(){
						if(map2.tileInfo.format=="PNG24")
						{
							getTileUrl3(map2,"cosmo2_local","png");
						}
						else
						{
							getTileUrl3(map2,"cosmo2_local","jpg");
						}
					});	
										
										
										
										map.addLayer(map2);t[n_v_b].hide();}
				if(!map2.visible){map2.show();t[n_v_b].hide();}
				if(map1)map1.hide();
									}
									document.getElementById('loading').style.display="none";
document.getElementById('loading').style.width="0px";
load_pams_str();

		 graps = new esri.layers.GraphicsLayer();
		 graps2 = new esri.layers.GraphicsLayer();
		
        
		
        routeTask = new esri.tasks.RouteTask("http://www.citymap.odessa.ua/ArcGIS/rest/services/work/route4/NAServer/Route");
        routeParams = new esri.tasks.RouteParameters();
        routeParams.stops = new esri.tasks.FeatureSet();
	//	 routeParams.returnRoutes = false;
		 routeParams.returnDirections = true;
		routeParams.outSpatialReference = new esri.SpatialReference({ wkid:4326 });
		routeParams.directionsLengthUnits = 'esriKilometers';
		routeParams.directionsLanguage = 'ru_RU';

        dojo.connect(routeTask, "onSolveComplete", showRoute);
        dojo.connect(routeTask, "onError", errorHandler);

       // stopSymbol = new esri.symbol.SimpleMarkerSymbol().setStyle(esri.symbol.SimpleMarkerSymbol.STYLE_CROSS).setSize(15);
       // stopSymbol.outline.setWidth(4);
		
		stopSymbol = new esri.symbol.PictureMarkerSymbol('icons/g2/numeric/blueA.png', 27,27) ;
		stopSymbol2 = new esri.symbol.PictureMarkerSymbol('icons/g2/numeric/blueB.png', 27,27) ;
        routeSymbol = new esri.symbol.SimpleLineSymbol().setColor(new dojo.Color([0,0,255,0.5])).setWidth(5);
	//var route_01 =  dojo.connect(map, "onClick", addStop);
	
		
	
}


var fromSymbol, toSymbol, routeSymbol, segmentSymbol;
var from, to, directions, directionFeatures, segmentGraphic;
 //Zoom to the appropriate segment when the user clicks a hyperlink in the directions list
      function zoomToSegment(index) {
        var segment = directionFeatures[index];
        map.setExtent(segment.geometry.getExtent(), true);
        if (! segmentGraphic) {
          segmentGraphic = map.graphics.add(new esri.Graphic(segment.geometry, segmentSymbol));
        }
        else {
          segmentGraphic.setGeometry(segment.geometry);
        }
      }

      function zoomToFullRoute() {
        map.graphics.remove(segmentGraphic);
        segmentGraphic = null;
        map.setExtent(directions.extent, true);
      }
function addStop(evt) {
      //  var stop = map.graphics.add(new esri.Graphic(evt.mapPoint, stopSymbol));
	  
		  if (graps.graphics.length >1)
		{
			graps.clear();
			routeParams.stops.features = [];
			
		}
	  	var pt = new esri.geometry.Point(evt.mapPoint.x,evt.mapPoint.y,null) ;
		var graphic = new esri.Graphic(pt, stopSymbol);
		 var stop = graps.add(graphic);
        routeParams.stops.features.push(stop);
	//	alert(graps.graphics.length);
 		
        if (routeParams.stops.features.length >= 2) {
		
          routeTask.solve(routeParams);
          lastStop = routeParams.stops.features.splice(0, 1)[0];
        }
      }
var mouseDragEvent = null, mouseDownHandle = null, mouseUpHandle = null, addGraphicHandle = null;
var drag = false;
			function graphicsOnMouseDown(evt){
                //console.log("mousedown");
             //   dojo.byId("info").innerHTML = "Event mousedown detected. Map navigation disabled, Ready to move graphic";
                map.disableMapNavigation();
                //map.hideZoomSlider();
                if (mouseDragEvent != null) {
                    dojo.disconnect(mouseDragEvent);
                }
                //oldLoc = evt.mapPoint;
                mouseDragEvent = dojo.connect(graps, "onMouseDrag", graphicsOnMouseDrag);
				drag = true;
            }
            
            function graphicsOnMouseDrag(evt){
                //console.log("drag..");
                if (mouseDragEvent != null) {
                    var moveLoc = evt.mapPoint;
                    moveLoc.setSpatialReference(map.spatialReference);
                    evt.graphic.setGeometry(moveLoc);
					drag = true;
                }
            }
            
            function graphicsOnMouseUp(evt){
                //console.log("mouseup");
                if (mouseDragEvent != null) {
                    dojo.disconnect(mouseDragEvent);
                    map.enableMapNavigation();
                    //map.showZoomSlider();
                    var moveLoc = evt.mapPoint;
                    moveLoc.setSpatialReference(map.spatialReference);
                    evt.graphic.setGeometry(moveLoc);
					
					 if (graps.graphics.length >1)
					{
						
						SetStop();
						
						
					}
					drag = false;
			}
			}		
function SetStop()
{
	
	dojo.xhrGet( 
			{
				url: "/work/roads/route.php?x1="+parseInt(graps.graphics[0].geometry.x)+"&y1="+parseInt(graps.graphics[0].geometry.y)+"&x2="+parseInt(graps.graphics[1].geometry.x)+"&y2="+parseInt(graps.graphics[1].geometry.y),
				handleAs: "text",
				load: function(data)
				{
			
					//var responseObject = eval( data );
					if(data!=-1)
					{
						var temp = "";
						temp = temp + '<p style="margin: 5px;"><b>Маршруты на этом участке</b></p><table border="0" cellpadding="0" cellspacing="0" width="160px"><tbody>';

						var arr1 = data.split(";");
						var arr = arr1[0].split(",");
						var text = "FID="+arr[0];	
						temp = temp + '<tr><td style="padding: 3px;"><span style="color: blue; cursor: pointer;" onclick="show_road('+arr[0]+',1)">'+arr[1]+'</span></td><td>'+arr[2]+'</td><td width="70px"><span class="bl" style="cursor: pointer;" onclick="show_road('+arr[0]+',0)">'+arr[3]+'</span></td></tr>';
						
						for(var i =1;i< arr1.length;i++)
						{
							arr = arr1[i].split(",");
							text =text + " or FID="+arr[0];
							
							temp = temp + '<tr><td style="padding: 3px;"><span style="color: blue; cursor: pointer;" onclick="show_road('+arr[0]+',1)">'+arr[1]+'</span></td><td>'+arr[2]+'</td><td width="70px"><span class="bl" style="cursor: pointer;" onclick="show_road('+arr[0]+',0)">'+arr[3]+'</span></td></tr>';
						}
						//alert(text);
						go_to_road= 0;
						query2.where = text;
						queryTask2.execute(query2);
						
						temp = temp + '</tbody></table><br><br><span style="color: blue; cursor: pointer;" onclick="roadsLayer.clear();graps.clear();">Очистить</span><br><br><div class="bl" onclick="roads_list()" style="cursor: pointer;">Все маршруты</div>';
						document.getElementById('roads_show').innerHTML = temp;
					}
					else
					{
						alert("Маршруты не найдены");
						roadsLayer.clear();
						//graps.clear();
					}
				}
			});
}			
function addStopMT(evt) {
      //  var stop = map.graphics.add(new esri.Graphic(evt.mapPoint, stopSymbol));
	  if(drag)return;
		  if (graps.graphics.length >1)
		{
			graps.clear();
			
			
		}
	  	var pt = new esri.geometry.Point(evt.mapPoint.x,evt.mapPoint.y,null) ;
		var graphic ;
		var infoTemplate = new esri.InfoTemplate();
		
       
		
		
		if (graps.graphics.length==1)
		{
		 graphic = new esri.Graphic(pt, stopSymbol2);
		infoTemplate.setTitle("Пункт B");
		infoTemplate.setContent("");
		}
		else
		{
			graphic = new esri.Graphic(pt, stopSymbol);
			infoTemplate.setTitle("Пункт A");
			infoTemplate.setContent("");
		}
		graphic.setInfoTemplate(infoTemplate);
		 var stop = graps.add(graphic);
     //   routeParams.stops.features.push(stop);
	//	alert(graps.graphics.length);
 		
        if (graps.graphics.length >= 2) 
		{
			
          SetStop();
        }
		
		dojo.disconnect(mouseDownHandle);
		dojo.disconnect(mouseUpHandle);
                    mouseDownHandle = dojo.connect(graps, "onMouseDown", graphicsOnMouseDown);
                    mouseUpHandle = dojo.connect(graps, "onMouseUp", graphicsOnMouseUp);
		
		
      }
  //function showRoute(routeResults, barriers)
  function showRoute(solveResult) {
        graps.add(solveResult.routeResults[0].route.setSymbol(routeSymbol));
		
		directions = solveResult.routeResults[0].directions;
        directionFeatures = directions.features;
		 //Display the total time and distance of the route
		// alert(1);
        dojo.byId("summary").innerHTML = "<br /> &nbsp; Total distance: " + formatDistance(directions.totalLength, "Kilometers ") + "<br /> &nbsp; Total time: " + formatTime(directions.totalTime);
//alert(2);
        //List the directions and create hyperlinks for each route segment
        var dirStrings = ["<br><ol>"];
        dojo.forEach(solveResult.routeResults[0].directions.features, function(feature, i) {
          dirStrings.push("<li  onclick='zoomToSegment(" + i + "); return false;' class=\"segment\" style='margin-bottom:7px'><a href=\"#\"  style='font-size: 8pt;font-family:arial;color:black;text-decoration:none;'>" + feature.attributes.text + " (" + formatDistance(feature.attributes.length ,"km") + ", " + formatTime(feature.attributes.time) + ")</a></li>");
        });
        dirStrings.push("</ol>");
        dojo.byId("directions").innerHTML = dirStrings.join("");
		zoomToFullRoute();
      }

      //Displays any error returned by the Route Task
      function errorHandler(err) {
        alert("An error occured\n" + err.message + "\n" + err.details.join("\n"));

        routeParams.stops.features.splice(0, 0, lastStop);
        graps.remove(routeParams.stops.features.splice(1, 1)[0]);
		graps.clear();
			routeParams.stops.features = [];
      }
 var serv3_t="";
 var main_l_on=true;
 function changeMap(id)
	  {
	  var serv1,serv2;
	
	  if(lang1==0)
	  {
		serv1= "cosmo1";
		serv2= "cosmo2_local";
	  }
	  if(lang1==1)
	  {
		serv1= "cosmo_2003_eng";
		serv2= "cosmo_2008_eng";
	  }
	  if(lang1==2)
	  {
		serv1= "cosmo_2003_ukr";
		serv2= "cosmo2_local";
	  }
		switch (id)
		{
			case 1:
			{
				if(!t[n_v_b].visible){if(map1){map1.hide();}if(map2){map2.hide();}t[n_v_b].show();main_l_on=true;if(map3)map3.hide();document.getElementById('legend_d').style.display = "none";}
				if(vib)
		{
		map.removeLayer(lar5);
		vib = false;
		 dojo.disconnect(c_t);

		}
			}
			break;
			case 2:
			{
				if(!map1){ 
				//map1 = new esri.layers.ArcGISTiledMapServiceLayer("http://www.citymap.odessa.ua/arcgis/rest/services/"+serv1+"/MapServer");
				map1 = new esri.layers.ArcGISTiledMapServiceLayer("http://www.citymap.odessa.ua/map/layers/"+serv1+".php"); 
				//map1.getTileUrl = getTileUrl2(serv1);
				
				dojo.connect(map1, "onLoad", function st(){
						if(map1.tileInfo.format=="PNG24")
						{
							getTileUrl3(map1,serv1,"png");
						}
						else
						{
							getTileUrl3(map1,serv1,"jpg");
						}
					});	
				
				
				map.addLayer(map1);t[n_v_b].hide();}
				if(!map1.visible){map1.show();t[n_v_b].hide();};
				if(map2)map2.hide();
				if(map3)map3.hide();
				document.getElementById('legend_d').style.display = "none";
				//alert(1);
				main_l_on=false;
			}
			break;
			case 3:
			{
				if(!map2){ 
				//map2 = new esri.layers.ArcGISTiledMapServiceLayer("http://www.citymap.odessa.ua/arcgis/rest/services/"+serv2+"/MapServer");
				map2 = new esri.layers.ArcGISTiledMapServiceLayer("http://www.citymap.odessa.ua/map/layers/"+serv2+".php"); 
				//map2.getTileUrl = getTileUrl2(serv2);
				
				dojo.connect(map2, "onLoad", function st(){
						if(map2.tileInfo.format=="PNG24")
						{
							getTileUrl3(map2,serv2,"png");
						}
						else
						{
							getTileUrl3(map2,serv2,"jpg");
						}
					});	
				

				map.addLayer(map2);t[n_v_b].hide();}
				if(!map2.visible){map2.show();t[n_v_b].hide();}
				if(map1)map1.hide();
				if(map3)map3.hide();
				document.getElementById('legend_d').style.display = "none";
				main_l_on=false;
			}
			break;
			case 4:
			{
				main_l_on=false;
				
				if((!map3) || serv3_t!=serv3)
				{//alert(serv3_t);alert(serv3);
							if(map3)map.removeLayer(map3);
							if(type_s3=="t")
							{
								//map3 = new esri.layers.ArcGISTiledMapServiceLayer("http://www.citymap.odessa.ua/arcgis/rest/services/"+serv3+"/MapServer");
								map3 = new esri.layers.ArcGISTiledMapServiceLayer("http://www.citymap.odessa.ua/map/layers/"+serv3+".php"); 
							//	map3.getTileUrl = getTileUrl2(serv3);
								
								dojo.connect(map3, "onLoad", function st(){
						if(map3.tileInfo.format=="PNG24")
						{
							getTileUrl3(map3,serv3,"png");
						}
						else
						{
							getTileUrl3(map3,serv3,"jpg");
						}
					});	
								
							//	alert(1);
							}
							else
							{
									var imageParameters = new esri.layers.ImageParameters();
									imageParameters.format = "png24";  //set the image type to PNG24, note default is PNG8.
									//Takes a URL to a non cached map service.
									//lar6 = new esri.layers.ArcGISDynamicMapServiceLayer("http://www.citymap.odessa.ua/arcgis/rest/services/work/tvo/MapServer", {"opacity":0.5, "imageParameters":imageParameters});
										map3 = new esri.layers.ArcGISDynamicMapServiceLayer("http://www.citymap.odessa.ua/arcgis/rest/services/"+serv3+"/MapServer",{"imageParameters":imageParameters});	
									//	alert(2);
							}
							map.addLayer(map3);t[n_v_b].hide();
							serv3_t=serv3;
				}
				
				if(!map3.visible){map3.show();t[n_v_b].hide();}
				if(map1)map1.hide();
				if(map2)map2.hide();
				
				document.getElementById('legend_d').style.display = "";
				if(serv3 != 'gen_plan/gen_plan_2009')
				{
					document.getElementById('legend_d').style.display = "none";
				}
     		}
			break;
		}
		//alert(1);
	//	map.reorderLayer("pams_l", 0);
		map.reorderLayer(pams_l.id, map.layerIds.length-1);
	//	alert(pams_l.id);
	//	alert(2);
		//if(pams_l_v)
		//pams_l.show();
	  }
function setTC(title,content,id)
{
	//alert(title);
	//alert(content);
	if(id =="undefined")
	{
		id="0";
	}
	var temp = '<a href="gallery/themes/'+content+'" target="blank" border="0"><img border="0" src="gallery/themes/tn_'+content+'">';
	 map.graphics.graphics[id].infoTemplate.setTitle(title);
	 map.graphics.graphics[id].infoTemplate.setContent(temp);
}
var lar5 = false;
	 var y = false;
	 var c_t = false;
function Vibory()
{
	 var serv5 = "work/vibori";
	 
	 if(y)
	 {
	//alert(1);
		if(vib)
		{
		map.removeLayer(lar5);
		vib = false;
		// dojo.disconnect(c_t);
		DoOnClick=1;
		}
		else
		{
		vib = true;
			map.addLayer(lar5);
			//c_t =  dojo.connect(map, "onClick", doIdentify);
			DoOnClick=5;
		}
		
	 }
	 else
	 {
		//lar5 = new esri.layers.ArcGISTiledMapServiceLayer("http://www.citymap.odessa.ua/arcgis/rest/services/"+serv5+"/MapServer",{"opacity":0.5});
		
		lar5 = new esri.layers.ArcGISTiledMapServiceLayer("http://www.citymap.odessa.ua/map/layers/"+serv5+".php",{"opacity":0.5});
		//lar5.getTileUrl = getTileUrl2(serv5);
		
		dojo.connect(lar5, "onLoad", function st(){
						if(lar5.tileInfo.format=="PNG24")
						{
							getTileUrl3(lar5,serv5,"png");
						}
						else
						{
							getTileUrl3(lar5,serv5,"jpg");
						}
					});	
		
	
		map.addLayer(lar5);
		y= true;
		vib = true;
		
		//c_t =  dojo.connect(map, "onClick", doIdentify);
		DoOnClick=5;
        identifyTask = new esri.tasks.IdentifyTask("http://www.citymap.odessa.ua/arcgis/rest/services/work/vibori/MapServer");

        identifyParams = new esri.tasks.IdentifyParameters();
        identifyParams.tolerance = 3;
        identifyParams.returnGeometry = false;
        identifyParams.layerIds = [0];
        identifyParams.layerOption = esri.tasks.IdentifyParameters.LAYER_OPTION_ALL;
		identifyParams.spatialReference = new esri.SpatialReference({wkid:102113});
        map.infoWindow.resize(450, 350);
       // map.infoWindow.setContent(dijit.byId("tabs").domNode);
        map.infoWindow.setTitle("Результаты");
	 }
	 
}
var lar6 = false;
var lar7 = false;
	 var y1 = false;
	 var c_t1 = false;
	 var vib1 = false;
	 var	identifyTask01 ;
	 var	identifyParams01
function Vibory2()
{
	 var serv6 = "vibory_2010_all5";
	 var serv7 = "vibory_rez2";
	 
	 
	 if(y1)
	 {
	//alert(1);
		if(vib1)
		{
		map.removeLayer(lar6);
		map.removeLayer(lar7);
		vib1 = false;
		//dojo.disconnect(c_t1);
		DoOnClick  =1;
		}
		else
		{
		vib1 = true;
			map.addLayer(lar6);
			map.addLayer(lar7);
			//c_t1=  dojo.connect(map, "onClick", doIdentify01);
			DoOnClick  =6;
		}
		
	 }
	 else
	 {
	 
		//lar6 = new esri.layers.ArcGISTiledMapServiceLayer("http://www.citymap.odessa.ua/arcgis/rest/services/"+serv6+"/MapServer",{"opacity":0.6});
		lar6 = new esri.layers.ArcGISTiledMapServiceLayer("http://www.citymap.odessa.ua/map/layers/"+serv6+".php",{"opacity":0.6});
		//lar6.getTileUrl = getTileUrl2(serv6);
		
		dojo.connect(lar6, "onLoad", function st(){
						if(lar6.tileInfo.format=="PNG24")
						{
							getTileUrl3(lar6,serv6,"png");
						}
						else
						{
							getTileUrl3(lar6,serv6,"jpg");
						}
					});	
		
		
		//lar7 = new esri.layers.ArcGISTiledMapServiceLayer("http://www.citymap.odessa.ua/arcgis/rest/services/"+serv7+"/MapServer",{"opacity":1});
		lar7 = new esri.layers.ArcGISTiledMapServiceLayer("http://www.citymap.odessa.ua/map/layers/"+serv7+".php",{"opacity":1});
		//lar7.getTileUrl = getTileUrl2(serv7);
		
		dojo.connect(lar7, "onLoad", function st(){
						if(lar7.tileInfo.format=="PNG24")
						{
							getTileUrl3(lar7,serv7,"png");
						}
						else
						{
							getTileUrl3(lar7,serv7,"jpg");
						}
					});	
		
	
		map.addLayer(lar6);
		map.addLayer(lar7);
		y1= true;
		vib1 = true;
		// dojo.disconnect(cl_con);
		// dojo.connect(map, "onClick", doIdentify01);
		 DoOnClick=6;
		
	identifyTask01 = new esri.tasks.IdentifyTask("http://www.citymap.odessa.ua/arcgis/rest/services/vibory_rez3/MapServer");
		identifyParams01 = new esri.tasks.IdentifyParameters();
        identifyParams01.tolerance = 3;
        identifyParams01.returnGeometry = false;
        identifyParams01.layerIds = [0];
        identifyParams01.layerOption = esri.tasks.IdentifyParameters.LAYER_OPTION_ALL;
		identifyParams01.spatialReference = new esri.SpatialReference({wkid:32636});
	/*	c_t1 =  dojo.connect(map, "onClick", doIdentify);

        identifyTask = new esri.tasks.IdentifyTask("http://www.citymap.odessa.ua/arcgis/rest/services/work/vibori/MapServer");

        identifyParams = new esri.tasks.IdentifyParameters();
        identifyParams.tolerance = 3;
        identifyParams.returnGeometry = false;
        identifyParams.layerIds = [0];
        identifyParams.layerOption = esri.tasks.IdentifyParameters.LAYER_OPTION_ALL;*/

        map.infoWindow.resize(470, 400);
       // map.infoWindow.setContent(dijit.byId("tabs").domNode);
        map.infoWindow.setTitle("Результаты");
	 }
	 
}
function login()
{
	if(document.getElementById('login').value=="uno uno" && document.getElementById('pass').value=="big baby")
	{
	dijit.byId('dialog_l').hide();
	}
	//else
	{
		alert("Неверный логин или пароль.");
	}
}
var lar8 = false;
var lar8_on= false;
var lar9 = false;
var lar8_on= false;
function gkc()
{

	 	 if(lar8)
	 {

		if(!lar8_on)
		{	//alert(1);
			map.removeLayer(lar8);
			map.removeLayer(lar9);
			lar8_on = true;
			//dojo.disconnect(cl_con);
			//cl_con = dojo.connect(map, "onClick", doIdentify22);
			DoOnClick=1;
		}
		else
		{	//alert(2);
			lar8_on = false;
			map.addLayer(lar8);
			map.addLayer(lar9);
			//dojo.disconnect(cl_con);
			//cl_con = dojo.connect(map, "onClick", doIdentify55);
			DoOnClick=2;
		}
		
	 }
	 else
	 {
	 
		//lar8 = new esri.layers.ArcGISTiledMapServiceLayer("http://www.citymap.odessa.ua/ArcGIS/rest/services/work/dez_n2/MapServer", {"opacity":0.5});
		lar8 = new esri.layers.ArcGISTiledMapServiceLayer("http://www.citymap.odessa.ua/map/layers/work/dez_n2.php",{"opacity":0.5});
		//lar8.getTileUrl = getTileUrl2("dez_n2");
		
		dojo.connect(lar8, "onLoad", function st(){
						if(lar8.tileInfo.format=="PNG24")
						{
							getTileUrl3(lar8,"work/dez_n2","png");
						}
						else
						{
							getTileUrl3(lar8,"work/dez_n2","jpg");
						}
					});	
		
		map.addLayer(lar8);
		//lar9= new esri.layers.ArcGISTiledMapServiceLayer("http://www.citymap.odessa.ua/ArcGIS/rest/services/work/dez_n11/MapServer", {"opacity":1});
		lar9 = new esri.layers.ArcGISTiledMapServiceLayer("http://www.citymap.odessa.ua/map/layers/work/dez_n11.php",{"opacity":1});
		//lar9.getTileUrl = getTileUrl2("dez_n11");
		
		dojo.connect(lar9, "onLoad", function st(){
						if(lar9.tileInfo.format=="PNG24")
						{
							getTileUrl3(lar9,"work/dez_n11","png");
						}
						else
						{
							getTileUrl3(lar9,"work/dez_n11","jpg");
						}
					});	
		
		map.addLayer(lar9);
		//dojo.disconnect(cl_con);
		//cl_con = dojo.connect(map, "onClick", doIdentify55);
		DoOnClick=2;
	}
	
	 
}
function doIdentify01(evt) {
      // map.graphics.clear();
		 map.infoWindow.hide();
		// document.getElementById("loading").style.display="";
	//	 document.body.style.cursor = 'wait';
		var pt = new esri.geometry.Point(evt.mapPoint.x,evt.mapPoint.y,new esri.SpatialReference({wkid:102100})) ;
       // identifyParams01.geometry = pt;
	   identifyParams01.geometry = evt.mapPoint;
		
		var ext = new esri.geometry.Extent(map.extent.xmin,map.extent.ymin, map.extent.xmax,map.extent.ymax, new esri.SpatialReference({wkid:102100}));
       // identifyParams01.mapExtent = ext;
		identifyParams01.mapExtent = map.extent;
        identifyTask01.execute(identifyParams01, function(idResults) { addToMap3(idResults, evt); });
      }
function doIdentify(evt) {
      // map.graphics.clear();
		 map.infoWindow.hide();
		// document.getElementById("loading").style.display="";
	//	 document.body.style.cursor = 'wait';
        identifyParams.geometry = evt.mapPoint;
        identifyParams.mapExtent = map.extent;
        identifyTask.execute(identifyParams, function(idResults) { addToMap2(idResults, evt); });
      }
function addToMap3(geometry,evt)
{
if(geometry.length >-1 )
//for (var i=0, il=geometry.length; i<il; i++) 
{

          var idResult = geometry[0];
		 //var idResult = geometry;
		 // alert(1);
         // alert(idResult.feature.attributes['LOCATION']);
		   var screenPoint = map.toScreen(idResult);
	   
	   map.infoWindow.setTitle( "Номер участка: "+idResult.feature.attributes['UCHASTOK']);
	   //map.infoWindow.setContent("<b>Район:</b> " +idResult.feature.attributes['RAION']+"<br>Первый тур<div id='test2'></div><br>Второй тур<div id='test2_2'></div>"	   );
	 //  map.infoWindow.setContent('<b>Район:</b> ' +idResult.feature.attributes['RAION']+'<div id="parse1"> <div id="mainTabContainer" dojoType="dijit.layout.TabContainer"         style="width:100%;height:100%">       <div id="LittleRed" dojoType="dijit.layout.ContentPane" title="Little Red Cap">       Once upon a time there was a dear little girl who was loved by       every one who looked at her, but most of all by her grandmother,       and there was nothing that she would not have given to the child.       </div>       <div id="HanselGretel" dojoType="dijit.layout.ContentPane"            title="Hansel and Gretel" closable="true" selected="true">       Hard by a great forest dwelt a poor wood-cutter with his wife       and his two children. The boy was called Hansel and the girl Gretel.       He had little to bite and to break, and once when great dearth fell       on the land, he could no longer procure even daily bread.       </div>       <div id="GreenTwigs" dojoType="dijit.layout.ContentPane"              title="The Three Green Twigs">       There was once upon a time a hermit who lived in a forest at the foot       of a mountain, and passed his time in prayer and good works,       and every evening he carried, to the glory of God, two pails of water       up the mountain.       </div> </div></div>');
//parse_1_2();	   
	   
	  //   map.infoWindow.setContent("<b>Район:</b> " +idResult.feature.attributes['RAION']+"<div id='parse1'><div id='mainTabContainer' dojoType='dijit.layout.TabContainer'   style='width:100%;height:100%'> <div id='LittleRed333' dojoType='dijit.layout.ContentPane' title='Первый тур'><div id='test2'>1</div></div><div id='LittleRed222' dojoType='dijit.layout.ContentPane' title='Второй тур'><div id='test2_2'>2</div></div></div></div>");
	   map.infoWindow.setContent("<b>Район:</b> " +idResult.feature.attributes['RAION']+"<table style='width:100%'><tr><td  width='40%'><div id='test2'></div></td><td><div id='test2_2'></div></td></tr></table>н.н. - Не поддержали никого<br>н.б. - Недействительных бюллетеней"	   );
   /*    map.infoWindow.setContent("<b>Район:</b> " +idResult.feature.attributes['RAION'] + "<br><b>Где голосовать ?: </b>"+idResult.feature.attributes['LOCATION']+ "<br><b>Избирателей:</b> "+idResult.feature.attributes['PEOPLE']);*/
	 map.infoWindow.show(evt.screenPoint, map.getInfoWindowAnchor(evt.screenPoint)); 
	var t1=-1; 
	if(idResult.feature.attributes['RAION']=='Приморский')t1=1;
	if(idResult.feature.attributes['RAION']=='Малиновский')t1=2;
	if(idResult.feature.attributes['RAION']=='Суворовский')t1=3;
	if(idResult.feature.attributes['RAION']=='Киевский')t1=4;
		  swfobject.embedSWF(
"/chart/open-flash-chart.swf", "test2",
"200", "200", "9.0.0", "expressInstall.swf",
{"data-file":"/chart/pie-chart-label-styles-vib.php?ray="+t1+"|"+idResult.feature.attributes['UCHASTOK']} );
		  swfobject.embedSWF(
"/chart/open-flash-chart.swf", "test2_2",
"300", "250", "9.0.0", "expressInstall.swf",
{"data-file":"/chart/pie-chart-label-styles-vib2.php?ray="+t1+"|"+idResult.feature.attributes['UCHASTOK']} );

//{"data-file":"/chart/pie-chart-label-styles-vib.php?ray="+encodeURI(idResult.feature.attributes['RAION']+" "+idResult.feature.attributes['UCHASTOK'])} );

        }

}	 
function chart01()
{
swfobject.embedSWF(
"/chart/open-flash-chart.swf", "test2",
"400", "400", "9.0.0", "expressInstall.swf",
{"data-file":"/chart/pie-chart-label-styles.php"} );

} 
function addToMap2(geometry,evt)
{
if(geometry.length >-1 )
//for (var i=0, il=geometry.length; i<il; i++) 
{
          var idResult = geometry[0];
		 // alert(1);
         // alert(idResult.feature.attributes['LOCATION']);
		   var screenPoint = map.toScreen(idResult);
	   
	   map.infoWindow.setTitle( "Номер участка: "+idResult.feature.attributes['UCHASTOK']);
       map.infoWindow.setContent("<b>Район:</b> " +idResult.feature.attributes['RAYON'] + "<br><b>Где голосовать ?: </b>"+idResult.feature.attributes['LOCATION']+ "<br><b>Избирателей:</b> "+idResult.feature.attributes['PEOPLE']);
	 map.infoWindow.show(evt.screenPoint, map.getInfoWindowAnchor(evt.screenPoint)); 
		  
        }

}
function addToMap(geometry,evt)
{//alert(1);

 var type = geometry.type;
  if (type === "point" || type === "multipoint") {

	   var symbol = new esri.symbol.PictureMarkerSymbol('icons/flag-blue-16x16.png', 16,16) ;
	   var infoTemplate = new esri.InfoTemplate();
       infoTemplate.setTitle('<span style="color:green;font-size:9pt;font-family:arial">Новая фотография</span>');
	   infoTemplate.setContent('<iframe frameborder=”0" scrolling=”no” bgcolor="#E2E2E2" style="margin:0px;padding:0px;border:0px" src="/map/upload.php?id='+(map.graphics.graphics.length)+'&x='+parseInt(geometry.x)+'&y='+parseInt(geometry.y)+'">');
       var graphic = new esri.Graphic(geometry, symbol);
	   graphic.setInfoTemplate(infoTemplate);
       map.graphics.add(graphic);
	   toolbar_draw.deactivate();map.showZoomSlider();
	   var screenPoint = map.toScreen(geometry);
	   
	   map.infoWindow.setTitle( infoTemplate.title);
       map.infoWindow.setContent(infoTemplate.content);
	   map.infoWindow.show(screenPoint,map.getInfoWindowAnchor(screenPoint));
	 }
	 if (type === "line" || type === "polyline") 
	 {//alert(2);
		 //   map.graphics.clear();
//alert(3);
var sym_t = new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([255,0,0]), 2);
	  var graphic = new esri.Graphic(geometry, sym_t);
	 //  graphic.setInfoTemplate(infoTemplate);
       map.graphics.add(graphic);
		    var len=0;
			for(var i = 0;i<geometry.paths[0].length -1;i++)
			{

			var c= geometry.paths[0][i+1][0] - geometry.paths[0][i][0];
			var d= geometry.paths[0][i+1][1] - geometry.paths[0][i][1];
			len = len + Math.sqrt((c*c)+(d*d));
			}		
		  
			document.getElementById('dist1').innerHTML = "Расстояние = " + Math.round(len) + " метров";
	 }
}

dojo.addOnLoad(init);
function load_pre_theme(theme)
{
var temp = document.getElementById('icon'+theme).value;
var temp2 = document.getElementById('iconh'+theme).value;
symbol[theme] = new esri.symbol.PictureMarkerSymbol('icons/g1/'+temp, 32,32) ;
var sym = symbol[theme];
highlightSymbol[theme] =  new esri.symbol.PictureMarkerSymbol('icons/g1/'+temp2, 24,24) ;
var name = document.getElementById('span_'+theme).innerHTML;
	for (u=0, il=themes[theme].length; u<il; u++)
	{	
	//	alert(u);
	//	alert(themes[theme][u]);
		pt = new esri.geometry.Point(themes[theme][u][1],themes[theme][u][2],new esri.SpatialReference({wkid:102113})) ;
		console.debug(pt);
	
		var infoTemplate = new esri.InfoTemplate();
        infoTemplate.setTitle('<span style="color:green">'+name+'</span>: '+themes[theme][u][0]);
		if(themes[theme][u][3])
		{
		sym =  new esri.symbol.PictureMarkerSymbol('gallery/themes/done2/tn_'+themes[theme][u][3], 40,40) ;
		infoTemplate.setContent('<a TARGET="_blank"  title="Test" href="gallery/themes/'+themes[theme][u][3]+'">' +'<img src="gallery/themes/tn_' + themes[theme][u][3]+ '" ></a><br>' +themes[theme][u][4]);
		}
		else
		{
		infoTemplate.setContent(themes[theme][u][4]);
		}
     //   map.infoWindow.resize(245,125);
		gra = new esri.Graphic(pt, sym) ;
		if(themes[theme][u][3])sym=symbol[theme];
		gra.setInfoTemplate(infoTemplate);
		console.debug(gra);
 		map.graphics.add(gra);
	}
	//move(symbol,highlightSymbol[theme]);
	Ext.MessageBox.hide();
}
var qsymbol = new esri.symbol.PictureMarkerSymbol('/map/icons/flag-blue-16x16.png', 16,16) ;
var qsymbol2 = new esri.symbol.PictureMarkerSymbol('/map/icons/pin-red-20x20.png', 20,20) ;
var last2=-1;

function goto_feature2(c1,c2,temp)
{

//esri.geometry.Extent(xmin, ymin, xmax, ymax, spatialReference)
	
//	 map.graphics.clear();
	// var m_list = document.getElementById('m_list');
	// m_list.innerHTML ="";
	// load_points(temp);
	if(last2 !=-1)
	{
		map.graphics.graphics[last2].setSymbol(qsymbol);
	}
	last2= temp;
	map.graphics.graphics[temp].setSymbol(qsymbol2);
	 var ext = new esri.geometry.Extent(c1-200, c2-200, c1+200,c2+200, null);
	 map.setExtent(ext);
}
function goto_feature3(c1,c2,temp)
{

	 var ext = new esri.geometry.Extent(c1-1000, c2-1000, c1+1000,c2+1000, null);
	 map.setExtent(ext);
}
function goto_feature4(c1,c2)
{

	 var ext = new esri.geometry.Extent(c1-100, c2-100, c1+100,c2+100, null);
	 map.setExtent(ext);
}
function color_c(this1)
{
this1.style.color="green";
}
function color_c_b(this1)
{
this1.style.color="black";
}
function addToMap55(idResults, evt) 
{
	if(idResults.length==0)
	  {
		
	  }
	  else
	  {
	    var curFeature = idResults[0];
		var graphic = curFeature.feature;
	  
	  map.infoWindow.show(evt.screenPoint, map.getInfoWindowAnchor(evt.screenPoint));
	  var numder = curFeature.feature.attributes["numder"];
	  map.infoWindow.setTitle('<span style="color:green">ЖКС "'+curFeature.feature.attributes["dez"]+'"</span> ');
	  map.infoWindow.setContent('Участок №'+curFeature.feature.attributes["nomer"]+"<br><br>телефон:"+curFeature.feature.attributes["tel"]);
	  }
}
function addToMap22(idResults, evt) 
{



	if(idResults.length==0)
	  {
		
	  }
	  else
	  {
	    var curFeature = idResults[0];
				  var graphic = curFeature.feature;
	  
	  map.infoWindow.show(evt.screenPoint, map.getInfoWindowAnchor(evt.screenPoint));
	  var numder = curFeature.feature.attributes["numder"];
	 // parseInt(numder)
	  if(parseInt(numder)>43)
		  {
		  	 map.infoWindow.setTitle('<span style="color:green">ПАМ’ЯТКИ МІСЦЕВОГО ЗНАЧЕННЯ</span> ');
		  }
		  else
		  {
		     map.infoWindow.setTitle('<span style="color:green">ПАМ`ЯТКИ НАЦІОНАЛЬНОГО  ЗНАЧЕННЯ</span> ');
		  }
	  
	   map.infoWindow.setContent('<div id="m_p1" ><img src="ajax-loader.gif" onload="pam_info('+"'"+numder+"'"+')"> </info>');
			/*	if(idResults[0].feature.attributes["STREET"]!="")
			  {
			   //11map.graphics.clear();
			  var curFeature = idResults[0];
				  var graphic = curFeature.feature;
				   graphic.setSymbol(symbol22);
				  map.graphics.add(graphic);
				map.infoWindow.show(evt.screenPoint, map.getInfoWindowAnchor(evt.screenPoint));
				 var st = curFeature.feature.attributes["STREET"];
				 var dom = curFeature.feature.attributes["ID"];
				 //alert(st);
				 map.infoWindow.setContent("Улица: "+ st+"<br>Номер дома: "+dom+"<br><img src='/map/ajax-loader.gif'/>");

						 dojo.xhrGet( {
				url: "/work/get_from_spravochnik.php?search="+encodeURI(st+" "+dom),
				handleAs: "text",
				load: function(data) 
				{
				//alert(document.getElementByID('tt444').innerHTML);
				 map.infoWindow.setContent("Улица: <b>"+ st+"</b><br>Номер дома: <b>"+dom+"</b><br>"+data);
				// map.infoWindow.resize(550,301);
				//	document.getElementByID('iden444').innerHTML=data; 
				//	alert(data);
				}
				});
				 
				 //	document.getElementByID('iden22').innerHTML="Улица: "+ st+"<br>Номер дома: "+dom;
				 }*/
	  }
}
function doIdentify22(evt) {
      // map.graphics.clear();
		 map.infoWindow.hide();
		// document.getElementById("loading").style.display="";
	//	 document.body.style.cursor = 'wait';
        identifyParams22.geometry = evt.mapPoint;
        identifyParams22.mapExtent = map.extent;
		//map.infoWindow.resize(550, 300);
        identifyTask22.execute(identifyParams22, function(idResults) { addToMap22(idResults, evt); });
      }
function doIdentify55(evt) {
      // map.graphics.clear();
		 map.infoWindow.hide();
		// document.getElementById("loading").style.display="";
	//	 document.body.style.cursor = 'wait';
        identifyParams55.geometry = evt.mapPoint;
        identifyParams55.mapExtent = map.extent;
		//map.infoWindow.resize(550, 300);
        identifyTask55.execute(identifyParams55, function(idResults) { addToMap55(idResults, evt); });
      }
function add_pano()
{
		
		//cl_con = dojo.connect(map, "onClick", doIdentify22);
		cl_con = dojo.connect(map, "onClick", WhatTodoOnClick);
		//DoOnClick=3;
		
        identifyTask22 = new esri.tasks.IdentifyTask("http://www.citymap.odessa.ua/ArcGIS/rest/services/work/pams3/MapServer/");

        identifyParams22 = new esri.tasks.IdentifyParameters();
        identifyParams22.tolerance = 3;
        identifyParams22.returnGeometry = false;
        identifyParams22.layerIds = [0];
        identifyParams22.layerOption = esri.tasks.IdentifyParameters.LAYER_OPTION_ALL;
		identifyParams22.spatialReference = new esri.SpatialReference({wkid:102113});
		
		identifyTask55 = new esri.tasks.IdentifyTask("http://www.citymap.odessa.ua/ArcGIS/rest/services/work/dez_n2/MapServer/");

        identifyParams55 = new esri.tasks.IdentifyParameters();
        identifyParams55.tolerance = 3;
        identifyParams55.returnGeometry = false;
        identifyParams55.layerIds = [2];
        identifyParams55.layerOption = esri.tasks.IdentifyParameters.LAYER_OPTION_ALL;
		identifyParams55.spatialReference = new esri.SpatialReference({wkid:102113});

        map.infoWindow.resize(450, 350);
        map.infoWindow.setContent("<div id='iden22'></div>");
        map.infoWindow.setTitle("Результаты");

     symbol22 = new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_SOLID, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([255,0,0]), 2), new dojo.Color([255,255,0,0.5]));
		//
		/*
		if(a_true)
		{
		alert(a_true);
			var pt = new esri.geometry.Point(a_x,a_y,new esri.SpatialReference({wkid:102113})) ;
			var a_symbol = new esri.symbol.PictureMarkerSymbol('icons/star-16x16.png', 16,16) ;
			var infoTemplate = new esri.InfoTemplate();
			infoTemplate.setTitle('<span style="color:green;font-size:9pt;font-family:arial">Адрес</span>');
			infoTemplate.setContent('<span style="font-size:9pt;font-family:arial">Улица: </span>'+a_street+'<br><span style="font-size:9pt;font-family:arial">Номер дома: </span>'+a_house);
			map.infoWindow.resize(450, 300);
			var gra = new esri.Graphic(pt,a_symbol) ;
			gra.setInfoTemplate(infoTemplate);
			map.graphics.add(gra);//alert(a_x-500);alert(a_y-500);alert(a_x+500);alert(a_y+500);
			var ext = new esri.geometry.Extent(parseInt(a_x)-500, parseInt(a_y)-500, parseInt(a_x)+500,parseInt(a_y)+500, new esri.SpatialReference({wkid:102113}));
			
			var screenPoint = map.toScreen(pt);
			
			map.infoWindow.setTitle('<span style="color:green;font-size:9pt;font-family:arial">Адрес</span>');
			map.infoWindow.setContent('<span style="font-size:9pt;font-family:arial">Улица: </span>'+a_street+'<br><span style="font-size:9pt;font-family:arial">Номер дома: </span>'+a_house);
			map.infoWindow.show(screenPoint,map.getInfoWindowAnchor(screenPoint));
			map.setExtent(ext,false);
		}*/
		
		if(vibory_2010_1)Vibory2();
		
		
		map.addLayer(graps2);
		
		
		stationsLayer = new esri.layers.GraphicsLayer({displayOnPan : false});
		roadsLayer = new esri.layers.GraphicsLayer({displayOnPan : false});
		//stationsLayer.visible = true;
		stationsLayer.id="stationsLayer";
        roadsLayer.id="roadsLayer";
	//	stationsLayer.visible = false;
	
		  dojo.connect(map, "onZoomEnd", function(extent, zoomFactor, anchor, level) {

				if(level>4)
		{
		
		//	if(stationsLayer_added)
			//{
				//alert(1);
				if(!stationsLayer.visible)
				stationsLayer.show();
			//}
		//	else
		//	{	//alert(2);
		//		map.addLayer(stationsLayer);
			//	stationsLayer_added=true;
		//	}
		}
		else
		{
			
			//if(stationsLayer_added)
			//{
			if(stationsLayer.visible)
			stationsLayer.hide();
			//alert(3);
			//}
			
		}
          });
load_stations();		
map.addLayer(graps);
dojo.connect(map,"onDragEnd","drop");

}
function drop(e)
{
	//alert(1);
	//alert(e);
}
function load_theme_from_text(text,theme)
{


	themes_c=themes_c+1;
	

var temp = document.getElementById('icon'+theme).value;
var temp2 = document.getElementById('iconh'+theme).value;
symbol[theme] = new esri.symbol.PictureMarkerSymbol('icons/g1/'+temp, 32,32) ;
var sym = symbol[theme];
highlightSymbol[theme] =  new esri.symbol.PictureMarkerSymbol('icons/g1/'+temp2, 24,24) ;
var name = document.getElementById('span_'+theme).innerHTML;
	var mySplitResult = text.split("<line>");
	//alert(mySplitResult.length);
	themes[theme]=new Array(mySplitResult.length);
var list="<ul>";

	for (u=0, il=mySplitResult.length; u<il; u++)
//	for(i = 0; i < mySplitResult.length; i++)
	{
		//alert(u);
	//	alert(mySplitResult[u]);
		//var temp = mySplitResult[i];
		var mySplitResult2 = mySplitResult[u].split("<s>");
		themes[theme][u]=new Array(5); // Title,x,y,foto,content
		themes[theme][u][0]=mySplitResult2[0];
		themes[theme][u][1]=mySplitResult2[1];
		themes[theme][u][2]=mySplitResult2[2];
		themes[theme][u][3]=mySplitResult2[3];
		themes[theme][u][4]=mySplitResult2[4];
		list = list + '<li style="margin-left:5px"><a class="marsh" style="cursor:pointer;margin:4px;color:black" onmousemove="color_c(this);" onmouseout="color_c_b(this)"  onclick="goto_feature2('+mySplitResult2[1]+','+mySplitResult2[2]+','+u+')">* '+mySplitResult2[0]+"</a></li>";
	//	mySplitResult2[4]);
		//alert(mySplitResult2[2]);
	//	mySplitResult2[3]=false;
		pt = new esri.geometry.Point(mySplitResult2[1],mySplitResult2[2],new esri.SpatialReference({wkid:102113})) ;
	//	console.debug(pt);
		
		//alert(mySplitResult2[3]);
		var infoTemplate = new esri.InfoTemplate();
        infoTemplate.setTitle('<span style="color:green;font-size:9pt;font-family:arial">'+name+'</span>: <span style="font-size:9pt;font-family:arial">'+mySplitResult2[0]+'</span>');
        //infoTemplate.setContent(mySplitResult2[3]);
				if(mySplitResult2[3]!="" && theme<31 )
		{
			
	
		infoTemplate.setContent('<span style="font-size:9pt;font-family:arial"><a TARGET="_blank"  title="Test" href="gallery/themes/'+mySplitResult2[3]+'">' +'<img src="gallery/themes/tn_' + mySplitResult2[3]+ '" ></a><br>' +mySplitResult2[4]+'</span>');
		}
		else
		{
			if( theme>31 && mySplitResult2[3]!="")
			{
			
				infoTemplate.setContent('<span style="font-size:9pt;font-family:arial"><a TARGET="_blank"  title="Test" href="gallery/themes/'+mySplitResult2[3]+'">' +'<img src="gallery/themes/tn_' + mySplitResult2[3]+ '" ></a><br>' +mySplitResult2[4]+'</span>');
			}
			else
			{
			//	infoTemplate.setContent(mySplitResult2[4]+'<br><iframe style="border:0px"  src="form.php?id='+mySplitResult2[4]+'" ></iframe>');
				infoTemplate.setContent('<span style="font-size:9pt;font-family:arial">'+mySplitResult2[4]+'</span>');
			}
		}
      //  map.infoWindow.resize(245,125);
	  if(theme==43)
			{
				//sym =  new esri.symbol.PictureMarkerSymbol('gallery/themes/foto/'+mySplitResult2[3], 20,20) ;
						sym =  new esri.symbol.PictureMarkerSymbol('http://www.citymap.odessa.ua/phpThumb/phpThumb.php?src=/map/gallery/themes/tn_'+mySplitResult2[3]+'&w=16&h=16&fltr[]=bord|1|0|0|FFFFFF&f=jpg&q=100&f=png',16,16) ;
			}
		var gra = new esri.Graphic(pt, sym) ;
		if(theme==43){sym=symbol[theme]};


		gra.setInfoTemplate(infoTemplate);

		//console.debug(gra);
 		map.graphics.add(gra);
	}

	//dojo.connect(t, "onLoad", function () 
	//{
		
	//move();
	
	

		/*	pt2 = new esri.geometry.Point(-5000,1000,new esri.SpatialReference({wkid:102113})) ;
			console.debug(pt);
			
			gra2 = new esri.Graphic(pt2, symbol) ;
			console.debug(gra);
 
			map.graphics.add(gra2);	
		*/
	if(theme>34 && theme <43)
	{
		
			var win = new Ext.Window(
			{
										title    : name,
										closable : true,
										width    : 450,
										height   : 450,
										//border : false,
										frame:true,
										plain    : true,
										//layout: 'fit',

									//	layout   : 'border',
										html:list
			});

			win.show();
	}	


	//});
}
 function load_retro()
 {
			dojo.xhrGet( {
		url: "/work/json.php",
        handleAs: "text",
        load: function(data) {
	
		var responseObject = eval( data );
		//	alert(responseObject.length);
			for(var t=0;t<responseObject.length;t++)
			{
				//alert(responseObject[t].name);
				var symbol = new esri.symbol.PictureMarkerSymbol('/map/icons/pin-red-20x20.png', 20,20) ;
				 var pt = new esri.geometry.Point(responseObject[t].x,responseObject[t].y,new esri.SpatialReference({wkid:102113})) ;
				 var infoTemplate = new esri.InfoTemplate();
				 var foto1 = responseObject[t].foto1;
				 var foto2 = responseObject[t].foto2;
				 infoTemplate.setTitle('<span style="color:green">'+responseObject[t].name+'</span> ');
				
				if(foto2!="")
				{
				infoTemplate.setContent('<div  id="ret_'+t+'"><a href="/images/history/'+foto1+'" dojoType="dojox.image.Lightbox" group="group'+t+'"  title="'+responseObject[t].name+'" > <img class="thumb"  onLoad="parse_1('+"'"+'ret_'+t+"'"+')" style="width:140px" src="/images/tmb/h1/'+foto1+'"></a>&nbsp;<a href="/images/new_history/'+foto2+'" dojoType="dojox.image.Lightbox" group="group'+t+'"  title="'+responseObject[t].name+'" ><img  class="thumb"  style="width:140px" src="/images/tmb/h2/'+foto2+'"></a></div><br><span style="font-size:8pt;font-family:arial">Справка : нажмите на фото для увеличения</span>');
				}
				else
				{
				infoTemplate.setContent('<div  id="ret_'+t+'"><a href="/images/history/'+foto1+'" dojoType="dojox.image.Lightbox" group="group'+t+'"  title="'+responseObject[t].name+'" > <img class="thumb" onLoad="parse_1('+"'"+'ret_'+t+"'"+')" style="width:210px" src="/images/tmb/h1/'+foto1+'"></a></div><br><span style="font-size:8pt;font-family:arial">Справка : нажмите на фото для увеличения</span>');
				}
				var  gra = new esri.Graphic(pt, symbol) ;
				 gra.setInfoTemplate(infoTemplate);
				 map.graphics.add(gra);
				 
				 
			}
		}
			});
 }
 var ids = new Array();
function parse_1(id)
{
//	if(ids[id]===true)
//	{
	//	var n = dojo.byId('dojox_image_Lightbox_'+id);
	//	dojo.byId('dojox_image_Lightbox_'+id).id = n.id + '_'+id;
	//	id= n.id;

	//	alert(id);
	//	alert(dojo.byId(id).id);
//	}
//	else
//	{
		
//}		
		var n = dojo.byId(id);dojo.parser.parse(n);
		ids[id]= true;
//	}
}
function parse_1_2()
{
var id="parse1";
//	if(ids[id]===true)
//	{
	//	var n = dojo.byId('dojox_image_Lightbox_'+id);
	//	dojo.byId('dojox_image_Lightbox_'+id).id = n.id + '_'+id;
	//	id= n.id;

	//	alert(id);
	//	alert(dojo.byId(id).id);
//	}
//	else
//	{
		
//}		
		
		//ids[id]= true;
		alert(id);
		//var n = dojo.byId(id);
		dojo.parser.parse(dojo.byId(id));
//	}
}
function move(symbol,highlightSymbol)
{
//map.infoWindow.resize(300,150);
	dojo.connect(map.graphics, "onMouseClick", function(evt) 
			{

	        //  var g = evt.graphic;
			//  map.infoWindow.resize(300,300);
	      //    map.infoWindow.setContent('пример<br><img src="http://www.citymap.odessa.ua:81/images2/img08832.JPG">');
	     //     map.infoWindow.setTitle('окошко');
				var content = evt.graphic.getContent();
	            map.infoWindow.setContent(content);
	            var title = evt.graphic.getTitle();
	            map.infoWindow.setTitle(title);
				//evt.graphic.setSymbol(highlightSymbol);

//	          map.infoWindow.show(evt.screenPoint,map.getInfoWindowAnchor(evt.screenPoint));
			 
	        });	
			 dojo.connect(map.graphics, "onMouseOut", function(evt) {
			         //   map.infoWindow.hide();
			        //    evt.graphic.setSymbol(symbol);
			          });
}
   // 
   
    function execute(searchText) {
	document.getElementById('result').innerHTML ="";
        //set the search text to find parameters
		//alert(searchText);
        findParams.searchText = searchText;
        findTask.execute(findParams,showResults);
      }
	  var last = -1;
function goto_feature(c1,c2,i,street,id)
{
//alert(i);
//esri.geometry.Extent(xmin, ymin, xmax, ymax, spatialReference)
	var ext = new esri.geometry.Extent(c1-200, c2-200, c1+200,c2+200, null);
	 map.setExtent(ext);

var symbol = new esri.symbol.SimpleMarkerSymbol(esri.symbol.SimpleMarkerSymbol.STYLE_CIRCLE, 10, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_NONE, new dojo.Color([255,0,0]), 2), new dojo.Color([0,255,0,0.25]));	
var symbol2 = new esri.symbol.SimpleMarkerSymbol(esri.symbol.SimpleMarkerSymbol.STYLE_CIRCLE, 15, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_NONE, new dojo.Color([0,255,0]), 2), new dojo.Color([0,0,255,0.25]));	

if(last !=-1)
	{
		map.graphics.graphics[last].setSymbol(symbol);
	}
	last= i;
	map.graphics.graphics[i].setSymbol(symbol2);
	 
	if(vib1) dojo.xhrGet( {
							url: "/work/VB.php?st="+encodeURI(street)+"&id="+encodeURI(id),
							handleAs: "json",
							load: function(responseObject, ioArgs) {
							
							//alert(responseObject.items.length);
					//	for(var t=0;t<responseObject.items.length;t++)
					//	{
							t=0;
												//	var ar3 = new Array();
										//	alert(responseObject.items[t].NAME);		 
										//	alert(responseObject.items[t].X);	
										//	alert(responseObject.items[t].Y);	
												//	 ar3['ID'] = "responseObject.items[t].id";
									var symbol = new esri.symbol.SimpleMarkerSymbol(esri.symbol.SimpleMarkerSymbol.STYLE_CIRCLE, 20, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_NONE, new dojo.Color([255,0,0]), 2), new dojo.Color([255,0,0,0.25]));				
									 var pt = new esri.geometry.Point(responseObject.items[t].X,responseObject.items[t].Y,new esri.SpatialReference({wkid:102113})) ;
									 var infoTemplate = new esri.InfoTemplate();
									 infoTemplate.setTitle('<span style="color:green">Избирательный участок :'+responseObject.items[t].DILNICYA+'</span> ');
									infoTemplate.setContent('<div id="m_p11" >'+responseObject.items[t].NAME+"<br>"+responseObject.items[t].ADRESS_1+"<br>"+'</div>');
									var  gra = new esri.Graphic(pt, symbol) ;
									 gra.setInfoTemplate(infoTemplate);
									 map.graphics.add(gra);
						//	map.infoWindow.resize(245,225);		 
									 	var pt = new esri.geometry.Point(responseObject.items[t].X,responseObject.items[t].Y,new esri.SpatialReference({wkid:102113})) ;
			var screenPoint = map.toScreen(pt);
			
			map.infoWindow.setTitle('<span style="color:green">Избирательный участок :'+responseObject.items[t].DILNICYA+'</span> ');
			map.infoWindow.setContent('<div id="m_p11" >'+responseObject.items[t].NAME+"<br>"+responseObject.items[t].ADRESS_1+"<br>"+'</div>');
			
			//ext = new esri.geometry.Extent(c1-200, c2-200, c1+200,c2+200, null);
			var x1 = c1;
			var y1 = c2;
			var x2 = responseObject.items[t].X;
			var y2 = responseObject.items[t].Y;
			var r1,r2,r3,r4;
			
			if(x1<x2)r1=x1;else r1=x2;
			if(y1<y2)r2=y1;else r2=y2;
			
			if(x1>x2)r3=x1;else r3=x2;
			if(y1>y2)r4=y1;else r4=y2;
			
		//	var ext1 = new esri.geometry.Extent(parseInt(r1)-200, parseInt(r2)-200, parseInt(r3)+200,parseInt(r4)+200, null);
		
		//	map.setExtent(ext1);
									 
			//map.infoWindow.show(screenPoint,map.getInfoWindowAnchor(screenPoint));						 
													
					//	}


							}
								});
	 
	 
}
// Перекодировка из UTF в русскую
var trans = []; trans[0x401] = 0xA8; trans[0x451] = 0xB8;
for (var i = 0x410; i <= 0x44F; i++) trans[i] = i - 0x350; // >

function myEscape (str) {
	var ret = [];
	for (var i = 0; i < str.length; i++) {
	var n = str.charCodeAt(i);
	if (typeof trans[n] != 'undefined') n = trans[n];
	if (n <= 0xFF) ret.push(n);
}
return escape(String.fromCharCode.apply(null, ret));
}
function decode_utf8(utftext) {
alert(utftext);
             var plaintext = ""; var i=0; var c=c1=c2=0;
             // while-Schleife, weil einige Zeichen uebersprungen werden
             while(i<utftext.length)
                 {
                 c = utftext.charCodeAt(i);
                 if (c<128) {
                     plaintext += String.fromCharCode(c);
                     i++;}
                 else if((c>191) && (c<224)) {
                     c2 = utftext.charCodeAt(i+1);
                     plaintext += String.fromCharCode(((c&31)<<6) | (c2&63));
                     i+=2;}
                 else {
                     c2 = utftext.charCodeAt(i+1); c3 = utftext.charCodeAt(i+2);
                     plaintext += String.fromCharCode(((c&15)<<12) | ((c2&63)<<6) | (c3&63));
                     i+=3;}
                 }
            return plaintext;
        }
	function compareNum(a,b)
	{
		//return ((typeof a === "number") ? a-b : a[0]-b[0]);
		var x = a[0].toLowerCase();
		var y = b[0].toLowerCase();
    return ((x < y) ? -1 : ((x > y) ? 1 : 0));
		
	}
   function showResults(results) {
	// alert(results.length);
        //find results return an array of findResult.
		//results.sort();
	//	alert(1);
		var Ar1= new Array();
		for (var i=0, il=results.length; i<il; i++)
		{
			Ar1[i] = new Array();
			Ar1[i][0] = results[i].feature.attributes["ID"];
			Ar1[i][1] = results[i].feature.attributes["STREET"];
			Ar1[i][2] = i;
		}
		
		Ar1.sort(compareNum);
		//alert(2);
        map.graphics.clear();
        var dataForGrid = [];
		var temp="<table>";
		//var text = "";
        for (var i=0, il=results.length; i<il; i++) {
		 
          var curFeature = results[Ar1[i][2]];
          var graphic = curFeature.feature;
          var layerName = curFeature.layerName;
		  var layerId = curFeature.layerId;
          var foundFieldName = curFeature.foundFieldName;
		 
		   var foundFieldValue = graphic.attributes[foundFieldName];
          var foundFieldValue1 = graphic.attributes["STREET"];
		  var foundFieldValue2 = graphic.attributes["ID"];
		  // alert(foundFieldValue1);
		  temp = temp +'<tr><td><span class="a_link" style="cursor:pointer" onclick="goto_feature('+parseInt(graphic.geometry.x)+','+parseInt(graphic.geometry.y)+","+i+",'"+foundFieldValue1+"'"+",'"+foundFieldValue2+"'"+')">'+ foundFieldValue1+"</span></td><td>"+'<span class="a_link" style="cursor:pointer" onclick="goto_feature('+parseInt(graphic.geometry.x)+','+parseInt(graphic.geometry.y)+","+i+')">'+ foundFieldValue2+'</span>'+"</td></tr>";
		  
          var attValues = [layerName,layerId,foundFieldName,foundFieldValue];
    //      dataForGrid.push(attValues);

          switch (graphic.geometry.type) {
            case "point":
              var symbol = new esri.symbol.SimpleMarkerSymbol(esri.symbol.SimpleMarkerSymbol.STYLE_CIRCLE, 10, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_NONE, new dojo.Color([255,0,0]), 2), new dojo.Color([0,255,0,0.25]));
              break;
            case "polyline":
              var symbol = new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([20,20,250]), 2);
              break;
            case "polygon":
              var symbol = new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_NONE, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_DASHDOT, new dojo.Color([255,0,0]), 2), new dojo.Color([255,255,0,0.25]));
              break;
          }
		 
		//  document.getElementById('result').innerHTML = temp;
          graphic.setSymbol(symbol);
          map.graphics.add(graphic);
		  
		   
        }
					document.getElementById('result').innerHTML=temp;
					/*		var conn55 = new Ext.data.Connection();
								conn55.request(
								{
									url: '/work/encode.php',
								    method: 'POST',
								    params: {"text":temp},
								    success: function(responseObject)
									{			
								     
									//  Ext.MessageBox.alert('Сервер', responseObject.responseText, null);
								       //  document.getElementById('themes_list').innerHTML = responseObject.responseText;
								       document.getElementById('result').innerHTML=responseObject.responseText;
								//	   document.getElementById('send_to_ht').value = null;
									//   win.close();
									},
								     failure: function() {
								         Ext.Msg.alert('Status', 'Нет связи с сервером. Please try again later.');
								     }
								}); 	*/	
		
		
		
	//	var my_window= window.open ("", "mywindow1");
	//	my_window.document.write('<html><head><meta http-equiv="Content-Type" content="text/html; charset=win-1251"/></head><body>'+document.getElementById('result').innerHTML+"Проверка" + "<br>аʠܯbody></html>"); 
//my_window.document.close();
//alert(document.getElementById('result').innerHTML);
   /*     var model = new dojox.grid.data.Table(null, dataForGrid);

        var view1 = {
          cells: [
            [{name: 'Layer Name'},{name: 'Layer ID'},{name: 'Found Field Name'},{name: 'Found Field Value'}]
          ]
        };

        var layout = [ view1 ];
        gridWidget.setModel(model);
        gridWidget.setStructure(layout);
*/
      }
function showExtent() {
  var s = "";
  s = " "+ map.extent.xmin
      +" , " + map.extent.ymin
      +" , " + map.extent.xmax
      +" , " + map.extent.ymax;
    // alert(s);
}
var n_v_b = map_id;
function RadioClicked(n_id,n_v,type)
			{
				//n_id = e.getTarget().id;
				//n_v =  e.getTarget().value;
				
				Ext.Msg.show({
					icon: Ext.Msg.QUESTION,
				   title:'Вы хотите сменить карту ?',
				   msg: 'Если вы ответите "да" - все поисковые результаты будут утеряны .',
				   buttons: Ext.Msg.YESNO,
				   fn: function(btn, text){
					    if (btn == 'yes'){
							if(type=='v'||type=='g')
							{map_c_count=map_c_count+1;
								
								tb.hide();
								
								map_c_count=map_c_count+1;
								if(Ext.get("d3"))
									{
									//	dijit.byId("d3"+'_infowindow').destroy();
										Ext.get("d3").dom.innerHTML='<iframe style="width:100%;height:100%;border:0px" scrolling="no" src="'+type+'.php?w='+size[0]+'&h='+size[1]+'">  Ваш браузер не поддерживает плавающие фреймы! <frame>';
										Ext.get("d3").dom.id="dt"+map_c_count;
									}
									else
									{
								//		dijit.byId("dt"+map_id+'_infowindow').destroy();
										Ext.get("dt"+map_id).dom.innerHTML='<iframe style="width:100%;height:100%;border:0px" scrolling="no"  src="'+type+'.php?w='+size[0]+'&h='+size[1]+'">  Ваш браузер не поддерживает плавающие фреймы! <frame>';
										Ext.get("dt"+map_id).dom.id="dt"+map_c_count;
									}
								map_id = map_c_count;

							}
							else
							{
							tb.show();
							
							   // обнуляем стартовые данные
									//t[map_id].hide();
									//if(map.graphics)map.graphics.clear();
									map_c_count=map_c_count+1;
									if(Ext.get("d3"))
									{
										//dijit.byId("d3"+'_infowindow').destroy();
										Ext.get("d3").dom.style.background = "White";
										Ext.get("d3").dom.innerHTML="";
										Ext.get("d3").dom.id="dt"+map_c_count;
										
									}
									else
									{
									//	dijit.byId("dt"+map_id+'_infowindow').destroy();
										Ext.get("dt"+map_id).dom.style.background = "White";
										Ext.get("dt"+map_id).dom.innerHTML="";
										Ext.get("dt"+map_id).dom.id="dt"+map_c_count;
										
									}
									map = 0;
								if(type=="i")
								{
							//	var initialExtent = new esri.geometry.Extent( -31.328125 , 16.080078125 , 66.93359375 , 80.064453125, new esri.SpatialReference({wkid: 4326}));
							//	map = new esri.Map("dt"+map_c_count,{nav:true,extent: initialExtent});{logo: false}
							map = new esri.Map("dt"+map_c_count,{nav:true,displayGraphicsOnPan:false,logo: false});
								}
								else
								{
								
								map = new esri.Map("dt"+map_c_count,{nav:true,displayGraphicsOnPan:false,logo: false});
								}

									themes=new Array();
									themes_c =0;
									symbol=new Array();
									highlightSymbol=new Array();
									t=new Array();
									if(n_v==1)
									{
								//		Ext.get('sch').show();
									}
									else
									{
									//	Ext.get('sch').hide();
									}
									map_id = map_c_count;
									

									//var t = new esri.layers.ArcGISTiledMapServiceLayer("http://www.citymap.odessa.ua:81/arcgis/rest/services/odessa1/MapServer");
								//	alert(Ext.get('service_type_'+n_v).dom.value);
										if(!t[n_v])
										{
											if(type=="d")
											{
												//alert("d");
												t[n_v] = new esri.layers.ArcGISDynamicMapServiceLayer("http://www.citymap.odessa.ua/arcgis/rest/services/"+n_id+"/MapServer");
												dojo.connect(map,"onLayerAdd",handleLayerAdd);
											}
											if(type=="t")
											{
											//	alert("http://www.citymap.odessa.ua/arcgis/rest/services/"+n_id+"/MapServer");
												//t[n_v] =  new esri.layers.ArcGISTiledMapServiceLayer("http://www.citymap.odessa.ua/arcgis/rest/services/"+n_id+"/MapServer");
												
												t[n_v] = new esri.layers.ArcGISTiledMapServiceLayer("http://www.citymap.odessa.ua/map/layers/"+n_id+".php");
												//t[n_v].getTileUrl = getTileUrl2(n_id);
												
												dojo.connect(t[n_v], "onLoad", function st(){
						if(t[n_v].tileInfo.format=="PNG24")
						{
							getTileUrl3(t[n_v],n_id,"png");
						}
						else
						{
							getTileUrl3(t[n_v],n_id,"jpg");
						}
					});
												
												
												
												dojo.connect(map,"onLayerAdd",handleLayerAdd);
												n_v_b=n_v;
												toolbar_draw = new esri.toolbars.Draw(map);
												dojo.disconnect(con01);
												con01 = dojo.connect(toolbar_draw, "onDrawEnd", addToMap);
												//alert(1);
											}
											if(type=="i")
										{
		
											t[n_v] = new esri.layers.ArcGISTiledMapServiceLayer(n_id);
										//	alert(map_service);
										//	map.addLayer(t[map_id]);
										map.addLayer(t[n_v]);
									//	var initialExtent = new esri.geometry.Extent(-10, 14.4580078125, 50, 28, new esri.SpatialReference({wkid: 4326}));
									//		map.setExtent(initialExtent);			
										}
										else
										{										
											map.addLayer(t[n_v]);
											}
											navToolbar = new esri.toolbars.Navigation(map);
										}
										else
										{
										map.addLayer(t[n_v]);
										t[n_v].show();
								//			map.setExtent(t[n_v].fullExtent);
										}
										
										var conn = new Ext.data.Connection();
										conn.request({
										url: 'theme.php',
									    method: 'POST',
									    params: {"com": 'get',"map":n_id,"lang":lang1},
									    success: function(responseObject) {
											//alert("sss");
									       document.getElementById('themes_list').innerHTML = responseObject.responseText;
										
										   if(responseObject.responseText=="no data")
										   {
										 	item1.hide();
										   }
										   else
										   {
											item1.show();
										   }
									    },
									     failure: function() {
									         Ext.Msg.alert('Status', 'Нет связи с сервером. Please try again later.');
									     }
										}); 	
											
										//	var layer = map.getLayer("1");
											//map.setExtent(layer.initialExtent);
											//alert(n_v);
											//alert(n_id);

				 
							dojo.connect(map, "onExtentChange", update_link2);		

							 //  }
							//	else
							//	{
								
								//	document.getElementById("mp1").checked = true;
							//	}
						}
						//Ext.get('dop_themes').panel.show();


					        	item1.collapse();
								item2.collapse();
								item3.collapse();
							//	item4.collapse();
								item6.collapse();
								Tree_Category.collapse();
						//		alert(2);
						if(n_id=="odessa_n")
								{
									document.getElementById("map_c1").style.display = "";
									document.getElementById("map_c2").style.display = "none";
									document.getElementById("map_c8").style.display = "none";
									item2.show();
									item6.show();
									Tree_Category.show();
								}
								else
								{
									item2.hide();
									item6.hide();
									Tree_Category.hide();
									map1 = false;
									map2 = false;
									document.getElementById("map_c1").style.display = "none";
									document.getElementById("map_c8").style.display = "none";
									if(n_id=="obl_pz6"|| n_id=="ukraine")document.getElementById("map_c2").style.display = "";
									if(n_id=="obl_pz6")document.getElementById("map_c8").style.display = "";
								}
						
								if(n_id=="obl_pz6")
	{
		item7.show();
var temp1 = "";
	 //
			dojo.xhrGet( {
		url: "/work/obl_city_json.php",
        handleAs: "text",
        load: function(data) {
	
		var responseObject = eval( data );
		//	alert(responseObject.length);
			for(var t=0;t<responseObject.length;t++)
			{
			if(responseObject[t].name_rus != "")
			 temp1 = temp1 +'<span class="a_link" style="cursor:pointer" onclick="goto_feature3('+parseInt(responseObject[t].x)+','+parseInt(responseObject[t].y)+',false)">'+ responseObject[t].name_rus+"</span><br>";
				//alert(responseObject[t].name);
			//	var symbol = new esri.symbol.PictureMarkerSymbol('/map/icons/flag-blue-16x16.png', 16,16) ;
			//	 var pt = new esri.geometry.Point(responseObject[t].x,responseObject[t].y,new esri.SpatialReference({wkid:102113})) ;
			//	 var infoTemplate = new esri.InfoTemplate();
			//	 var foto1 = responseObject[t].foto1;
			//	 var foto2 = responseObject[t].foto2;
			//	 infoTemplate.setTitle('<span style="color:green">'+responseObject[t].name+'</span> ');
			//	 infoTemplate.setContent('<img style="width:100px" src="/images/history/'+foto1+'">&nbsp;<img style="width:100px" src="/images/new_history/'+foto2+'">');
			//	var  gra = new esri.Graphic(pt, symbol) ;
			//	 gra.setInfoTemplate(infoTemplate);
			//	 map.graphics.add(gra);
			}
			document.getElementById('punkti1').innerHTML=temp1;
			item7.expand();
		}
			});



	}
	else
	{
		item7.hide();
	}
	
								
						}
					},
				   animEl: 'elId'
				});

			}

function handleLayerAdd(theService)
{
//gStr += '\n service = '+theService;
if (theService!=null) {
/*gStr += '\n description="'+theService.description.substring(0,70)+'..."';
gStr += '\n layers of service "'+theService.id+'" = ';
dojo.forEach(theService.layerInfos,function(layer,idx) {
gStr += '\n layer: id = '+layer.id+', name = "'+layer.name+'"';
});

dojo.byId("info").innerHTML = gStr;
*/
	dojo.forEach(theService.layerInfos,function(layer,idx) {
		//gStr += '\n layer: id = '+layer.id+', name = "'+layer.name+'"';
		//alert(layer.id);
		//var temp = map.getLayer(layer.id);
		map.setExtent(theService.fullExtent);
		
		//alert(layer.name);
	});
	

}
}

function lang_change()
{
}
var lar6= false;
var lar6_s = false;
function obl_vib()
{


if(!lar6)
{
	var imageParameters = new esri.layers.ImageParameters();
				imageParameters.format = "png24";  //set the image type to PNG24, note default is PNG8.
				//Takes a URL to a non cached map service.
				lar6 = new esri.layers.ArcGISDynamicMapServiceLayer("http://www.citymap.odessa.ua/arcgis/rest/services/work/vib_2009/MapServer", {"opacity":0.5, "imageParameters":imageParameters});

		map.addLayer(lar6);
		lar6_s= true;
	//	map.infoWindow.resize(300,300);
}
else
{
//	lar6.hide();lar6_s= false;
	//map.graphics.clear();
}

if(!lar6_s)
{
	//lar6.show();lar6_s= true;
						/*dojo.xhrGet( {
							url: "/work/VD.php",
							handleAs: "json",
							load: function(responseObject, ioArgs) {
							//alert(responseObject.items.length);
						for(var t=0;t<responseObject.items.length;t++)
						{
							
												//	var ar3 = new Array();
													 
												//	 ar3['ID'] = "responseObject.items[t].id";
									var symbol = new esri.symbol.SimpleMarkerSymbol(esri.symbol.SimpleMarkerSymbol.STYLE_CIRCLE, 10, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_NONE, new dojo.Color([255,0,0]), 2), new dojo.Color([0,255,0,0.25]));				
									 var pt = new esri.geometry.Point(responseObject.items[t].x,responseObject.items[t].y,new esri.SpatialReference({wkid:102113})) ;
									 var infoTemplate = new esri.InfoTemplate();
									 infoTemplate.setTitle('<span style="color:green">'+responseObject.items[t].name_rus+'</span> ');
									infoTemplate.setContent('<div id="m_p1" ><img src="ajax-loader.gif" onload="vd_info('+"'"+responseObject.items[t].name_rus+"'"+')"> </info>');
									var  gra = new esri.Graphic(pt, symbol) ;
									 gra.setInfoTemplate(infoTemplate);
									 map.graphics.add(gra);
													
						}


							}
								});*/
}

		
}
function vd_info(name)
{
		dojo.xhrPost({
           url:'/work/VD2.php',
          content: {'name':name},
		//   content: {'text':layerTabContent(layer2results,"layer2results") },
           load: function (data) {
		
	//alert(data);
document.getElementById('m_p1').innerHTML = data;

		}
			});
}
function roads_list()
{
	 dojo.xhrGet(
		 {
		  url:'/work/roads/marsh.php',
         

           load: function (data)
		   {
		

				document.getElementById('roads_show').innerHTML = data;
				
			}
		});
}
function station_info(evt)
{
	
        //  map.graphics.clear();  new esri.SpatialReference({wkid:102113})
		  graphic = evt.graphic.geometry;
		 // var polygon = new esri.geometry.Polygon(new esri.SpatialReference({wkid:102113}));
		//  polygon.addRing([[evt.graphic.geometry.x-18,evt.graphic.geometry.y-18],[evt.graphic.geometry.x+18,evt.graphic.geometry.y-18],[evt.graphic.geometry.x+18,evt.graphic.geometry.y+18],[evt.graphic.geometry.x-18,evt.graphic.geometry.y+18],[evt.graphic.geometry.x-18,evt.graphic.geometry.y-18]]);
		  //polygon.addRing([[evt.mapPoint.x-500,evt.mapPoint.y-500],[evt.mapPoint.x+500,evt.mapPoint.y-500],[evt.mapPoint.x+500,evt.mapPoint.y+500],[evt.mapPoint.x-500,evt.mapPoint.y+500],[evt.mapPoint.x-500,evt.mapPoint.y-500]]);
		//  var symbol = new esri.symbol.SimpleFillSymbol("none", new esri.symbol.SimpleLineSymbol("dashdot", new dojo.Color([255,0,0]), 2), new dojo.Color([255,255,0,0.25]));
       //   var graphic = new esri.Graphic(polygon,symbol);
		//  map.graphics.add(graphic);
       //   query.geometry = graphic.geometry;
		  //query.geometry = polygon;
		  //alert(3);
		//  s_id= evt.graphic.attributes["Name"];
       //   queryTask.execute(query);
		 //  alert(4);
          dojo.byId('roads_show').innerHTML = "<p style='margin-bottom:5px'><b>Остановка общественного транспорта</b></p>"+evt.graphic.attributes["Name"]+"<br><div id='roadlist'></div>";
		 
		 dojo.xhrGet(
		 {
		  url:'/work/roads/info.php?id='+evt.graphic.attributes["FID"],
         

           load: function (data)
		   {
		

				document.getElementById('roadlist').innerHTML = data+'<br><br><div class="bl" onclick="roads_list()" style="cursor:pointer">Все маршруты</div>';
				document.getElementById('roadlist2').innerHTML = data;
			}
		});
		  
}




