<!--Defining Global (g) variables-->
var gObjMapView = null; //SVG Viewer Object
var gsMapViewID = "objMapView"; //Embed Tag ID

//===================================================================
// ViewControlStartedEx1(): 
// for use with InLine SVG API Javascript files and 
// no event handlers in output SVG header.
function ViewControlStartedEx1()
{
  //get global SVG Viewer Object
  gObjMapView = document.getElementById(gsMapViewID);
  
  if( gObjMapView.readystate != 4 )
  {
    setTimeout( ViewControlStartedEx1, 50 );
    return;
  }

  // initialize will pull SVGDoc off of gObjMapView 
  // for use by internal SVG API and set default
  // mouse event handlers.
  var iRet = initializeGWMSVG(gObjMapView, true, true);
  if( iRet < 0 ) 
    window.alert("Error Initializing GWM SVG. Error code=" + iRet);
  return;
}


function doZoom(inORout) {
	if (inORout == 'in')
	gObjMapView.zoomInView();
	if (inORout == 'out')
	gObjMapView.zoomOutView();
}
/***************************************************************************
// draw Map function
****************************************************************************/

/********************
// draw Circle
*********************/
function drawCircle() {
	gObjMapView.cmdCaptureCircle(showCircle);
}

function showCircle(v) {
	$('callBack').innerHTML = 'Cerc:' + v + ';';
	gObjMapView.setRLStyle( "circle", "stroke:"+$F('pointColorfield_0')+";fill:"+$F('pointColorfield_0')+";stroke-width:20;" );
	gObjMapView.addRLCircle( '', v );
}

/********************
// draw Line
*********************/

function drawLine() {
	gObjMapView.cmdCaptureLine(showLine);
}

function showLine(v) {
	gObjMapView.setRLStyle( "line", "stroke:"+$F('pointColorfield_0')+";fill:"+$F('pointColorfield_0')+";stroke-width:20;" );		
	gObjMapView.addRLLine( $F('redLineNumber'), v );
	$('callBack').value = $F('callBack')+ '2|'+ $F('pointColorfield_0') +'|'+ $F('redLineNumber') +'|'+$F('bufferSize')+'|'+$F('pointColorfield_1')+'|'+ v + ';';	
	$('redLineNumber').value = parseInt($F('redLineNumber')) +1;
}

/********************
// draw Point
*********************/

function drawPoint() {
	gObjMapView.cmdCapturePoint(showPoint);
}

function showPoint(v) {
	gObjMapView.setRLStyle( "point", "stroke:"+$F('pointColorfield_0')+";fill:"+$F('pointColorfield_0')+";stroke-width:70;display:none;" );		
	gObjMapView.addRLPoint($F('redLineNumber'), v );
	$('callBack').value  = $F('callBack')+'1|'+ $F('pointColorfield_0') +'|'+ $F('redLineNumber')+'|'+$F('bufferSize')+'|'+$F('pointColorfield_1')+'|'+ v + ';';	
	$('redLineNumber').value = parseInt($F('redLineNumber')) +1;
}

/********************
// draw Text
*********************/

function drawText() {
	gObjMapView.cmdCapturePoint(showText);
}

function showText(v) {
	gObjMapView.setRLStyle( "text", "stroke:"+$F('pointColorfield_0')+";font-size:240;display:none;" );		
	gObjMapView.addRLText($F('redLineNumber'), v, $F('textToDraw') );
	$('callBack').value  = $F('callBack')+'4|'+ $F('pointColorfield_0') +'|'+ $F('redLineNumber') +'|'+ $F('textToDraw')+'|'+$F('pointColorfield_1')+'|'+ v + ';';	
	$('redLineNumber').value = parseInt($F('redLineNumber')) +1;
}

/********************
// draw Buffer
*********************/
/*
draw punct buffer
function showBuffer(v) {
	gObjMapView.setRLStyle( "point", "stroke:"+$F('bufferColor_0')+";fill:"+$F('bufferColor_0')+";stroke-width:100;display:none;" );		
	gObjMapView.addRLPoint($F('redLineNumber'), v );
	$('callBack').value  = $F('callBack')+'5|'+$F('bufferColor_0')+'|'+ $F('bufferElementId') +'|'+ $F('distanceUnit') + ';';
	alert($F('callBack'));
	$('redLineNumber').value = parseInt($F('redLineNumber')) +1;
}

function drawBuffer() {
	gObjMapView.cmdCapturePoint(showBuffer);
}
*/
/********************
// remove Buffer
*********************/

function removeBuffer() {
	gObjMapView.cmdGetRL(deleteBuffer);
}

function deleteBuffer(v) {
  $('bufferCommands').value  = $F('bufferCommands')+ '0|' + v + ';'; 
  deleteRd = v.split('|');
  gObjMapView.removeRL(deleteRd[1],deleteRd[2]);
}

/********************
// draw Polygon
*********************/

function drawPolygon() {
	gObjMapView.cmdCapturePolygon(showPolygon);
}

function showPolygon(v) {
	gObjMapView.setRLStyle( "polygon", "stroke:"+$F('pointColorfield_0')+";fill-opacity:0;stroke-width:20;" );
	gObjMapView.addRLPolygon( $F('redLineNumber'), v );
	$('callBack').value  = $F('callBack')+ '3|'+ $F('pointColorfield_0') +'|'+ $F('redLineNumber')+'|'+$F('bufferSize')+'|'+$F('pointColorfield_1')+'|'+ v + ';';	
	$('redLineNumber').value = parseInt($F('redLineNumber')) +1;
}
/********************
// draw Polyline
*********************/

function drawPolyline() {
	gObjMapView.cmdCapturePolyline(showPolyline);
}

function showPolyline(v) {
	gObjMapView.setRLStyle( "polyline", "stroke:"+$F('pointColorfield_0')+";fill-opacity:0;stroke-width:20;" );
	gObjMapView.addRLPolyline( $F('redLineNumber'), v );
	$('callBack').value  = $F('callBack')+ '2|'+ $F('pointColorfield_0') +'|'+ $F('redLineNumber') +'|'+$F('bufferSize')+'|'+$F('pointColorfield_1')+'|'+ v + ';';
	$('redLineNumber').value = parseInt($F('redLineNumber')) +1;	
}

/********************
// remove draw
*********************/

function removeEl() {
	gObjMapView.cmdGetRL(removeElement);
}

function removeElement(v) {
  $('callBack').value  = $F('callBack')+ '0|' + v + ';'; 
  deleteRd = v.split('|');
  gObjMapView.removeRL(deleteRd[1],deleteRd[2]);
}

/********************
// Set value of input with id idInput to current map view range/bounds in CoordinateUnits. 
// The coordinates are separated by the list separator.
*********************/
function setRangeBounds(idInput) {
  $(idInput).value = gObjMapView.getViewRange();
}


/***********************************************************
// tooltip function
************************************************************/

function showTooltipInLegend(tooltipText,tooltipValue) {
	document.getElementById('spanRegio').innerHTML = tooltipText;
	var digitsSeparator = ',';
	var val = strToFloat(tooltipValue, digitsSeparator);
    var tdIdGood = new Array();
	var t = 0;
	for (i=0;i<=7;i++) {
		inputId = 'maxRange_'+i;
  	  	tdId = 'tdRange_'+i;
		if( document.getElementById(inputId) && document.getElementById(tdId) ) {
			if (val <= strToFloat($F(inputId), digitsSeparator)) 
				tdIdGood[t++] = i;
	        if(i != tdIdGood[0])  {
			  	$(tdId).innerHTML = '';	
	  		} 
	  		else {
				$(tdId).innerHTML = tooltipValue;
		    }
	 	}
	}
}

function strToFloat(string, digitsSeparator) {	
    var regex = "/"+digitsSeparator+"/g";
	return	parseFloat( string.replace( eval(regex), ''));
}

/********************************************************
// get ID element SVG onclick
*********************************************************/

function getIdElementSVG(idElement,svgObj) {
if ($F('SvgOnClickActive') != 0) {  
    $('bufferElementId').value = idElement;   
	$('callBack').value  = $F('callBack')+'5|'+$F('bufferColor_0')+'|'+ $F('bufferElementId') +'|'+ $F('distanceUnit') + ';';
    $('SvgOnClickActive').value = 0;     
}
   else return false;
}

function activateActiveXControl(elementId)  {
	object = document.getElementById(elementId);
	object.outerHTML = object.outerHTML;
}
