headerManager = {
	languageChooser: function()
	{
		redirectUrl = $(this + "option:selected").val();
		if (redirectUrl != '')
			document.location.href = redirectUrl;
	},
	
	search: function(redirectUrl)
	{
		document.location.href = redirectUrl + '?query=' + escape($("input[id='formSearchGlobal']").val());
	}	
};

//home Actu
newsManager = {
	data : null,
	currentItemID : null,
	newsIds : [],
	
	init: function(data){
	if(data=="undefined") return false;
	this.data = data;	
	this.saveNewsID();
	this.bindUI();
	
},
	
	bindUI : function(){
	var self = this;
	$('.'+this.data.itemClass).live('click',function(e){		
		
		var newsID = self.getNewsID(e.originalTarget);	
		if(self.currentItemID != newsID) self.showNews();
		self.currentItemID = newsID;
		var itemValue = $(e.originalTarget).text();		
		//Changer le lien et afficher les news items
		$(e.originalTarget).replaceWith('<span class="newsBtn" id="newsItem-'+newsID+'">'+itemValue+'</span>');
		$("#homeNewsData-"+self.currentItemID).show();
		var actualPage = self.getItem(self.currentItemID);
		//self.manageBtnState();
	});
	
	//handler paginatation
	$("#"+this.data.nextBtn).bind('click',this.showNext.apply(this));
	$("#"+this.data.prevBtn).bind('click',this.showPrev.apply(this));
	
	
},
	showNext : function(){
	var self = this;
	return function(e)
	{
		var max = self.newsIds.length;		
		var currentNewsItem = self.getItem(self.currentItemID);		
		if(currentNewsItem.nextItem != null) self.hideOrShowItem(currentNewsItem.nextItem);	else self.hideOrShowItem(self.newsIds[0].idNews);
		//self.manageBtnState();			
	};	
	
},
	showPrev : function(){		
		var self = this;
		return function(e)
		{
			var currentNewsItem = self.getItem(self.currentItemID);
			if(currentNewsItem.prevItem !=null) self.hideOrShowItem(currentNewsItem.prevItem); else	 self.hideOrShowItem(self.newsIds[self.newsIds.length-1].idNews);
			//self.manageBtnState();
		};	
},
	getNewsID: function(el){	
	if(el=="undefined" || el=="") return null;
	var id = el.id;	
	var newId =parseInt(id.replace('newsItem-',''));
	return parseInt(newId);
},

	manageBtnState : function()
	{
		var currentNewsItem  = this.getItem(this.currentItemID);
		if(currentNewsItem.prevItem==null)$("#prevBtn").addClass("navOff");
		else $("#prevBtn").removeClass("navOff");	
		
		if(currentNewsItem.nextItem==null) $("#nextBtn").addClass("navOff");
		else $("#nextBtn").removeClass("navOff");	
	},

	saveNewsID : function(){	
	var btns = $('.'+this.data.itemClass);
	var max = btns.length;
	var self = this;
	jQuery.each(btns,function(i,val){
		var el = $(val).get(0);
		var elID = self.getNewsID(el);
		var nxt = i+1;
		var prv = i-1;
		/*listeChaînée - next*/
		(nxt!=max)? nextID = self.getNewsID(jQuery(btns).get(nxt)): nextID = null; 
			
		/*listeChaînée - prev*/
		(prv != -1)? prevID =self.getNewsID(jQuery(btns).get(prv)): prevID = null; 
		tempInfo = {idNews:elID,noPage:parseInt($(el).text()), nextItem:nextID,prevItem:prevID};
		self.newsIds.push(tempInfo);
		var state = $(el).attr('state');
		if(state =='on')
			{
				self.currentItemID = elID;
				$("#homeNewsData-"+self.currentItemID).show();
			}
	});	
	
},
	showNews : function(){	
		//masquer btn et data précédents
		var itemValue = $("#newsItem-"+this.currentItemID).text();
		$("#newsItem-"+this.currentItemID).replaceWith('<a href="javascript:;" class="newsBtn" id="newsItem-'+this.currentItemID+'">'+itemValue+'</a>');	
		$("#homeNewsData-"+this.currentItemID).hide();
	},
	
	
	hideOrShowItem : function(idToshow){
		if(idToshow=="undefided" || idToshow==null) return false;
			if(this.currentItemID !=idToshow) this.showNews();//hide old news
			this.currentItemID = idToshow;
			var itemValue = $("#newsItem-"+idToshow).text();		
			//Changer le lien et afficher les news items
			$("#newsItem-"+idToshow).replaceWith('<span class="newsBtn" id="newsItem-'+idToshow+'">'+itemValue+'</span>');
			$("#homeNewsData-"+this.currentItemID).show();			
	},	
	
	getItem : function(itemID){		
		if(itemID=="undefined") return false;		
		result = null;
		jQuery.each(this.newsIds, function(i,val){
			if(val.idNews==itemID)
			{				
				result = val;
				return false;			
			};				
	});
		return result;	
	}	
	
};

/*news ItemManager*/
newsListManager = {
		
		bindRubChoice : function(idSelect,formId){
			if(idSelect==null || idSelect=="undefined") return false;
			if(formId==null || formId=="undefined") return false;
			$("#"+idSelect).bind("change",this.handleRubChoice.call(this,formId));		
		},

		handleRubChoice : function(formId){
			var self  = this;
			var formId = formId;
			return function(e){
				var IdRub = e.target.value;
				$("#"+formId).submit();	
		
			};	
		}	
		
};

/*AssociateManager*/


AssociateManager = {
		
		url: "/ajax/getAssociateDetail.php",
		getPage :function(pageID){
			if(pageID=="undefined") return false;			
			$.ajax({				
				url: this.url,
				type:'get',
				async : false,
				dataType: 'html',
				data:{pageID:pageID},
				success: function(data){					
				
					$("#mainContainer").html(data);
					
				}				
			});
			
	
	
		},
		populateResult: function(){}	
		
};

ExpertsManager = {
		
		
		init : function(className){
			
			if(className=="undefined") return false;
			$('.'+className).hover(this.handleMouseOver.call(this),this.handleMouseOut.call(this));	
		},
		
		handleMouseOver :function()
		{	
			
			return function(e)
			{				
				
				/*check parent*/
				var asscItem = $(this).parent();				
				if(!$(asscItem).hasClass("asscItem")) //s'il s'agit d'un expert
				{					
					var  mainXp = $(this).parents("tr").find(".asscItem");
					if(mainXp.length!=0)
					{
						var asscLink = $(mainXp).find(".picItem");-+						
						asscLink.removeClass('lnkOn').addClass('lnOff');
					}
					
				}else
				{
					$(this).removeClass('lnkOff').addClass('lnkOn');
					
				}
				
				var imgSrc = $(this).next().find(".expPic").attr("src");
				//var linkContent = jQuery("<strong>"+$(this).text()+"</strong>");
				//alert(linkContent); 
				//$(this).empty().append(linkContent);
				var mainexpertPicContainer = this.mainID;
				var imgContainer = $(this).parents("tr").find(".conseilsxDataImg");				
				if(imgSrc!="")
					imgContainer.attr('src',imgSrc);	
			};
			
		},
		handleMouseOut :function()
		{			
			
			return function(e){
				
				$(this).html($(this).text());
				/*récuperer le premier element de liste*/
				var asscItem = $(this).parents("tr").find(".asscItem");
				if(asscItem.length!=0)
				{
					var asscLink = $(asscItem).find(".picItem");
					asscLink.trigger("mouseover");		
				}						
			};		
		}
		
};
formManager ={
		
		config: {},
		errors: {},
		formChecker : [
						{id:"maiLDest",check:"notEmpty"},
						{id:"destNom",check:"notEmpty"},
						{id:"destEmail",check:"email"},
						{id:"mailMsg",check:"notEmpty"},
						{id:"mailAttCV",check:"notEmpty"},
						{id:"mailAttMotiv",check:"notEmpty"}
					], //v2- rendre générique : mettre class ou autres attributs pour construire le checker
		
		init: function(config){				
				
			this.config = config||{};
				if(this.config.formID=="undefined" || this.config.sendBtnID=="undefined") return false;
				$("#"+this.config.sendBtnID).bind("click",this.handleSubmit.call(this,this.config.formID));
				
				/*form:formItem*/
				$(".formItem").bind("focus",this.handlerFormItemFocus.call(this));
				
			},
		handleSubmit: function(formName){
				var formName = formName;
				var self = this;
				return function(e)
				{					
					$("#formAlert").html("");
					var check = self.checkForm();					
					if(!check) 
						$("#formAlert").show();
					else {
						$("#contactForm").submit();	
					}
					return false;
				};
			},
			handlerFormItemFocus : function(){
				
				return function(e)
				{
					$("#formAlert").hide();
					if($(this).hasClass('error')) $(this).removeClass('error');
				}
				
				
				
			},
		checkForm : function(){
				var check = true;
				var errors = 0;
				if(this.formChecker.lenght==0) return check;
				var self = this;
				jQuery.each(this.formChecker,function(i,val){
					/*check champs vide*/
					if(val.check=="notEmpty")
					{
						var fieldVal = $("#"+val.id).val();
						if(fieldVal==""){
							self.showError(val.id,val.check);
							errors++;
						
						}
					}
					/*check email*/
					if(val.check =="email")
					{
						var mailPattern = /^([a-zA-Z0-9]+(([\.\-\_]?[a-zA-Z0-9]+)+)?)\@(([a-zA-Z0-9]+[\.\-\_])+[a-zA-Z]{2,4})$/;
						var test = mailPattern.exec($("#"+val.id).val());
						if(!test){
							self.showError(val.id,val.check);
							errors++;
						}						
					}					
				});					
				if(errors !=0) check = false;
				return check;
				
			},
			showError: function(fieldID,type){
				
				$("#"+fieldID).addClass("error");
				if(type=="email")
				{
					$("#formAlert").append("<p>- L'adresse email saisie n'est pas valide</p>");
						
				}
				if(type=="notEmpty")
				{
					
					if($("#genError").length==0)
						$("#formAlert").append("<p id=\"genError\"> - Merci de vérifier le(s) champ(s) suivant(s)<p>");	
				}				
			}			
			
};


/*gestion de l'arborescence de la documentation*/
docManager = {
		
		nbChild : 1,
		url : "/ajax/baseDocNav.php",
		config : {},
		lastRub: null,
		currentStep : "",
		rubTemplate :'<tr id="tempRub">'
						+'<td>'
							+'<select class="docItem">'
							
							+'</select>'
						+'</td>'
				+'</tr>',
		
		init : function(config){
			this.config = config||{};
			this.attachChangeEvent();
			$(this.config.moreLinkBtn).live('click',this.handleMoreLinkClick.call(this));
			this.lastRub = this.config.currentRub;
		},
		
		attachChangeEvent : function(){
			
			/*hack permettant a IE de supporter le live:change*/
			$("."+this.config.selectClass).unbind();
			$("."+this.config.selectClass).bind('change',this.handleSelectChange.call(this));					
		},
		
		handleMoreLinkClick : function(){
			
			var self = this;
			return function(e)
			{
				
				e.preventDefault();	
				var selectedRubIds = []; 
				var currentPage =($('.navMultiPagesCurrent').length!=0)?parseInt($('.navMultiPagesCurrent').html()):1;
				var pageLink = $(this).attr('href');
				var host = "http://"+window.location.host+'/';				
				
				$(".docItem").each(function(i,item){					
					if(item.value=="null")
					{						
						//alert("here");
						var itemOptions = $(item).find("option");
						var notNullOption = itemOptions.get(1);						
						var optionToadd = parseInt($(notNullOption).val())+"-ns";
						selectedRubIds.push(optionToadd);
					}else
						selectedRubIds.push(parseInt(item.value));
				});
				
				var data = {};
				data.rubs =[];
				data.rubs.push(selectedRubIds);
				data.lastNumpage = currentPage;
				data.lastRub = self.lastRub;	
				var params = jQuery.param(data);				
				var fullpath = host+pageLink+'?'+params;				
				document.location = fullpath;				
			}			
		},
		handleSelectChange : function(){			
			var self = this;			
			return function(e){			
							
				self.currentStep = $(this).parents("tr").attr("id");
				if(e.target.value=='null') return false;
				var data = self.getRubChilds(e.target.value);				
				self.lastRub = e.target.value;
				self.populateRubsAndPages(data);
				
				
			};
		},
		
		countStep : function(){
			//Permet de déterminer le nombre de rubrique
			var nbItem = $(".docItem").length;
			return nbItem;
		},
		
		getRubChilds : function(rubID)
		{		
		
			if(!rubID) return false;			
				result = $.ajax({
				url: this.url,
				async: false,
				type: "POST",
				data : {rubriqueID:rubID}
			}).responseText;
			
			return result.toJSON();
		},
		
		populateRubsAndPages : function(data){
				if(typeof data !="object" || data.length==0) return false;
				var rubriques = data.rubriques;
				var pageContent = data.pageContent;
				$("#searchResult").html(pageContent);
				/*effacer les précédents choix à partir de cette étape*/				
				$("#"+this.currentStep+"~tr" ).remove();	
				if(rubriques.length==0) return false;							
				this.buildRubrique(rubriques);
				
		},
		
		buildRubrique : function(rubData){		
			
			var nbStepItem = this.countStep()+1;			
			var html ="";
			html +="<option value='null'></option>";
			var rubTemplate = $(this.rubTemplate);			
			jQuery.each(rubData,function(i,val){
				html += '<option value="'+i+'">'+val+'</option>';				
			});			
			rubTemplate.find("select").append(html);
			/*addNewRubs*/
			$("table.formDataGrid tbody").append(rubTemplate);
			/*change Id*/	
			$("#tempRub").attr("id","step-"+nbStepItem);
			/*changEvent*/
			this.attachChangeEvent();
		},
		
		gotoPage : function(numPage,rubID){
		/*gerer la pagination ajax des résultats*/
		if(!(numPage)|| !(rubID)) return false;			
			
			var result = $.ajax({
				type : "POST",
				url: this.url,
				async: false,
				data : {rubriqueID:rubID,numpage:numPage}
			}).responseText;		
			result = result.toJSON();
			
			if(result.pageContent !="")
				$("#searchResult").html(result.pageContent);		
		}		
};


String.prototype.toJSON = function()
{
	return eval('(' + this + ')');
}

function mt(from, domain)
{
	document.location='mailto:'+from+'@'+domain;
	return false;
}