/**
* Utilities section: some independent static functions
*/

function IsNumeric(input)
{
   return (input - 0) == input && input.length > 0;
}


function success(response, _init) {
  var result = Ext.decode(response.responseText);
  switch(result.status){
    case 'true':        	
            myNameSpace.app.loginUser(result.user, result.login, result.groups, result.functions, _init);
            break;
    case 'false':
	    Ext.getDom('systemMsg').innerHTML=result.value;
  }
};

function send(_init) {
  //alert ('init ' + 1);
  var url = '../gui/checkLogin.php?par=' + json_par.par + '&send=' + _init; 
 
  Ext.Ajax.request({
     url:url
     ,jmethod:'post'
     ,success: function(response){ success(response, _init) }
    }
  );
}


function highlight_by_wkt (_wkt)
{
    //alert (_wkt);
    openlayers_features = new Array();
    
    if (_wkt.indexOf('LINESTRING') == 0)
   {
    
    
    array_points = new Array();
        wkt_array_points = _wkt.split(',');
        
        for (var i = 0; i < wkt_array_points.length; i++)
        {
            if (i == 0)
            {
                var s = wkt_array_points[i].substring(12);
                array_points.push(s);
                
            } else if (i == wkt_array_points.length - 1)
            {
                var l = wkt_array_points[i].length;
                var s = wkt_array_points[i].substring(1, l-1);
                array_points.push(s);
            } else
            {
                var s = wkt_array_points[i].substring(1);;
		//alert ('s ' + s);
                array_points.push(s);
                
            }
        }
        
        var points = [];
	//alert (array_points.length);
	
	for (var i = 0; i < array_points.length; i++)
        {
	    //alert (array_points[i]);
            var xy = array_points[i].split(' ');
	    //alert (array_points[i] + ' ' + xy[0] + ' ' + xy[1] + ' ' + xy[2]);
            points.push(new OpenLayers.Geometry.Point(xy[0], xy[1]));       
        }
	
	var line = new OpenLayers.Geometry.LineString(points);
	var  lineFeature = new OpenLayers.Feature.Vector(line);
	
	//var layers = map.roteiro.getLayersByName('Line Layer');
	var layers = map.roteiro.getLayersByName('Highlight Line Layer');
	var vectorLayer = layers[0];
	//removeFeatures('Highlight Line Layer');
	
	openlayers_features.push(lineFeature);
	
	for (var i = 0; i < openlayers_features.length; i++) 
        {
             vectorLayer.addFeatures([openlayers_features[i]]);
        }
	
	//alert (line);
    
    
    
    
   } else if (_wkt.indexOf('POINT') == 0)
   {
    
	//alert ('point');
	array_points = new Array();
	wkt_array_points = _wkt.split(' ');
	
	//var x = wkt_array_points[0].substring(7);
	var x = wkt_array_points[1].substring(1);
        
	
	var l = wkt_array_points[2].length;
        var y = wkt_array_points[2].substring(0, l-1);
        
	/*var points = [];
        points.push(new OpenLayers.Geometry.Point(x, y));*/
	
	var point = new OpenLayers.Geometry.Point(x ,y);
	var  pointFeature = new OpenLayers.Feature.Vector(point);
	
	//var layers = map.roteiro.getLayersByName('Line Layer');
	var layers = map.roteiro.getLayersByName('Highlight Line Layer');
	var vectorLayer = layers[0];
	//removeFeatures('Highlight Line Layer');
	
	openlayers_features.push(pointFeature);
	
	for (var i = 0; i < openlayers_features.length; i++) 
        {
             vectorLayer.addFeatures([openlayers_features[i]]);
        }
	
	
   } if (_wkt.indexOf('POLYGON') == 0)
   {
        
        array_points = new Array();
	_wkt = _wkt.substring(10);
        wkt_array_points = _wkt.split(',');
        
        for (var i = 0; i < wkt_array_points.length; i++)
        {
            if (i == 0)
            {
                //var s = wkt_array_points[i].substring(10);
		var s = wkt_array_points[i];
                array_points.push(s);
                
            } else if (i == wkt_array_points.length - 1)
            {
                var l = wkt_array_points[i].length;
                var s = wkt_array_points[i].substring(1, l-2);
                array_points.push(s);
            } else
            {
                var s = wkt_array_points[i].substring(1);
                array_points.push(s);
                
            }
        }
        
        var points = [];
        
        for (var i = 0; i < array_points.length; i++)
        {
            var xy = array_points[i].split(' ');
            points.push(new OpenLayers.Geometry.Point(xy[0], xy[1]));       
        }
                
        var components = points;
	//alert (components);
        var ring = new OpenLayers.Geometry.LinearRing(components);
        
        
        var pol = new OpenLayers.Geometry.Polygon(ring);
        var  polFeature = new OpenLayers.Feature.Vector(pol);
        
	
	var layers = map.roteiro.getLayersByName('Highlight Line Layer');
	var vectorLayer = layers[0];
        openlayers_features.push(polFeature);
        
        for (var i = 0; i < openlayers_features.length; i++) 
        {
             vectorLayer.addFeatures([openlayers_features[i]]);
        }
    
   }
}


function display_radio (_status, _radio)
{
      if (_status == 1)
      {
        //document.getElementById('radio_prediosrusticos').disabled = true;
        document.getElementById(_radio).disabled = true;
      
      }
  
  }

function setMenuColor (_mod)
{
	
	var div = document.getElementById('menu_modules');
	
	for (var s=0; s < div.childNodes.length; s++)
	{
		//alert (m.childNodes[s].id);
		var ul = div.childNodes[s];
		for (var i=0; i < ul.childNodes.length; i++)
		{
			var li = ul.childNodes[i];
			for (var r=0; r < ul.childNodes.length; r++)
			{
				var h2 = li.childNodes[r];
				
				if (h2.id == _mod)
				{
				    
					//h2.style.background = '#3c6e58';
					h2.style.background = '#3d3db1';
					var ul = document.getElementById('ul_' + h2.id);
					ul.style.background = '#3d3db1';
					
				} else
				{
				    h2.style.background = '#7f7676';
				    var ul = document.getElementById('ul_' + h2.id);
				    ul.style.background = '#7f7676';
				}
			}
		}
		
	}
	
}

function findStreet (_first, _offset)
{    
    document.getElementById('results_area_div').style.display = 'none';
    document.getElementById('moradas_drop_down').style.display = 'none';
  
    var query = "";
    var i = 0;
   
    var freg = document.getElementById('fregs').value;
   
	if (freg != "")
	{
		if (i == 0)
		{
			query = " (dicofre = ('"+freg+"'))";
			i = i + 1;
		} else
		{
			query += " and (dicofre = ('"+freg+"'))";
		} 
	}
    
    
    var street = document.getElementById('search_morada').value;
    
    if (street != "")
    {
      //trim string
      street = street.replace(/^\s+/g, '').replace(/\s+$/g, '');
      
      //replaces spaces by char %
      street = street.replace(/\s+/g,"%");
      
      if (i == 0)
    	{
    		query = " ((nome) ilike (\'%"+street+"%\'))";
    		i = i + 1;
    	} else
    	{
    		query += " and ((nome) ilike (\'%"+street+"%\'))";
    	} 
    }
    
    var aglom = map.aglom;
    
    if (aglom != "")
    {
        if (i == 0)
	{
		query = " aglomerado = \'"+aglom+"\'";
		i = i + 1;
	} else
	{
		query += " and aglomerado = \'"+aglom+"\'";
	} 
    }
    
    xajax_process_find_via('identify_div', query, _first, _offset);
}

Array.prototype.in_array = function ( obj ) {
	var len = this.length;
	for ( var x = 0 ; x <= len ; x++ ) {
		if ( this[x] == obj ) return true;
	}
	return false;
}

function in_array(needle, haystack, strict) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: in_array('van', ['Kevin', 'van', 'Zonneveld']);
    // *     returns 1: true
 
    var found = false, key, strict = !!strict;
 
    for (key in haystack) {
	//alert (haystack[key]);
        if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {
            found = true;
            break;
        }
    }
 
    return found;
}

function setCursor(_mode)
{
  //alert (_mode);
    var browser=navigator.appName;
    var b_version=navigator.appVersion;
    var version=parseFloat(b_version);
    
    if (_mode == 'zoom_in')
        {
            //document.getElementById('center1').style.cursor = "url('../img/zoom_in.cur'), pointer";
            document.getElementById('center1').style.cursor = 'default';
            
        } else if (_mode == 'pan')
        {
            document.getElementById('center1').style.cursor = 'move';
            
        } else if (_mode == 'zoom_out')
        {
            //document.getElementById('center1').style.cursor = "url('../img/zoom_out.cur'), pointer";
            document.getElementById('center1').style.cursor = 'default';
        
        } else if (_mode == 'identify_xy')
        {
            document.getElementById('center1').style.cursor = 'crosshair';
            
        } else
        {
            document.getElementById('center1').style.cursor = 'default';
        }
    
}

function __isNum(value)
{
  return !isNaN(new Number(value));
}



function eraseDiv (_div_element_id)
{
      document.getElementById(_div_element_id).innerHTML = '';
  }	

function launch_pgsql_to_shapefile_by_box()
{	
	bounds = map.roteiro.getExtent().toArray();
	if(bounds[0] != null && bounds[1] != null && bounds[2] != null && bounds[3] != null) {

	}
	else {
		popup_message('Desenhe primeiro a &#225;rea a extrair no mapa utilizando <img src="../img/map.png"  />.');
	} 	
}

function disableSelection(target)
{
	if (typeof target.onselectstart!="undefined") //IE route
		target.onselectstart = function(){ return false; }
	else if (typeof target.style.MozUserSelect!="undefined") //Firefox route
		target.style.MozUserSelect = "none";
	else //All other route (ie: Opera)
		target.onmousedown = function(){ return false; }
	target.style.cursor = "default";
}

function changeMod(_mod, _par)
{ 
   window.location= "../"+_mod+"/index.php?par="+_par;
}

function hide_msg()
{
	msg=document.getElementById('loading_msg');
	msg.style.visibility="hidden";
	document.getElementById('body_wrapper').style.visibility="visible";
}

function show_area(_area)
{

		if(_area>1000000)
		{
			//alert("A área do poligono é "+Math.round((_area/1000000)*100)/100+" kilometros quadrados.");
			show_area_message("A &#225;rea do pol&#237;gono &#233; "+Math.round((_area/1000000)*100)/100+" kilometros quadrados.");
		}
		else
		{
			//alert("A área do poligono é "+Math.round(_area)+" metros quadrados.");
			show_area_message("A &#225;rea do pol&#237;gono &#233; "+Math.round(_area)+" metros quadrados.");
		}
		
	}

function show_distance(_distance)
{

	if(_distance>1000)
	{
		popup_message("A distancia &#233; "+Math.round((_distance/1000)*100)/100+" kilometros.");
	}
	else
	{
		popup_message("A distancia &#233; "+Math.round(_distance)+" metros.");
	}
}

function map_size(_screen_width, _screen_height, _width, _height) 
{

  //alert ('w ' + myNameSpace.app.getMapDims());
 
	/*var _w = (_screen_width - _width) * 0.975;
	var _h = (_screen_height - _height) * 0.99;*/
	
	var _w = (_screen_width - _width) * 0.965;
	var _h = (_screen_height - _height) * 0.98;
	
	
	
	/*var wh = myNameSpace.app.getMapDims();
  var _w = wh[0];
  var _h = wh[1];*/
	
	return [_w, _h];
};



function openTable(_value, _table)
{
    //alert (_value + ' - ' + _table);
    window.open("popup_table.php?table="+_table+"&gid="+_value, "", "status=0, left=20, top=120, width=900, height=150, toolbar=0, resizable=1, scrollbars=1");
}

function textCounter (_ele, _limit)
{

  //alert (document.getElementById(_ele).value.length);

  if (document.getElementById(_ele).value.length > _limit) // if too long...trim it!
  {
    document.getElementById(_ele).value = document.getElementById(_ele).value.substring(0, _limit);
  }
  
}

function changeHeightIdentify()
{
    var div0 = document.getElementById('identify_div');
    var image0 = document.getElementById('minimizeimg');
    var src0 = image0.src;
    
    if (src0.indexOf('maximize') != -1)
    {
      div0.style.height = '250px';
      div0.style.width = '800px';
      div0.style.overflow = 'auto';
      image0.src = "../img/minimize.png"
    } else if (src0.indexOf('minimize') != -1)
    {
      div0.style.height = '25px';
      div0.style.width = '350px';
      div0.style.overflow = 'hidden';
      image0.src = "../img/maximize.png"
    }
    
}

function DBG_DUMP(_text)
{
	tmp=document.getElementById("dbg_div");
	tmp.innerHTML=tmp.innerHTML+_text+"<br>";
}

function set_tab_color(_tab, _n)
{

//alert (_n);
  for (var i = 1; i <= _n; i=i+1) 
  {
    //code to be executed
    document.getElementById('tab'+i).style.backgroundColor = '#336699';
    document.getElementById('tab'+i).style.backgroundColor = '#336699';
  }
	document.getElementById(_tab).style.backgroundColor = '#C00000';	

}

function close_handler (_div)
{
  document.getElementById(_div).style.display = 'none';
}

function min_handler (_div)
{
  document.getElementById(_div).style.bottom = '10px';
  document.getElementById(_div).style.left = '10px';
  document.getElementById(_div).style.height = '25px';
  document.getElementById(_div).style.width = '150px';
}

function set_visible (_el_ids)
{
  
//alert (_el_ids.length);

	for(var i=0; i < _el_ids.length; i++)
	{
	   //alert ('div '+ document.getElementById(_el_ids[i]).id);
	   
		_el=document.getElementById(_el_ids[i]);
		_sub_divs = _el.getElementsByTagName("div");
		for(var j=0; j < _sub_divs.length; j++)
		{
		  //alert (_sub_divs[j].id);
			_sub_divs[j].style.visibility = "visible";
		}
		_el.style.visibility = "visible";
	}
}

function set_hidden(_el_ids)
{	
	for(var i=0; i < _el_ids.length; i++)
	{
		_el=document.getElementById(_el_ids[i]);
		_sub_divs = _el.getElementsByTagName("div");
		for(var j=0; j < _sub_divs.length; j++)
		{
			_sub_divs[j].style.visibility = "hidden";
		}
		_el.style.visibility = "hidden";
	}

}

function displayTitle (_a)
{
	tit1=parent.document.getElementById('titulo1');
	tit2=parent.document.getElementById('titulo2');
	tit1.innerHTML = _a;
	tit2.innerHTML = _a;
}

function center_popup_loading_div()
{
  
	popup_el=document.getElementById('popup_loading_div');
	
	//center the message in the map div
	//origin_x=(map_el.offsetLeft)+((map_el.offsetWidth)/2)-(160/2);
	//origin_y=(map_el.offsetTop)+((map_el.offsetHeight)/2)-(100/2);
	
	popup_el.style.left="30%";
	popup_el.style.top="50%";
	popup_el.style.width="20em";
	popup_el.style.display='block';
	
	//alert (origin_x + ' - ' + origin_y);

}

function show_area_message(_text)
{
  
  //alert (_text);
  
  var ico = Ext.MessageBox.INFO;
  
  Ext.MessageBox.show({
           title: '&#193;rea',
           msg: _text,
           buttons: Ext.MessageBox.OK,
           animEl: 'mb9',
           icon: ico
  });
}

function popup_message(_text, _title)
{
  
  var ico = Ext.MessageBox.INFO;
  
  Ext.MessageBox.show({
           title: _title,
           msg: _text,
           buttons: Ext.MessageBox.OK,
           animEl: 'mb9',
           icon: ico
  });
}

function close_popup_message()
{
	document.getElementById('popup_message_div').style.display='none';
}

/**
*  Seleccionar o grupo da classe
*/
function select_group(groupname)
{

	/* encontrar o checkbox do grupo e selecciona-lo*/
	var arr = new Array();
	arr = document.legenda_form.elements;
	var rx=new RegExp("^"+groupname+"$");

	//alert("select_group");
	var len=document.legenda_form.elements.length;

	for(var i=0; i < len; i++)
	{
			if(arr[i].value.match(rx))
			{
				arr[i].checked=true;
				break;
			}
	}
}

/**
*	Seleccionar todas as checkboxes de um dado grupo,
*	caso este esteja seleccionado.
*	Desseleccionar, em caso contrario.
*/
function select_all_boxes_from_group(groupname)
{

	var arr = new Array();
	
	arr = document.legenda_form.elements;
	
	var len=document.legenda_form.elements.length;
	

	var rx=new RegExp("^"+groupname+"$");

	var grp_elem_chk=false;


	/* encontrar o checkbox do grupo, para saber se está seleccionado*/
	for(var i=0; i < len; i++)
	{
		if(arr[i].value.match(rx))
		{
			grp_elem_chk = arr[i].checked;
			break;
		}

	}
	var rx=new RegExp(groupname);

	/* seleccionar ou des-seleccionar as classes do grupo*/
	for(var i=0; i < len; i++)
	{

		if(arr[i].name.match(rx))
		{
			if(grp_elem_chk)
			{
				arr[i].checked=true;
			}
			else
			{
				arr[i].checked=false;
			}

		}
	}

}

/**
*	Returns the medium point of a given array of points
*/
function centroid(_points_arr)
{
	var ret=[0,0];

	for(var i=0; i < _points_arr.length; i++)
	{
		ret[0]=ret[0] += _points_arr[i][0];
		ret[1]=ret[1] += _points_arr[i][1];
	}
	ret[0]=ret[0] / _points_arr.length;
	ret[1]=ret[1] / _points_arr.length;//alert(_polygon);
	return ret;
}

/**
*	Returns an extent array given a points vector
*/
function bounding_box(_points_arr)
{
	var ret=[0,0,0,0];
	
	ret[0]=_points_arr[0][0];
	ret[1]=_points_arr[0][1];
	ret[2]=_points_arr[0][0];
	ret[3]=_points_arr[0][1];
	
	
	for(var i=1; i < _points_arr.length; i++)
	{
		ret[0]=Math.min(ret[0],_points_arr[i][0]);
		ret[1]=Math.min(ret[1],_points_arr[i][1]);
		ret[2]=Math.max(ret[2],_points_arr[i][0]);
		ret[3]=Math.max(ret[3],_points_arr[i][1]);
	}
	return ret;


}

function perRound(num, precision) {

	var precision = 3; //default value if not passed from caller, change if desired

	// remark if passed from caller

	precision = parseInt(precision); // make certain the decimal precision is an integer

    var result1 = num * Math.pow(10, precision);

    var result2 = Math.round(result1);

    var result3 = result2 / Math.pow(10, precision);

    return zerosPad(result3, precision);

}

function calculate_cartesian_distance(_point_0, _point_1)
{

  var x1 = eval(_point_0[0]);  
  var y1 = eval(_point_0[1]);
  var x2 = eval(_point_1[0]);
  var y2 = eval(_point_1[1]);
  
  var xdiff = x2 - x1;
  var ydiff = y2 - y1;
  
  //alert (x1 + ' ' + y1 + ' ' + x2 + ' ' + y2);
  
  //alert  ((xdiff * xdiff + ydiff * ydiff));
  
  //alert (xdiff + ' ' + ydiff );
  

  //distance = perRound(Math.pow((xdiff * xdiff + ydiff * ydiff), 0.5));
  var distance = Math.pow((xdiff * xdiff + ydiff * ydiff), 0.5);
  //var distance = Math.pow(eval(6 * 6 + 6 * 6), 0.5);
  return distance;
  //alert (distance);
  
  //document.getElementById('south').innerHTML = '<p>O comprimento do segmento e:<b>' + distance +'</b><p>';

}

function bounding_square(_points_arr)
{
	var _bbox=bounding_box(_points_arr);
	var _centroid=centroid(_points_arr);
	var _width=_bbox[2] - _bbox[0];
	var _height=_bbox[3] - _bbox[1];
	//alert("width:"+_width+" height:"+_height);
	var ret=_bbox;

	if(_width < _height)
	{
		ret[0]=_centroid[0] - (_height/2);
		ret[2]=_centroid[0] + (_height/2);
	}
	else
	{
		ret[1]=_centroid[1] - (_width/2);
		ret[3]=_centroid[1] + (_width/2);
	}

	
	return ret;
}

/* Strip the final 'px' from a style value such as 'top' or 'width'*/
function trimPX(str)
{
	return str.substring(0,str.length-2);
}

function identifyXY (_x, _y)
{
	geoPoint =  [_x, _y];
	map.identify_shape_on_visible_layers ('identify_div', geoPoint);
}

/*viewer*/
function polygonCompletehandler_viewer()
{
    null;
}

/*events plantas*/
function polygonCompletehandler_plantas_ol()
{
	/*alert (map.get_polygon_as_wkt());
	alert (map.wktpolygon);*/

	map.active_user.polygon_wkt=map.wktpolygon;
	map.active_user.modo='manual';
	map.active_user.chave_predio="0";
	map.savePolygon(map.wktpolygon);
	removeFeatures('Polygon Layer');
	
	
}

function polygonCompletehandler_plantas()
{
	map.active_user.polygon_wkt=(map.get_polygon_as_wkt());
	map.active_user.modo='manual';
	map.active_user.chave_predio="0";
}

function polygonSelecthandler_plantas(_wkt,_gid)
{
	map.active_user.polygon_wkt=_wkt;
	map.active_user.chave_predio=_gid;
	map.active_user.modo='identify';
	map.active_user.identify(_gid);	
}

function delete_geometry_plantas()
{
	map.active_user.polygon_wkt = "";
}

/*events pdm*/
function polygonCompletehandler_pdm()
{
	map.pdmconsulta.polygon_wkt=map.wktpolygon;
	map.pdmconsulta.modo='manual';
	map.savePolygon(map.wktpolygon);
	map.pdmconsulta.area_calc();
}

function get_button()
{
	//alert (map.wktpolygon);
	map.pdmconsulta.polygon_wkt=(map.get_polygon_as_wkt());
	map.pdmconsulta.modo='manual';
}

function polygonSelecthandler_pdm (a, b)
{
	//alert (a + ' ' + b);
	map.pdmconsulta.polygon_selected (a, b);
	map.pdmconsulta.modo = 'identify';
	//map.pdmconsulta.area_calc();
}

function identifyXY_pdm (_screenPoint, _geoPoint)
{
	map.pdmconsulta.identifyXY (_screenPoint, _geoPoint);
}

function delete_geometry_pdm()
{
	map.pdmconsulta.polygon_wkt = "";
	map.pdmconsulta.clear_area_calc();
}

/*events stats*/
function polygonSelecthandler_stats (a, b)
{
	map.stats.polygon_selected (a, b);
}

function polygonCompletehandler_stats ()
{
  null;
}

/*events equip*/
function identifyXY_equip (_screenPoint, _geoPoint)
{
	map.equip.identifyXY (_screenPoint, _geoPoint);
}

/*events geocms*/
function polygonCompletehandler_geocms()
{
		map.emergencyObj.setGeometry(-99,"",map.wktpolygon,'active_geometry_data');
		map.emergencyObj.display();
		//alert (map.get_polygon_as_wkt());
}

function polygonCompletehandler_forum()
{



		map.emergencyObj.setGeometry(-99,"",map.wktpolygon,'active_geometry_data',"new");
		//map.emergencyObj.active_entity=new ngEmergencyEntityClient(-1,"","","active_entity_data");
		map.emergencyObj.display();
}

function lineCompletehandler_geocms()
{
	
		//alert('-->lineCompletehandler_geocms<--');
		map.emergencyObj.setGeometry(-77,"",map.wktline,'active_geometry_data');
		map.emergencyObj.display();
}


function delete_line_geocms()
{
		//alert('-->delete_line_geocms<--');
		map.emergencyObj.setGeometry(-177,"","",'active_geometry_data');
		//map.emergencyObj.active_entity=new ngEmergencyEntityClient(-1,"","","active_entity_data");
		map.emergencyObj.display();	
}


function polygonSelecthandler_geocms(_wkt,_gid)
{
		alert("polygon_selected1 GID="+_gid);	
}

function identify_geocms (_screenPoint, _geoPoint)
{
        /*if(map.emergencyObj.search_geometry_type=='')
        {
            popup_message('Seleccione a geometria a identificar.')
            return;
        }*/
        map.emergencyObj.getGeometryByPoint(_geoPoint);
		//map.emergencyObj.getResultsByPoint(_geoPoint);
}

function identify_routing (_screenPoint, _geoPoint)
{
    
	  if (map.panel.mode == 'start_xy')
	  {
	      var geomtext = 'POINT('+_geoPoint[0]+' '+_geoPoint[1]+')';
        xajax_get_source_target_id('start_street', geomtext, 'start', _geoPoint[0], _geoPoint[1]);
        
    } else if (map.panel.mode == 'end_xy')
    {
        var geomtext = 'POINT('+_geoPoint[0]+' '+_geoPoint[1]+')';
        xajax_get_source_target_id('end_street', geomtext, 'end', _geoPoint[0], _geoPoint[1]);
    
    } else
    {
		  //map.emergencyObj.getGeometryByPoint(_geoPoint);
		  //map.emergencyObj.getResultsByPoint(_geoPoint);
		}	
}





function delete_geometry_geocms()
{
		map.emergencyObj.setGeometry(-199,"","",'active_geometry_data');
		map.emergencyObj.active_entity=new ngEmergencyEntityClient(-1,"","","active_entity_data");
		map.emergencyObj.display();	
}

function drawPoints_geocms ()
{
	   map.directionObj.drawPoints();
}

/*events civil*/
function identifyXY_civil (_screenPoint, _geoPoint)
{
	map.civil.identifyXY (_screenPoint, _geoPoint);
}

function drawPoints_civil ()
{
	map.civil.drawPoints ();
}

function proximity_civil (_screenPoint, _geoPoint)
{
  var geomtext = 'POINT('+_geoPoint[0]+' '+_geoPoint[1]+')';
  
  map.bufferObj.setVertice(_geoPoint[0], _geoPoint[1]);
  //xajax_get_source_target_id('start_street', geomtext, 'start', _geoPoint[0], _geoPoint[1]);
}

function drawPoints_civil ()
{
	   map.bufferObj.drawPoints();
}

/*events mobilestudio*/
function box_complete ()
{
	map.mobilestudio.box_complete ();
}

function delete_geometry_studio ()
{
  null;
}

function polygonCompletehandler_studio ()
{
  null;
}

/*obras*/
function polygonCompletehandler_obras_ol ()
{
  map.obras.polygon_wkt=map.wktpolygon;
  map.savePolygon(map.wktpolygon);
}

function polygonCompletehandler_obras ()
{
  map.obras.polygon_wkt=(map.get_polygon_as_wkt());
  
}

function delete_geometry_obras()
{
	map.obras.polygon_wkt = "";
}

function polygonSelecthandler_obras (a, b)
{
	//alert("wkt: "+a+" gid:"+b);
	//map.savePolygon(a);
	map.obras.polygon_wkt=a;
}

function delete_geometry_multicod()
{
	map.ngMC.polygon_wkt = "";
}

function polygonCompletehandler_multicod()
{
	map.ngMC.polygon_wkt=(map.get_polygon_as_wkt());
	map.ngMC.modo='manual';
	map.ngMC.chave_predio="0";
}



function delete_geometry_forum()
{
		map.emergencyObj.setGeometry(-199,"","",'active_geometry_data');
		map.emergencyObj.active_entity=new ngEmergencyEntityClient(-1,"","","active_entity_data");
		map.emergencyObj.display();	
}

function point_complete_forum()
{

    map.emergencyObj.setGeometry(-99,"",map.wktpoint,'active_geometry_data',"new");
		//map.emergencyObj.active_entity=new ngEmergencyEntityClient(-1,"","","active_entity_data");
		map.emergencyObj.display();
}

function point_complete()
{
    //alert (map.wktpoint);
    //map.emergencyObj.setGeometry(-99,"",map.get_point_as_wkt(),'active_geometry_data');
    map.emergencyObj.setGeometry(-99,"",map.wktpoint,'active_geometry_data');
    //map.emergencyObj.active_entity=new ngEmergencyEntityClient(-1,"","","active_entity_data");
    map.emergencyObj.display();
}


