function traitementFormulaire(typeE)
{
	var bloc = $('bloc_'+typeE);
	var bloc_erreur = $('blocerreur_'+typeE);
	var en_cours = $(typeE+'_encours');
	var attente = $('message_attente'+typeE);
	if(document.getElementById('langue_actuelle'))
	{
		var langue = $('langue_actuelle').value;
		var msg_attente = $('msgvalidation:'+typeE+':'+langue).value;
	}
	else
		var msg_attente = $('msgvalidation:'+typeE).value;	
	if(en_cours.value == '1')
		return;
	en_cours.value = '1';
	new Effect.Appear(attente, {queue:'front', beforeStart: function(){attente.innerHTML = msg_attente; attente.scrollTo();}});
	var checkedField = '';
	var fieldValue = '';
	var elementValue = '';
	var tabValue = [];
	var tabId = [];
	var tabElement = [];
	var inputs = getElementsByClassName('elementtoget '+typeE, "*", bloc);
	for(var cpt = 0; cpt < inputs.length; cpt++)
	{
		var push = true;
		if(inputs[cpt].tagName == "SELECT")
		{
			tabElement = getListeSelected(inputs[cpt].id); 
			tabValue.push(tabElement.join("#"));
		}
		else
		{
			if(inputs[cpt].tagName == "TEXTAREA")
			{
				if(document.getElementById(inputs[cpt].id+"_parent"))
				{
					elementValue = escape(tinyMCE.get(inputs[cpt].id).getContent());
					tabValue.push(elementValue);
				}
				else
				{
					elementValue = encodeURIComponent(inputs[cpt].value);
					tabValue.push(elementValue.replace(/’/g, "'"));
				}
			}
			else
			{
				if(inputs[cpt].type == "checkbox" || inputs[cpt].type == "hidden")
				{
					if(inputs[cpt].id.match(new RegExp("[^:]+:cle:.+")))
					{
						var tabCheck = inputs[cpt].id.split(':');
						var indexCheck = array_search(tabCheck[0], tabId);
						if(inputs[cpt].checked === true || inputs[cpt].type == "hidden")
						{
							if(indexCheck !== false)
								tabValue[indexCheck] += inputs[cpt].value+"#";
							else
							{
								tabId.push(tabCheck[0]);
								tabValue.push(inputs[cpt].value+"#");
							}
						}
						else
						{
							if(indexCheck === false)
							{
								tabId.push(tabCheck[0]);
								tabValue.push("");
							}
						}
						push = false;
					}
					else
					{
						if(inputs[cpt].checked === true || inputs[cpt].type == "hidden")
						{
							elementValue = inputs[cpt].value;
							tabValue.push(elementValue.replace(/’/g, "'"));
						}
					}
				}
				else
				{
					elementValue = inputs[cpt].value;
					tabValue.push(escape(elementValue.replace(/’/g, "'")));
				}
			}
		}
		if(push)
			tabId.push(inputs[cpt].id);
	}
	checkedField = tabId.join("|");
	fieldValue = tabValue.join("|");
	var chPOST = "&checkedField="+checkedField+"|"+
				"&fieldValue="+fieldValue;
							
	new Ajax.Request(urltask, {
		asynchronous: 'true',
		postBody: 'tache=enregistre'+typeE+chPOST,
		onLoading: function (xhr)
		{
			bloc_erreur.innerHTML = '';
		},
		onSuccess: function(xhr)
		{
			var result = treatTaskMsg(xhr.responseText);
			var msg_res = '';
			if(result == true)
			{
				msg_res = xhr.responseText.substr(13);
				tab_res = msg_res.split('|');
				msg_res = tab_res[0];
				if(document.getElementById('redirection:'+typeE))
					window.location.replace($('redirection:'+typeE).innerHTML+"&message=enreg&"+typeE+"="+tab_res[1]);
				else
				{
					if(tab_res.length == 1)
						window.location.replace(tab_res[0]);
					else
						updateTemplate(typeE);
				}
				new Effect.SwitchOff(bloc, {queue:'end', afterFinish: function(){Behaviour.apply();}});
			}
			else
			{
				if(result == false)
					msg_res = xhr.responseText.substr(11);
			}
			new Effect.BlindUp(bloc_erreur, {queue:'end', afterFinish: function(){bloc_erreur.innerHTML = msg_res; bloc_erreur.scrollTo();}});
			new Effect.BlindDown(bloc_erreur, {queue:'end'});
			new Effect.SwitchOff(attente, {queue:'end', afterFinish: function(){en_cours.value = '0'; Behaviour.apply();}});
		}
	});
}

function updateTemplate(typeE)
{
	if(document.getElementById('tpltoupdate:'+typeE))
	{
		var tpltoupdate = $('tpltoupdate:'+typeE).value;
		var bloctoupdate = $('bloctoupdate:'+typeE).value;
		var tabTplToUpdate = tpltoupdate.split('|');
		var tabBlocToUpdate = bloctoupdate.split('|');
	}
	else
	{
		var tabTplToUpdate = [];
		var tabBlocToUpdate = [];
	}
	for(var i = 0; i < tabTplToUpdate.length; i++)
	{
		var valeur_update = $(tabBlocToUpdate[i]+'_update').value;
		var tabValeur = valeur_update.split('|');
		var chPOST = '';
		for(var j = 0; j < tabValeur.length; j++)
		{
			var valpost = tabValeur[j].split(':');
			chPOST += '&'+valpost[0]+'='+valpost[1];
		}
		var formupdate = tabTplToUpdate[i];
		var blocupdate = $(tabBlocToUpdate[i]);
		new Ajax.Request(urlaff, {
			asynchronous: 'true', 
			postBody: 'tpl='+formupdate+chPOST,
			onComplete: function(zhr)
			{
				blocupdate.innerHTML = zhr.responseText;
				Behaviour.apply();
			}
		});
	}
}

function operationAdresse(type, idadresse, attente, en_cours)
{
 	var bloc_erreur = $('blocerreur_gestion_adresse');
	var chPOST = "&checkedField=idadresse|"+
				"&fieldValue="+idadresse;
	new Ajax.Request(urltask, {
		asynchronous: 'true',
		postBody: 'tache='+type+chPOST,
		onLoading: function (xhr)
		{
			bloc_erreur.innerHTML = '';
		},
		onSuccess: function(xhr)
		{
			var result = treatTaskMsg(xhr.responseText);
			var msg_res = '';
			if(result == true)
			{
				msg_res = xhr.responseText.substr(13);
				updateTemplate('adresse');
			}
			else
			{
				if(result == false)
					msg_res = xhr.responseText.substr(11);
			}
			new Effect.BlindUp(bloc_erreur, {queue:'end', afterFinish: function(){bloc_erreur.innerHTML = msg_res;}});
			new Effect.BlindDown(bloc_erreur, {queue:'end'});
			new Effect.SwitchOff(attente, {queue:'end', afterFinish: function(){en_cours.value = '0'; Behaviour.apply();}});
		}
	});
}

function clickLettre(lettre)
{
	var type = $('type_liste').value;
	var val_lettre = lettre.id.replace('l_', '');
	if(!document.getElementById(type+"_"+val_lettre))
		return;
	if($(type+'_'+val_lettre).style.display != "none")
		return;
	var en_cours = $('encours_'+type);
	if(en_cours.value == '1')
		return;
	en_cours.value = '1';
	lettre.className = "r_lettre_on";
	var liste = getElementsByClassName(type, 'div');
	for(var i = 0; i < liste.length; i++)
	{
		if(liste[i].style.display != "none")
		{
			var idhide = liste[i].id;
			new Effect.BlindUp($(idhide), {queue:'front', duration:0.5});
			var idlettre = "l_"+idhide.replace(type+'_', '');
			$(idlettre).className = "r_lettre";
		}
		if(liste[i].id == type+"_"+val_lettre)
		{
			var idshow = liste[i].id;
			new Effect.BlindDown($(idshow), {queue:'end', duration:0.5, afterFinish: function(){en_cours.value = '0'; Behaviour.apply();}});
		}
	}
}

function changePage(nb)
{
	var liste_lettre = getElementsByClassName('liste_lettre', 'input');
	var lettre_on = getElementsByClassName('r_lettre_on', 'span');
	for(var i = 0; i < lettre_on.length; i++)
		var lettre_cours = lettre_on[i].id;
	for(var i = 0; i < liste_lettre.length; i++)
	{
		if('l_'+liste_lettre[i].value == lettre_cours)
			break;
	}
	i = i + (nb);
	if(nb == 1)
	{
		if(i >= liste_lettre.length)
			i = 0;
	}
	else
	{
		if(i < 0)
			i = liste_lettre.length - 1;
	}
	lettre_cours = liste_lettre[i].id.replace('lettre', 'l');
	lettre = $(lettre_cours);
	clickLettre(lettre);
}

function ajoutPanier(bloc, en_cours)
{
	var url = siteencours+'module/ajax/index.php?module=panier';
	var valbloc = bloc.id.replace('ajout:','');
	var tab = valbloc.split(':');
	var en_cours = $('ajout_encours_'+valbloc);
	var lst = getElementsByClassName('encours_ajout', 'input');
 	for(var i = 0; i < lst.length; i++)
 	{
 		if(lst[i].value == '1')
			return;
 	}
	en_cours.value = '1';
	if(tab.length > 1)
		idprod = tab[0];
	else
		idprod = valbloc;
	var quantiteproduit = $('quantite:'+valbloc).value;
	var message = $('ajax_ajout_'+valbloc);
	var ajax_erreur = $('ajax_erreur_'+valbloc);
	var ajax_ok = $('ajax_ok_'+valbloc);
	new Effect.BlindDown(message, {queue:'front'});
	if(quantiteproduit != 0 && quantiteproduit != '')
	{
		var url_cot = siteencours+'module/ajax/index.php?module=cotation';
		new Ajax.Request(url_cot, {
			aynchronous: 'true', 
			postBody: 'feed='+idprod+'&qte='+quantiteproduit,
			onFailure: function (xhr)
			{
				new Effect.Fade(message, {queue:'end', afterFinish: function(){en_cours.value = '0';}});
				new Effect.Appear(ajax_erreur, {queue:'end', duration:0.2});
				new Effect.Fade(ajax_erreur, {queue:'end', duration:0.8});
			},
			onSuccess: function (xhr)
			{
				var temmp = xhr.responseText;
				var tabtmp = temmp.split('|');
				
				var quantite = tabtmp[0];
				var puht = tabtmp[1];
				var totalht = tabtmp[2];
				var tauxtva = tabtmp[3];
				var idpromo = tabtmp[4];
				var numpromo = tabtmp[5];
				var poids = tabtmp[6];
				new Ajax.Request(url, {
					asynchronous: 'true',
					postBody: 'panier_produit='+idprod+'|'+quantite+'|'+'ajout'+'|'+puht+'|'+tauxtva+'|'+idpromo+'|'+numpromo+'|'+poids,
					onFailure: function (xhr)
					{
						new Effect.Fade(message, {queue:'end', afterFinish: function(){en_cours.value = '0';}});
						new Effect.Appear(ajax_erreur, {queue:'end', duration:0.2});
						new Effect.Fade(ajax_erreur, {queue:'end', duration:0.8});
					},
					onSuccess: function(fhr)
					{
						var url_aff = siteencours+'module/ajax/index.php?module=affichagemoteur';
						new Ajax.Request(url_aff, {
							asynchronous: 'true', 
							postBody: 'tpl=site/panier/mini_recap_panier',
							onSuccess: function (ahr)
							{
								$('texte_panier').innerHTML = ahr.responseText;
								new Effect.Fade(message, {queue:'end', afterFinish: function(){en_cours.value = '0';}});
								new Effect.Appear(ajax_ok, {queue:'end', duration:0.2});
								new Effect.Fade(ajax_ok, {queue:'end', duration:3});
							}
						});
					}
				});
			}
		});
	}
}

function actionPanier(val, redirect)
{
	var message = $('ajax_msg_panier');
	var ajax_erreur = $('ajax_erreur_panier');
	var en_cours = $('ajout_encours_panier');
	
	if(en_cours.value == '1')
		return;
	
	en_cours.value = '1';
	new Effect.BlindDown(message, {queue:'front'});
	var url = siteencours+'module/ajax/index.php?module=panier';
	new Ajax.Request(url, {
		asynchronous: 'true',
		postBody: 'panier_produit='+val,
		onFailure: function (xhr)
		{
			new Effect.Fade(message, {queue:'end', afterFinish: function(){en_cours.value = '0';}});
			new Effect.Appear(ajax_erreur, {queue:'end', duration:0.2});
			new Effect.Fade(ajax_erreur, {queue:'end', duration:0.8});
		},
		onSuccess: function(fhr)
		{
			new Effect.Fade(message, {queue:'end', afterFinish: function(){en_cours.value = '0';}});
			if(redirect != "")
				window.location.replace(redirect);
		}
	});
}
 			
var myrules = {
	
	'div.lien_reglette' : function(lr){
 		goReglette(lr);
 	},
 	
 	'div.lien_reglette_debut' : function(lr){
 		goReglette(lr);
 	},
 	
 	'div.lien_reglette_fin' : function(lr){
 		goReglette(lr);
 	},
 	
 	'div.lien_reglette_precedent' : function(lr){
 		goReglette(lr);
 	},
 	
 	'div.lien_reglette_suivant' : function(lr){
 		goReglette(lr);
 	},
 	
 	'.element_menu' : function(el_menu) {
 		el_menu.onmouseover = function() {
 			var tabPos = [];
 			tabPos[0] = 0;
 			tabPos[1] = 138;
 			tabPos[2] = 294;
 			tabPos[3] = 455;
 			tabPos[4] = 627;
 			tabPos[5] = 830;
 			tabPos[6] = 1012;
 			var perso = $('personnage');
 			var perso_w = perso.style.width.replace('px', '');
 			var elt_w = tabPos[el_menu.tabIndex] - tabPos[(el_menu.tabIndex - 1)];
 			var pos_x = tabPos[(el_menu.tabIndex - 1)];
 			val_l = pos_x + Math.round((elt_w - perso_w) / 2);
 			new Effect.Morph(perso, {style: 'left:'+val_l+'px', duration:0.3, transition: Effect.Transitions.spring});
 		}
 	},
 	
 	'.overpays' : function(pays) {
 		pays.onmouseover = function() {
 			var contenu_map = $('element_map');
 			var input = getElementsByClassName("map_pays", 'div', contenu_map);
 			for(var i = 0; i < input.length; i++)
 				input[i].style.display = "none";
 			if(pays.id.match(new RegExp("menu_")))
 			{
 				var idelement = pays.id.replace('menu_', '');
 				idelement = idelement.split('_');
 				var val = idelement[0];
 				for(var i = 1; i < (idelement.length - 1); i++)
 					val += "_"+idelement[i];
 				idelement = val;
 				pays.style.textDecoration = "underline";
 			}
 			else
 				var idelement = pays.id.replace('map:','');
 			if(document.getElementById(idelement))
 				$(idelement).style.display = "block";
 		},
 		
 		pays.onmouseout = function() {
 			if(pays.id.match(new RegExp("menu_")))
 			{
 				var idelement = pays.id.replace('menu_', '');
 				idelement = idelement.split('_');
 				var val = idelement[0];
 				for(var i = 1; i < (idelement.length - 1); i++)
 					val += "_"+idelement[i];
 				idelement = val;
 				pays.style.textDecoration = "none";
 				if(document.getElementById(idelement))
 					$(idelement).style.display = "none";
 			} 			
 		}
 	},
 	
 	'.r_lettre' : function(lettre) {
 		lettre.onclick = function() {
 			clickLettre(lettre);
 		}
 	},
 	
 	'#btn_compte' : function(log) {
 		log.onclick = function() {
 			var islogged = $('islogged');
 			var login = $('c_login');
 			var logged = $('c_logged');
 			new Effect.Fade(log, {queue:'front', duration:0.5});
 			if(islogged.value == '1')
 				new Effect.Appear(logged, {queue:'end', duration:0.5});
 			else
 				new Effect.Appear(login, {queue:'end', duration:0.5});
 		}
 	},
 	
 	'.validerForm' : function(form) {
 		form.onclick = function() {
 			traitementFormulaire(form.id);
 		}
 	},
 	
 	'.validerFormConseil' : function(form) {
 		form.onclick = function() {
 			var checkboxs = getElementsByClassName("checkbox_checked", "label");
 			var tabGenre = [];
 			var tabCat = [];
 			for (var i = 0; i < checkboxs.length; i++)
 			{
 				var inputElement = $(checkboxs[i].getAttributeNode('for').value);
 				if(inputElement.checked)
 				{
 					var tabID = inputElement.id.split(':');
 					if(tabID[0] == "categorie" && checkboxs[i].innerHTML != "")
 						tabGenre.push(tabID[2]);
 					if(tabID[0] == "cat")
 						tabCat.push(tabID[1]);
 				}
 			}
 			var checkboxs = getElementsByClassName("listetype", "input");
 			var tabType = [];
 			for (var i = 0; i < checkboxs.length; i++)
 			{
 				if(checkboxs[i].value == 1)
 					tabType.push(checkboxs[i].id.replace('etat_genre:',''));
 			}
 			if($('formtype'))
 				$('formtype').value = tabType.join('#');
 			if($('formgenre'))
 				$('formgenre').value = tabGenre.join('#');
 			if($('formcat'))
 				$('formcat').value = tabCat.join('#');
 			traitementFormulaire(form.id);
 		}
 	},
 	
 	'.gestion_adresse' : function(g_adr) {
 		g_adr.onclick = function() {
 			var en_cours = $('gestion_adresse_encours');
 			var attente = $('message_attentegestion_adresse');
 			var bloc = $('gestion_adresse');
 			if(en_cours.value == '1')
				return;
			en_cours.value = '1';
			new Effect.Appear(attente, {queue:'front'});
 			if(g_adr.id.match(new RegExp("modifier_adresse:")) || g_adr.id.match(new RegExp("ajouter_adresse:")))
 			{
 				var idadresse = "";
 				var typeadresse = "";
 				if(g_adr.id.match(new RegExp("modifier_adresse:")))
 					idadresse = g_adr.id.replace("modifier_adresse:", "");
 				else
 					typeadresse = g_adr.id.replace("ajouter_adresse:", "");
				var url_aff = siteencours+'module/ajax/index.php?module=affichagemoteur';
				new Ajax.Request(url_aff, {
					asynchronous: 'true',
					postBody: 'tpl=site/utilisateur/adresse/formadresse&idadresse='+idadresse+'&typeadresse='+typeadresse,
					onSuccess: function (ahr)
					{
						new Effect.BlindUp(bloc, {queue:'front', afterFinish: function(){bloc.innerHTML = ahr.responseText;}});
						new Effect.BlindDown(bloc, {queue:'end', afterFinish: function(){bloc.scrollTo();}});
						new Effect.SwitchOff(attente, {queue:'end', afterFinish: function(){en_cours.value = '0'; Behaviour.apply();}});
					}
				});
 			}
 			else
 			{
 				if(g_adr.id.match(new RegExp("defaut_adresse:")))
 				{
 					var idadresse = g_adr.id.replace("defaut_adresse:", "");
 					operationAdresse("defaut_adresse", idadresse, attente, en_cours);
 				}
 				if(g_adr.id.match(new RegExp("supprimer_adresse:")))
 				{
 					var idadresse = g_adr.id.replace("supprimer_adresse:", "");
 					operationAdresse("supprimer_adresse", idadresse, attente, en_cours);
 				}
 			}
 		}
 	},
 	
 	'#page_precedente' : function(precedent) {
 		precedent.onclick = function() {
 			changePage(-1);
 		}
 	},
 	
 	'#page_suivante' : function(suivant) {
 		suivant.onclick = function() {
 			changePage(1);
 		}
 	},
 	
 	'.ajout_panier_1' : function(ajout) {
 		ajout.onclick = function() {
 			ajoutPanier(ajout);
 		}
 	},
 	
 	'.ajout_panier_2' : function(ajout) {
 		ajout.onclick = function() {
 			ajoutPanier(ajout);
 		}
 	},
 	
 	'.vider_panier' : function(vider) {
 		vider.onclick = function() {
 			var val = $('vider_panier_post').value;
 			var redirect = $('redirection_vider').value;
 			actionPanier(val, redirect);
 		}
 	},
 	
 	'.afficher_panier' : function(afficher) {
 		afficher.onclick = function() {
 			var bloc = $('detail_panier');
 			var en_cours = $('panier_encours');
 			var attente = $('message_attentepanier');
 			var idpanier = afficher.id.replace('afficher_panier:', '');
 			if(en_cours.value == '1')
				return;
			en_cours.value = '1';
			new Effect.Appear(attente, {queue:'front'});
			var url_aff = siteencours+'module/ajax/index.php?module=affichagemoteur';
			new Ajax.Request(url_aff, {
				asynchronous: 'true',
				postBody: 'tpl=site/utilisateur/panier/affichepanier&idpanier='+idpanier+'&page=46',
				onSuccess: function (ahr)
				{
					new Effect.BlindUp(bloc, {queue:'front', afterFinish: function(){bloc.innerHTML = ahr.responseText;}});
					new Effect.BlindDown(bloc, {queue:'end', afterFinish: function(){bloc.scrollTo();}});
					new Effect.SwitchOff(attente, {queue:'end', afterFinish: function(){en_cours.value = '0'; Behaviour.apply();}});
				}
			});
 		}
 	},
 	
 	'.supprimer_panier' : function(supprimer) {
 		supprimer.onclick = function() {
 			var bloc = $('detail_panier');
 			var en_cours = $('panier_encours');
 			var attente = $('message_attentepanier');
 			var idpanier = supprimer.id.replace('supprimer_panier:', '');
 			var bloc_erreur = $('blocerreur_panier');
			var chPOST = "&checkedField=idpanier|"+
				"&fieldValue="+idpanier;
 			if(en_cours.value == '1')
				return;
			en_cours.value = '1';
			new Effect.Appear(attente, {queue:'front'});
			new Ajax.Request(urltask, {
				asynchronous: 'true',
				postBody: 'tache=suppressionpaniersauver'+chPOST,
				onLoading: function (xhr)
				{
					bloc_erreur.innerHTML = '';
				},
				onSuccess: function(xhr)
				{
					var result = treatTaskMsg(xhr.responseText);
					var msg_res = '';
					if(result == true)
					{
						msg_res = xhr.responseText.substr(13);
						tab_res = msg_res.split('|');
						msg_res = tab_res[0];
						if(tab_res.length == 1)
							window.location.replace(tab_res[0]);
						new Effect.SwitchOff(bloc, {queue:'end', afterFinish: function(){Behaviour.apply();}});
					}
					else
					{
						if(result == false)
							msg_res = xhr.responseText.substr(11);
					}
					new Effect.BlindUp(bloc_erreur, {queue:'end', afterFinish: function(){bloc_erreur.innerHTML = msg_res;}});
					new Effect.BlindDown(bloc_erreur, {queue:'end'});
					new Effect.SwitchOff(attente, {queue:'end', afterFinish: function(){en_cours.value = '0'; Behaviour.apply();}});
				}
			});
 		}
 	},
 	
 	'.afficher_conseil' : function(afficher) {
 		afficher.onclick = function() {
 			var bloc = $('detail_conseil');
 			var en_cours = $('conseil_encours');
 			var attente = $('message_attenteconseil');
 			var idconseil = afficher.id.replace('afficher_conseil:', '');
 			if(en_cours.value == '1')
				return;
			en_cours.value = '1';
			new Effect.Appear(attente, {queue:'front'});
			var url_aff = siteencours+'module/ajax/index.php?module=affichagemoteur';
			new Ajax.Request(url_aff, {
				asynchronous: 'true',
				postBody: 'tpl=site/utilisateur/conseil/afficheconseil&idconseil='+idconseil,
				onSuccess: function (ahr)
				{
					new Effect.BlindUp(bloc, {queue:'front', afterFinish: function(){bloc.innerHTML = ahr.responseText;}});
					new Effect.BlindDown(bloc, {queue:'end', afterFinish: function(){bloc.scrollTo();}});
					new Effect.SwitchOff(attente, {queue:'end', afterFinish: function(){en_cours.value = '0'; Behaviour.apply();}});
				}
			});
 		}
 	},
 	
 	'.supprimer_conseil' : function(supprimer) {
 		supprimer.onclick = function() {
 			var bloc = $('detail_conseil');
 			var en_cours = $('conseil_encours');
 			var attente = $('message_attenteconseil');
 			var idconseil = supprimer.id.replace('supprimer_conseil:', '');
 			var bloc_erreur = $('blocerreur_conseil');
			var chPOST = "&checkedField=idconseil|"+
				"&fieldValue="+idconseil;
 			if(en_cours.value == '1')
				return;
			en_cours.value = '1';
			new Effect.Appear(attente, {queue:'front'});
			new Ajax.Request(urltask, {
				asynchronous: 'true',
				postBody: 'tache=suppressionconseil'+chPOST,
				onLoading: function (xhr)
				{
					bloc_erreur.innerHTML = '';
				},
				onSuccess: function(xhr)
				{
					var result = treatTaskMsg(xhr.responseText);
					var msg_res = '';
					if(result == true)
					{
						msg_res = xhr.responseText.substr(13);
						tab_res = msg_res.split('|');
						msg_res = tab_res[0];
						if(tab_res.length == 1)
							window.location.replace(tab_res[0]);
						new Effect.SwitchOff(bloc, {queue:'end', afterFinish: function(){Behaviour.apply();}});
					}
					else
					{
						if(result == false)
							msg_res = xhr.responseText.substr(11);
					}
					new Effect.BlindUp(bloc_erreur, {queue:'end', afterFinish: function(){bloc_erreur.innerHTML = msg_res;}});
					new Effect.BlindDown(bloc_erreur, {queue:'end'});
					new Effect.SwitchOff(attente, {queue:'end', afterFinish: function(){en_cours.value = '0'; Behaviour.apply();}});
				}
			});
 		}
 	},
 	
 	'.detail_commande' : function(detail) {
 		detail.onclick = function() {
 			var bloc = $('detail_commande');
 			var en_cours = $('commande_encours');
 			var attente = $('message_attentecommande');
 			var clepasse = detail.id.replace('detail_commande:', '');
 			if(en_cours.value == '1')
				return;
			en_cours.value = '1';
			new Effect.Appear(attente, {queue:'front'});
			var url_aff = siteencours+'module/ajax/index.php?module=affichagemoteur';
			new Ajax.Request(url_aff, {
				asynchronous: 'true',
				postBody: 'tpl=site/utilisateur/commande/detail_commande&clepasse='+clepasse,
				onSuccess: function (ahr)
				{
					new Effect.BlindUp(bloc, {queue:'front', afterFinish: function(){bloc.innerHTML = ahr.responseText;}});
					new Effect.BlindDown(bloc, {queue:'end', afterFinish: function(){bloc.scrollTo();}});
					new Effect.SwitchOff(attente, {queue:'end', afterFinish: function(){en_cours.value = '0'; Behaviour.apply();}});
				}
			});
 		}
 	},
 	
 	'.boutique_paris' : function(boutique) {
 		boutique.onclick = function() {
 			if(document.getElementById('plan_potemkine'))
 			{
 				var plan = $('plan_potemkine');
 				new Effect.Grow(plan);
 			}
 		}
 	},
 	
 	'.plan_potemkine' : function(plan) {
 		plan.onclick = function() {
 			new Effect.Fade(plan);
 		}
 	},
 	
 	'.changer_adresse' : function(adresse) {
 		adresse.onclick = function() {
 			var en_cours = $('adresse_encours');
 			var attente = $('message_attenteadresse');
 			var type = adresse.id.replace('changer_adresse:', '');
 			var bloc = $('changement_adresse:'+type);
 			if(en_cours.value == '1')
				return;
			en_cours.value = '1';
			new Effect.Appear(attente, {queue:'front'});
			var url_aff = siteencours+'module/ajax/index.php?module=affichagemoteur';
			new Ajax.Request(url_aff, {
				asynchronous: 'true',
				postBody: 'tpl=site/commande/liste_adresse&type='+type,
				onSuccess: function (ahr)
				{
					new Effect.BlindUp(bloc, {queue:'front', afterFinish: function(){bloc.innerHTML = ahr.responseText;}});
					new Effect.BlindDown(bloc, {queue:'end', afterFinish: function(){bloc.scrollTo();}});
					new Effect.SwitchOff(attente, {queue:'end', afterFinish: function(){en_cours.value = '0'; Behaviour.apply();}});
				}
			});
 		}
 	},
 	
 	'.choix_adresse' : function(choix) {
 		choix.onclick = function() {
 			var en_cours = $('adresse_encours');
 			var attente = $('message_attenteadresse');
 			var bloc_erreur = $('blocerreur_adresse');
 			var tabParam = choix.id.replace('choix_adresse:', '');
 			tabParam = tabParam.split(':');
 			var type = tabParam[0];
 			var idadresse = tabParam[1];
 			var bloc = $('recap_adresse');
 			if(en_cours.value == '1')
				return;
			en_cours.value = '1';
			new Effect.Appear(attente, {queue:'front'});
			var chPOST = "&checkedField=idadresse|typeadresse"+
						"&fieldValue="+idadresse+"|"+type;
			new Ajax.Request(urltask, {
				asynchronous: 'true',
				postBody: 'tache=commande_changementadresse'+chPOST,
				onLoading: function (xhr)
				{
					bloc_erreur.innerHTML = '';
				},
				onSuccess: function(xhr)
				{
					var result = treatTaskMsg(xhr.responseText);
					var msg_res = '';
					if(result == true)
					{
						msg_res = xhr.responseText.substr(13);
						var redirection = $('redirection_adresse').value;
						window.location.replace(redirection);
					}
					else
					{
						if(result == false)
							msg_res = xhr.responseText.substr(11);
					}
					new Effect.BlindUp(bloc_erreur, {queue:'end', afterFinish: function(){bloc_erreur.innerHTML = msg_res;}});
					new Effect.BlindDown(bloc_erreur, {queue:'end'});
					new Effect.SwitchOff(attente, {queue:'end', afterFinish: function(){en_cours.value = '0'; Behaviour.apply();}});
				}
			});
 		} 		
 	},
 	
 	'.titre_type' : function(genre) {
 		genre.onclick = function() {
 			if(genre.id.match(new RegExp("genre:")))
 			{
	 			var idgenre = genre.id.replace('genre:', '');
				var bloc_checkbox = $('bloc_genre_type:'+idgenre);
				var etat_genre = $('etat_genre:'+idgenre);
				var img_genre = $('img_genre:'+idgenre);
				if(etat_genre.value == '1')
				{
					etat_genre.value = "0";
					img_genre.className = "img_genre";
					var classToFind = "checkbox_checked";
					var classToAffect = "checkbox_unchecked";
					var valueToAffect = false;
				}
				else
				{
					etat_genre.value = "1";
					img_genre.className = "img_genre_over";
					var classToFind = "checkbox_unchecked";
					var classToAffect = "checkbox_checked";
					var valueToAffect = true;
				}
				var checkboxs = getElementsByClassName(classToFind, "label", bloc_checkbox);
				for (var i = 0; i < checkboxs.length; i++)
				{
					checkboxs[i].className = classToAffect;
					var inputElement = $(checkboxs[i].getAttributeNode('for').value);
					inputElement.checked = valueToAffect;
				}
 			}
 		}
 	},
 	
 	'.text_login' : function(login) {
 		login.onfocus = function() {
 			var span = $('msg_login');
 			new Effect.Fade(span);
 		}
 	},
 	
 	'.text_pass' : function(pass) {
 		pass.onfocus = function() {
 			var span = $('msg_pass');
 			new Effect.Fade(span);
 		}
 	},
 	
 	'.msg_login' : function(login) {
 		login.onclick = function() {
 			var text = $('text_login');
 			text.focus();
 			new Effect.Fade(login);
 		}
 	},
 	
 	'.msg_pass' : function(pass) {
 		pass.onclick = function() {
 			var text = $('text_pass');
 			text.focus();
 			new Effect.Fade(pass);
 		}
 	},
 	
 	'#img_postit' : function(img) {
 		img.onmouseover = function() {
 			if(document.getElementById('img_postit_hover'))
 			{
 				var hover = $('img_postit_hover');
	 			img.style.display = "none";
	 			hover.style.display = "block";
 			}
 		}
 	},
 	
 	'#img_postit_hover' : function(hover) {
 		hover.onmouseout = function() {
 			var img = $('img_postit');
 			hover.style.display = "none";
 			img.style.display = "block";
 		}
 	},
 	
 	'.img_paiement_livraison' : function(img) {
 		img.onclick = function() {
 			var idradio = img.id.replace('img:', '');
 			clickedLabelElement = crir.findLabel(idradio);
			clickedInputElement = $(idradio);
			clickedInputElementName = clickedInputElement.getAttributeNode('name').value;
			
			arrInputs = document.getElementsByTagName('input');
		
			// uncheck (label class) all radios in the same group
			for (var i=0; i<arrInputs.length; i++) {			
				inputElementType = arrInputs[i].getAttributeNode('type').value;
				if (inputElementType == 'radio') {
					inputElementName = arrInputs[i].getAttributeNode('name').value;
					inputElementClass = arrInputs[i].className;
					// find radio buttons with the same 'name' as the one weve changed and have a class of chkHidden
					// and then set them to unchecked
					if (inputElementName == clickedInputElementName && inputElementClass == 'crirHidden') {				
						inputElementID = arrInputs[i].getAttributeNode('id').value;
						labelElement = crir.findLabel(inputElementID);
						labelElement.className = 'radio_unchecked';
					}
				}
			}
		
			// if the radio clicked is hidden set the label to checked
			if (clickedInputElement.className == 'crirHidden') {
				clickedLabelElement.className = 'radio_checked';
			}
 		}
 	},
 	
 	'#affichecgv' : function(cgv) {
 		cgv.onclick = function() {
 			var bloc = $('bloc_cgv');
 			if(bloc.style.display == "none")
 				new Effect.Appear(bloc, {afterFinish: function(){bloc.style.display = "block"; bloc.scrollTo();}});
 			else
 				new Effect.Fade(bloc, {afterFinish: function(){bloc.style.display = "none";}});
 		}
 	},
 	
 	'.form_contact' : function(formcontact) {
 		formcontact.onclick = function() {
 			var en_cours = $('formcontact_encours');
 			var attente = $('message_attenteformcontact');
 			var type = formcontact.id.replace('formulaire:', '');
 			var bloc = $('formcontact');
 			if(en_cours.value == '1')
				return;
			en_cours.value = '1';
			var chPOST = 'type_contact='+type;
			new Effect.Appear(attente, {queue:'front'});
			new Ajax.Request(urlaff, {
				asynchronous: 'true', 
				postBody: 'tpl=corporate/formcontact&'+chPOST,
				onSuccess: function(zhr)
				{
					new Effect.BlindUp(bloc, {queue:'end', afterFinish: function(){bloc.innerHTML = zhr.responseText;}});
					new Effect.BlindDown(bloc, {queue:'end'});
					new Effect.SwitchOff(attente, {queue:'end', afterFinish: function(){en_cours.value = '0'; Behaviour.apply();}});
				}
			});
 		}
 	},
 	
 	'img.actualise_captcha' : function(ac){
 		ac.onclick = function(){
 		var bloc = $('contenu_captcha');
 		var en_cours = $('image_encours');
 		var attente = $('attente_image');
 		var src_ori = attente.src;
 		var image_attente = $('chemin_image').value;

 			if(en_cours.value == '1')
				return;
 			
 			en_cours.value = '1';
 			
 			new Effect.BlindUp(bloc, {queue:'front', beforeStart: function(){attente.src = image_attente;}});
 						
 			var url_aff = siteencours+'module/ajax/index.php?module=affichagemoteur';
				new Ajax.Request(url_aff, {
					asynchronous: 'true',
					postBody: 'tpl=commun/captcha',
					onSuccess: function (ahr)
					{
						new Effect.BlindDown(bloc, {queue:'end', beforeStart: function(){bloc.innerHTML = ahr.responseText;}, afterFinish: function(){attente.src = src_ori; en_cours.value = '0'; Behaviour.apply();}});
					}
				});
 		}
 	},
 	
 	'tr.ligne_evidence' : function(ligne) {
 		var idbloc = "";
 		var bloc;

 		ligne.onmouseover = function() {
	 		idbloc = ligne.id.replace('texte_hover:','');
	 		if(!$('bloc_promotion:'+idbloc))
	 			return;
	 		bloc = $('bloc_promotion:'+idbloc);
 			bloc.style.display = "block";
 		}
 		
 		ligne.onmouseout = function() {
	 		idbloc = ligne.id.replace('texte_hover:','');
	 		if(!$('bloc_promotion:'+idbloc))
	 			return;
	 		bloc = $('bloc_promotion:'+idbloc);
 			bloc.style.display = "none";
 		}
 	},
 	
 	'.zoneradio' : function(zone) {
 		zone.onclick = function() {
 			var radio = $(zone.id.replace('zone_',''));
 			radio.checked = true;
 		}
 	},
 	
 	'.lien_actu' : function(clic_actu) {
 		clic_actu.onclick = function() {
 			var lien = clic_actu.id.replace('lien_actu_', 'cible_actu_');
 			if($(lien))
 			{
 				if($(lien).href != "")
 					window.location.href = $(lien).href;
 			}			
 		}
 	}
};

// Enregistrement des regles definies ci dessus dans Behaviour
Behaviour.register(myrules);