	Event.observe(window,'load',function() {

		new Ajax.Autocompleter(
			"autocomplete",
			"autocomplete_choices",
			"/code/components/search.cfc?method=parseMembers",
			{
				paramName: 'criteria',
				minChars: 2,
				indicator: 'search-indicator',
				updateElement: function (elem) {

							if( elem.hasClassName('result') )
								window.location = elem.id;
							
							else
								window.location = elem.id + '?' + this.parameters;


				}
			}
		);
		
		Event.observe('autocomplete', 'focus', searchFocus );
		Event.observe('autocomplete', 'blur', searchBlur );

	});


	function searchFocus( event, forced ) {
		if( this.value == 'Name, Address, Company, etc..' || forced ) {
			this.value = '';
			this.removeClassName('help');
		}
	}

	function searchBlur( event, forced ) {
		if( this.value == '' || forced ) {
			this.addClassName('help');
			this.value = 'Name, Address, Company, etc..';
		}
	}


	function showAdvanced() {

		if(! $('search-advanced-form') ) {

			new Ajax.Updater(
				'inputbox',
				'/module.cfm/search/advanced_options',
				{
					method: 'get',
					insertion: 'after',
					parameters: {
						r: 'ajax',
						debug: '',
						search: window.location.search
					},
	
					onComplete: function () {
	
						$$('.scroll-list .item').each( function(elem) {
				
							elem.observe('click', function (ev) {
								this.down('input').checked = ! this.down('input').checked;
								this.toggleClassName('checked');
				
								var total = this.up('.option').select('.item.checked').length;
								if (total)
									this.up('.option').down('div.title').down('span').innerHTML = '(' + total + ')';
								else
									this.up('.option').down('div.title').down('span').innerHTML = '(All)';
				
							});
				
						});
				
						$('submit-advanced').observe('click', function (ev) {
							if( $('criteria').value == 'Name, Address, Company, etc..' ) {
								$('criteria').value = '';
							}
							$('search-advanced-form').submit();
						});
	
						$('criteria').value = $('autocomplete').value;
						$('criteria').className = $('autocomplete').className;
						Event.observe( 'criteria', 'focus', searchFocus );
						Event.observe( 'criteria', 'blur', searchBlur );
	
						$('autocomplete_choices').hide();
						$('search-advanced').show();
					}
				}	
			);

		} else {

			$('submit-advanced').observe('click', function (ev) {
				if( $('criteria').value == 'Name, Address, Company, etc..' ) {
					$('criteria').value = '';
				}
				$('search-advanced-form').submit();
			});

			$('criteria').value = $('autocomplete').value;
			$('criteria').className = $('autocomplete').className;
			Event.observe( 'criteria', 'focus', searchFocus );
			Event.observe( 'criteria', 'blur', searchBlur );

			$('autocomplete_choices').hide();
			$('search-advanced').show();

		}
	}

	function clearChecked(elem) {
		elem = $(elem);
		elem.up('div.option').select('div.item').each( function (e) {
			e.removeClassName('checked');
			e.down('input').checked = 0;
		});
		elem.up('.option').down('div.title').down('span').innerHTML = '(All)';
	}
