/*

		displayDiv.find('.project').css('opacity', 0);
	
		displayDiv.find('.project').each(function(i) {
			$(this).delay(delay).animate({'opacity':'100'}, 400);
			if (i < 20) delay+=100;
		});


*/


(function($){
	$.fn.SearchPage = function(options) {

		var settings = {
			'loading_id'	: 'search_loading',
			'results_id'	: 'search_results',
			'filters_id'	: 'search_filters',
			'loading_html'	: '<p>LOADING</p>',
			'search_url'	: document.location.href,
			'complete'		: false,
			'init'			: false
		};


		var base_div		= $(this);
		var loading_div		= false;
		var search_url		= false;
		var searching		= false;	
		var destination		= false;

	
		var showLoading = function() {
			loading_div.height(base_div.height());
			loading_div.fadeIn('fast');
		};
		var hideLoading = function() {
			loading_div.fadeOut('fast');
		};

		var navPageClick = function(event) {

			event.preventDefault();
			
			var page 	= $(this).data('page');
	
			showLoading();

			$.scrollTo(base_div, {offset: {top: '-50' }});

			setTimeout(function() {
				destination.load(settings.search_url, {'page': page}, searchComplete);	
			}, 500);		
		
		};

		var navClick = function(event) {
		
			event.preventDefault();
		
			var search 	= $(this).data('search');
			var term 	= $(this).data('term');
	
			showLoading();
	
			setTimeout(function() {
				destination.load(settings.search_url, {'search': search, 'term':term}, searchComplete);	
			}, 500);
		
			return false;
		
		};
	

		var searchComplete = function(data) {
	
			destination.html(data);

			if (typeof settings.complete === 'function') settings.complete(settings);  
		
			hideLoading();
			
		};
		
		var init = function() {
		
			if (options) $.extend(settings, options);

			base_div.css('position', 'relative');			

			destination = $('#'+settings.results_id, base_div);
			
			if (!$('#'+settings.loading_id, base_div)) {
				base_div.prepend($('<div id="'+settings.loading_id+'">'+settings.loading_html+'</div>'));
			}			

			loading_div = $('#'+settings.loading_id, base_div);
			
			$('#'+settings.filters_id+' A', base_div).live('click', navClick);

			$('A[data-page]', base_div).live('click', navPageClick);

			if (typeof settings.init === 'function') settings.init(settings);  

		};
	
		init();
	
	};
})(jQuery);

