/*FINDER*/
var finder = {};

finder.MS_WAIT_BEFORE_TRANSMIT = 250; //on attend que la valeur du champ soit stable avant d'envoyer une requete au serveur
finder.MS_WAIT_BEFORE_HIDE = 2000; //on attend que la souris ai bien quitte le finder avant de le cacher
finder.REQUEST_URL = 'http://'+location.host+'///finder_requesthandler'; //addresse handler requetes ajax
finder.INPUT_FIELD_SELECTOR = '#finder_searchbox'; //input field
finder.DISPLAY_DIV_SELECTOR = '#finder_results'; //div pour les resultats
finder.PX_DISPLAY_OFFSET = 10; //deplacement des resultats par rapport au champ de demande (pour le moment, vers le bas)
finder.NB_MIN_SEARCH_CHARCTERS = 3; //deplacement des resultats par rapport au champ de demande (pour le moment, vers le bas)


finder.finderTimeout=null;
finder.hideTimeout=null;

finder.queryFinder = function(evt) {

	//arreter la requete deferree apres la mise a jour du critere de recherche

	if (finder.finderTimeout) {
		window.clearTimeout(finder.finderTimeout);
		finder.finderTimeout = null;
	}
	
	//preparer une requete a executer apres le delai defini
	var str = $(finder.INPUT_FIELD_SELECTOR)[0].value;
	if (str.length >= finder.NB_MIN_SEARCH_CHARCTERS)
		finder.finderTimeout = window.setTimeout(finder.getFilterResults, finder.MS_WAIT_BEFORE_TRANSMIT);
	else
		finder.hideFilterResults();
}

finder.getFilterResults = function() {
	$.ajax({
		url: finder.REQUEST_URL + "?searchstring=" + $(finder.INPUT_FIELD_SELECTOR)[0].value,
		success: finder.showFilterResults
	});
}

finder.showFilterResults = function(sResponse) {
	if (sResponse.length > 0) {
		$(finder.DISPLAY_DIV_SELECTOR).html(sResponse);
		finder.positionResponseDiv();
		$(finder.DISPLAY_DIV_SELECTOR).show();
		$(finder.DISPLAY_DIV_SELECTOR).hover( finder.stopHide, finder.prepareHide );
		$(finder.DISPLAY_DIV_SELECTOR + ' .entree').hover( function(){$(this).addClass('entree-hover');}, function(){$(this).removeClass('entree-hover');} );
		
		$(".lightfichelink").colorbox({width:"920px", height:"790px", iframe:true});
	} else {
		finder.hideFilterResults();
	}
}

finder.hideFilterResults = function() {
	$(finder.DISPLAY_DIV_SELECTOR).hide();
	$(finder.DISPLAY_DIV_SELECTOR).html('');
}

finder.stopHide = function() {
	if (finder.hideTimeout) {
		window.clearTimeout(finder.hideTimeout);
	}
	finder.hideTimeout = null;
	
}

finder.prepareHide = function() {
	finder.hideTimeout = window.setTimeout(finder.hideFilterResults, 2000);
}

finder.positionResponseDiv = function() {
	var inputField = $(finder.INPUT_FIELD_SELECTOR);
	var inputFieldPos = inputField.position();
	var selector = $(finder.DISPLAY_DIV_SELECTOR);		
		
	selector.css("top", (inputFieldPos.top + inputField.height() + finder.PX_DISPLAY_OFFSET ) + "px" );
	selector.css("left", (inputFieldPos.left + inputField.width() - selector.width() + finder.PX_DISPLAY_OFFSET  ) + "px" );	
}

$(document).ready(function() {

	$(".alignbottom").each(function () {
		var h = $("#bienvenu").position().top + $("#bienvenu").height() - 50;
		$(this).css("postion", "relative");
		$(this).css("top", h + "px");
		$(this).css("top", h + "px");
	});
	
	$(finder.INPUT_FIELD_SELECTOR).bind('keyup', {}, finder.queryFinder);
	$(finder.INPUT_FIELD_SELECTOR).bind('focus', {}, finder.queryFinder);
	
});



