$(document).ready(function() {
	
	var suggest_request = "";
	
	
	//$('#q, #qc').keydown(function(){ $(this).trigger("keypress");  });
	
	$('#q, #qc').keyup(function(event){
		var e = $(this);		
		var s = $(this).parent().parent().find(".search-suggest");
		var courses = s.find('.results-courses');
		var posts = s.find('.results-posts');
		
		var url = $('#searchsuggestajax').val();
		
		if (e.val()!="" && !s.is(":visible") && e.val().length > 2){			
			s.show();		
		}
		if (e.val()=="" || event.keyCode == 13 || event.keyCode == 27 || e.val().length < 3) {
			s.hide();
		}
		
		if (e.val().length > 2){
			suggest_request = $.ajax({
					url: url,
					data: {s:e.val()},
					dataType: "json",
					crossDomain: true,
					beforeSend: function(){ 
						if (suggest_request!="") suggest_request.abort(); 
						courses.addClass("suggest-loading");
						posts.addClass("suggest-loading");
						
						
						//s.append("test"); //test
						
						
					},					
					success: function(data,status){
						
						//Courses
						courses.removeClass("suggest-loading");
						courses.find('ul').children().remove();
						if (data.courses.length > 0){							
							for (var i=0;i<data.courses.length;i++){
								courses.find('ul').append('<li><a href="'+data.courses[i].url+'">'+data.courses[i].title+'</a></li>');
							}
						}
						else{
							courses.find('ul').append('<li class="empty">No suggestions</li>');
						}
						
						//Posts
						posts.removeClass("suggest-loading");
						posts.find('ul').children().remove();
						if (data.posts.length > 0){							
							for (var i=0;i<data.posts.length;i++){
								posts.find('ul').append('<li><a href="'+data.posts[i].url+'">'+data.posts[i].title+'</a></li>');
							}
						}
						else{
							posts.find('ul').append('<li class="empty">No suggestions</li>');
						}
						
						
						
					}
			});
		}
		
		
		

		
	});
	
	$('#search-results').blur(function(e){		
		$(this).parent().parent().find(".search-suggest").hide();
	});
	
	$('html').click(function(){
		$('.search-suggest:visible').hide();		
	});
	
	$('.search-suggest').click(function(event){
		event.stopPropagation();
	});
	
	
	$(document).keydown(function(event){
		var s = $('.search-suggest');
		if (event.keyCode == 27 && s.is(":visible")) 
			s.hide();
			
	});
	
});
