$(document).ready(function(){
	
	// Caching the searchName textbox:
	var searchName = $('#searchQuery');
	
	// Defining a placeholder text:
	searchName.defaultText('Search a topic');

  // create message dialog and hide it
  $('#global-search').prepend('<p class="message"></p>');
  $('p.message').hide();
  
  //remove 
  searchName.blur(function(){
			$('ul.ui-autocomplete').hide();
			$('p.message').empty();
			$('p.message').hide();
  });

	// Using jQuery UI's autocomplete widget with caching

    var cache = {},
    lastXhr;
    
    searchName.autocomplete({
    minLength: 3,
    source: function( request, response ) {
			var term = request.term;
			if ( term in cache ) {
				response( cache[ term ] );
				return;
			}

			lastXhr = $.getJSON( "/searchSuggestion/", request, function( data, status, xhr ) {
				cache[ term ] = data;
				if ( xhr === lastXhr ) {
					response( data );
				}
			});

/*
			//if the response is empty show message
  		if (!response || response.length == 0){
  		
        $('ul.ui-autocomplete').empty();
        $('.message').html('No results, please try again.');
        $('.message').show();

      } else {
  			$('p.message').empty().hide();
      };
*/
		},
  	open: function(event, ui) {
      $('p.message').empty().hide();
      },
      
  	select: function(event, ui) {
      	//stop the error message from being selected
        if($(ui.item).val() == 'No results, please try again.'){
          $('.ui-state-hover').removeAttr('id');
          return false;
        }
  	   $('#searchForm').submit();
  	},
  	 
  	//position the menu below the form
  	appendTo: '#global-search',
  	
    focus: function(event, ui){
        //stop the error message from being selected
        if($(ui.item).val() == 'No results, please try again.'){
         $('.ui-state-hover').removeAttr('id');
        return false;
        }
    }

	});



  //submit the form after selecting
	$('#searchForm .button').click(function(){
		if(searchName.val().length && searchName.data('defaultText') != searchName.val()){
			$('#searchForm').submit();
		}
	});
	
});

// A custom jQuery method for placeholder text:

$.fn.defaultText = function(value){
	
	var element = this.eq(0);
	element.data('defaultText',value);
	
	element.focus(function(){
		if(element.val() == value){
			element.val('').removeClass('defaultText');
			// add starting text
			$('.message').html('Start typing to get suggested topics.').fadeIn('fast');
		}
	}).blur(function(){
		if(element.val() == '' || element.val() == value){
			element.addClass('defaultText').val(value);
		}
	});
	
	return element.blur();
}

//z-index fix for ie 6 and 7 XP http://www.vancelucas.com/blog/fixing-ie7-z-index-issues-with-jquery/
if ($.browser.msie && $.browser.version.substr(0,1)<7) {
  
  $(function() {
  	var zIndexNumber = 1000;
  	$('#branding').each(function() {
  		$(this).css('zIndex', zIndexNumber);
  		zIndexNumber -= 10;
  	});
  });
  
}
