	/** The current search path (Verzekeringsmaatschappijen, Gevolmachtigden en ATP, Anderen) */ 
	var current_search_path = 0;


	//Fix for Opera
	var use_opera = false;
	var use_firefox = false;
	if(navigator.userAgent.indexOf("Opera")!=-1)
	{
		var versionindex=navigator.userAgent.indexOf("Opera")+6
		if (parseInt(navigator.userAgent.charAt(versionindex))>=8)
		{
			use_opera = true;
		}
	}
	if(navigator.userAgent.indexOf("Firefox")!=-1)
	{
		use_firefox = true;
	}
	//alert(use_opera);
	//alert(use_firefox);

	var display_property;
	if(document.all && !use_opera)
	{
		display_property = 'inline';
	}
	else
	{
		display_property = 'table-row';
	}
	
	function trim(str)
	{
	   return str.replace(/^\s*|\s*$/g,"");
	}

	function displayElement(element_name, display)
	{
		var els = document.getElementsByName(element_name);
		for(var i = 0; i < els.length; i++)
		{	
			els[i].style.display = display;
		}
	}
	
	function resetItem()
	{
		var spans = document.getElementsByTagName("span");
		for(var i = 0; i < spans.length; i++)
		{	
			if(spans[i].id.substr(0, 8) == "bedrijf_")
			{
				spans[i].innerHTML = '';
			}
		}

	//TODO
/*
		var bedrijf_table = document.getElementById("bedrijf");
		var bedrijf_rows = bedrijf_table.getElementsByTagName("tr");
		for(var i = 0; i < bedrijf_rows.length; i++)
		{	
			if(bedrijf_rows[i].id.substr(0, 12) == "row_bedrijf_")
			{
				bedrijf_rows[i].style.display = 'none';
			}
		}
**/		
	}

	
	function hideItems()
	{
		document.getElementById("div_error").style.display = 'none';

		if(current_search_path > 0)
		{
			document.getElementById("div_snelzoeken").style.display = 'none';
			document.getElementById("div_zoeken").style.display = 'block';
		}
		else
		{
			document.getElementById("div_snelzoeken").style.display = 'block';
			document.getElementById("div_zoeken").style.display = 'none';
		}
		document.getElementById("div_bedrijven").style.display = 'none';
		document.getElementById("div_bedrijf").style.display = 'none';

		//Move scrollbar to top		
		moveScrollbarToTop();
		
		//Hide menu favorites
		hideMenuFavorites();

		//Fix layout
		fixLayout();
	}
	
	function hideItem()
	{
		if(!bedrijven || bedrijven.childNodes.length == 0)
		{
			showSnelZoekformulier();
			return;
		}
		
		document.getElementById("div_error").style.display = 'none';
		document.getElementById("div_snelzoeken").style.display = 'none';
		document.getElementById("div_zoeken").style.display = 'none';
		document.getElementById("div_bedrijven").style.display = 'block';
		document.getElementById("div_bedrijf").style.display = 'none';

		//Move scrollbar to top		
		moveScrollbarToTop();

		//Fix layout
		fixLayout();
	}

	function resetForm()
	{
		document.getElementById("form_fast_search_naam").value = '';
		document.getElementById("form_fast_search_postkode_1").value = '';
		document.getElementById("form_fast_search_postkode_2").value = '';
		document.getElementById("form_fast_search_plaatsnaam").value = '';
		document.getElementById("form_fast_search_prov").value = '';
		document.getElementById("form_fast_search_wfd_code").value = '';

		document.getElementById("form_search_naam").value = '';
		document.getElementById("form_search_postkode_1").value = '';
		document.getElementById("form_search_postkode_2").value = '';
		document.getElementById("form_search_plaatsnaam").value = '';
		document.getElementById("form_search_wfd_code").value = '';
		document.getElementById("form_search_porcode").value = '';
		document.getElementById("form_search_lid").value = '';
		document.getElementById("form_search_adn_no").value = '';
		document.getElementById("form_search_verbonden_met").value = '';

		document.getElementById("form_search_prov").value = '';
		document.getElementById("ImageProvincie").src = frontendurl + '/images/map/nederland.gif';
		
		form_search_rubriek_reset();
		//form_search_prov_reset();
		form_search_branche_reset();
		form_search_specialisme_reset();
		form_search_expertise_reset();
		form_search_salvage_reset();
		form_search_productdienst_reset();

		//TODO
		//document.getElementById("form_search_naam").value = 'de heer';
		//document.getElementById("form_fast_search_naam").value = 'de heer';
	}

	function hideSnelZoekformulier()
	{
		document.getElementById("div_snelzoeken").style.display = 'none';
	}
	
	function hideZoekformulierExtra()
	{
		document.getElementById("wfd_code").style.display = 'none';
		document.getElementById("porcode").style.display = 'none';
		document.getElementById("lid").style.display = 'none';
		document.getElementById("verbonden").style.display = 'none';
		document.getElementById("wfd_codes").style.display = 'none';
		document.getElementById("adn_no").style.display = 'none';
		document.getElementById("expertises").style.display = 'none';
		document.getElementById("specialismes").style.display = 'none';
		document.getElementById("salvages").style.display = 'none';
		document.getElementById("wfd_codes").style.display = 'none';
		document.getElementById("branches").style.display = 'none';

/*
		displayElement("wfd_code", "none");
		displayElement("porcode", "none");
		displayElement("verbonden", "none");
		displayElement("wfd_codes", "none");
		displayElement("adn_no", "none");
		displayElement("expertises", "none");
		displayElement("specialismes", "none");
		displayElement("salvages", "none");
		displayElement("wfd_codes", "none");
		*/
	}

	function showSnelZoekformulier()
	{
		current_search_path = 0;
		hideItems();

		//Update images		
		updateColors();
		
		//Update menu
		hideMenuFavorites();
		
		//Fix layout
		fixLayout();
	}
	
	function showZoekformulierVerzekering()
	{
		current_search_path = '1';

		hideItems();
		resetForm();

		hideZoekformulierExtra();
		
		document.getElementById("wfd_code").style.display = display_property;
		document.getElementById("porcode").style.display = display_property;
		document.getElementById("verbonden").style.display = display_property;

		document.getElementById("rubrieken").style.display = 'block';
		document.getElementById("branches").style.display = 'block';
		document.getElementById("wfd_codes").style.display = 'block';

		//Set title
		try { document.getElementById("search_title").innerHTML = "Verzekeringsmaatschappijen"; } catch (exception) {} 

		//Update rubrieken
		form_search_rubriek_set_options_simple(js_verzekeringsmaatschappij_rubrieken);

		//Set focus
		document.getElementById("form_search_naam").focus();

		//Update images		
		updateColors();

		//Update menu
		showMenuFavorites();
	
		//Fix layout
		fixLayout();
	}

	function showZoekformulierATP()
	{
		current_search_path = '2';
		hideItems();
		resetForm();

		hideZoekformulierExtra();

		document.getElementById("wfd_code").style.display = display_property;
		document.getElementById("porcode").style.display = display_property;
		document.getElementById("adn_no").style.display = display_property;
		document.getElementById("verbonden").style.display = display_property;
		document.getElementById("lid").style.display = display_property;

		document.getElementById("rubrieken").style.display = 'block';
		document.getElementById("specialismes").style.display = 'block';
		document.getElementById("wfd_codes").style.display = 'block';
		//document.getElementById("salvages").style.display = 'block';  //Zie opm. stephanie in Excel sheet

		//Set title
		try { document.getElementById("search_title").innerHTML = "Assurantietussenpersonen en gevolmachtigden"; } catch (exception) {} 
		
		//Update rubrieken
		form_search_rubriek_set_options_simple(js_atp_rubrieken);

		//Set focus
		document.getElementById("form_search_naam").focus();

		//Update images		
		updateColors();

		//Update menu
		showMenuFavorites();

		//Fix layout
		fixLayout();
	}

	function showZoekformulierAnderen()
	{
		current_search_path = '3';
		hideItems();
		resetForm();
		
		hideZoekformulierExtra();

		document.getElementById("rubrieken").style.display = 'block';
		document.getElementById("expertises").style.display = 'block';
		document.getElementById("salvages").style.display = 'block';  //Zie opm. stephanie in Excel sheet

		//Set title
		try { document.getElementById("search_title").innerHTML = "Overige"; } catch (exception) {} 

		//Update rubrieken
		form_search_rubriek_set_options_simple(js_anderen_rubrieken);

		//Set focus
		document.getElementById("form_search_naam").focus();

		//Update images		
		updateColors();

		//Update menu
		showMenuFavorites();

		//Fix layout
		fixLayout();
	}

	function keypressSearchForm(oEvent)
	{
		if ((oEvent.keyCode && oEvent.keyCode==13) || (oEvent.which && oEvent.which==13)) 
		{
			loadItems();
		}
	}




	
	/**
	* Updates the image colors 
	*/
	function updateColors()
	{
		if(template != "nva")
		{
			return;
		}
		
		if(current_search_path == '1')
		{
			image_color = 'red';
			table_color = '#fae5e5';
			link_color = '#cc0000';
			link_light_color = '#fae5e5';
		}
		else if(current_search_path == '2')
		{
			image_color = 'orange';
			table_color = '#ffebcc';
			link_color = '#ff9900'; 		//'#ED9E27';
			link_light_color = '#ffebcc';
		}
		else if(current_search_path == '3')
		{
			image_color = 'blue';
			table_color = '#e5e5fa';
			link_color = '#0000cc';
			link_light_color = '#e5e5fa';
		}

		//Update image urls
		var images = document.getElementsByTagName("img");
		for(var i = 0; i < images.length; i++)
		{
			var url = images[i].src;
			if(url.indexOf(frontendurl) == 0)
			{
				if(url.indexOf('orange') > 0)
				{
					url = url.replace('orange', image_color);
				}
				else if(url.indexOf('red') > 0)
				{
					url = url.replace('red', image_color);
				}
				else if(url.indexOf('blue') > 0)
				{
					url = url.replace('blue', image_color);
				}
				else if(url.indexOf('green') > 0)
				{
					url = url.replace('green', image_color);
				}
			}
			images[i].src = url;
		}

		//Update table colors
		document.getElementById("table_zoeken_adres").style.backgroundColor = table_color;		
		document.getElementById("table_zoeken_adres_velden").style.backgroundColor = table_color;		
		document.getElementById("table_zoeken_provincie").style.backgroundColor = table_color;		
		document.getElementById("table_zoeken_extra").style.backgroundColor = table_color;		
		document.getElementById("table_zoeken_extra_velden").style.backgroundColor = table_color;		

		document.getElementById("table_zoeken_rubrieken").style.backgroundColor = table_color;		
		document.getElementById("table_zoeken_branches").style.backgroundColor = table_color;		
		document.getElementById("table_zoeken_expertises").style.backgroundColor = table_color;		
		document.getElementById("table_zoeken_specialismen").style.backgroundColor = table_color;		
		document.getElementById("table_zoeken_salvages").style.backgroundColor = table_color;		
		document.getElementById("table_zoeken_productdienst").style.backgroundColor = table_color;		

		document.getElementById("table_adres").style.backgroundColor = table_color;		
		document.getElementById("table_algemeen").style.backgroundColor = table_color;		
		document.getElementById("table_maatschappijen").style.backgroundColor = table_color;		
		document.getElementById("table_atp").style.backgroundColor = table_color;		
		document.getElementById("table_diversen").style.backgroundColor = table_color;		
		document.getElementById("table_productdienstcombinaties").style.backgroundColor = table_color;		
		document.getElementById("table_wettelijk_vertegenwoordiger").style.backgroundColor = table_color;		
		document.getElementById("table_personen").style.backgroundColor = table_color;

		//Update corner styles
		var corners = document.getElementsByName("corner_lb");
		for(var i = 0; i < corners.length; i++)
		{
			corners[i].style.background = 'url(' + frontendurl + 'images/' + image_color + '/hoek_lb.gif) ' + table_color + ' no-repeat left top';
			corners[i].style.backgroundColor = table_color;
		}
	
		corners = document.getElementsByName("corner_rb");
		for(var i = 0; i < corners.length; i++)
		{
			corners[i].style.background = 'url(' + frontendurl + 'images/' + image_color + '/hoek_rb.gif) ' + table_color + ' no-repeat right top';
			corners[i].style.backgroundColor = table_color;
		}

		corners = document.getElementsByName("corner_lo");
		for(var i = 0; i < corners.length; i++)
		{
			corners[i].style.background = 'url(' + frontendurl + 'images/' + image_color + '/hoek_lo.gif) ' + table_color + ' no-repeat left bottom';
			corners[i].style.backgroundColor = table_color;
		}

		corners = document.getElementsByName("corner_ro");
		for(var i = 0; i < corners.length; i++)
		{
			corners[i].style.background = 'url(' + frontendurl + 'images/' + image_color + '/hoek_ro.gif) ' + table_color + ' no-repeat right bottom';
			corners[i].style.backgroundColor = table_color;
		}

		//Update link styles
		var links = document.getElementsByName("arrow_link");
		for(var i = 0; i < links.length; i++)
		{
			links[i].className = 'arrow_link_' + image_color;
		}

//		links = document.getElementsByName("sortheader_link");
//		for(var i = 0; i < links.length; i++)
//		{
//		alert(links[i].name);
//			links[i].style.color = table_color;
//		}
		

//		getStylesheetRule('TD.corner_lb_o').style.background = 'url(' + frontendurl + 'images/' + image_color + '/hoek_lb.gif) ' + table_color + ' no-repeat left top';
//		getStylesheetRule('TD.corner_lb_o').style.backgroundColor = table_color;
//		getStylesheetRule('TD.corner_rb_o').style.background = 'url(' + frontendurl + 'images/' + image_color + '/hoek_rb.gif) ' + table_color + ' no-repeat left top';
//		getStylesheetRule('TD.corner_rb_o').style.backgroundColor = table_color;
//		getStylesheetRule('TD.corner_lo_o').style.background = 'url(' + frontendurl + 'images/' + image_color + '/hoek_lo.gif) ' + table_color + ' no-repeat left top';
//		getStylesheetRule('TD.corner_lo_o').style.backgroundColor = table_color;
//		getStylesheetRule('TD.corner_ro_o').style.background = 'url(' + frontendurl + 'images/' + image_color + '/hoek_ro.gif) ' + table_color + ' no-repeat left top';
//		getStylesheetRule('TD.corner_ro_o').style.backgroundColor = table_color;
	}

	function getStylesheetRule(ruleName)
	{
		var stylesheets = document.styleSheets;
		for(var i = 0; i < stylesheets.length; i++)
		{
			//Get non-href stylesheets (inner declaration in header.inc.php)
			if(stylesheets[i].href == '')
			{
				var rules = stylesheets[i].rules;
				for(var j = 0; j < rules.length; j++)
				{
					if(rules[j].selectorText == ruleName)
					{
						//alert(rules[j].selectorText);
						return rules[j];
					}
				}
			}
		}
	}
	
	/** Sets the selected provincie */
	function addProvincie(prov, img)
	{
		document.getElementById("form_search_prov").value = prov;
		document.getElementById("ImageProvincie").src = frontendurl + 'images/map/' + img;
		document.getElementById("ImageProvincie").oSrc = frontendurl + 'images/map/' + img;
	}

	/** Adds the selected provincie to provincie list */
	function addMultipleProvincie(prov)
	{
		var provSel = document.getElementById("form_search_prov[]");
		var prov_in_list = false;
	    for (i = provSel.length - 1; i>=0; i--) 
		{
			if (provSel.options[i].value == prov) 
		    {	
		    	//item already exists in list
		    	prov_in_list = true;	
		    }
		}
		if(!prov_in_list)
		{
		    var provOption = document.createElement('option');
		    provOption.setAttribute("value", prov);
		    provOption.appendChild(document.createTextNode(prov));
	        provSel.appendChild(provOption); 
		}
		//document.getElementById("form_search_prov").value = prov;
	}
	
	/** Removes the selected provincie from provincie list */
	function removeMultipleProvincie()
	{
		var provSel = document.getElementById("form_search_prov[]");
		for (i = provSel.length - 1; i>=0; i--) 
		{
			if (provSel.options[i].selected) 
		    {	
		    	provSel.options[i] = null;	
		    }
		}
	}
	
	
	function moveScrollbarToTop()
	{
		//Move scrollbar to top		
		if(use_opera)
		{
			window.document.body.scrollTop = '0';
		}
		else
		{

			if(template == "nva")
			{
				try
				{
					var tmp_url = window.parent.location.href.replace('#top', '');
					window.parent.location.href = tmp_url + '#top';
				}
				catch (exception)
				{}
			}			
			else
			{
				var tmp_url = window.location.href.replace('#top', '');
				window.location.href = tmp_url + '#top';
			}
		}
	}
	
	function agree()
	{
		if(document.agreeform.form_agree.checked)
		{
			document.agreeform.submit();
		}
		else
		{
			alert("Om VVP Vademecum te mogen gebruiken, moet u akkoord gaan met de voorwaarden.")
		}
		
	}
	

