//---------------------------------------------------------------------------
var Coord       = new Array();
var GeoCoord    = new Array();
var HPerfil     = false;
var PPerfil     = true;
var Factor      = 900;
var Actual_x;
var Actual_y;
//-----------------------------------------------------------------------
var SACoord90  = new Array();
var SACoord180 = new Array();
var SACoord270 = new Array();
var SACoord360 = new Array();
var SACoord450 = new Array();
var SACoord540 = new Array();
var SACoord630 = new Array();
var SACoord720 = new Array();
var SACoord810 = new Array();
var SACoord900 = new Array();

var SPCoord90  = new Array();
var SPCoord180 = new Array();
var SPCoord270 = new Array();
var SPCoord360 = new Array();
var SPCoord450 = new Array();
var SPCoord540 = new Array();
var SPCoord630 = new Array();
var SPCoord720 = new Array();
var SPCoord810 = new Array();
var SPCoord900 = new Array();
//---------------------------------------------------------------------------
var Actualizar =  function(point)
{
	p = Buscar(point.x);
	x = GeoCoord[p][0];
	y = GeoCoord[p][1];

	document.getElementById("d").innerHTML='<span>Distancia Acumulada (m): '+point.x+'</span>';
	document.getElementById("h").innerHTML='<span>Perfil de Altura (m): '+point.y+'</span>';
	document.getElementById("c").innerHTML= mapconfig.printCoord(x, y);
}
//---------------------------------------------------------------------------
var Buscar = function(Y)
{
	var pos=0;
	var array = eval("SACoord"+Factor.toString());
	for(var i=0; i<array.length; i++)
	{
		z = array[i][0];
		if( parseInt(z) != parseInt(Y)) pos++;
		else return pos;
	}
	return pos;
}
//---------------------------------------------------------------------------
var Salvar_Coordenada =  function()
{
	if(HPerfil)
	{
		d = Get_Distancia();
		i = Coord.length;
		Coord[i] =  new Array(Actual_x, Actual_y, d);
	}
}
//---------------------------------------------------------------------------
var Add_QueryStringCood =  function()
{
	var queryString = "&";
	var Total = Coord.length;
	for(var i=0; i<Total; i++)
	{
		queryString += "X"+i.toString() + '=' + Coord[i][0].toString() + '&';
		queryString += "Y"+i.toString() + '=' + Coord[i][1].toString() + '&';
		queryString += "D"+i.toString() + '=' + Coord[i][2].toString() + '&';
	}
	if(Total > 0) queryString += "L" + '=' + Total.toString() + '&';
	queryString += "F" + '=' + Factor;
	return queryString;
}
//---------------------------------------------------------------------------
var Get_Distancia = function()
{
	ultimo = Coord.length-1;	
	if(ultimo>=0)
	{
		punto1 = new Point();
		punto2 = new Point();
		punto1.x = Coord[ultimo][0];
		punto1.y = Coord[ultimo][1]; 
		punto2.x = Actual_x;
		punto2.y = Actual_y; 
		return Coord[ultimo][2] + mapconfig.CalculoDist(punto1,punto2);
	}
	else return 0;         
}
//---------------------------------------------------------------------------
var Dibujar_Grafica = function()
{
	var SPFactor = eval("SPCoord"+Factor.toString());
	Set_DataHandler(SPFactor);
	Graficar_Punto("Perfil de Altura");

	var SAFactor = eval("SACoord"+Factor.toString());
	Set_DataHandler(SAFactor);
	Graficar_Area("Perfil de Altura");
}
//---------------------------------------------------------------------------
var Generar_Grafica = function(pluginOutput)
{
		var _lengthSP = pluginOutput.htmlCode.SPL;
		var _lengthSA = pluginOutput.htmlCode.SAL;
		Preparar_Grafica('grafica');
		//--------------------------------------------------------
		if(_lengthSP>0)
		{
			for(var i=0; i<_lengthSP; i++)
			{
				var X = eval ("pluginOutput.htmlCode.SPCoodX"+i);
				var Y = eval ("pluginOutput.htmlCode.SPCoodY"+i);
				var V = "SPCoord"+Factor.toString()+"["+i.toString()+"] = new Array("+X+", "+Y+")";
				eval(V);
			}
		}
		//--------------------------------------------------------
		if(_lengthSA>0)
		{
			for(var i=0; i<_lengthSA; i++)
			{
				var X  = eval ("pluginOutput.htmlCode.SACoodX"+i);
				var Y  = eval ("pluginOutput.htmlCode.SACoodY"+i);
				var XC = eval ("pluginOutput.htmlCode.SACoodXC"+i);
				var YC = eval ("pluginOutput.htmlCode.SACoodYC"+i);
				var V = "SACoord"+Factor.toString()+"["+i.toString()+"] = new Array("+X+", "+Y+")";
				GeoCoord[i] = new Array(XC, YC);
				eval(V);
			}
		}
		//--------------------------------------------------------
		Dibujar_Grafica();
		PPerfil = true;
}
//---------------------------------------------------------------------------
var Has_Data = function()
{
	var array = eval ("SACoord"+Factor.toString());
	if(array.length > 0)
	{
		Dibujar_Grafica();
		ShowPerfilWindow('Informaci&oacute;n de Perfiles');
	}
	else
		CartoWeb.trigger("Perfil.Perform");
}
//---------------------------------------------------------------------------
var Limpiar_Series = function()
{
	for(var i=1; i<=10; i++)
	{
		var f9 = 90*i;
		eval ("SPCoord"+f9.toString()+".clear()");
		eval ("SACoord"+f9.toString()+".clear()");
	}
	Coord.clear();
}
//---------------------------------------------------------------------------



