function onloadStatus()
{
	if(navigator.appName != "Netscape")
	{
		if(parent.refreshinvisible.RefreshPage)
			parent.refreshinvisible.RefreshPage();
	}
}

function openMelding(aanbieder)
{
	var f = window.event;
	f.cancelBubble = true;
	if (f.stopPropagation) f.stopPropagation();
	
	ShowMelding('Meldingen.aspx?segment='+aanbieder);
}


function UpdateStatusScherm(statusBronnen)
{
	var statusAanbieder = null;
	var totaalOntvangen = 0;
	var totaalTeOntvangen = 0;
	var totaalGereed = 'True';
	var geenstatusperSegment = 'True';
	
	for(var i = 0; i < statusBronnen.length; i++)
	{
		var segmentnaam = statusBronnen[i][0];
		var teontvangen = statusBronnen[i][1];
		var ontvangen   = statusBronnen[i][2];
		var gereed      = statusBronnen[i][3];
		var melding		= statusBronnen[i][4];
		
		//ongeldige karakters weghalen.
		while (segmentnaam.indexOf(' ') > 0)
			segmentnaam = segmentnaam.replace(" ","_");
		while (segmentnaam.indexOf('-') > 0)
			segmentnaam = segmentnaam.replace("-","_");
		
		if (window.document.all('Bronstatusbar_licht_' + segmentnaam) && 
			window.document.all('Bronstatusbar_donker_' + segmentnaam ))
		{
			// voorkoming ontvangen > teontvangen
			if (parseInt(teontvangen) < parseInt(ontvangen))
			{
				if (gereed == 'True')
				{
					teontvangen = ontvangen;
				}
				else
				{
					teontvangen = parseInt(ontvangen * 1.05);
				}
			}
			
			if(parseInt(teontvangen) == parseInt(ontvangen) && parseInt(ontvangen) == 0 && gereed == 'True')
			{
				eval('window.document.Bronstatusbar_licht_' + segmentnaam + '.width = 150');
				eval('window.document.Bronstatusbar_donker_' + segmentnaam + '.width = 0');
			}
			else
			{ 
				var statusbalk_width;
				if(teontvangen == 0)
					statusbalk_width = 0;
				else
					statusbalk_width = (parseInt(ontvangen) / parseInt(teontvangen) * 150);
			
				eval('window.document.Bronstatusbar_licht_' + segmentnaam + '.width = statusbalk_width');
				eval('window.document.Bronstatusbar_donker_' + segmentnaam + '.width = (150 - statusbalk_width)');
			}
		
			window.document.all('meldingweergave').innerHTML = melding;
			
			if(window.document.all('BronAantalOnvangen_'+segmentnaam))
				window.document.all('BronAantalOnvangen_' + segmentnaam).innerHTML = ontvangen; 
			if(window.document.all('BronAantalTeOnvangen_' + segmentnaam))
				window.document.all('BronAantalTeOnvangen_' + segmentnaam).innerHTML = teontvangen; 
			
			//voor het berekenen van de status van de aanbieders.
			var parent = document.all('parent_'+ segmentnaam).innerHTML;
			statusAanbieder = UpdateStatusArray(statusAanbieder, parent, teontvangen, ontvangen, gereed);
		}
		
	}
	//aanbieders
	for(var i = 0; statusAanbieder && i < statusAanbieder.length; i++)
	{
		var segmentnaam = statusAanbieder[i][0];
		var teontvangen = statusAanbieder[i][1];
		var ontvangen   = statusAanbieder[i][2];
		var gereed		= statusAanbieder[i][3];
		
		while (segmentnaam.indexOf(' ') > 0)
			segmentnaam = segmentnaam.replace(" ","_");
		while (segmentnaam.indexOf('-') > 0)
			segmentnaam = segmentnaam.replace("-","_");
		
		if (window.document.all('Aanbiederstatusbar_licht_' + segmentnaam) && 
			window.document.all('Aanbiederstatusbar_donker_' + segmentnaam ))
		{
			if(teontvangen == ontvangen && ontvangen == 0 && gereed == 'True')
			{
				eval('window.document.Aanbiederstatusbar_licht_' + segmentnaam + '.width = 150');
				eval('window.document.Aanbiederstatusbar_donker_' + segmentnaam + '.width = 0');
			}
			else
			{ 
				var statusbalk_width;
				if(teontvangen == 0)
					statusbalk_width = 0;
				else
					statusbalk_width = (ontvangen / teontvangen * 150);

				eval('window.document.Aanbiederstatusbar_licht_' + segmentnaam + '.width = statusbalk_width');
				eval('window.document.Aanbiederstatusbar_donker_' + segmentnaam + '.width = (150 - statusbalk_width)');

				window.document.all('AanbiederAantalOntvangen_' + segmentnaam).innerHTML = ontvangen; 
				window.document.all('AanbiederAantalTeOntvangen_' + segmentnaam).innerHTML = teontvangen; 
			}
		}
		
		//berekening voor het totaal.
		totaalOntvangen = parseInt(totaalOntvangen) + parseInt(ontvangen);
		totaalTeOntvangen = parseInt(totaalTeOntvangen) + parseInt(teontvangen);
		geenstatusperSegment = 'False';
		totaalGereed = (totaalGereed == 'True' && gereed == 'True') ? 'True' : 'False';
	}
	//totaal
	{
		if (window.document.all('Totaalstatusbar_licht') && 
			window.document.all('Totaalstatusbar_donker'))
		{
			if(totaalTeOntvangen == totaalOntvangen && totaalOntvangen == 0 && totaalGereed == 'True')
			{
				window.document.Totaalstatusbar_licht.width	= 150;
				window.document.Totaalstatusbar_donker.width	= 0;
			}	
			else
			{
				var statusbalk_width;
				if(totaalTeOntvangen == 0)
					statusbalk_width = 0;
				else
					statusbalk_width = (totaalOntvangen / totaalTeOntvangen * 150);
				window.document.Totaalstatusbar_licht.width	= statusbalk_width;
				window.document.Totaalstatusbar_donker.width	= 150 - statusbalk_width;
			}
			window.document.all('TotaalAantalOntvangen').innerHTML		= totaalOntvangen;
			window.document.all('TotaalAantalTeOntvangen').innerHTML	= totaalTeOntvangen;
		}
	}
	if(geenstatusperSegment == 'True')
		return false;
	return totaalGereed == 'True';
}

function UpdateStatusArray(array, name, teontvangen, ontvangen, gereed )
{
	if (array == null)
	{
		//eerste keer
		array = new Array();
		array[0] = new Array(name, teontvangen, ontvangen, gereed);
		return array;
	}
	for(var i = 0; i < array.length; i++)
	{
		if (array[i][0] == name)
		{
			array[i][1] = parseInt(array[i][1]) + parseInt(teontvangen);
			array[i][2] = parseInt(array[i][2]) + parseInt(ontvangen);
			array[i][3] = (array[i][3] == 'True' && gereed == 'True') ? 'True' : 'False';
			return array;
		}
	}
	array[array.length] = new Array(name, teontvangen, ontvangen, gereed);
	return array;
}


function DoResultLink(naam, openNamenArray)
{
	var statusBronnen = parent.frames["refreshinvisible"].statusBronnen;
	var result = "";
	if(statusBronnen!=null)
	{
		for(var i = 0; i < statusBronnen.length; i++)
		{
			var segmentnaam = statusBronnen[i][0];
			if(segmentnaam == naam)
			{	
				var ontvangen   = statusBronnen[i][2];
				var gereed      = statusBronnen[i][3];
				var segment      = statusBronnen[i][5];
				gereed = (gereed == 'True')
				//minimaal 1 resultaat voor resultaatpagina
				if(ontvangen > 0)
				{
					//alle open aanbieder (op het scherm) achterelkaar zetten en meegeven aan de resultaatzoekopdracht.
					var open_aanbieders="";
					for(var i = 0; i < openNamenArray.length; i++)
					{
						var naamInArray = openNamenArray[i][0]; //de naam;
						var open = openNamenArray[i][1]; //open, ja of nee;
						if (open == 'ja')
						{
							if (open_aanbieders != "")
								open_aanbieders += " ,";
							open_aanbieders += naamInArray;
						}
					}
				
					parent.location.href = 'ResultaatZoekopdracht.aspx?gereed='+ gereed +'&segmenten='+ segment + '&aantal=' + ontvangen+'&openAanbieders='+open_aanbieders;
					return;					
				}
			}
		}
	}
}

function DoResultTotaalLink(openNamenArray)
{
	var statusBronnen = parent.frames["refreshinvisible"].statusBronnen;
	var result = "";
	if(statusBronnen!=null)
	{
		// gereed = false als 1 van de bronnen nog niet gereed is
		var gereed = true;
		// tel het totaal aantal ontvangen resultaten
		var ontvangen = 0;
		for(var i = 0; i < statusBronnen.length; i++)
		{
			ontvangen += parseInt(statusBronnen[i][2]);
			if(statusBronnen[i][3] != 'True')
				gereed = false;
		}
		if(ontvangen > 0)
		{
			//alle open aanbieder (op het scherm) achterelkaar zetten en meegeven aan de resultaatzoekopdracht.
			var open_aanbieders="";
			for(var i = 0; i < openNamenArray.length; i++)
			{
				var naamInArray = openNamenArray[i][0]; //de naam;
				var open = openNamenArray[i][1]; //open, ja of nee;
				if (open == 'ja')
				{
					if (open_aanbieders != "")
						open_aanbieders += " ,";
					open_aanbieders += naamInArray;
				}
			}
			parent.location.href = 'ResultaatZoekopdracht.aspx?gereed='+ gereed +'&segmenten=&aantal=' + ontvangen+'&openAanbieders='+open_aanbieders;
			return;					
		}
	}
}

//Open meldingen scherm 
var wndmelding =null;
function ShowMelding(url)
{ 
	if (wndmelding)
	{  
		if (true!=wndmelding.closed)
		{ 
			wndmelding.close();
		}
	}
	wndmelding = window.open(url,'Meldingen',"left=35,top=35,height=305,width=600,channelmode=no,directories=no,status=no,toolbar=no,menubar=no,location=no,resizable=no,scrollbars=yes");
	wndmelding.focus();
}

//Open bronnenscherm 
var wndbron =null;
function ToonbronnenPopup(url)
{
	if (wndbron)
	{  
		if (true!=wndbron.closed)
		{ 
			wndbron.close();
		}
	}
	wndbron = window.open(url,'Bronnen',"left=35,top=35,height=700,width=350,channelmode=no,directories=no,status=no,toolbar=no,menubar=no,location=no,resizable=no,scrollbars=yes");
	wndbron.focus();
}


//Open afbeelding in pop-up scherm 
var wndimage = null;
function ShowImage(url)
{ 
	if (wndimage)
	{  
		if (true!=wndimage.closed) 
		{ 
			wndimage.close();
		}
	}
	wndimage = window.open(url,'InfoScherm',"left=55,top=55,height=500,width=500,channelmode=no,directories=no,status=no,toolbar=no,menubar=no,location=no,resizable=yes,scrollbars=yes");
	wndimage.focus();
}

function OpenPopupMM(url, paginaNaam, niveau, hoogte, breedte)
{
	if (wnd)
	{
		if(!wnd.closed)
		{
			//wnd.focus();
		}
	}
	var links=0;
	var boven=0;
	links+=niveau*25;
	boven+=niveau*25;
	
	wnd = window.open(url,paginaNaam,"left=" + links + ",top=" + boven + ",height=" + hoogte + ",width=" + breedte + ",channelmode=no,directories=no,status=no,toolbar=no,menubar=no,location=no,resizable=yes,scrollbars=yes");
	wnd.focus();
}


function OpenHelp(pagina,bookmark,paginaNaam,niveau, hoogte, breedte)
{	
	var url = pagina;
	var querystringindex = url.indexOf("?");
	if(querystringindex != -1)
		url = url.substring(0,querystringindex);
		
	url = url.replace(".aspx",".html");
	
	var lastslashindex = url.lastIndexOf("/");
	var partone = url.substring(0,lastslashindex);
	var parttwo = url.substring(lastslashindex,url.length);
	url = partone+ "/helpsysteem/help.aspx?url="+partone+"/help&helpbestand="+parttwo;
		
	if (bookmark.length != 0)
		url = url+"#"+bookmark;
	
	wnd = window.open(url,paginaNaam,"left=15,top=15,height=" + hoogte + ",width=" + breedte + ",channelmode=no,directories=no,status=no,toolbar=no,menubar=no,location=no,resizable=no,scrollbars=yes");
	wnd.focus();
}

function OpenDetail(url, paginaNaam, niveau, hoogte, breedte)
{
	var links=0;
	var boven=0;

	links+=niveau*25;
	boven+=niveau*25;

	rExp = / /g;

	newString = new String ("%20");
	var newurl = url.replace(rExp, newString);

	wnd = window.open(newurl,'Detail',"left=" + links + ",top=" + boven + ",height=" + hoogte + ",width=" + breedte + ",channelmode=no,directories=no,status=yes,toolbar=yes,menubar=yes,location=yes,resizable=yes,scrollbars=yes");
	wnd.focus();
}


function show(object)
{
	if (document.all) {
        document.all[object].style.visibility = 'visible';
    }
}
function hide(object) 
{
    if (document.all)
         document.all[object].style.visibility = 'hidden';
}

function toggleVisibilty(naam, openNamenArray)
{
	var found = false;
	for(var i = 0; i < openNamenArray.length; i++)
	{
		var naamInArray = openNamenArray[i][0]; //de naam;
		var open = openNamenArray[i][1]; //od fe naam opengeklapt is, ja of nee.
		if (naam == naamInArray)
		{
			found = true;
			if (open != 'ja')
				openNamenArray[i][1] = 'ja';
			else
				openNamenArray[i][1] = 'nee';
		}
	}
	if (!found)
	{
		openNamenArray[openNamenArray.length] = new Array(naam, 'ja');
	}
	
	var more = true;
	for (var i=0; more ; i++ )
	{
		var tr_object = naam+i;
		if (document.all(tr_object))
		{
			if (document.all(tr_object).style.visibility == 'visible')
			{
				document.all(tr_object).style.visibility = 'hidden';
				document.all(tr_object).style.display = 'none';
			}
			else
			{
				document.all(tr_object).style.visibility = 'visible';
				// waarde van display moet leeg zijn, voor mozilla compatibiliteit
				document.all(tr_object).style.display = '';
		
			}					
		}
		else
			more = false;
	}
	if (window.document.all("TD_"+naam+"1"))
	{
		//de onderste blauwe balk weghalen als deze opgengeklpat wordt, anders de balk weer blauw maken.
		if (document.all("TD_"+naam+"1").style.borderBottomColor != '#302d2e')
		{
			document.all("TD_"+naam+"1").style.borderBottomColor = '#302D2E'; //grijs
			document.all("TD_"+naam+"2").style.borderBottomColor = '#302D2E';
			document.all("TD_"+naam+"3").style.borderBottomColor = '#302D2E';
			document.all("TD_"+naam+"4").style.borderBottomColor = '#302D2E';
			document.all("IMG_"+naam).src="_images/min.gif"
		}
		else
		{
			document.all("TD_"+naam+"1").style.borderBottomColor = '#1AC3E1'; //blauw
			document.all("TD_"+naam+"2").style.borderBottomColor = '#1AC3E1';
			document.all("TD_"+naam+"3").style.borderBottomColor = '#1AC3E1';
			document.all("TD_"+naam+"4").style.borderBottomColor = '#1AC3E1';
			document.all("IMG_"+naam).src="_images/plus.gif"
		}
	}
}
function CalculateInstellingenEnBronnen(segmentenArray, collectie_zoekscherm)
{
	CalculateBronnen(segmentenArray, collectie_zoekscherm);
	CalculateInstellingen(segmentenArray);
}

//veranderd de instellingen die gekozen kunnen worden.
function CalculateInstellingen(segmentenArray)
{
	//kijken welke regio gekozen is
//	var selected_regio = document.Zoekform.Zoekbalkform_regios.options[document.Zoekform.Zoekbalkform_regios.selectedIndex].value;
	var selected_instelling = document.Zoekform.Zoekbalkform_plantinstellingen.options[document.Zoekform.Zoekbalkform_plantinstellingen.selectedIndex].value;
	
	var options = document.Zoekform.Zoekbalkform_plantinstellingen.options;
	options.length = 0; // removes all options.
	
	//de optie alle instellingen altijd toevoegen.
	addOption(options, "-- All institutions --");
	
	for(var i = 0; i < segmentenArray.length; i++)
	{
//		var regio			= segmentenArray[i][2];
		var instelling      = segmentenArray[i][2];

		//als alle regios is geselecteerd moeten alle instellingen erin, anders allen de instellingen die in de geselcteerde regio zitten.
//		if (selected_regio == "-- Alle regio's --" || regio == selected_regio)
			addOption(options, instelling);
	}
	for (var i=0;i<document.Zoekform.Zoekbalkform_plantinstellingen.options.length;i++)
	{
		if (document.Zoekform.Zoekbalkform_plantinstellingen.options[i].value == selected_instelling)
			document.Zoekform.Zoekbalkform_plantinstellingen.options[i].selected = true;
	}

}

function addOption(options,value) 
{
	var found = false;
	for (i=0 ; i<options.length ; i++) 
	{
		if (options[i].value == value) 
		{
			found = true;
			break;
		}
	}
	if (!found)
	{	
		options.length++; // eerst een toevoegen
        options[options.length-1] = new Option(value, value);
	}
}

function CalculateBronnen(segmentenArray, collectie_zoekscherm)
{
	var BronArray = GetBronnen(segmentenArray, collectie_zoekscherm);
	if(collectie_zoekscherm == "Plants")
		document.getElementById("zoekbalkform_aantalbronnen").innerHTML = BronArray.length;
	else
		document.getElementById("zoekbalkform_aantalbronnentaxa").innerHTML = BronArray.length;
}

function GetBronnen(segmentenArray, collectie_zoekscherm)
{
	var BronArray = new Array();
//	var collecties = "";
//	var selected_regio = "";
	var selected_instelling = "";
	//kijken welke collecties zijn aangevinkt;
//	for (var elementCounter=0,n=document.Zoekform.elements.length;elementCounter<n;elementCounter++)
//	{
//		if (document.Zoekform.elements[elementCounter].name.indexOf('Zoekbalkform:collecties') !=-1)
//		{
//			if (document.Zoekform.elements[elementCounter].checked)
//			{
//				collecties += "|"+GetLabel(document.Zoekform.elements[elementCounter].id)+"|";
//			}
//		}
//	}
	
	//kijken welke regio gekozen is
//	selected_regio = document.Zoekform.Zoekbalkform_regios.options[document.Zoekform.Zoekbalkform_regios.selectedIndex].value;

	//kijken welke instelling gekozen is
	if(collectie_zoekscherm == "Plants")
		selected_instelling = document.Zoekform.Zoekbalkform_plantinstellingen.options[document.Zoekform.Zoekbalkform_plantinstellingen.selectedIndex].value;
	else
		selected_instelling = document.Zoekform.Zoekbalkform_plantinstellingen.options[document.Zoekform.Zoekbalkform_taxoninstellingen.selectedIndex].value;
	
	var teller = 0;
	for(var i = 0; i < segmentenArray.length; i++)
	{
		var bron			= segmentenArray[i][0];
		var collectie		= segmentenArray[i][1];
		var instelling		= segmentenArray[i][2];
		
//		if (selected_regio != "-- Alle regio's --")
//		{
//			//de regio controlen
//			if (regio != selected_regio)
//				continue;
//		}
		if (selected_instelling != "-- All institutions --")
		{
			//de instelling controlen
			if (instelling != selected_instelling)
				continue;
		}
		if (collectie_zoekscherm == collectie)
		{
			BronArray[teller] = bron;
			teller = teller + 1;
		}
	}
	return BronArray;	
}

function GetLabel(labelfor)
{
	var labels, labeltekst="";
	if (document.all)
	{
		labels = document.all.tags('label');
	}
	else if (document.getElementsByTagName) 
	{
		labels = document.getElementsByTagName('label');
	}
	if (labels)
	{
		var labelText, label;
		for (var i = 0; i < labels.length; i++)
		{
			label = labels[i];
			var selectId = label.htmlFor;
			if (selectId == labelfor)
			{
				labeltekst = label.innerText;
				break;
			}
		}
	}
	return labeltekst;
}
			
function ToonBronnen(segmentenArray, collectie_zoekscherm)
{
	//maak aan de hand van het segmentenArray een bronarray (de bronnen die aangevinkt zijn op het zoekscherm)
	var BronArray = GetBronnen(segmentenArray, collectie_zoekscherm);
	ToonBronnenFromArray(BronArray);
}

function ToonAlleBronnen(segmentenArray)
{
	//maak aan de hand van het segmentenArray een bronarray met ALLE bronnen
	var BronArray = new Array();
	for(var i = 0; i < segmentenArray.length; i++)
	{
		var bron = segmentenArray[i][0];
		BronArray[BronArray.length] = bron
	}
	ToonBronnenFromArray(BronArray);
}

function ToonBronnenFromArray(BronArray)
{
	var result	= "segmenten=";
	for(var i=0 ; i < BronArray.length ; i++ )
		result += BronArray[i]+",";
	ToonbronnenPopup("Toonbronnen.aspx?"+result);
}

function resizeImage(image)
{
	if(image.width > 150) // is de afbeelding te breed?
		image.width = 150;
}


