$(document).ready(function(){

	initSearchFields();
	doSearch();

});

function initSearchFields(){
	
	$('.jsSearchField').each(function(){
		var searchField = $(this);
		var defaultTxt =  searchField.val();
		
		searchField
			.focus(function(){
				if(searchField.val() == defaultTxt){
					searchField.val('');
				}
			})
			.blur(function(){
				if(searchField.val() == ''){
					searchField.val(defaultTxt);
				}
			});
	});

}

function doSearch(){

	var searchForm = $('form.jsSearchReputationForm');
	var loadingBlock = $('.jsSearchLoading');
	var resultsBlock = $('.jsBlockResults');

	if( searchForm.length == 1){
		
		// ajout du champs ajax 
		var url = searchForm.attr('action');
		var datas = searchForm.serialize() + '&ajax=1';
		
		if( resultsBlock.css('display') == 'block'){
			resultsBlock.fadeOut(300,function(){
				loadingBlock.fadeIn(200);
				loadResults(url,datas);
			});
		}else{
			if( loadingBlock.css('display') != 'block'){
				loadingBlock.fadeIn(200);
			}
			loadResults(url,datas);
		}
			//
		//searchForm.submit(function(){
//
			//return false;
		//}).trigger('submit');

	}

}

function loadResults(url,datas){
	loadUrl(url,datas,'.jsBlockResults','.jsBlockResults','replace',callbackResults);
}

function callbackResults(){

	$('.jsPagination').each(function(){
		var elPagination = $(this);
		var engineBlock = elPagination.closest('.result-content');
		var elNext = elPagination.find('.jsNext');
		var elPrevious = elPagination.find('.jsPrevious');
		var elGoEngine = elPagination.find('.jsGoToEngine');

		elNext.unbind('click').click(function(){
			showNextResults(engineBlock,function(){
				elPrevious.show();
				elGoEngine.show();
				elNext.hide();
			})
			return false;
		});

		elPrevious.unbind('click').click(function(){
			showFirstResults(engineBlock,function(){
				elPrevious.hide();
				elGoEngine.hide();
				elNext.show();
			});
			return false;
		});

		elGoEngine.unbind('click').click(function(){
			$(this).attr('target','_blank');
		});

	});

	$('.jsSearchLoading').fadeOut(300,function(){
		$('.jsBlockResults').fadeIn(500);
	});

}


function showNextResults(engineBlock,callbackFunction){
	engineBlock.find('.firstResults').fadeOut(150,function(){
		if( $.isFunction(callbackFunction) ) callbackFunction() ;
		engineBlock.find('.nextResults').fadeIn(250);
	});
}

function showFirstResults(engineBlock,callbackFunction){
	engineBlock.find('.nextResults').fadeOut(150,function(){
		if( $.isFunction(callbackFunction) ) callbackFunction() ;
		engineBlock.find('.firstResults').fadeIn(250);
	});
}

