/*
  ------------------------------------------------------
  | Search Bar Autocomplete Function
  ------------------------------------------------------
*/

function search(q, result)
{
	if(q.length > 3)
	{
		$.ajaxSetup({
			beforeSend:function(){
				result.addClass('ajax_loading');
				result.parent().find('.ajax_loader').show();
			},
			success:function(){
				result.parent().find('.ajax_loader').hide();
				result.removeClass('ajax_loading');
				if(result.css('display') == 'none')
				{
					result.show();
				}
			}
		});
		
		var url = '/search/autocomplete';
		result.load(url, {q:q});
	}
	else if(q.length == 0)
	{
		result.hide();
	}
}
/*
  ------------------------------------------------------
  | Search Bar Initialization
  ------------------------------------------------------
*/
function init_search_bar(result) 
{
	var search_init_text = 'Search Channels....';
	if($('#search_bar_input').val() == '' || $('#search_bar_input').val() == search_init_text)
	{
		$('#search_bar_input').addClass('search_init');
		$('#search_bar_input').val(search_init_text);
		result.hide();
	}
}

$(document).ready(function(){
	custom_tabs($('#homepage div.custom_tabs'));
	/*
	  ------------------------------------------------------
	  | Search Bar Events
	  ------------------------------------------------------
	*/
	
	var search_result = $('#left_home_tabs #search_bar_results');
	init_search_bar(search_result);
	
	$('#search_bar_input').keyup(function(){
		var q = $(this).val();
		search(q, search_result);
	});	
	$('#search_bar form').submit(function(){
		var q = $('#search_bar_input').val();
		search(q, search_result);
		return false;
	});
	$('#search_bar_input').focus(function(){
		if($(this).hasClass('search_init'))
		{
			$(this).val('');
			$(this).removeClass('search_init');
		}
		else
		{
			var q = $(this).val();
			search(q, search_result);
		}
	});
	/*$('#search_bar_input').blur(function(){
		init_search_bar(search_result);
		search_result.hide();
	});*/
	
});
