// search.js
// (c) Sander Spies / om|vorm (www.omvorm.nl), m.u.v. Ajax.Request.abort
var searchType = ( SWFAddress.getParameter('type') == 'keyword' ) ? 'keyword' : 'advanced';
var land, streek;
var db_images = "/images/dyn/db";
var searched = false;
var ids = new Array();

/**
 * Ajax.Request.abort
 * extend the prototype.js Ajax.Request object so that it supports an abort method
 */
Ajax.Request.prototype.abort = function()
{
	// prevent and state change callbacks from being issued
	this.transport.onreadystatechange = Prototype.emptyFunction;
	// abort the XHR
	this.transport.abort();
	// update the request counter
	Ajax.activeRequestCount--;
}

function init()
{
	var hideForm = ( searchType == 'keyword' ) ? 'advanced' : 'keyword';
	$(hideForm).hide();
	$(hideForm).setStyle( {opacity: 0} );

	land = SWFAddress.getParameter('land');
	streek = SWFAddress.getParameter('streek');
}

function handleChange()
{
	// Juist zoekopties tonen
	if ( !SWFAddress.getParameter('type').blank() && SWFAddress.getParameter('type') != searchType )
	{
		searchType = SWFAddress.getParameter('type');
		searchbox( searchType );
	}

//	if ( ( SWFAddress.getParameter('type') == 'advanced' || SWFAddress.getParameter('type') == 'keyword' ) && SWFAddress.getParameterNames().length > 1 )
	if ( SWFAddress.getParameter('type') == 'advanced' || SWFAddress.getParameter('type') == 'keyword' )
	{
		if ( !SWFAddress.getParameter('id').blank() && !isNaN( SWFAddress.getParameter('id') ) )
		{
			switch ( searched )
			{
				case true:
					showDetails( SWFAddress.getParameter('id') );
				break;
				case false:
					getResults( SWFAddress.getParameter('id') );
					updateSearchForm();
				break;
			}
		}
		else if ( SWFAddress.getParameter('s').blank() || !searched ) // var s is een controle var waarmee wordt voorkomen dat 'interne' links een reload van de zoekresultaten veroorzaken
		{
			getResults();
			updateSearchForm();
		}
	}
}

function updateSearchForm()
{
	switch ( searchType )
	{
		case 'keyword':
			if ( !SWFAddress.getParameter('trefwoord').blank() )
			{
				$('trefwoord').value = SWFAddress.getParameter('trefwoord');
			}
		break;

		case 'advanced':
			preselectItem( 'soort', SWFAddress.getParameter('soort') );
			preselectItem( 'land', SWFAddress.getParameter('land') );
			preselectItem( 'druif', SWFAddress.getParameter('druif') );
			preselectItem( 'prijs', SWFAddress.getParameter('prijs') );

			if ( land != SWFAddress.getParameter('land') )
			{
				land = SWFAddress.getParameter('land');
				updateRelated('streek', land);
			}
			if ( streek != SWFAddress.getParameter('streek') )
			{
				streek = SWFAddress.getParameter('streek');
				updateRelated('regio', streek);
			}
		break;
	}
}

function searchbox(sb)
{
	var sb = (sb == 'advanced') ? 'advanced' : 'keyword';
	var theOther = (sb == 'advanced') ? 'keyword' : 'advanced';

	new Effect.Opacity(theOther, {
		duration: 0.3,
		from: 1.0,
		to: 0.0,
		afterFinish: function()
		{
			$(theOther).hide();
			$(sb).show();
		}
	});

	new Effect.Opacity(sb, {
		duration: 0.3,
		delay: 0.3,
		from: 0.0,
		to: 1.0,
		afterFinish: function()
		{
			updateUri();
		}
	});
}

function buildUri()
{
	var querystring = '?type=' + searchType;
	switch (searchType)
	{
		case 'keyword':
			if ( !$F('trefwoord').blank() )
			{
				var trefwoord = $F('trefwoord').replace(/[^a-z0-9 ,=_&\-\.\?\+\/]*/ig, '')
				querystring += '&trefwoord=' + escape( trefwoord );
			}
		break;

		case 'advanced':
			var parts = new Array();
			var i = -1;
			if ( !$F('soort').blank() )
			{
				parts[++i] = "soort=" + $F('soort').toString();
			}
			if ( !$F('land').blank() )
			{
				parts[++i] = "land=" + $F('land').toString();

				if ( !$F('streek').blank() )
				{
					parts[++i] = "streek=" + $F('streek').toString();

					if ( !$F('regio').blank() )
					{
						parts[++i] = "regio=" + $F('regio').toString();
					}
				}
			}
			if ( !$F('druif').blank() )
			{
				parts[++i] = "druif=" + $F('druif').toString();
			}
			if ( !$F('prijs').blank() )
			{
				parts[++i] = "prijs=" + $F('prijs').toString();
			}

			if (parts.length > 0)
			{
				querystring += '&' + parts.join('&');
			}
		break;
	}

	// Aanbieding
	if ( $('aanbieding') && $F('aanbieding') == '1' )
	{
		querystring += '&aanbieding=1';
	}

	// Sorteervolgorde
	if ( $('sorteer') && !$F('sorteer').blank() )
	{
		querystring += '&sorteer=' + $F('sorteer');
	}

	return '/zoek/' + querystring;
}

function updateUri()
{
	document.location.href = '#' + buildUri();
}

function preselectItem(dropdownId, selectedItem)
{
	for (var i=0; i<$(dropdownId).options.length; i++)
	{    
		if ( $(dropdownId).options[i].value == selectedItem )
		{
			$(dropdownId).options[i].selected = true;
			break;
		}
	}
}

function updateRelated(updateDropdown, id)
{
	if ( updateDropdown == 'streek' || updateDropdown == 'regio')
	{
		var id = ( id.blank() || typeof(id) == 'undefined' || isNaN(id) ) ? 0 : parseInt(id);

		new Ajax.Request('/json/search.json',
		{
			method: 'get',
			parameters:
			{
				update: updateDropdown,
				id: id
			},
			requestHeaders: {Accept: 'application/json'},
			onCreate: function() {},
			onSuccess: function(transport)
			{
				var json = transport.responseText.evalJSON(true);
				switch(updateDropdown)
				{
					case 'streek':
						$('streek').update('');
						$('streek').insert({top: '<option value="">-</option>'});
						$('streek').disabled = true;

						$('regio').update('');
						$('regio').insert({top: '<option value="">-</option>'});
						$('regio').disabled = true;

						if ( json.length > 0)
						{
							$('streek').disabled = false;
							for (var i=0; i<json.length; i++)
							{
								$('streek').insert({bottom: '<option value="'+json[i].id+'">'+json[i].naam+'</option>'});
								if ( SWFAddress.getParameter('streek') == json[i].id)
								{
									var index = i+1;
								}
							}

							$('streek').selectedIndex = (typeof(index) == 'undefined') ? 0 : index;
						}
					break;

					case 'regio':
						$('regio').update('');
						$('regio').insert({top: '<option value="">-</option>'});
						$('regio').disabled = true;

						if ( json.length > 0)
						{
							$('regio').disabled = false;
							for (var j=0; j<json.length; j++)
							{
								$('regio').insert({bottom: '<option value="'+json[j].id+'">'+json[j].naam+'</option>'});
								if ( SWFAddress.getParameter('regio') == json[j].id)
								{
									var index = j+1;
								}
							}

							$('regio').selectedIndex = (typeof(index) == 'undefined') ? 0 : index;
						}
					break;
				}
			},
			onFailure: function()
			{
				$('results').update('<p>Er is een fout opgetreden. Probeert u het nogmaals over enkele seconden.</p>');

				// Dropdown lists enablen als er inhoud voor is
				$('streek').disabled = $('streek').options.length == 1 ? true : false;
				$('regio').disabled = $('regio').options.length == 1 ? true : false;
			}
		});
	}
}

function getResults(id)
{
	var searchPars = new Object();
	var done = false;

	switch ( searchType )
	{
		case 'keyword':
			searchPars.type = 'keyword';
			searchPars.trefwoord = SWFAddress.getParameter('trefwoord');
		break;

		case 'advanced':
			searchPars.type = 'advanced';
			searchPars.soort = SWFAddress.getParameter('soort');
			searchPars.land = SWFAddress.getParameter('land');
			searchPars.streek = SWFAddress.getParameter('streek');
			searchPars.regio = SWFAddress.getParameter('regio');
			searchPars.druif = SWFAddress.getParameter('druif');
			searchPars.prijs = SWFAddress.getParameter('prijs');
		break;
	}
	searchPars.sorteer = SWFAddress.getParameter('sorteer');
	searchPars.pagina = SWFAddress.getParameter('pagina');
	searchPars.aanbieding = SWFAddress.getParameter('aanbieding');

	var myAjaxRequest = new Ajax.Request('/json/search.json',
	{
		parameters: searchPars,
		requestHeaders: {Accept: 'application/json'},
		onCreate: function()
		{
			$('content').update('<h1>Zoekresultaten</h1><div id="results"></div>');
			$('results').update('<p class="loading">De zoekresultaten worden opgehaald...</p>');

			var looped = 1;
			new PeriodicalExecuter(function(pe)
			{
				if (!done)
				{
					switch ( looped )
					{
						case 1: // Na 1*3=3 seconden
							$('results').update('<p class="loading">Het ophalen van gegevens duurt nog iets langer...</p>');
						break;

						case 5: // Na 5*3=15 seconden
							$('results').update('<p>Het ophalen van gegevens is mislukt. <a href="javascript:window.location.reload()">Herlaad</a> de pagina om het opnieuw te proberen.<br>Onze excuses voor het ongemak!</p>');
							pe.stop();
							myAjaxRequest.abort();
						break;
					}
					looped++;
				}
				else
				{
					pe.stop();
				}
			}, 3);
		},
		onSuccess: function(transport)
		{
			done = true;
			searched = true;

			// Ruwe JSON respons weergeven
			//document.getElementsByTagName('body')[0].insert({bottom: '<br style="clear:both;"><p>Ruwe JSON respons:</p><form><textarea name="resultaat" cols="120" rows="25" id="resultaat" style="width:788px;margin-bottom:50px;"></textarea></form>'});
			//$('resultaat').value = transport.responseText;

			var json = transport.responseText.evalJSON(true);

			// Pagina titel
			if (json.meta.pageTitle != "") {
				$('content').update('<h1>' + json.meta.pageTitle + '</h1><div id="results"></div>');
				document.title = json.meta.pageTitle + " - Wijnboetiek Het Gouden Glas Utrecht";
			}
			else
			{
				document.title = "Wijnboetiek Het Gouden Glas Utrecht";
			}

			switch( json.meta.totalResults )
			{
				case 0:
					found = '<p>Er werden geen wijnen gevonden die aan uw zoekopdracht voldoen.</p>'
				break;
				case 1:
					found = '<p>Er werd 1 wijn gevonden die aan uw zoekopdracht voldoet.</p>'
				break;
				default:
					found = '<p>Er werden '+json.meta.totalResults+' wijnen gevonden die aan uw zoekopdracht voldoen.</p>';
			}
			$('results').update(found);

			$('results').insert({bottom: '<div id="options"><form><div style="float:right;"><label for="sorteer">Sorteer: </label><select name="sorteer" id="sorteer" class="select" onchange="updateUri()" class="select" style="vertical-align:middle;"><optgroup label="Alfabetisch"><option value="" selected="selected">Alfabetisch, oplopend</option><option value="aa">Alfabetisch, aflopend</option></optgroup><optgroup label="Op prijs"><option value="po">Op prijs, oplopend</option><option value="pa">Op prijs, aflopend</option></optgroup></select></div><div style="float:left;"><input type="checkbox" name="aanbieding" id="aanbieding" value="1" onclick="updateUri()" style="vertical-align:middle;"><label for="aanbieding"> Alleen aanbiedingen tonen</label></div></form></div>'});
			if ( SWFAddress.getParameter('aanbieding') == '1' )
			{
				$('aanbieding').checked = true;
				document.getElementsByTagName('body')[0].id='aanbiedingen';
			}
			else
			{
				document.getElementsByTagName('body')[0].id='wijndatabase';
			}
			preselectItem( 'sorteer', SWFAddress.getParameter('sorteer') );

			if ( json.meta.totalResults > 0 )
			{
				// Paginanummering
				if ( json.meta.totalPages > 1 )
				{
					var paginas = pagination(json.meta.totalPages);
					$('results').insert({bottom: paginas});
				}

				// Resultaten weergeven
				for (i=0; i<json.results.length; i++)
				{
					ids[i] = json.results[i].barcode;

					// Indien aanbieding
					if ( json.results[i].aanbieding != null )
					{
						$('results').insert({bottom: '<div id="aa'+i+'" class="aanbieding"><img id="aaimg'+i+'" src="/images/aanbieding.png" style="position:absolute;left:-16px;top:29px;z-index:100;" alt="Actie"></div>\n'});
						$('aaimg'+i).setStyle( {opacity: 0} );
						$('aa'+i).insert({bottom: '<div id="rl'+i+'" class="res"></div>\n'});

						new Effect.Opacity('aaimg'+i, {
							duration: 0.5,
							delay: 2.0,
							from: 0.0,
							to: 1.0
						});
					}
					else
					{
						$('results').insert({bottom: '<div class="res"><div id="rl'+i+'"></div></div>\n'});
					}

					$('rl'+i).setStyle( {opacity: 0} ); // Resultaat verbergen om in te kunnen faden

					// Afbeelding
					if ( typeof(json.results[i].afbeelding) != "undefined" )
					{
						$('rl'+i).insert({bottom: '<div id="th'+i+'" class="thumb"><a href="'+buildUri()+'&id=' + json.results[i].barcode + '"><img src="'+db_images+'/'+json.results[i].afbeelding+'" alt="'+json.results[i].omschrijving+'"></a></div>'});
					}
					else
					{
						$('rl'+i).insert({bottom: '<div id="th'+i+'" class="thumb"></div>'});
					}

					$('rl'+i).insert({bottom: '<div id="om'+i+'" class="omschrijving"><h2>' + json.results[i].omschrijving + '</h2><p>' + json.results[i].herkomst + '</p></div>'});
					if ( json.results[i].introductie != null )
					{
						$('om'+i).insert({bottom: '<p>' + json.results[i].introductie + '</p>'});
					}
					$('rl'+i).insert({bottom: '<div class="det"><p>' + json.results[i].soort + (json.results[i].jaar != null ? ' / '+json.results[i].jaar : '') + '<br>'+json.results[i].inhoud + '<br>'+(json.results[i].prijs != "0,00" ? '&euro; '+json.results[i].prijs+' per fles' : 'prijs nog niet bekend')+'</p></div>'});
					$('rl'+i).insert({bottom: '<br style="clear:both;">'}); // overflow:hidden op divs met class 'res' (om de floats correct weer te geven) werkt helaas niet goed in FF2, daarom de oude vertrouwde break met clear

					// Eventueel paginanummer opnemen in de URL
					var page = SWFAddress.getParameter('pagina').blank() ? "" : "&pagina="+SWFAddress.getParameter('pagina');

					if ( json.results[i].rassen != null || json.results[i].wijnomschrijving != null || json.results[i].aanbieding != null )
					{
						// Details (padding zit op een extra div om de 'jump' bij het open- en dichtschuiven in FF2 te voorkomen)
						$('rl'+i).insert({bottom: '<div id="de'+i+'" style="padding-left:132px;"><div style="padding-bottom:20px;">'+(json.results[i].rassen != null ? '<h3>Druivenrassen</h3><p>'+json.results[i].rassen+'</p>':'')+(json.results[i].wijnomschrijving != null ? '<h3>Omschrijving en details</h3><p>'+json.results[i].wijnomschrijving+'</p>':'')+(json.results[i].aanbieding != null ? '<h3>Aanbieding</h3><p>'+json.results[i].aanbieding+'</p>':'')+'</div></div>'});

						$('rl'+i).insert({bottom: '<a href="'+buildUri()+page+'&s=0" rel="'+buildUri()+page+'&s=0" class="verberg" id="verbergen'+i+'" onclick="SWFAddress.setValue(this.rel);hideDetails(\''+json.results[i].barcode+'\');return false">Verbergen</a>'}); // 'verbergen'-knop
						$('rl'+i).insert({bottom: '<a href="'+buildUri()+page+'&id=' + json.results[i].barcode + '" rel="'+buildUri()+page+'&id=' + json.results[i].barcode + '" class="details" id="det'+i+'" onclick="SWFAddress.setValue(this.rel);return false">Meer informatie</a>'}); // 'meer informatie'-knop

						$('de'+i).hide(); // Details verbergen
						$('de'+i).setStyle( {opacity: 0} );
						// 'verbergen'-knop verbergen :)
						$('verbergen'+i).setStyle( {opacity: 0} );
						$('verbergen'+i).hide();
					}

					// Resultaten met een kleine vertraging achter elkaar infaden
					new Effect.Opacity('rl'+i, {
						duration: 0.5,
						delay: 0.15*i,
						from: 0.0,
						to: 1.0
					});

					// Als er in de URL een id voorkomt worden de details van dit item direct weergegeven
					if ( typeof(id) != "undefined" && json.results[i].barcode == id )
					{
						showDetails(id);
					}
				}

				// Paginanummering weergeven onder de resultaten
				if ( !paginas.blank() )
				{
					$('results').insert({bottom: paginas});
				}
			}

			// Google Analytics
			var pagina = SWFAddress.getParameter('pagina') == '' ? '1' : SWFAddress.getParameter('pagina');
			pageTracker._trackPageview( buildUri() + '&pagina=' + pagina );
		},
		onComplete: function()
		{
			if (Ajax.activeRequestCount < 0)
			{
				Ajax.activeRequestCount = 0;
			}
		},
		onFailure: function()
		{
			done = true;
			$('results').update('<p>Er is een fout opgetreden bij het ophalen van gegevens. Probeert u het nogmaals in enkele seconden.</p>');
		}
	});
}

function pagination(totalPages)
{
	var adjacents = 2;
	var page = SWFAddress.getParameter('pagina').blank() ? 1 : parseInt( SWFAddress.getParameter('pagina') );
	if (page < 1)
	{
		page = 1;
	}
	if (page > totalPages)
	{
		page = totalPages;
	}
	var prev = page - 1;
	var next = page + 1;
	var lpm1 = totalPages - 1;

	var nav = '<div class="pagination">';

	// 'vorige'-knop
	if (page > 1)
	{
		nav += '<a href="'+buildUri()+'&pagina='+prev+'" rel="'+buildUri()+'&pagina='+prev+'" class="autowidth" onclick="SWFAddress.setValue(this.rel);return false">&laquo; vorige</a> ';
	}
	else
	{
		nav += '<span class="disabled autowidth">&laquo; vorige</span> ';
	}

	if ( totalPages < 7 + (adjacents * 2) )
	{
		for (var i=1; i<=totalPages; i++)
		{
			if (i == page)
			{
				nav += '<span class="current">'+i+'</span> ';
			}
			else
			{
				nav += '<a href="'+buildUri()+'&pagina='+i+'" rel="'+buildUri()+'&pagina='+i+'" onclick="SWFAddress.setValue(this.rel);return false">'+i+'</a> ';
			}
		}
	}
	else if( totalPages >= 7 + (adjacents * 2) ) // Enkele pagina's verbergen
	{
		// Huidige pagina is ergens aan het begin
		if( page < 1 + (adjacents * 3) )
		{
			for (var i=1; i<4 + (adjacents*2); i++)
			{
				if (i == page)
				{
					nav += '<span class="current">'+i+'</span> ';
				}
				else
				{
					nav += '<a href="'+buildUri()+'&pagina='+i+'" rel="'+buildUri()+'&pagina='+i+'" onclick="SWFAddress.setValue(this.rel);return false">'+i+'</a> ';
				}
			}

			nav += '<span class="disabled">... </span>';
			nav += '<a href="'+buildUri()+'&pagina='+lpm1+'" rel="'+buildUri()+'&pagina='+lpm1+'" onclick="SWFAddress.setValue(this.rel);return false">'+lpm1+'</a> ';
			nav += '<a href="'+buildUri()+'&pagina='+totalPages+'" rel="'+buildUri()+'&pagina='+totalPages+'" onclick="SWFAddress.setValue(this.rel);return false">'+totalPages+'</a> ';
		}

		// Huidige pagina is ergens in het midden
		else if( totalPages - (adjacents*2) > page && page > (adjacents*2) )
		{
			nav += '<a href="'+buildUri()+'&pagina=1" rel="'+buildUri()+'&pagina=1" onclick="SWFAddress.setValue(this.rel);return false">1</a> ';
			nav += '<a href="'+buildUri()+'&pagina=2" rel="'+buildUri()+'&pagina=2" onclick="SWFAddress.setValue(this.rel);return false">2</a> ';
			nav += '<span class="disabled">... </span>';

			for (var i=page-adjacents; i<=page+adjacents; i++)
			{
				if (i == page)
				{
					nav += '<span class="current">'+i+'</span> ';
				}
				else
				{
					nav += '<a href="'+buildUri()+'&pagina='+i+'" rel="'+buildUri()+'&pagina='+i+'" onclick="SWFAddress.setValue(this.rel);return false">'+i+'</a> ';
				}
			}

			nav += '<span class="disabled">... </span>';
			nav += '<a href="'+buildUri()+'&pagina='+lpm1+'" rel="'+buildUri()+'&pagina='+lpm1+'" onclick="SWFAddress.setValue(this.rel);return false">'+lpm1+'</a> ';
			nav += '<a href="'+buildUri()+'&pagina='+totalPages+'" rel="'+buildUri()+'&pagina='+totalPages+'" onclick="SWFAddress.setValue(this.rel);return false">'+totalPages+'</a> ';
		}

		// Huidige pagina is ergens aan het eind
		else
		{
			nav += '<a href="'+buildUri()+'&pagina=1" rel="'+buildUri()+'&pagina=1" onclick="SWFAddress.setValue(this.rel);return false">1</a> ';
			nav += '<a href="'+buildUri()+'&pagina=2" rel="'+buildUri()+'&pagina=2" onclick="SWFAddress.setValue(this.rel);return false">2</a> ';
			nav += '<span class="disabled">... </span>';

			for (var i = totalPages - (adjacents * 3); i<=totalPages; i++)
			{
				if (i == page)
				{
					nav += '<span class="current">'+i+'</span> ';
				}
				else
				{
					nav += '<a href="'+buildUri()+'&pagina='+i+'" rel="'+buildUri()+'&pagina='+i+'" onclick="SWFAddress.setValue(this.rel);return false">'+i+'</a> ';
				}
			}
		}
	}

	// 'volgende'-knop
	if (page < totalPages)
	{
		nav += '<a href="'+buildUri()+'&pagina='+next+'" rel="'+buildUri()+'&pagina='+next+'" class="autowidth" onclick="SWFAddress.setValue(this.rel);return false">volgende &raquo;</a>';
	}
	else
	{
		nav += '<span class="disabled autowidth">volgende &raquo;</span>';
	}

	nav += '<br style="clear:both;"></div>';
	return nav;
}

function showDetails(id)
{
	if ( ids.indexOf(id.toString()) == -1 && !$('error') ) // id.toString omdat alle waarden in de array 'ids' als strings worden gezien
	{
		$('results').insert({top: '<p id="error">Het in de URL opgegeven id ('+id.toString()+') komt niet voor op pagina.</p>'});
	}
	else if ( ids.indexOf(id) != -1 )
	{
		var id_in_page = ids.indexOf(id);
		if ( $('error') )
		{
			$('error').remove();
		}

		new Effect.BlindDown('de'+id_in_page, {
			duration: 1.0,
			queue: { position: 'end', scope: 'details' }
		});

		new Effect.Opacity('de'+id_in_page, {
			duration: 0.5,
			delay: 0.5,
			from: 0.0,
			to: 1.0,
			queue: { position: 'end', scope: 'dettext' }
		});

		// 'meer informatie'-knop verbergen
		new Effect.Opacity('det'+id_in_page, {
			duration: 0.5,
			from: 1.0,
			to: 0.0,
			queue: { position: 'end', scope: 'button1' },
			afterFinish: function() { $('det'+id_in_page).hide(); }
		});

		// 'verbergen'-knop weergeven
		$('verbergen'+id_in_page).show();
		new Effect.Opacity('verbergen'+id_in_page, {
			duration: 0.5,
			delay: 0.5,
			from: 0.0,
			to: 1.0,
			queue: { position: 'end', scope: 'button2' }
		});
	}
}

function hideDetails(id)
{
	var id_in_page = ids.indexOf(id);

	new Effect.BlindUp('de'+id_in_page, {
		duration: 1.0,
			queue: { position: 'end', scope: 'details' }
	});

	new Effect.Opacity('de'+id_in_page, {
		duration: 0.5,
		from: 1.0,
		to: 0.0,
		queue: { position: 'end', scope: 'dettext' }
	});

	// 'verbergen'-knop verbergen
	new Effect.Opacity('verbergen'+id_in_page, {
		duration: 0.5,
		from: 1.0,
		to: 0.0,
		queue: { position: 'end', scope: 'button2' },
		afterFinish: function() { $('verbergen'+id_in_page).hide(); }
	});

	// 'meer informatie'-knop weergeven
	$('det'+id_in_page).show();
	new Effect.Opacity('det'+id_in_page, {
		duration: 0.5,
		delay: 0.5,
		from: 0.0,
		to: 1.0,
		queue: { position: 'end', scope: 'button1' }
	});
}

SWFAddress.addEventListener(SWFAddressEvent.CHANGE, handleChange);
