function get_map_object() {
try {
if (parent.map==null) {
if (window.opener.map!=null) return window.opener.myMap.map;
} else {
return parent.map.myMap.map;
}
} catch(e) { return null; }
}
function hasspeciallegend(bird_id) {
specials = Array("TETURO","PERPER","PERAPI","MILMIG","MILMIL","GYPBAR","NEOPER","ACCGEN","ACCNIS","AQUCHR","HIEFAS","RALAQU","BUBBUB","ALCATT","OENLEU","SYLCON","SYLBOR","SYLCOM","EMBHOR");
for (var i = 0; i < specials.length; i++) {
if(specials[i] == bird_id) return true;
}
return false;
}
function writeLegend() {
var html = "
";
html += "";
html += "Probabilitat d'aparició
";
return html;
}
function writeLegendHeader(value,title){
var html = "";
html += "
";
return html;
}
function showBirdMap(bird_id,title){
var map = get_map_object();
// we had to urlencode title first
title = unescape(title);
// we remove + character (global find/replace)
title = title.replace(/\+/g," ");
if (map!=null) {
map.loadingcount = 0;
var index = map._getserverindex("ocell");
if(index != -1) {
if(bird_id != false) {
map.connections[index].setparameter("bird_id",bird_id);
map.connections[index].setvisible("ocell",true);
// we will have to set the internal legend manually
// not so elegant, but it works
map.connections[index].autolegend = false;
var layerindex = map.connections[index]._getlayerindex("ocell");
if(hasspeciallegend(bird_id)) {
map.connections[index].sld = "http://oslo.geodata.es/ftp/ocells/php/sld_bird.php?id="+bird_id;
setTimeout("showLegend(true,\"" + title + "\",\"" + bird_id + "\")",1500);
// set legend for printing
map.connections[index].layers[layerindex].legend = "http://oslo.geodata.es/ftp/ocells/stuff/legends/" + bird_id + ".jpg";
}
else {
map.connections[index].sld = "";
setTimeout("showLegend(true,\"" + title + "\",\"default\")",1500);
// set legend for printing
map.connections[index].layers[layerindex].legend = "http://oslo.geodata.es/ftp/ocells/stuff/legends/default.jpg";
}
} else {
map.connections[index].setvisible("ocell",false);
map.connections[index].sld = false;
document.getElementById("map_legend").style.display = "none";
document.getElementById("map_legend_header").style.display = "none";
}
map.refresh("ocell");
}
}
}
function highlightElement(id) {
//which layer is it?
var layer_code = id.substr(0,3);
var layer = "error";
switch(layer_code) {
case "QD_":
layer = "malla10";
break;
case "EIN":
layer = "espais_prot";
break;
case "FTP":
layer = "espais_ftip";
break;
case "COM":
layer = "comarca";
break;
case "MUN":
layer = "municipis";
break;
default:
layer = "malla10";
break;
}
var map = get_map_object();
var sld_url = "http://oslo.geodata.es/ftp/ocells/php/sld.php?layer=selected_polygon%26value="+id;
// get connection
var index = map._getserverindex('selected');
if (index != -1) {
// set sld
var conn = map.connections[index];
conn.sld = sld_url;
conn.setparameter("shape",layer);
conn.setvisible("selected_polygon", true);
//refresh map
map.refresh(index);
}
}
function showLegend(value,title,speciallegend){
var map_legend = document.getElementById("map_legend");
var legend_title = document.getElementById("legend_title");
var legend_header = document.getElementById("map_legend_header");
if (value == "toggle") value = (map_legend.style.display ? true : false);
if(value) {
map_legend.style.display = "";
legend_header.style.display = "";
legend_title.innerHTML = title;
legend_header.innerHTML = writeLegendHeader(true,title);
document.getElementById("legend_img").src = "img/maximize_up.gif";
//alert("stuff/legends/" + speciallegend + ".png");
if(speciallegend) document.getElementById("legend").src = "stuff/legends/" + speciallegend + ".jpg";
else document.getElementById("legend").src = "stuff/legends/default.jpg";
getstartingalpha();
}
else {
map_legend.style.display = "none";
legend_header.innerHTML = writeLegendHeader(true,title);
document.getElementById("legend_img").src = "img/maximize_down.gif";
}
}