$(document).ready(function(){
	/**
	 * Adaptation de JQuery au Framework
	 */

	var mask = new RegExp('(jquery-1.6.2.min.js|scripts.combined.js)'+'$','i');
	$('script').each(function(){
	    if(mask.test($(this).attr('src'))){
	        path = $(this).attr('src').replace(mask, '');
	        jQuery.ajax({
	            async: false,
	            type: "GET",
	            url: path+'jquery.php'+document.location.search,
	            dataType: "script"
	        });
	    }
	});

	/**
	 * Actions reatives au Menu
	 */

	// Initialisation du menu
	$('#menu').find('ul').parent().each(function(){
		var submenu = $(this).find('ul:eq(0)');
		var alink = $(this).find('a:eq(0)');
		$(this).hover(
			function(){
				alink.addClass('menu_selected');
				submenu.show();
			},
			function(){
				submenu.hide();
				alink.removeClass('menu_selected');
			}
		);
	});

	/**
	 * Actions reatives au Moteur de recherche
	 */

	// Saisie d'un mot clé
	var keywords = $("#keywords").val();
	$("#keywords").click(function() {
		$("#keywords").val("");
	});
	$("#keywords").blur(function() {
		if ($("#keywords").val()=="") $("#keywords").val(keywords);
	});

/*
	// Auto-completion
	$('#keywords').attr('autocomplete','off');
	n = -1;
	$('#keywords').live('keyup', function(event) {
		if(event.keyCode == 40) {
 			if(n+1 < $("#autoSuggestionsList > ul > li").length) {
				n = n + 1;
				$("#autoSuggestionsList > ul > li").eq(n).attr('class','hover').focus();
				if(n > 0 && n < $("#autoSuggestionsList > ul > li").length) {
					$("#autoSuggestionsList > ul > li").eq(n-1).removeClass('hover');
				}
			}
		} else if(event.keyCode == 38) {
			if(n > 0) {
				n = n - 1;
				if(0 <= n <= $("#autoSuggestionsList > ul > li").length) {
					$("#autoSuggestionsList > ul > li").eq(n).attr('class','hover').focus();
				}
				if(n >= 0) {
					$("#autoSuggestionsList > ul > li").eq(n+1).removeClass('hover');
				}
			} 
		}
		else {
			if(event.keyCode != 13) {
				lookup($(this).attr('value'));
			}

		}
	});
	
	$('body').keydown(function(event) {
		if(event.keyCode == 13) {
			$('#search_form').submit(function() {
				if($('#autoSuggestionsList > ul > li.hover').length > 0){
					fill($('#autoSuggestionsList > ul > li.hover').eq(0).html());
					$('#autoSuggestionsList > ul > li.hover').removeClass('hover');
					return false;
				} else {
					return true;
				}
			});
		}
	});
	

	$('#keywords').blur(function() {
		fill();
	});
	$('.suggestionList > ul > li').live('click',function() {
		fill($(this).html());
	});
*/
	/**
	 * Actions reatives aux dates
	 */

	$.datepicker.regional['fr'] = {
		closeText: 'Fermer',
		prevText: '&#x3c;Préc',
		nextText: 'Suiv&#x3e;',
		currentText: 'Courant',
		monthNames: ['Janvier','F&eacute;vrier','Mars','Avril','Mai','Juin',
		'Juillet','Ao&ucirc;t','Septembre','Octobre','Novembre','D&eacute;cembre'],
		monthNamesShort: ['Jan','Fév','Mar','Avr','Mai','Jun',
		'Jul','Aoû','Sep','Oct','Nov','Déc'],
		dayNames: ['Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'],
		dayNamesShort: ['Dim','Lun','Mar','Mer','Jeu','Ven','Sam'],
		dayNamesMin: ['Di','Lu','Ma','Me','Je','Ve','Sa'],
		dateFormat: 'dd/mm/yy', firstDay: 1,
		isRTL: false
	};
	$.datepicker.setDefaults($.datepicker.regional['fr']);

	$(function() {
		$("#sessions_datedebut").datepicker();
	});
	$(function() {
		$("#sessions_datefin").datepicker();
	});

	/**
	 * Actions reatives à l'affinage de recherche
	 */
	
	$("#recherche_form").submit(function() {
		if ($("#sessions_datedebut").val()=="Date de début...") {
			$("#sessions_datedebut").val("");
		}
		if ($("#sessions_datefin").val()=="Date de fin...") {
			$("#sessions_datefin").val("");
		}
	});

	$("#col_search_form").submit(function() {
		if ($("#sessions_datedebut").val()=="Date de début...") {
			$("#sessions_datedebut").val("");
		}
		if ($("#sessions_datefin").val()=="Date de fin...") {
			$("#sessions_datefin").val("");
		}
	});

	/**
	 * Initialisation du bxSlider des formations aoociées
	 */
	var sel_slider = $('ul#formations').bxSlider({
		displaySlideQty: 2,
		moveSlideQty: 1,
		auto: true,
		controls: false
	});

	$('#sel_prev').click(function() {
		sel_slider.goToPreviousSlide();
		return false;
	});

	$('#sel_next').click(function() {
		sel_slider.goToNextSlide();
		return false;
	});

	/**
	 * Actions reatives à la recherche des formations (colonne de droite)
	 */

	// Modification de la familles
	$("#col_search_form #familles_id").live('change', function() {
		charge_sousfamilles($(this).val());
	});

	/**
	 * Actions reatives au synopsis
	 */

	$(".synopsis").fancybox({
		'width'				: '100%',
		'height'			: '100%',
		'autoScale'			: false,
		'transitionIn'		: 'none',
		'transitionOut'		: 'none',
		'type'				: 'iframe'
	});
});

/**
 * Fonctions reatives au Moteur de recherche
 */
str_length = 26;
suggestion = true;

function lookup(inputString) {
	if(inputString.length == 0 || inputString.length == 1 && suggestion) {
		$('#suggestions').hide();
	} else {
		if(inputString.length <= str_length) {suggestion = true;}
		if(str_length > 0 && suggestion) {
			$.get(fw_Path + '/index.php?p=search&a=autocompletion&keywords='+inputString, {}, function(data) {
				if(data.length == 0) {
					$('#suggestions').hide();
					suggestion = false;
					str_length = inputString.length;
				}
				if(data.length >1) {
					n = -1;
					suggestion = true;
					$('#suggestions').show();
					$('#autoSuggestionsList').html(data);
				}
			});
		}	
	}
} 

function fill(thisValue) {
	$('#keywords').val(thisValue);
	setTimeout("$('#suggestions').hide();", 200);
}

/**
 * Actions reatives à la recherche des formations (colonne de droite)
 */

// Fonction de chargement des sous-familles de la famille sélectionnée
function charge_sousfamilles(param) {
	$.ajax({
		type: "GET",
		url:	fw_Path+"/index.php?p=formations&a=sousfamilles",
		data:	"familles_id="+param,
		error:function(msg){
			alert("Erreur durant la requete");
		},
		success:function(data){
			// Affiche le contenu du fichier dans le conteneur dédié
			if (data) {
				$('#col_search_replace').empty();
				$('#col_search_replace').append(data);
			}
		}
	});
	return false;
}

