var timeout;
var delai=400;
var clign=700;
var attente;

Event.onDOMReady(function(){//Enregistrement des événements
	if (document.getElementById("noffres") || document.getElementById("ncomms"))
		compteur();
	if (document.getElementById("fdp"))
		clignote();
	if(document.getElementsByName('bois')){
		for(var nb_bois=0;nb_bois<document.getElementsByName('bois').length;++nb_bois){
			if (this.addEventListener)
				document.getElementsByName('bois').item(nb_bois).addEventListener("click", envoie_form, false);
			else
				document.getElementsByName('bois').item(nb_bois).attachEvent("onclick", envoie_form);
		}
	}
	if(document.getElementById("dans_panier")){
		if (this.addEventListener)
			document.getElementById("rien").addEventListener("click", supp_dans_panier, false);
		else
			document.getElementById("rien").attachEvent("onclick", supp_dans_panier);
	}
	if (this.addEventListener){
		if(document.getElementById("aide2")){
			document.getElementById("aide2").addEventListener("mouseover", test, false);
			document.getElementById("menuaide").addEventListener("mouseout", cachedel, false);
			document.getElementById("aide2").addEventListener("mouseout", cachedel, false);
			document.getElementById("menuaide").addEventListener("mouseover", test, false);
		}
		if (document.getElementById("qte")){
			document.getElementById("qte").addEventListener("keyup", actualise_prix, false);
		}
		if (document.getElementById("taille")){
			document.getElementById("taille").addEventListener("change", actualise_prix, false);
		}
		if (document.getElementById("inptrech")){
			document.getElementById("inptrech").addEventListener("focus", rech, false);
			document.getElementById("inptrech").addEventListener("blur", rech_anc, false);
		}
		if(document.getElementById("ebois2")){
			document.getElementById("ebois2").addEventListener("mouseover", teste, false);
			document.getElementById("menuebois").addEventListener("mouseout", cacheedel, false);
			document.getElementById("ebois2").addEventListener("mouseout", cacheedel, false);
			document.getElementById("menuebois").addEventListener("mouseover", teste, false);
		}
	}
	else{
		if(document.getElementById("aide2")){
			document.getElementById("menuaide").attachEvent("onmouseout", cachedel);
			document.getElementById("aide2").attachEvent("onmouseout", cachedel);
			document.getElementById("aide2").attachEvent("onmouseover", test);
			document.getElementById("menuaide").attachEvent("onmouseover", test);
		}
		if (document.getElementById("inptrech")){
			document.getElementById("inptrech").attachEvent("onfocus", rech);
			document.getElementById("inptrech").attachEvent("onblur", rech_anc);
		}
		if (document.getElementById("taille")){
			document.getElementById("taille").attachEvent("onchange", actualise_prix);
		}
		if (document.getElementById("qte")){
			document.getElementById("qte").attachEvent("onkeyup", actualise_prix);
		}
		if(document.getElementById("ebois2")){
			document.getElementById("ebois2").attachEvent("onmouseover", teste);
			document.getElementById("menuebois").attachEvent("onmouseout", cacheedel);
			document.getElementById("ebois2").attachEvent("onmouseout", cacheedel);
			document.getElementById("menuebois").attachEvent("onmouseover", teste);
		}
	}
	//Evénéments "blog"
	capture_liens_blog()
});

function capture_liens_blog(){//Capture les liens pour le blog
	if(document.getElementById("int")){
		for(var i = 0; i < document.getElementById("int").getElementsByTagName("a").length; i ++){
			elt = document.getElementById("int").getElementsByTagName("a")[i];
			Event.stopObserving(elt, 'click', comments);
			Event.stopObserving(elt, 'click', affich_article);
			if(/\?ferm/i.test(elt.href))
				Event.observe(elt, 'click', supp_div_comms);
			else{
				if(/act=suite$/i.test(elt.href))
					Event.observe(elt, 'click', affich_article);
				else{
					if(/comms.php/i.test(elt.href))
						Event.observe(elt, 'click', comments);
				}
			}
		}
	}
	for(var i = 0; i < document.getElementById("int").getElementsByTagName("div").length; i ++){
		var div = document.getElementById("int").getElementsByTagName("div")[i];
		if(/^list_comms$/i.test(div.className)){//On capture les formulaires
			for(var v = 0; v < div.getElementsByTagName("form").length; v ++){
				Event.stopObserving(div.getElementsByTagName("form")[v], 'submit',  comments);
				Event.observe(div.getElementsByTagName("form")[v], 'submit', comments);
			}
		}
		if(/^desc_prod_blog$/i.test(div.className)){//capture image
			for(var v = 0; v < div.getElementsByTagName("a").length; v ++){
				if(/\.jpg$|\.png$|\.gif$|\.jpeg$|\.bmp$/i.test(div.getElementsByTagName("a")[v].href)){
					Event.stopObserving(div.getElementsByTagName("a")[v], 'click',  affich_img_masq);
					Event.observe(div.getElementsByTagName("a")[v], 'click', affich_img_masq);
				}
			}
		}
	}
}

function envoie_form(){
	document.demande.submit();
}

/*******Recherche**************/

function rech_anc() {
	document.getElementById('inptrech').style.color="#666";
}

function rech() {
	document.getElementById('inptrech').style.color="#333";
	if (document.getElementById('inptrech').value=="Rechercher un produit")
		document.getElementById('inptrech').value="";
}

/**********Menu déroulant, à améliorer**************/

function test(){
	if(document.getElementById('menuebois').style.visibility=="visible")
		cache("menuebois");
	if (timeout)
		clearTimeout(timeout);
	if (this.addEventListener)
		document.getElementById('menuaide').style.left=(document.getElementById('aide2').offsetLeft-1)+"px";
	else
		document.getElementById('menuaide').style.left=(document.getElementById('aide2').offsetLeft+document.getElementById('site').offsetLeft+document.getElementById('menu_principal').offsetLeft)+"px";
	if(document.getElementById('aide2').className!="selaide")
		document.getElementById('aide2').className="actm";
	document.getElementById('menuaide').style.top=(document.getElementById('menu_principal').offsetHeight+ document.getElementById('imgh').offsetHeight)+"px";
	document.getElementById('menuaide').style.visibility="visible";
}

function teste(){
	if(document.getElementById('menuaide').style.visibility=="visible")
		cache("menuaide");
	if (timeout)
		clearTimeout(timeout);
	if (this.addEventListener)
		document.getElementById('menuebois').style.left=(document.getElementById('ebois2').offsetLeft-1)+"px";
	else
		document.getElementById('menuebois').style.left=(document.getElementById('ebois2').offsetLeft+document.getElementById('site').offsetLeft+document.getElementById('menu_principal').offsetLeft)+"px";
	if(document.getElementById('ebois2').className!="selebois")
		document.getElementById('ebois2').className="actm";
	document.getElementById('menuebois').style.top=(document.getElementById('menu_principal').offsetHeight + document.getElementById('imgh').offsetHeight)+"px";
	document.getElementById('menuebois').style.visibility="visible";
}

function cacheedel(){
	timeout = setTimeout('cache("menuebois")',delai);
}
function cachedel(){
	timeout = setTimeout('cache("menuaide")',delai);
}

function cache(menu){
	document.getElementById(menu).style.visibility="hidden";
	if(document.getElementById(menu.replace("menu","")+"2").className=="actm")
		document.getElementById(menu.replace("menu","")+"2").className=menu.replace("menu","");
}

var timedelai;
var o=0;
delai_une=60;

function compteur(){
	timedelai = setTimeout('nouvof()',delai_une);
}

function nouvof(){//Affiche fenêtres si nouvelles offres pour le client et nouvelles commandes pour le fournisseur
	if (document.getElementById("noffres")){
		if (timedelai && o<document.getElementById("noffres").offsetHeight){
			clearTimeout(timedelai);
			o+=1;
			document.getElementById("noffres").style.marginTop=(44-o)+"px";
			compteur();
		}
	}
	if (document.getElementById("ncomms")){
		document.getElementById("ncomms").style.marginLeft=(120+document.getElementById('boi').offsetWidth)+"px";
		if (timedelai && o<document.getElementById("ncomms").offsetHeight){
			clearTimeout(timedelai);
			o+=1;
			document.getElementById("ncomms").style.marginTop=(44-o)+"px";
			compteur();
		}
	}
}

function clignote(){
	attente = setTimeout('va_clignoter()',clign);
}

function va_clignoter(){//Clignotement
	clearTimeout(attente);
		if (document.getElementById("fdp").style.visibility=="visible"){
			document.getElementById("fdp").style.visibility="hidden";
			clign=300;
		}
		else{
			document.getElementById("fdp").style.visibility="visible";
			clign=900;
		}
	clignote();
}

function actualise_prix(){//actualise le prix dans la fiche produit eb fonction de la taille et de la qté
	if(document.getElementById("qte").value>0){
		var o;
		for(o = 0; o < tab_qte.length; o++){
			if(tab_qte[o]>document.getElementById("qte").value){
				break;
			}
		}
		if(o>0)
			o--;
		document.getElementById("prix_prod").removeChild(document.getElementById("prix_prod").childNodes[0]);
		var pres;
		if(document.getElementById("taille")){
			//précision 
			if(tab_prix[o][document.getElementById("taille").options[parseInt(document.getElementById('taille').selectedIndex)].text].toString().lastIndexOf(".")==-1)
				pres = tab_prix[o][document.getElementById("taille").options[parseInt(document.getElementById('taille').selectedIndex)].text].toString().length + 2;
			else
				pres = tab_prix[o][document.getElementById("taille").options[parseInt(document.getElementById('taille').selectedIndex)].text].toString().lastIndexOf(".") + 2;
			document.getElementById("prix_prod").appendChild(document.createTextNode(tab_prix[o][document.getElementById("taille").options[parseInt(document.getElementById('taille').selectedIndex)].text].toPrecision(pres) + " \u20AC"));
		}
		else{
			//précision 
			if(tab_prix[o].toString().lastIndexOf(".")==-1)
				pres = tab_prix[o].toString().length + 2;
			else
				pres = tab_prix[o].toString().lastIndexOf(".") + 2;
			document.getElementById("prix_prod").appendChild(document.createTextNode(tab_prix[o].toPrecision(pres) + " \u20AC"));
		}
	}
}

function supp_dans_panier(e){//Fonction servant à masquer la fenêtre affichée après ajout d'un produit dans le panier
	if (!e)
		e=window.event;
	if (e.preventDefault)
		e.preventDefault();
	else
		e.returnValue=false;
	document.getElementById("int").removeChild(document.getElementById("dans_panier"));
}

//affichage des commune
function montre(id) {
var d = document.getElementById(id);
	for (var i = 0; i<=1000; i++) {
		if (document.getElementById('com'+i)) {document.getElementById('com'+i).style.display='none';}
	}
if (d) {d.style.display='block';}
}



/***************** Blog *********************/

function comments(e){//gestion des commentaires, version Ajax
	Event.stop(e);
	var elt;
	if(Event.findElement(e, 'a').href)
		elt = Event.findElement(e, 'a');
	else
		elt = Event.findElement(e, 'form');
	var req;
	var method_env;
	var page;
	if(elt.href && /\?(.*)/.test(elt.href)){//lien html
		var repp = /http:\/\/[^\/]+(\/.*)\?(.*)/i.exec(elt.href);
		req = repp[2] + "&ajax=1";
		page = repp[1];
		method_env = "get";
	}
	else{//formulaire
		req = elt.serialize() + "&ajax=1";
		method_env = elt.method;
		page = elt.action;
	}
	var div_blog = elt;
	while(!/^contenu_prod$/i.test(div_blog.className)){
		div_blog = div_blog.parentNode;
	}
	//On supprime le div où seront affichés les commentaires s'il existe
	for(var i = 0; i < div_blog.getElementsByTagName("div").length; i ++){
		if(/^list_comms$/i.test(div_blog.getElementsByTagName("div")[i].className)){
			div_blog.removeChild(div_blog.getElementsByTagName("div")[i]);
		}
	}
	//Execution de la requête et affichage des données
	var div = document.createElement("div");
	div.className = "list_comms";
	new Ajax.Request(page, {
			parameters: req,
			method: method_env, 
			onCreate: function (){
				var p = document.createElement("p");
				p.className = "chargement";
				p.appendChild(document.createTextNode("Chargement en cours..."));
				div.appendChild(p);
				div_blog.appendChild(div);
			},
			onSuccess: function (reponse){
				new Effect.BlindUp(div, {
						queue: 'end', 
						afterFinish: function(){
							div.style.display = 'none';
							div.innerHTML = reponse.responseText;
							new Effect.BlindDown(div);
							capture_liens_blog();
							new Ajax.Updater('menu_client', '/inc.menu_client.php', {
								parameters: { ajax: 1}
							});
							//on met à jour le nombre de commentaires
							for(var i = 0; i < div_blog.getElementsByTagName("a").length; i ++){
								if(/^nb_comms$/i.test(div_blog.getElementsByTagName("a")[i].className)){
									new Ajax.Updater(div_blog.getElementsByTagName("a")[i], '/blog/inc.nb_comms.php', {
														parameters: req,
														method: 'get', 
														evalScripts: true
													});
									break;
								}
							}
						}
				});
			}
		}
	);
}

function affich_article(e){
	var	elt = Event.findElement(e, 'a');
	if(elt.href && /\?(.*)/.test(elt.href)){//lien html
		Event.stop(e);
		var repp = /http:\/\/[^\/]+(\/.*)\?(.*)/i.exec(elt.href);
		var req = repp[2] + "&ajax=1";
		var page = repp[1];
	}
	else
		return;
	var emp_desc;
	for(var i = 0; i < elt.parentNode.parentNode.getElementsByTagName("p").length; i ++){
		if(/^texte_article$/i.test(elt.parentNode.parentNode.getElementsByTagName("p")[i].className)){
			emp_desc = elt.parentNode.parentNode.getElementsByTagName("p")[i];
		}
	}
	new Ajax.Request(page, {
			parameters: req,
			method: 'get', 
			onCreate: function(){new Effect.Opacity(emp_desc, {duration:0.5, from:1.0, to:0.5});},
			onSuccess: function (reponse){
				emp_desc.innerHTML = reponse.responseText;
				new Effect.Opacity(emp_desc, {duration:0.5, from:0.5, to:1.0});
				capture_liens_blog();
				elt.parentNode.parentNode.removeChild(elt.parentNode);
			}
	});
}

function supp_div_comms(e){//Supprime le div des commentaires avec effet
	Event.stop(e);
	var elt = Event.element(e);
	var div_blog = elt;
	while(!/^contenu_prod$/i.test(div_blog.className)){
		div_blog = div_blog.parentNode;
	}
	var div_comms;
	for(var i = 0; i < div_blog.getElementsByTagName("div").length; i ++){
		div_comms = div_blog.getElementsByTagName("div")[i];
		if(/^list_comms$/i.test(div_comms.className)){
			new Effect.BlindUp(div_comms, {
				queue: 'end', 
				afterFinish: function(){
					div_blog.removeChild(div_comms);
				}
			});
		}
	}
}

function affich_img_masq(e){//Affiche en grand l'image
	eff_masq();
	elt = Event.findElement(e, 'a');
	Event.stop(e);
	masq_select();
	var masque = document.createElement("div");
	masque.id = "masque";
	masque.style.height = document.body.scrollHeight + "px";
	masque.style.width = document.body.scrollWidth + "px";
	document.body.appendChild(masque);
	var contenu_masq = document.createElement("div");
	contenu_masq.id = "contenu_masque";
	//lien fermeture
	var p_ferm = document.createElement("p");
	p_ferm.id = "ferm_masque";
	var lien_ferm = document.createElement("a");
	lien_ferm.href = "#";
	lien_ferm.appendChild(document.createTextNode("Fermer"));
	p_ferm.appendChild(lien_ferm);
	contenu_masq.appendChild(p_ferm);
	//Chargement
	var img_load = document.createElement("img");
	img_load.src = "/imgs/loading.gif";
	contenu_masq.appendChild(img_load);
	document.body.appendChild(contenu_masq);
	//Affichage de l'image
	var img = document.createElement("img");
	img.id = "image_masque";
	img.src = elt.href;
	img.style.display = 'none';
	contenu_masq.appendChild(img);
	redim_masq ();
	chargement_image(img, img_load, contenu_masq);
	//Enregistrement des événements
	Event.observe(lien_ferm, 'click', eff_masq);
	Event.observe(masque, 'click', eff_masq);
	Event.observe(window, 'resize', redim_masq);
}

function chargement_image(img, img_load, contenu_masq) {//chargement de l'image
	if(img.complete){
		new Effect.Appear(img, {
			queue: 'end',
			from: 0.0, 
			to: 1.0,
			beforeStart: function() {contenu_masq.removeChild(img_load);},
			afterUpdate: redim_masq
		});
		
	}
	else
		setTimeout(function() {chargement_image(img, img_load, contenu_masq);}, 500);
}

function eff_masq(e){//on efface le masque et contenu
	if(e)
		Event.stop(e);
	Event.stopObserving(window, 'resize', redim_masq);
	if(document.getElementById("masque"))
		document.body.removeChild(document.getElementById("masque"));
	if(document.getElementById("contenu_masque"))
		document.body.removeChild(document.getElementById("contenu_masque"));
}

function redim_masq (){//on affiche l'image
	var scroll_haut;
	var scroll_gauche;
	//faire si image plus grande que la longueur de la page, retrécir, il agrandit le masque à voir!!! seulement sur opera
	if (self.pageYOffset) {
		scroll_haut = self.pageYOffset;
		scroll_gauche = self.pageXOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
		scroll_haut = document.documentElement.scrollTop;
		scroll_gauche = document.documentElement.scrollLeft;
	} else if (document.body) {// all other Explorers
		scroll_haut = document.body.scrollTop;
		scroll_gauche = document.body.scrollLeft;	
	}
	if(document.getElementById("masque")){
		document.getElementById("masque").style.height = document.body.scrollHeight + "px";
		document.getElementById("masque").style.width = document.body.scrollWidth + "px";
	}
	if(document.getElementById("contenu_masque")){
		document.getElementById("contenu_masque").style.top = scroll_haut + "px";
		document.getElementById("contenu_masque").style.left = ((document.body.scrollWidth / 2) - document.getElementById("contenu_masque").offsetWidth / 2) + "px";
	}
}

function masq_select(){//Masquage des select, pour les navigateurs ie 6 et inférieur
	for(var i = 0; i < document.body.getElementsByTagName("select").length; i++)
		document.body.getElementsByTagName("select")[i].style.visibility = "hidden";
}