// <![CDATA[
	var extendedsearchFocusTimeout;
	function setOptions(field, options, showIrrelevant)
	{
		field.options.length = 0;
		
		if (showIrrelevant)
		{
			field.options[0] = new Option('- Irrelevant - ', '-2', false, false);
		}
		
		for (var i = 0; i < options.size(); i++)
		{
			var optionvalue = options[i].value;
			var optiontitle = options[i].title;
			var option = new Option(optiontitle, optionvalue, false, false);
			option.selected = options[i].selected;
			if (showIrrelevant)
			{
				field.options[i + 1] = option;
			}
			else
			{
				field.options[i] = option;
			}
		}
		
		if (field.options.length == 0 || (field.options.length == 1 && showIrrelevant))
		{
			Effect.BlindUp($('tr_' + field.name), { duration: 0 });
		}
		else
		{
			Effect.BlindDown($('tr_' + field.name), { duration: 0.3 });
		}
	}
	
			var keyword = '';
	
	function showExtendedSearch()
	{
		if ($("#extendedsearch").css("display") == "none")
		{
			updateExtendedSearch();
		}
		
		extendedsearchFocusTimeout = setTimeout("$('searchtext').select()", 1000);
		
		var currentSelection = null;
		if (window.getSelection) {
			currentSelection = window.getSelection();
		}
		else if (document.selection) { // should come last; Opera!
			var selectionObject = document.selection.createRange();
			if( selectionObject )
			{
				currentSelection = selectionObject.text;
			}
		}
		
		if (currentSelection != null && currentSelection != "" )
		{
			if ( $( 'searchtext' ) )
			{
				$('searchtext').value = currentSelection;
			}
		}
	}
	
	function hideExtendedSearch()
	{
		if ($('extendedsearch').visible())
		{
			$( 'extendedsearch' ).blindUp( { duration: 0.5 } );
			$( 'mainSearchStart' ).removeClassName ( 'mainSearchStartUp' );
			$( 'mainSearchStart' ).addClassName ( 'mainSearchStartDown' );
			if( !Object.isUndefined( extendedsearchFocusTimeout ) )
			{
				window.clearTimeout( extendedsearchFocusTimeout );
			}
		}
	}
	
	function switchExtendedSearch()
	{
		if (!$('extendedsearch').visible())
		{
			showExtendedSearch();
		}
		else
		{
			hideExtendedSearch();
		}
	}
	
	function getSelectedValue(selectField)
	{
		var index = selectField.selectedIndex;

		if (index < 0 || index >= selectField.options.length)
		{
			return -2;
		}

		var value = selectField.options[index].value;
		return value;
	}
	var searchCount = 0;
	function updateExtendedSearch()
	{
		var url = '';
						url = '/myinterfaces/de/shop/searchfielddata---0--0--0' +
					'--' + getSelectedValue(document.searchform.sortimentid) +
					'--' + getSelectedValue(document.searchform.rubricid) +
					'--' + getSelectedValue(document.searchform.subrubricid) +
					'--' + getSelectedValue(document.searchform.subsubrubricid) +
					'--' + getSelectedValue(document.searchform.producerid) +
					'--' + getSelectedValue(document.searchform.vintage) +
					'--' + getSelectedValue(document.searchform.bottlevol) +
					'--' + getSelectedValue(document.searchform.price) +
					'.json';
				
		searchCount++;
		
		new Ajax.Request(url,
		{
			method: 'get',
			onSuccess: updateSuccess
		});
	}
	
	function updateSuccess ( transport )
	{
		var data = eval('(' + transport.responseText + ')');
		setOptions($("sortimentid"), data.sortiment, false);
		setOptions($("rubricid"), data.rubric, true);
		setOptions($("subrubricid"), data.subrubric, true);
		setOptions($("producerid"), data.producer, true);
		setOptions($("vintage"), data.vintage, true);
		setOptions($("bottlevol"), data.bottlevol, true);
		setOptions($("price"), data.price, true);
		setOptions($("subsubrubricid"), data.subsubrubric, true);
		
		if (!$('extendedsearch').visible())
		{
			$( 'extendedsearch' ).blindDown( { duration: 0.5 } );
			
			if ( $( 'searchtext' ) && $F( 'searchtext' ) == 'Suchbegriff eingeben...' )
			{
				$( 'searchtext' ).value = keyword;
			}
			$( 'mainSearchStart' ).removeClassName ( 'mainSearchStartDown' );
			$( 'mainSearchStart' ).addClassName ( 'mainSearchStartUp' );
		}
	}
// ]]>

