
	var disp_state = 'hidden';
	var default_text = '';
	var search_form = jQuery('form.search');
	var search_field = jQuery('#search_query');
	
	jQuery(document).ready(function($) {
	
		prepare_search(search_form);
		
		search_field.keyup(function(e) {
		
			var key = e.keyCode;
		
			if(key != 38 || key != 40) {
				var search_q = search_field.val();
				perform_search(search_q, search_field, search_form);
			}
					
		});
	

	});
	
	
	
	function prepare_search(elem) {
		
		if(jQuery('div.search_results').length == 0) {
			var search_results = jQuery('<div class="search_results"></div>');
			search_results.append('<ul></ul>');

			// Position
			var sf_pos = search_field.position();
			var sf_width = search_field.width();
			var sf_height = search_field.height();			
			search_results.css({'top': (sf_pos.top + sf_height + 11), 'left':sf_pos.left});
			
			// Append to document
			elem.append(search_results);
			search_results.hide();
			disp_state = 'hidden';
		}
		
		// Set default text on search field
		search_field.addClass('default');
		search_field.val(default_text);
		
		
		search_field.focus(function() {			
			if(search_field.val() == default_text) {
				search_field.removeClass('default');
				search_field.val('');
			}
						
		});
		
		search_field.blur(function() {			
			if(search_field.val() == default_text || search_field.val() == '') {
				search_field.addClass('default');
				search_field.val(default_text);					
			}
		});	
		
	}
	
	function perform_search(query, search_field, search_form) {
	
		//search_form.activity({ segments: 12, width: 1, space: 3, length: 5, color: '#000', speed: 1});
		
		if(query.length > 1) {
		
			var search_results_div = jQuery('div.search_results');
			var search_results = jQuery('div.search_results ul');
			disp_results('show');
						
			jQuery.ajax({
				type: 'POST',
				url: '/artist_search/' + escape(query),
				data: {'query' : query, 'method' : 'ajax'},
				success: update_results,
				dataType: 'text'
			});
		
		} else {
			disp_results('hide');
			//search_form.activity(false);
		}
	
	}
	
	function update_results(data) {
	
		disp_results('show');
		
		var search_results_div = jQuery('div.search_results');
		var search_results = jQuery('div.search_results ul');
		search_results.html(data);
		
		search_results.find('li.selector').each(function() {
			jQuery(this).click(function() {
				search_field.val(jQuery(this).html());
				disp_results('hide');
			});
		});
		

		search_form.outerClick(function() {
			disp_results('hide');
		});

		
		search_field.focus(function() {
			if(search_field.val().length > 0 && search_field.val() != default_text) {
				disp_results('show');
			}
		});
		
		
		//search_form.activity(false);
		
	}
	
	function disp_results(set_state) {
		
		var search_results_div = jQuery('div.search_results');
		
		if(set_state == 'show') {
			if(disp_state == 'hidden') {
				//search_results_div.fadeTo('fast', 1);
				search_results_div.fadeIn('fast');
				disp_state = 'visible';
			}
		}
		
		if(set_state == 'hide') {			
			if(disp_state == 'visible') {
				//search_results_div.fadeTo('fast', 0);
				search_results_div.fadeOut('fast');
				disp_state = 'hidden';
			}
		}
		
	}
		
	
