var browserType = navigator.appName;
var bAppName = window.navigator.appName;
var bAgent = window.navigator.userAgent;
var project = "";
var showpics = true;
function setProject(proj)
{
	project = proj;
}

function setShowPicPopups(show)
{
	showpics = show;
}

function isNum(argvalue) {
argvalue = argvalue.toString();

if (argvalue.length == 0)
return false;

for (var n = 0; n < argvalue.length; n++)
if (argvalue.substring(n, n+1) < "0" || argvalue.substring(n, n+1) > "9")
return false;

return true;
}

var popUpWin=0;
function popUpWindow(URLStr, left, top, width, height)
{
  if(popUpWin)
  {
    if(!popUpWin.closed) popUpWin.close(); 
  }
  popUpWin = open(URLStr,'popUpWin','toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbar=no,resizable=yes,copyhistory=yes,width='+width+',height='+height+',left='+left+', top='+top+',screenX='+left+',screenY='+top+'');
}


function checkBrowser()
{
	var skipPage = true;
	var bversionNo = 0;

	testValue=Math.floor(1000*Math.random());
	SetCookie('AreCookiesEnabled',testValue);
	if(testValue != ReadCookie('AreCookiesEnabled'))
	{
		alert('Cookies are not currently enabled in your browser. Please enable them to fully use all options in this website.');
		return;
	}

	if (bAgent.indexOf("MSIE ") >= 0) bversionNo = bAgent.substring(bAgent.indexOf("MSIE ") + 5, bAgent.indexOf("MSIE ") + 6);
	if (bAgent.indexOf("Netscape/") >= 0) bversionNo = bAgent.substring(bAgent.indexOf("Netscape/") + 9, bAgent.indexOf("Netscape/") + 10);
	if ((bAppName.indexOf("Netscape") >= 0) && (bAgent.indexOf("Netscape5") >= 0)) skipPage = false;
	if ((bAppName.indexOf("Netscape") >= 0) && (bAgent.indexOf("Gecko") >= 0)) skipPage = false;
	if ((bAppName.indexOf("Explorer") >= 0) && (bAgent.indexOf("MSIE 5")  >= 0)) skipPage = false;
	if ((bAppName.indexOf("Explorer") >= 0) && (bAgent.indexOf("MSIE 6")  >= 0)) skipPage = false;
	if ((bAppName.indexOf("Netscape") >= 0) && (bAgent.indexOf("Netscape6") >= 0)) alert('This site uses the latest technology. Netscape 6.x may cause rendering problems. For optimal use, we recommend Firefox, Safari (for Mac) or Internet Explorer (6.x for PC).\n\nDeze site maakt gebruik van de laatste technieken. Sommige versies van Netscape 6.x kunnen kleine problemen vertonen. Voor optimaal gebruik raden wij aan Firefox, Safari (voor Mac) of Internet Explorer (6.x voor PC) te gebruiken.');
	//if (bAgent.indexOf("Opera") >= 0 && bAgent.indexOf("Opera 7") < 0) alert('This site uses the latest technology. Older versions of Opera cause rendering problems. For optimal use, we recommend updating to Opera 7.5 or higher.\n\nDeze site maakt gebruik van de laatste technieken. Oudere versies van Opera vertonen problemen. Voor optimaal gebruik raden wij Opera 7.5 of hoger aan.');
	SetCookie('waarschuwing', 'true');
	//if (skipPage) { alert('This site uses technology that your browser unfortunately does not (yet) support. For optimal use, we recommend Firefox, Safari (voor Mac) of Internet Explorer (6.x voor PC).\n\nDeze site maakt gebruik van de laatste technieken, maar uw browser ondersteunt deze helaas niet. Voor optimaal gebruik raden wij aan Firefox, Safari (voor Mac) of Internet Explorer (6.x voor PC) te gebruiken. U wordt nu teruggeleid naar de start pagina.'); location = /*URL*/'index.html'; } */
}

function backCheck(lang)
{
	/*if(bAppName.indexOf('Netscape') >= 0)
	{
		if(lang == 'uk')
			alert('This button doesn\'t work in this type of browser. Please use the Back button in the menubar of your browser instead.');
		else
			alert('Deze knop werkt niet in dit type browser. Gebruik a.u.b. de Terug knop in de menubalk in uw browser.');
	}
	else*/
		history.go(-1);
}

// preload images
function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function changeImages() {
	d = document;
	if (d.images&& (preloadFlag == true)) {
		var img;
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			img = null;
			if (d.layers) {img = findElement(changeImages.arguments[i],0);}
			else {img = d.images[changeImages.arguments[i]];}
			if (img) {img.src = changeImages.arguments[i+1];}
		}
	}
}

var preloadFlag = false;
function preloadImages(path, lang) {
	if (document.images) {
		newImage(path+"/tree/blank.gif");
		newImage(path+"/tree/lastnode.gif");
		newImage(path+"/tree/mlastnode.gif");
		newImage(path+"/tree/mnode.gif");
		newImage(path+"/tree/node.gif");
		newImage(path+"/tree/plastnode.gif");
		newImage(path+"/tree/pnode.gif");
		newImage(path+"/tree/vertline.gif");
		newImage(path+"/wbd/searchwbd-over.gif");
		newImage(path+"/wbd/treewbd-over.gif");
		newImage(path+"/wbd/projectswbd-over.gif");
		preloadFlag = true;
	}
}

function proj() { return project; }

//alert(browserType);

if (browserType == "Microsoft Internet Explorer")
{
	//if(document.layers)
		//document.captureEvents(Event.KEYPRESS);
		//document.onkeydown = ieAlert;
}

if (browserType == "Netscape")
{
	//if(document.layers)
		//document.captureEvents(Event.KEYPRESS);
		//document.onkeydown = nsAlert;
}

function checkGetal(E)
{
	if(bAppName.indexOf("Explorer") >= 0)
		ch = E.keyCode;
	else
		ch = E.which;
	//alert(ch);
	// allow . and 0-9
	return (ch > 47 && ch < 58 || ch == 46 || ch == 8);
}

function ieReturn(e) {
	Key = window.event.keyCode;
	return ((Key == 10) || (Key == 13));
}

function nsReturn(e)
{
	return ((e.which == 10) || (e.which == 13))
}

function IsLower(ch)
// Given : ch is a character 
// Returns : true if ch is a lower-case letter
{
var lowers; lowers = "abcdefghijklmnopqrstuvwxyz"; return (lowers.indexOf(ch) != -1);
}

var selected = "";

// Nodig om bij het tonen van plaatjes andere link (hrefs) te blokkeren.
dontlink = false;


function inlSelectionChanged(tab, lang)
{
	selected = tab;
	document.getElementById('onderwerp').src = "images/" + lang + "/menu_inld/onderwerp" + (tab == 'onderwerp' ? "-over" : "") + ".gif";
	//alert(document.getElementById('onderwerp').src);
	document.getElementById('foto').src = "images/" + lang + "/menu_inld/foto" + (tab == 'foto' ? "-over" : "") + ".gif";
	document.getElementById('woordenlist').style.visibility	= (tab == 'onderwerp') ? "visible" : "hidden";
	document.getElementById('woordenlist').style.display	= (tab == 'onderwerp') ? "block" : "none";
	//document.getElementById('soorttekstlayer2').style.visibility	= (tab == 'onderwerp') ? "visible" : "hidden";
	//document.getElementById('soorttekstlayer').style.visibility	= (tab == 'foto') ? "visible" : "hidden";

}

// Verander de actieve tab door de visibility te updaten.
function soortenSelectionChanged(tab, lang)
{
	selected = tab;
	//document.getElementById('beschrijving').src = "BIS/images/" + lang + "/menu_1/beschrijving" + (tab == 'beschrijving' ? "-over" : "") + ".gif";
	//document.getElementById('classificatie').src = "BIS/images/" + lang + "/menu_1/classificatie" + (tab == 'classificatie' ? "-over" : "") + ".gif";
	//document.getElementById('synoniemen').src = "BIS/images/" + lang + "/menu_1/synoniemen" + (tab == 'synoniemen' ? "-over" : "") + ".gif";
	//document.getElementById('refs').src = "BIS/images/" + lang + "/menu_1/refs" + (tab == 'refs' ? "-over" : "") + ".gif";
	//document.getElementById('multimedia').src = "BIS/images/" + lang + "/menu_1/multimedia" + (tab == 'multimedia' ? "-over" : "") + ".gif";

	old_selected = document.store_selected_tab.selected_tab.value ;
	document.store_selected_tab.selected_tab.value = selected ;
	document.getElementById(old_selected).src = "images/soortmenu/" + old_selected + ".gif";
	document.getElementById(selected).src = "images/soortmenu/" + selected + "-over.gif";
	
	if(document.getElementById('soorttekstlayer2'))
	{
		document.getElementById('soorttekstlayer2').style.display	= (tab == 'beschrijving') ? "block" : "none";
		document.getElementById('classificatielayer2').style.display	= (tab == 'classificatie') ? "block" : "none";
		document.getElementById('synoniemenlayer2').style.display	= (tab == 'synoniemen') ? "block" : "none";
		document.getElementById('refslayer2').style.display	        = (tab == 'refs') ? "block" : "none";
		document.getElementById('multimedialayer2').style.display	= (tab == 'multimedia') ? "block" : "none";
		document.getElementById('linkslayer2').style.display	= (tab == 'links') ? "block" : "none";
	}
	else
	{
		document.getElementById('soorttekstlayer').style.display		= (tab == 'beschrijving') ? "block" : "none";
		document.getElementById('classificatielayer').style.display	= (tab == 'classificatie') ? "block" : "none";
		document.getElementById('synoniemenlayer').style.display		= (tab == 'synoniemen') ? "block" : "none";
		document.getElementById('refslayer').style.display	        = (tab == 'refs') ? "block" : "none";
		document.getElementById('multimedialayer').style.display		= (tab == 'multimedia') ? "block" : "none";
		document.getElementById('linkslayer').style.display		= (tab == 'links') ? "block" : "none";
	}
	//setSoortHelp(tab, lang);
}

function handleLink(obj, category, value, selected) {

	if(category == 'Hogere Taxa' || category == 'Higher Taxa' || category == 'Higher taxa' || category == 'Hogere taxa')
	{
		//alert(value.substr(value.length - 5, value.length) );
		if(value.substr(value.length - 5, value.length) != 'soort')
			//value = value.split(' ')[1];

			//alert(value.split(' ')[1].substr(0, 1));
			if(IsLower(value.split(' ')[1].substr(0, 1)))
				category = 'Soorten';
			else
			{
				value = value.split(' ')[1];
				category = 'Hogere Groepen';
			}
	}
	value = escape(value);
	if(category == 'Soortenned')
		document.location.href = "soorten.php?soortengroep="+project+"&selected=beschrijving&menuentry=soorten&id="+value;
	else if(category == 'Soorten' || category == 'Species')
		document.location.href = "soorten.php?soortengroep="+project+"&selected=beschrijving&menuentry=soorten&record="+value;
	else if(category == 'Hogere Groepen')
		document.location.href = "soorten.php?soortengroep="+project+"&selected=beschrijving&menuentry=groepen&record="+value;
	else if(category == 'Woordenboek' || category == 'Glossary' || category == 'Verklarende woordenlijst')
		document.location.href = "soorten.php?soortengroep="+project+"&selected=definitie&menuentry=woordenlijst&record="+value;
	else if(category == 'Literatuur' | category == 'Literature')
	  if(isNum(value))
			document.location.href = "soorten.php?soortengroep="+project+"&selected=definitie&menuentry=literatuur&id="+value;
		else
			document.location.href = "soorten.php?soortengroep="+project+"&selected=definitie&menuentry=literatuur&record="+value;
	else if(category == 'Inleiding' || category == 'Introduction')
	  if(selected == null)
		  document.location.href = "soorten.php?soortengroep="+project+"&menuentry=inleiding&record="+value;
		else
			document.location.href = "soorten.php?soortengroep="+project+"&menuentry=inleiding&record="+value+"&selected="+selected;
	else if(category == 'Leefgebieden' | category == 'Habitats')
		document.location.href = "soorten.php?soortengroep="+project+"&menuentry=leefgebieden&record="+value;
	else if(category == 'Atlas')
		document.location.href = "soorten.php?soortengroep="+project+"&selected=bekijken&menuentry=atlas&id="+value;
	else if(category == 'AtlasNaam')
		document.location.href = "soorten.php?soortengroep="+project+"&selected=bekijken&menuentry=atlas&record="+value;
	else if(category == 'Picture Key' || category == 'PictureKey')
	{
		if(value.indexOf('3A') > 0)
			document.location.href = "soorten.php?soortengroep="+project+"&menuentry=plaatjessleutel&pagenum="+value.substr(7, value.indexOf('%3A') - 7);
		else
			document.location.href = "soorten.php?soortengroep="+project+"&menuentry=plaatjessleutel&pagenum="+value.substr(7, value.length - 7);
	}
	else if(category == 'Text Key' || category == 'TextKey')
	{
		if(value.indexOf('3A') > 0) {
			document.location.href = "soorten.php?soortengroep="+project+"&menuentry=tekstsleutel&pagenum="+value.substr(7, value.indexOf('%3A') - 7);
		} else if(value.indexOf('Pagina') == 0)  {
			document.location.href = "soorten.php?soortengroep="+project+"&menuentry=tekstsleutel&pagenum="+value.substr(9, value.length);
		} else {
			document.location.href = "soorten.php?soortengroep="+project+"&menuentry=tekstsleutel&pagenum="+value.substr(7, value.length - 7);
		}
	}
}

function handleLink3(category, value, selected)
{
	if(category == 'Hogere Taxa' || category == 'Higher Taxa' || category == 'Higher taxa')
	{
		//alert(value.substr(value.length - 5, value.length) );
		//if(value.substr(value.length - 5, value.length) != 'soort')
			//value = value.split(' ')[1];

			//alert(value.split(' ')[1].substr(0, 1));
			if(IsLower(value.split(' ')[1].substr(0, 1)))
				category = 'Soorten';
			else
			{
				value = value.split(' ')[1];
				category = 'Hogere Groepen';
			}
	}
	if(category == 'Soortenned')
		document.location.href = "soorten.php?soortengroep=" + project+ "&selected="+ selected +"&menuentry=soorten&id="+value;
	else if(category == 'Soorten' || category == 'Species')
		document.location.href = "soorten.php?soortengroep=" + project+"&selected=beschrijving&menuentry=soorten&record="+value;
	else if(category == 'Hogere Groepen')
		document.location.href = "soorten.php?soortengroep=" + project+"&selected=beschrijving&menuentry=groepen&record="+value;
	else if(category == 'Woordenboek')
		document.location.href = "soorten.php?soortengroep=" + project+"&selected=definitie&menuentry=woordenlijst&record="+value;
	else if(category == 'Literatuur')
		document.location.href = "soorten.php?soortengroep=" + project+"&selected=definitie&menuentry=literatuur&id="+value;
	else if(category == 'Inleiding')
		document.location.href = "soorten.php?soortengroep=" + project+".php?menuentry=inleiding&record="+value;
	else if(category == 'Leefgebieden' | category == 'Habitats')
		document.location.href = "soorten.php?soortengroep=" + project+"&menuentry=leefgebieden&id="+value;
	else if(category == 'Atlas')
		document.location.href = "soorten.php?soortengroep=" + project+"&selected="+ selected +"&menuentry=atlas&id="+value;
	else if(category == 'AtlasNaam')
		document.location.href = "soorten.php?soortengroep=" + project+"&selected="+ selected +"&menuentry=atlas&record="+value;
	else if(category == 'Plaatjessleutel')
		document.location.href = "soorten.php?soortengroep=" + project+"&menuentry=plaatjessleutel&pagenum="+value;
	else if(category == 'Tekstsleutel')
		document.location.href = "soorten.php?soortengroep=" + project+"&menuentry=tekstsleutel&pagenum="+value;
	else if(category == 'Text Key')
		document.location.href = "soorten.php?soortengroep=" + project+"&menuentry=tekstsleutel&pagenum="+value;
}

function handleLink2(value, alternatief)
{
	document.location.href = project+".php"+"?selected=" + soortTabSelected(alternatief) + "&menuentry=soorten&id="+value;
}
//oldid = new Array;
//oldid[0] = "ref1";
//labels = new Array;
/*function changeLit(change)
{
	var select = document.getElementById('litLijst')
	//alert(select.selectedIndex + change);
	litChanged(select.selectedIndex + change);
}*/

/*function inlChanged(item)
{
	var select = document.getElementById('inleidLijst');
	if(item < 0 || item > select.length - 1)
	return;
	select.selectedIndex = item;
	var item = select.options[select.selectedIndex];
	var literatuurlijst2 = document.getElementById("soorttekstlayer");

	keyword = String(item.getAttribute('extra'));
	newkey = keyword.replace(/\[/g, "<");
	newkey = newkey.replace(/\]/g, ">");
	newkey = newkey.replace(/\{/g, "\"");
	newkey = newkey.replace(/\}/g, "\"");

	literatuurlijst2.firstChild.firstChild.firstChild.firstChild.firstChild.innerHTML = newkey;

	var title = document.getElementById("Naam");
	title.firstChild.data = item.text;
}*/

/*function litChanged(item)
{
	var select = document.getElementById('litLijst');
	if(item < 0 || item > select.length - 1)
	return;
	select.selectedIndex = item;
	var item = select.options[select.selectedIndex];
	var literatuurlijst2 = document.getElementById("tdliteratuurlijst2");
	literatuurlijst2.firstChild.data = item.getAttribute('extra');

	keyword = String(item.getAttribute('extra2'));

	newkey = keyword.replace(/\[/g, "<");
	newkey = newkey.replace(/\]/g, ">");
	newkey = newkey.replace(/\{/g, "\"");
	newkey = newkey.replace(/\}/g, "\"");

	if(newkey != '<br>' && newkey != '')
		literatuurlijst2.firstChild.nextSibling.innerHTML = '<b>Trefwoorden:</b><br>'+newkey;
	var title = document.getElementById("Title");
	title.firstChild.data = item.text;
}*/

//function litChanged(item)
//{
//	var select = document.getElementById('litLijst');
//	if(item < 0 || item > select.length)
//	return;
//	select.selectedIndex = item;
//	var item = select.options[select.selectedIndex];
//	var literatuurlijst2 = document.getElementById("tdliteratuurlijst2");
	//alert(item.getAttribute('extra2'));
//	literatuurlijst2.firstChild.data = item.getAttribute('extra');
//	literatuurlijst2.firstChild.nextSibling.firstChild.data = item.getAttribute('extra2');
//	keyword = String(item.getAttribute('extra2'));
//	newkey = keyword.replace(/\[/g, "<");
//	newkey = newkey.replace(/\]/g, ">");
	//alert(newkey);
//	literatuurlijst2.firstChild.nextSibling.firstChild.nextSibling.nextSibling.nextSibling.data = newkey;
	//alert(liter[turl<jst2.firstChild.nextSibling.firstChild.nextSibling.nextSibling.nextSibling.data);
//	var title = document.getElementById("Title");
//	title.firstChild.data = item.text;
//}
//function wlijstChanged(select)
//{
	//oldid[0] = select.selectedIndex;
//	var item = select.options[select.selectedIndex];
//	var ref = item.getAttribute('name');
//	var wlijstlijst2 = document.getElementById("tdwoordenlist2");
	//wlijstlijst2.firstChild.innerHTML = ref;
//}
function soortTabSelected(alternatief)
{
	if(selected == "")
		return alternatief;
	else
		return selected;
}

// Opent een nieuwe window met als inhoud een plaatje(thisurl), de afmetingen van het plaatje (width, height),
// als caption picture1.
function openpicwindow(picture1, thisurl, width, height)
{
	if(showpics == false)
	{
		var xWin = window.open(project + '/promo.html','','width=500,height=300,menubar=no,toolbar=no,personalbar=no,location=no,' + 'directories=no,status=no,scrollbars=no,resizable=no,dependent=yes,left=0,top=0,screenx=0,screeny=0');
	}
	else {
		var thisURL = "afbeelding_venster.php?url=" + escape(thisurl) + "&title=" + escape(picture1) ;
		var xWin = window.open(thisURL,'','width=' + width + ',height=' + height + ',menubar=no,toolbar=no,personalbar=no,location=no,' + 'directories=no,status=no,scrollbars=no,resizable=no,dependent=yes,left=0,top=0,screenx=0,screeny=0');
	
  }
}

function openqtwindow(pagetitle, thisurl, width, height)
{
	
	if(showpics == false)
	{
		var xWin = window.open(project + '/promo.html','','width=500,height=300,menubar=no,toolbar=no,personalbar=no,location=no,' + 'directories=no,status=no,scrollbars=no,resizable=no,dependent=yes,left=0,top=0,screenx=0,screeny=0');
	}
	else
	{
	 
	if (thisurl.substr(0,4) == "BIS/") {
		thisurl = thisurl.substr(4) ;
	}
	var movieURL = "qtmovie.php?pagetitle=" + escape(pagetitle) +
	  "&thisurl=" + escape(thisurl) +
	  "&width=" + escape(width) +
	  "&height=" + escape(height)

	var currentURL = document.location.href ;
	if (currentURL.indexOf("/BIS/") == -1 && currentURL.indexOf("/bis/") == -1 )  {
		movieURL = "BIS/"+ movieURL ;
	}

	var xWin = window.open(movieURL,'','width=' + (width + 50) + ',height=' + (height + 50) + ',menubar=no,toolbar=auto,personalbar=no,location=no,' + 'directories=no,status=no,scrollbars=auto,resizable=yes,dependent=yes,left=0,top=0,screenx=0,screeny=0');

  }
}

function showBlokInfo(bloknum, width, Height, project, kaart, lang)
{
	var URL = "BIS/blokinfo_"+lang+".php?bloknum=" + bloknum + "&project=" + project + "&kaart=" + kaart;
	var xWin = window.open(URL, 'uniq', 'width=' + width + ',height=' + Height + ',menubar=no,toolbar=no,personalbar=no,location=no,' + 'directories=no,status=no,resizable=no,dependent=yes,left=330,top=270,screenx=330,screeny=270');
	xWin.focus();
}

function showZoekInfo(bloknum, width, Height, project, lang)
{
	var URL = "BIS/zoekinfo_"+lang+".php?bloknummers=" + bloknum + "&project=" + project;
	var xWin = window.open(URL, 'uniq', 'width=' + width + ',height=' + Height + ',menubar=no,toolbar=no,personalbar=no,location=no,' + 'directories=no,status=no,resizable=no,dependent=yes,left=330,top=270,screenx=330,screeny=270');
	xWin.focus();
}

function bepaalBlokNum(hoffset, voffset, nrblocks, bloktotalwidth, bloktotalheight)
{
	return Math.ceil((tempX-75-hoffset) / bloktotalwidth) + Math.floor((tempY-180-voffset) / bloktotalheight) * nrblocks;
}

function bepaalLongitude(west, breedte, hoffset, bloktotalwidth)
{
	var x = ((tempX-172-hoffset) / bloktotalwidth);
	//var x = ((tempX-172-hoffset) / 4.);
	
	return (west - x * breedte);
}

function bepaalLatitude(noord, hoogte, voffset, bloktotalheight)
{
	var y =((tempY-135-voffset) / bloktotalheight);
	//var y = Math.ceil((tempY-135-voffset) / 20);
	//alert(Math.ceil(noord - y * hoogte));
	
	window.status = noord + " " + y + " " + hoogte + " " + (noord - y * hoogte);
	
	return (noord - y * hoogte);
}

function formatLongitude(lon,lang)
{
	//alert(lat);
	
	var degrees = Math.floor(Math.abs(lon));
	var minutes = Math.floor ((Math.abs(lon) - degrees)*60) ;
	if (minutes < 10 && minutes > -10) {
		minutes = "0" + minutes ;
	}
	minutes += "'" ;
	
	if (lang == "uk") {
		var west_abbrev = "W" ;
		var east_abbrev = "E" ;
	} else {
		var west_abbrev = "WL" ;
		var east_abbrev = "OL" ;
	}
	
	if(lon < -360) lon = 360 + lat;
	if(lon == 0 || lon == 180)
		return degrees + "&deg;";
	else if(lon == -180)
		return -degrees + "&deg;";
	else if(lon == 360 || lon == -360)
		return "0&deg;";
	else if(lon > 0 && lon < 180)
		return degrees + "&deg;" + minutes + west_abbrev ;
	else if(lon < 0 && lon > -180)
		return Math.abs(degrees) + "&deg;" + minutes + east_abbrev ;
	else if(lon < -180 && lon > -360)
		return 360+degrees + "&deg;" + minutes + west_abbrev ;
	else if(lon < -360)
		return 540+degrees + "&deg;" + minutes + east_abbrev ;
}


function formatLatitude(lat,lang)
{
	var degrees = Math.floor(Math.abs(lat));
	var minutes = Math.floor ((Math.abs(lat) - degrees)*60) ;
	if (minutes < 10 && minutes > -10) {
		minutes = "0" + minutes ;
	}
	minutes += "'" ;
	
	if (lang == "uk") {
		var north_abbrev = "N" ;
		var south_abbrev = "S" ;
	} else {
		var north_abbrev = "NB" ;
		var south_abbrev = "ZB" ;
	}
	
	if(lat == 0) {
		return degrees + "&deg;" + minutes ;
	} else if(lat > 0) {
		return degrees + "&deg;" + minutes + north_abbrev ;
	} else {
		return Math.abs(degrees) + "&deg;" + minutes + south_abbrev ;
	}
}

function getSelectedListItemId(overview)
{
	return document.getElementById("indexSelList").options[document.getElementById("indexSelList").selectedIndex].getAttribute("name");
}

// Handel bij het veranderen van selectie in de select list "indexSelList" het updaten van het overview
// picture.
function changeOverviewPicture(overview)
{
	var title = document.getElementById("indexSelList").options[document.getElementById("indexSelList").selectedIndex].getAttribute("title");
	if(title == "" || title == "leeg")
		document.getElementById("indexoverviewpic").style.visibility = 'hidden';
	else if(document.getElementById("indexoverviewpic").src != overview)
	{
		document.getElementById("indexoverviewpic").style.visibility = 'visible';
		document.getElementById("indexoverviewpic").src = overview;
		document.getElementById("indexoverviewpic").alt = document.getElementById("indexSelList").options[document.getElementById("indexSelList").selectedIndex].text;
		//alert(document.getElementById("indexoverviewpic").alt);
	}
}

// Handel bij het veranderen van selectie in de select list "indexSelList" het updaten van het overview
// picture. Deze methode wordt gebruikt bij Volgend/Vorig acties, namelijk door change op 1 of -1 te zetten.
function changeOverviewItem(change)
{
	
	// let op grenzen
	if(document.getElementById("indexSelList"))
	{
		if(document.getElementById("indexSelList").selectedIndex + change + 1 >  document.getElementById("indexSelList").length)
			return;
		// bereken nieuwe positie
		if((document.getElementById("indexSelList").selectedIndex + change) > -1)
			document.getElementById("indexSelList").selectedIndex = document.getElementById("indexSelList").selectedIndex + change;
		if(document.getElementById("indexoverviewpic"))
			changeOverviewPicture(document.getElementById("indexSelList").options[document.getElementById("indexSelList").selectedIndex].getAttribute("title"));
	}
//alert(document.getElementById("indexSelList").options[document.getElementById("indexSelList").selectedIndex].alt);
}

function keyMouseout(foo, path)
{
	if(selected != foo)
		document.getElementById(foo).src = path+foo+".gif";
}

function keyMousein(foo, path)
{
	//alert(document.getElementById(foo));
	if(selected == '' && document.getElementById(foo).src.indexOf('-over.gif') >= 0)
		selected = foo;

	document.getElementById(foo).src = path+foo+"-over.gif";
}

function keyClicked(lang)
{
	//document.getElementById("sleutel").src = "images/"+lang+"/menu_sleutel/sleutel-over.gif";
	//document.getElementById("keuzepad").src = "images/"+lang+"/menu_sleutel/keuzepad.gif";
	selected ='sleutel';
	document.getElementById('Keuzepad2').style.display = 'none';
	document.getElementById('Sleutel2').style.display = 'block';
	document.getElementById('aantalkeuzes').style.display='none';
	document.getElementById('aantalmogelijkheden').style.display='none';
	document.getElementById('aantalafgevallen').style.display='none';
	if(lang == "uk")
		tekst = "Click on a picture or button to jump to the next choice in the key. Decision path shows the choices made, the remaining and the excluded species.";
	else
		tekst = "Klik op een afbeelding of knop om naar de volgende keuze in de sleutel te gaan. Onder Keuzepad worden de gemaakte stappen, overgebleven en afgevallen soorten getoond.";
	//document.getElementById('Sleutelhelp').firstChild.firstChild.firstChild.firstChild.firstChild.innerHTML = tekst;
}

function keuzepadClicked(lang)
{
	//document.getElementById("keuzepad").src = "images/"+lang+"/menu_sleutel/keuzepad-over.gif" ;
	//document.getElementById("sleutel").src = "images/"+lang+"/menu_sleutel/sleutel.gif";
	selected ='keuzepad';
	document.getElementById('Sleutel2').style.display = 'none';
	document.getElementById('Keuzepad2').style.display = 'block';
	document.getElementById('aantalkeuzes').style.display='block';
	document.getElementById('aantalmogelijkheden').style.display='block';
	document.getElementById('aantalafgevallen').style.display='block';
	if(lang == "uk")
		tekst = "The left-hand pane shows the choices made; click on a previous choice to backtrack. Double-click on a remaining or excluded taxon to jump directly to its description.";
	else
		tekst = "Het linkerscherm toont de gemaakte keuzes; klik op een eerdere keuze om terug te gaan in de sleutel. Dubbelklik op een overgebleven of afgevallen taxon om direct naar de beschrijving te gaan.";
	//document.getElementById('Sleutelhelp').firstChild.firstChild.firstChild.firstChild.firstChild.innerHTML = tekst;
}

// Redirect naar zoek page in soorten, waarbij de zoektekst edit box waarde wordt uitgelezen.
function dosearch()
{
	//alert('doSearch');
	document.location.href = 'iets'
}

function gotoSpecies(obj, to, alternatief, menuentry,tab)
{
	obj.href = "soorten.php?soortengroep=" + project + "&selected=" + soortTabSelected(alternatief) + "&menuentry=" + menuentry + "&id="+to + "&tab=" + tab;
	//alert(obj.href);
}

function gotoInleiding(obj, to, alternatief)
{
	obj.href = "soorten.php?soortengroep=" + project+ "&selected=" + soortTabSelected(alternatief) + "&menuentry=inleiding&record="+to;
	//alert(myhref)
}

function gotoInleiding2(obj, to, alternatief)
{
	obj.href = "soorten.php?soortengroep=" + project+ "&selected=" + soortTabSelected(alternatief) + "&menuentry=inleiding&id="+to;
	//alert(myhref)
}
function gotoLeefgebied(obj, to, alternatief)
{
	obj.href = "soorten.php?soortengroep=" + project+ "&selected=" + soortTabSelected(alternatief) + "&menuentry=leefgebieden&record="+to;
	//alert(myhref)
}

function gotoLeefgebied2(obj, to, alternatief)
{
	obj.href = "soorten.php?soortengroep=" + project+ "&selected=" + soortTabSelected(alternatief) + "&menuentry=leefgebieden&id="+to;
	//alert(myhref)
}

function gotoLeefgebieden(obj, to, alternatief)
{
	obj.href = project+".php?selected=" + soortTabSelected(alternatief) + "&menuentry=leefgebieden&record="+to;
	//alert(myhref)
}

function gotoLeefgebieden2(obj, to, alternatief)
{
	obj.href = project+".php?selected=" + soortTabSelected(alternatief) + "&menuentry=leefgebieden&id="+to;
	//alert(myhref)
}

function initializeWindow(nam)
{
	window.name = nam;
	//alert(window.name);
}

blokken = new Array(1000);

function mapitMouseclick(obj, hoffset, voffset, noord, hoogte, west, breedte, nrblocks, kaart, project, tab, lang, bloktotalwidth, bloktotalheight)
{
	var bloknum = bepaalBlokNum(hoffset, voffset, nrblocks, bloktotalwidth, bloktotalheight);
	var mess;
	if(lang == 'uk')
		mess = 'No species present.';
	else
		mess = 'Geen soorten aanwezig';
	if(document.getElementById('blok'+bloknum) == null)
	{
		alert(mess);
		return;
	}

	var squarecount = document.getElementById('blok'+bloknum).getAttribute('squarecount');
	var lat = bepaalLatitude(noord, hoogte, voffset, bloktotalheight);
	var lon = bepaalLongitude(west, breedte, hoffset, bloktotalwidth);
	var proj = project;
	if(tab == 'diversiteit')
	{
		if(squarecount == 0)
			alert(mess);
		else
			showBlokInfo(bloknum, squarecount, 220, 330, proj, lat, lon, kaart, lang);
	}
	else if(tab == 'doorzoeken')
	{
		var blok = document.getElementById('blok'+bloknum);
		if(blok.style.visibility == 'visible')
			blok.style.visibility = 'hidden';
		else
			blok.style.visibility = 'visible';
	}
	//alert(blokken);
}

function mapitMousemove(obj, hoffset, voffset, noord, hoogte, west, breedte, nrblocks, selectedTab, bloktotalwidth, bloktotalheight,lang)
{
	var coords = document.getElementById('coords');
	//alert(document.layers[0]);
	document.getElementById('mapitCoordinaten').innerHTML = formatLatitude(bepaalLatitude(noord, hoogte, voffset, bloktotalheight),lang) + ', ' +  formatLongitude(bepaalLongitude(west, breedte, hoffset, bloktotalwidth),lang);
	var bloknum = bepaalBlokNum(hoffset, voffset, nrblocks, bloktotalwidth, bloktotalheight);
	if(selectedTab == "diversiteit")
		obj.style.cursor= 'default';
	if(document.getElementById('blok'+bloknum) == null)
		return;
	var squarecount = document.getElementById('blok'+bloknum).getAttribute('title');
	if(squarecount > 0 || selectedTab == "doorzoeken")
		if ((bAppName.indexOf("Explorer") >= 0) && (bAgent.indexOf("MSIE 5")  >= 0))
			obj.style.cursor = 'hand';
		else
			obj.style.cursor = 'pointer';
	else
		obj.style.cursor = 'default';
}

function mapitZoek(aantalblokken)
{
	var i = 0;
	var nrblokken = '';
	while(i < aantalblokken)
	{
		var blok = document.getElementById('blok'+i);
		if(blok && blok.style.visibility == 'visible')
			if(nrblokken == '')
				nrblokken = '(t1.squarenumber=' + i;
			else
				nrblokken = nrblokken + ' OR t1.squarenumber=' + i;
		i = i + 1;
	}
	if(nrblokken == '')
	; else
		nrblokken = nrblokken + ')';
	return nrblokken;
}

function mapitVergelijk(obj, lang)
{

	var vergelijk1 = document.getElementById('vergelijk1');
	var val1 = vergelijk1.options[vergelijk1.selectedIndex].getAttribute('value');
	var vergelijk2 = document.getElementById('vergelijk2');
	var val2 = vergelijk2.options[vergelijk2.selectedIndex].getAttribute('value');
	var mess1, mess2;
	if(lang == 'uk')
	{
		mess1 = 'Choose two species to compare.';
		mess2 = 'You can\'t compare a species to itself, choose two different species.';
	}
	else
	{
		mess1 = 'Kies de twee soorten om met elkaar te vergelijken.';
		mess2 = 'Een soort kan niet met zichzelf vergeleken worden. Kies twee unieke soorten.';
	}
	if(val1 == 'start' || val2 == 'start')
		alert(mess1);
	else if(val1 == val2)
		alert(mess2);
	else
	{
		//alert(proj()+'.php?menuentry=atlas&selected=vergelijken&vergelijk1='+val1+'&vergelijk2='+val2);
		document.location.href = "soorten.php?soortengroep=" + project+'&menuentry=atlas&selected=vergelijken&vergelijk1='+val1+'&vergelijk2='+val2;
	}
}

// http://www.codelifter.com/main/javascript/capturemouseposition1.html

// Detect if the browser is IE or not.
// If it is not IE, we assume that the browser is NS.
var IE = document.all?true:false

// If NS -- that is, !IE -- then set up for mouse capture
if (!IE) document.captureEvents(Event.MOUSEMOVE)

// Set-up to use getMouseXY function onMouseMove
document.onmousemove = getMouseXY;

// Temporary variables to hold mouse x-y pos.s
var tempX = 0
var tempY = 0

// Main function to retrieve mouse x-y pos.s

function getMouseXY(e) {
  if (IE) { // grab the x-y pos.s if browser is IE
    tempX = event.clientX + document.body.scrollLeft
    tempY = event.clientY + document.body.scrollTop
  } else {  // grab the x-y pos.s if browser is NS
    tempX = e.pageX
    tempY = e.pageY
  }  
  // catch possible negative values in NS4
  if (tempX < 0){tempX = 0}
  if (tempY < 0){tempY = 0}
  return true
}

function SetCookie(cookieName, value)
{
	//alert(cookieName);
	//alert(value);
	var argv = SetCookie.arguments;
	var argc = SetCookie.arguments.length;
	var expires = (argc > 2) ? argv[2] : null;
	var path = (argc > 3) ? argv[3] : null;
	var domain = (argc > 4) ? argv[4] : null;
	var secure = (argc > 5) ? argv[5] : false;
	document.cookie = cookieName + "=" + escape (value) +
	((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
	((path == null) ? "" : ("; path=" + path)) +
	((domain == null) ? "" : ("; domain=" + domain)) +
	((secure == true) ? "; secure" : "");
}

function ReadCookie(cookieName)
{
	var theCookie=""+document.cookie;
	var ind=theCookie.indexOf(cookieName);
	if (ind==-1 || cookieName=="") return "";
	var ind1=theCookie.indexOf(';',ind);
	if (ind1==-1) ind1=theCookie.length;
	return unescape(theCookie.substring(ind+cookieName.length+1,ind1));
}

function initializeCookies()
{
	i = 0;
	while(i < 12)
	{
		i++;
		SetCookie("legendActive["+i+"]", 'true');
	}
}

function zoekenter(E)
{
	return (E.keyCode == 13);
}

// script for tree, 27-07-04, RB/RA
// set cookie with link to use when clicking plus or minus symbol in tree and
// reload page to go to selected taxon in tree using anchor;
// collapsed is used to fix problem of page not reloading because link is identical to current url
function treeAction(link, node, taxon, collapsed, URL, proj)
{
	document.location = URL + '&' + proj + '-taxon='+ taxon + '&' + proj + '-node='+ node +'&'+ proj + '-treepath='+link+'&collapsed='+collapsed+'#'+node;
}

