
function onLoadPage()
{
	Mapa.onLoad();
	if(actual_map){
		actual_map.mapa.setCenter(new GLatLng(40.0, -2.0), 5);
	}
}
function onUnloadPage()
{
	Mapa.onUnload();
}
window.onload = onLoadPage;
window.onunload = onUnloadPage;
//-------------------------------------------------------------
//CURA => hace peticiones

var cura = new Ajax("metmap.php");
cura.ocupado=false;

cura.peticion=function(parametros)
{
	if(cura.ocupado) return;
	cura.ocupado=true;
	$("msg_div").innerHTML = "Actualizando ... " + linkFalse("Cancelar", "cura.onCancelar();");
	this.getphp(parametros);
}
cura.onCancelar=function()
{
	this.cancelar();
	this.onCallbackKo();
}
cura.onCallbackKo=function()
{
	$("msg_div").innerHTML = "&nbsp;";
	cura.ocupado=false;
}
cura.onCallbackOk=function(v)
{
	cura.ocupado=false;
	$("msg_div").innerHTML = "&nbsp;";
	
	if(! Ajax.parseRespuesta(v)){
		$("debug").innerHTML = "<pre>" + v + "</pre>";
	}
}
function peticion_cura(params)
{
	cura.peticion(params);
}


//+++++++++++++++++++++++++++++++++++++++++++++++++++
//Calcula los límites del mapa
function ObtenerLimites()
{
	var vx = new Array();

	var bound = actual_map.mapa.getBounds();
	
	var x1 = bound.getSouthWest().lng();
	var x9 = bound.getNorthEast().lng();
	var y1 = bound.getNorthEast().lat();
	var y9 = bound.getSouthWest().lat();

	vx["x1"]   = parseInt(x1 * 3600.0);
	vx["x9"]   = parseInt(x9 * 3600.0);
	vx["y1"]   = parseInt(y1 * 3600.0);
	vx["y9"]   = parseInt(y9 * 3600.0);

	return vx;
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Lista de sitios en textbox(eventualmente añade o retira un item)
function NormalizarLista(item)
{
	var tx = document.forms["fc"].listado.value;
	var vx = tx.split(",");
	var t1, i, s, f;
	tx = "";
	s  = "";
	f = false;
	for(i in vx){
		t1 = trim(vx[i]).toUpperCase();
		if(t1.length == 4){
			if(t1 == item){
				f = true;
			}
			else{
				tx += s + t1;
				s = ",";
			}
		}
	}
	if(!f && item)	tx += s + item;
//	alert(tx);
	document.forms["fc"].listado.value = tx;
	return tx;
}



//=======================================================
function onClickAeropuertos()
{
	var vx = ObtenerLimites();
	vx["cmd"]   = "aero";

	peticion_cura(vx);
}
function onClickFirs()
{
	var vx = ObtenerLimites();
	vx["cmd"]   = "firs";
	peticion_cura(vx);
}
function onClickEnfocar()
{
	var vx = new Array();

	vx["cmd"]   = "focus";
	vx["lista"] = NormalizarLista("");
	peticion_cura(vx);
}
function CallbackEnfocar(cen)
{
	if(cen.length) {
		CallbackAero(cen);
		actual_map.enfocarMarcas();
	}
}
function onClickObtener()
{
	var vx = new Array();
	vx["cmd"]   = "metaf";
	vx["lista"] =  NormalizarLista("");
	peticion_cura(vx);
}
function CallbackAero(cav)
{
	var i, n, t;
	n = cav.length;
	actual_map.resetMarcas();
	for(i=0;i<n;i+=4){
		t = cav[i+1] + " - " + cav[i];
		actual_map.nuevaMarca(new Lugar(cav[i] , cav[i+1] , cav[i+2] , cav[i+3]), 
			//{draggable: true, title: a[i].user}  
			{title: t , icon: actual_map.picon}
			);	
	}
//	alert(cav.length);
}
function CallbackFirs(cav)
{
	var i, n, t;
	n = cav.length;
	actual_map.resetMarcas();
	for(i=0;i<n;i+=4){
		t = cav[i+1] + " - " + cav[i];
		actual_map.nuevaMarca(new Lugar(cav[i] , cav[i+1] , cav[i+2] , cav[i+3]), 
			//{draggable: true, title: a[i].user}  
			{title: t , icon: actual_map.picon}
			);	
	}
//	alert(cav.length);
}

//====================================================
function Lugar(nombre, oaci, lat, lon)
{
	this.nombre = nombre;
	this.oaci   = oaci;
	this.lat    = lat / 3600.0;
	this.lon    = lon / 3600.0;
}
Lugar.prototype.onClick = function(marker)
{
	NormalizarLista(this.oaci);
}

