//var correspondancesKmIndice = {0: 0, 5: 1, 10: 2, 20: 3, 50: 4, 200: 200};
// Fonction appel� au chargement de la page recherche entreprise, quand le DOM est charg�
	
var secteursEmploiStage;
var secteursEntreprise;
var secteursFormation;

$(document).ready(function (e){
	initFormRechercheEntreprise(e);
});
	
	function initFormRechercheEntreprise()
	{
		

		/**
		 * ============================================
		 * Initialisation des valeurs des champs du formulaire si on vient de la liste de r�sultats
		 * ============================================
		 */
				
		// D�placement du curseur "Distance"

		if (jQuery('#proximite_NbrKm')[0])
		{
			if ($('#NbrKm_old').val()>0)
			{
				$('#proximite_NbrKm').slider("moveTo", correspondancesKmIndice[$('#NbrKm_old').val()]);
			}
			else{
	
				$('#proximite_NbrKm').slider("moveTo", correspondancesKmIndice[20]);

				
			}
		}		

		/**
		 * ============================================
		 * Gestion des �v�nements
		 * ============================================
		 */

		
		updateEntreprisePlaquettes();
		$("input.checkDomaine").bind("click", updateEntreprisePlaquettes);
		//$(".distance").bind("click", updateEntreprisePlaquettes);	
		//$('#rechercheEntreprise').find('input[type=hidden], select, textarea').bind("blur", function (e){
			//updateEntreprisePlaquettes(e);

		//});
//		$('#saisieVille').bind("change", function (){
//			// Timeout obligatoire car villeTrouve est vide sinon
//			setTimeout("updateEntreprisePlaquettes()", 750);			
//			
//		});		
		//$('#villeTrouvee').bind("change", function (e){		
			//updateEntreprisePlaquettes(e);
		//});		
		//$('#rechercheEntreprise').find('select').bind("change", updateEntreprisePlaquettes);
		//$('#rechercheEntreprise').find('input[type=checkbox]:checked, input[type=radio]:checked').bind("click", updateEntreprisePlaquettes);
		$('#rechercheEntreprise').find('#raisonSociale').bind("keyup", gereKeyPressRaisonSociale);
		//$('#raisonSociale').unbind("change", updateEntreprisePlaquettes);
		//$('#villeSaisie').unbind("change", updateEntreprisePlaquettes);


		activeOnglet();
				
		updateSecteur($("#idUnivers").val());
		
		
					
	}

	function activeOnglet(){
		var idUnivers = $('#idUnivers').val();
		$('.ongletDomaine').removeClass('actif');
		$('#ongletDomaine_'+idUnivers).addClass('actif');		
	}

	function gereKeyPressRaisonSociale(e){
		var key = e.charCode || e.keyCode || 0;
		var current = $(".autocompleteSelected"); 
		
		switch(key)
		{
			case 38:
				current.prev().mouseover();
									
				
				break;
			case 40:
				
				if ($(".autocompleteSelected").length==1)
				{				
					current.next().mouseover();
				}
				else
				{
					$("#raisonSociale_autocomplete a:first").mouseover();
				}

				break;
			case 13:
				current.click();
				break;
			case 27:
				$("#raisonSociale_autocomplete").remove();
				break;
			default:
				autocompleteRaisonSociale();
				break;
		}		
		
	}


	
	// Met � jour le select des secteurs en secteur du domaine s�lectionn�
	// Les secteurs sont stock�es dans des variables js dans le mod�le
	function updateSecteur(idDomaine)
	{
	
		var options = "";	
		switch (idDomaine)
		{
			case '1': // Emploi
			case '4': // Stage
			default:
			
					options = secteursEmploiStage;
					
				break;
				
			case '2': // Formation
			
					options = secteursFormation;
				break;				
			case '3': // Cession Entreprise

					options = secteursEmploiStage;

				break;			
		}		
		$("#idSecteur").html(options);
		
	}
	
	// Retourne un tableau associatif de tous les �l�ments de formulaire
	function getFormElements()
	{
		var formElements = {};				
		$('#rechercheEntreprise').find('input[type=text], input[type=hidden], input[type=checkbox]:checked, input[type=radio]:checked, textarea, select').each(function (s){
			
			if ($.trim($(this).val())!='' && (this.name=='idUnivers' || this.name=='raisonSociale' || this.name=='villeTrouvee' || this.name=='NbrKm' || this.name=='idSecteur'|| this.name=='villeTrouvee_latitude'|| this.name=='villeTrouvee_longitude'|| this.name=='villeTrouvee_id'|| this.name=='villeTrouvee_type'))
			{
				
				formElements[this.name]=$(this).val();
			}
		});
		return formElements;
	}

	// Met � jour la liste des entreprises class�es par secteur en secteur des �lements du formulaires
	function updateEntreprisePlaquettes(e)
	{		

			// R�cup�ration des saisies utilisateur
			loading();
			//var formElements = getFormElements();
			
			var formElements={};
			//formElements["idUnivers"]=$(".checkDomaine:checked").val();
			formElements["idUnivers"]=$("#idUnivers").val();
			
			// On ne veut que les entreprises qui ont une plaquette
			//formElements['possedePlaquette'] = 1;
			// Appel XHR de la page qui retourne la liste des entreprises class�es par secteur
			$.get("/ajax/Entreprises_listeAjax.php", formElements,
	  			function(data){	
	  				// Insertion des entreprises dans le div pr�vu pour
	    			$("#entreprisePlaquettes").html(data);
					// On initialise les actions sur les secteurs (deploiement liste entreprise)	
					initBlocEntreprise();
					loaded();						  								
	  			}
	  		);
		
	}
	
	// D�sactive l'action sur le clic des lien avec la classe "inactif"
	function inactivationA()
	{ 
		// On inactive le clic des liens avec la classe "inactif"
		$('a.inactif').bind("click", function(e){
			e.preventDefault();
		});
	}

	// secteur qui g�re l'autocomplete sur le champ raison sociale
	function autocompleteRaisonSociale(e)
	{
		// r�cup�ration de la saisie utilisateur
		var raisonSociale = $('#raisonSociale').val();
		var idUnivers = $('#idUnivers').val();
		$('#raisonSociale').attr("autocomplete", "off");	
		// on fait le traitement � partir de 3 caract�res
		if (raisonSociale.length>=3) 
		{
			// Si il reste une liste avec l'id de celle que l'on veut ins�rer, on la retire du DOM
			if ($('#raisonSociale_autocomplete')){
				$('#raisonSociale_autocomplete').remove();
			}
			
			// Cr�ation du message d'attente (a)
			var aAttente = document.createElement("a");
			$(aAttente).html('Veuillez patienter ...');			
			
			// Cr�ation de la liste (<ul>) et insertion sous le champs
			var liste = document.createElement("div");
			$("#raisonSociale").after(liste);
			$(liste).attr("id", "raisonSociale_autocomplete");
			$(liste).addClass('autocomplete');
			
			// insertion du message d'attente
			$(liste).html($(aAttente));
			
			// Appel XHR de la page retournant la liste des entreprises (sous forme de JSON)
			// on lui passe la saisie utilisateur
			$.getJSON("/ajax/Entreprises_listeAutocomplete.php", {'raisonSociale' : raisonSociale, 'idUnivers' : idUnivers}, 
				function (data)
				{
					
					var liEnt;
					
					$(liste).empty();
														
					$.each(data.entreprises, function(i,entreprise){
						aEnt = document.createElement('a');
						$(aEnt).attr("id", entreprise.id);
						$(aEnt).attr("href", "#");
						$(aEnt).html(entreprise.nom);
						$(liste).append($(aEnt));	
						
					});
										
					initAAutocompleteRaisonSociale();

		  		}
		  	);
		}
		else
		{
			if ($('#raisonSociale_autocomplete')){
				$('#raisonSociale_autocomplete').remove();
			}			
		}
	}

	// Event Handler sur le clic d'une secteur (d�ploiement de la liste des entreprises)
	function initBlocEntreprise(e){
				
		$(".secteurToggler").bind("click", function (e){
			e.preventDefault();
			var elementId = e.target.id;
			var tabId = elementId.split("_");
			if (tabId.length==2)
			{
				$("#ulSecteur"+tabId[1]).slideToggle();
			} 
				
		});
		inactivationA();
	}	

	// initialise les actions sur les �l�ments des listes autocomplete
	function initAAutocompleteRaisonSociale()
	{
		$('div.autocomplete a').bind('click', function(e){
			var elementId = e.target.id;
			var tabData=elementId.split('_');		
			$('#'+tabData[0]).val($('#'+elementId).html());
			$('#'+tabData[0]+"_autocomplete").remove();
			//updateEntreprisePlaquettes();
		});	
		
		$('div.autocomplete a').bind('mouseover', function(e){
			$(".autocompleteSelected").removeClass("autocompleteSelected");
			$(e.target).addClass("autocompleteSelected");
		});		
		
	}
	
	// Affiche le gif anim� du Loader
	function loading()
	{
		$('#entreprisePlaquettes').hide();
			var imgLoader = document.createElement('img');
			$(imgLoader).attr("src", "/design/images/ajax/loader.gif");
			$(imgLoader).attr("id", "loader");
			var divLoader = document.createElement('div');
			$(divLoader).attr("style", "text-align: center;");
			$(divLoader).attr("id", "divLoader");
			$(divLoader).html($(imgLoader));
			$('#entreprisePlaquettes').before($(divLoader));
	}
	
	// Cache le gif anim� du loader
	function loaded()	
	{
		if ($('#divLoader'))	
		{	
			$('#entreprisePlaquettes').fadeIn("fast");
			$('#divLoader').remove();
		}
	}