var altIntPicID = 2;

function geoCalle(fromSelect) {
	/*
	if ( (altIntPicID%2) == 1) {
		alert("Interseccion");
		geoCalleInter(fromSelect);
	}*/
	
	var calle;
	var url;
	var altura = document.getElementById("altura").value;
	
	if (isNaN(parseInt(altura))) {
		alert("No es un número.");
		return false;
	}
	
	if (fromSelect) {
		var idCalle = document.getElementById("selCalle").value;
		url = "geocode.php?calle="+calle+"&alturaCalle="+altura+"&id="+idCalle;
	}
	else {
		calle = document.getElementById("calle").value;
		url = "geocode.php?calle="+calle+"&alturaCalle="+altura;
	}
	var calles = doGetSyncXML(url);
	if (getNLLength(calles.documentElement.getElementsByTagName("error")) == 1) {
		alert(calles.documentElement.getElementsByTagName("error").item(0).firstChild.nodeValue);
		return false;
	}
	var items = calles.documentElement.getElementsByTagName("calle");
	var cant = getNLLength(items);
	if (cant == 1) {
		var nombre = items.item(0).getElementsByTagName("nombre").item(0).firstChild.nodeValue;
		var lon = items.item(0).getElementsByTagName("longitud").item(0).firstChild.nodeValue;
		var lat = items.item(0).getElementsByTagName("latitud").item(0).firstChild.nodeValue;
		var aurl = "showpoint.php?calle="+nombre+"&alturaCalle="+altura+"&lon="+lon+"&lat="+lat;
		self.location = aurl;
	}
	else {
		//le pido que elija entre las calles
		var selCalle = document.getElementById("divSelCalle");
		var sel = "<select class='INPUT_CONS' id='selCalle' size='1'>";
		var cant = 0;
		while (items.item(cant) != null) {
			var calle = items.item(cant).getElementsByTagName("nombre").item(0).firstChild.nodeValue;
			var idCalle = items.item(cant).getElementsByTagName("id").item(0).firstChild.nodeValue;
			sel = sel + "<option value='"+idCalle+"'>"+calle+"</option>";
			cant++;
		}
		sel = sel + "</select><input type='submit' class='BOTON_CONS' onClick='geoCalle(true)' value='Go'/>";
		selCalle.innerHTML=sel;
	}
	return false;
}

function geoFeature(fromSelect) {
	var nombre = document.getElementById("feature").value;
	if (fromSelect) {
		nombre = document.getElementById("selFeature").value;
		url = "featureuni.php?id="+nombre;
	}
	else {
		nombre = document.getElementById("feature").value;
		url = "feature.php?nombre="+nombre;
	}
	var features = doGetSyncXML(url);
	if (getNLLength(features.documentElement.getElementsByTagName("error")) == 1) {
		alert(features.documentElement.getElementsByTagName("error").item(0).firstChild.nodeValue);
		return false;
	}
	var items = features.documentElement.getElementsByTagName("feature");
	var cant = getNLLength(items);
	if (cant == 1) {
		var nombre = items.item(0).getElementsByTagName("nombre").item(0).firstChild.nodeValue;
		var lon = items.item(0).getElementsByTagName("longitud").item(0).firstChild.nodeValue;
		var lat = items.item(0).getElementsByTagName("latitud").item(0).firstChild.nodeValue;
		var idf = items.item(0).getElementsByTagName("id").item(0).firstChild.nodeValue;
		var aurl = "showfeature.php?nombre="+nombre+"&lon="+lon+"&lat="+lat+"&id="+idf;
		self.location = aurl;
	}
	else {
		var selFeature = document.getElementById("divSelFeature");
		var sel = "<select class='INPUT_CONS' id='selFeature' size='1' onChange='showFeatureInfo()'>";
		var cant = 0;
		while (items.item(cant) != null) {
			var nombre = items.item(cant).getElementsByTagName("nombre").item(0).firstChild.nodeValue;
			var id = items.item(cant).getElementsByTagName("id").item(0).firstChild.nodeValue;
			sel = sel + "<option value='"+id+"'>"+nombre+"</option>";
			cant++;
		}
		sel = sel + "</select><input type='submit' class='BOTON_CONS' onClick='geoFeature(true)' value='Go'/>";
		selFeature.innerHTML=sel;
		showFeatureInfo();
	}
	return false;
}

function altIntClick() {
	var altInt = document.getElementById("altInt");
	if ( (altIntPicID%2) == 0)
		altInt.src="alt-int2.gif";
	else
		altInt.src="alt-int1.gif";
	altIntPicID++;
	return false;
}

function showFeatureInfo() {
	var featureId = document.getElementById("selFeature").value;
	var url = "featureInfo.php?id="+featureId;
	var rst = doGetSyncXML(url);
	var features = rst.documentElement.getElementsByTagName("feature");
	var cant = 0;
	var laInfo = "";
	while (features.item(cant) != null) {
		var type = features.item(cant).getElementsByTagName("type").item(0).firstChild.nodeValue;
		laInfo = laInfo + type +"<br>";
		var infos = features.item(cant).getElementsByTagName("info");
		var j = 0;
		while (infos.item(j) != null) {
			var nombre = infos.item(j).getElementsByTagName("nombre").item(0).firstChild.nodeValue;
			var valor = infos.item(j).getElementsByTagName("valor").item(0).firstChild.nodeValue;
			laInfo = laInfo + nombre+": "+valor+ "<br>";
			j++;
		}
		laInfo = laInfo + "-.-<br>";
		cant++;
	}
	document.getElementById("infoSelFeature").innerHTML = laInfo;
}
var labelCounter = 0;
/*
function reverseGeocode(lon, lat) {
	var url = "revgeocode.php?lon="+lon+"&lat="+lat;
	var rst = doGetSyncXML(url);
	if (getNLLength(rst.documentElement.getElementsByTagName("error")) == 1) {
		alert(rst.documentElement.getElementsByTagName("error").item(0).firstChild.nodeValue);
		return false;
	}
	var calle = rst.documentElement.getElementsByTagName("nombre").item(0).firstChild.nodeValue;
	var content = '<div style="padding: 2px 2px 0px 0px;"><div style="background-color: #f2efe9; padding: 2px; font-size: 0.7em;">'+calle+'</div></div>';
	var label = new TLabel();
	label.id = 'calle' + labelCounter;
	labelCounter = labelCounter + 1;
	label.anchorLatLng = new GPoint (lon,lat);
	label.anchorPoint = 'center';
	label.content = content;
	label.percentOpacity = 70;
	map.addTLabel(label);
}*/
var label;
function rstHandlerLabel() {
    if (req.readyState == 4 && req.status == 200) {
		var rst = req.responseXML;
		if (getNLLength(rst.documentElement.getElementsByTagName("error")) == 1) {
			alert(rst.documentElement.getElementsByTagName("error").item(0).firstChild.nodeValue);
			return false;
		}
		var calle = rst.documentElement.getElementsByTagName("nombre").item(0).firstChild.nodeValue;
		var content = '<div style="padding: 2px 2px 0px 0px;"><div style="background-color: #f2efe9; padding: 2px; font-size: 0.7em;">'+calle+'</div></div>';
		label.content = content;
		map.addTLabel(label);
	}
}
function reverseGeocode(lon, lat) {
	var url = "revgeocode.php?lon="+lon+"&lat="+lat;
	label = new TLabel();
	label.id = 'calle' + labelCounter;
	labelCounter = labelCounter + 1;
	label.anchorLatLng = new GLatLng(lat,lon);
	label.anchorPoint = 'center';
	label.percentOpacity = 70;
	doGetAsyncXML(url, rstHandlerLabel);
}
function removeCalleLabels() {
	var i=0;
	while (i<=labelCounter) {
		alert('calle' + i);
		map.removeTLabel('calle' + i);
		alert('calle' + i);
		i = i+1;
		alert('calle' + i);
	}
	return false;
}
