// info bulle en roll-over sur la bulle de la colonne 3
// ******************************************************************************
function fct_infobulle_home (pBulle, pEtat) {
	if (document.getElementById) {
		document.getElementById(pBulle).style.visibility=pEtat;
	} else {
		if (document.all && !document.getElementById) {
			document.all[pBulle].style.visibility=pEtat;
		} else {
			if (document.layers) {
				document.layers[pBulle].visibility=pEtat;
			}
		}
	}
}

// verifie adresse email sur page accueil
// ******************************************************************************
function fct_verifemailaccueil (vform) {
	email_saisi = vform.elements["vemail"];
	if (verifEmail(email_saisi)) {
		return true;
	} else {
		alert ("Votre adresse email n'est pas correcte.");
		return false;
	}
}

// selectionne ou deselectionne un tag dans depot contributions
// ******************************************************************************
function fct_clic_tag (vidtag, vmaxtags) {
	refdiv = "tag"+vidtag;
	var nbtags = 0;
	var postrouve = -1;			
	// recup liste tags select
	champtags = document.formdepot.vtags.value;
	if (champtags == "") {
		listetags = new Array();
	} else {
		listetags = champtags.split('_');
		// recup indice position tag dans tableau
		nbtags = listetags.length;
		for (var i=0; i<nbtags ; i++) {
			if (listetags[i] == vidtag) { postrouve = i; }
		}
	}
	// maj liste tags select + class
	var btn = document.getElementById(refdiv);
	if (btn.className == "tagselect") { 
		btn.className= "tag";
		if (postrouve >= 0) { 
			//delete listetags[postrouve];
			listetags.splice(postrouve,1);
			nbtags--;
		}
	} else {
		// verif nb max tags non atteint
		if (nbtags >= vmaxtags) {
			alert("Vous ne pouvez sélectionner que "+vmaxtags+" tags pour décrire votre action.");
		} else {
			btn.className= "tagselect";
			if (postrouve < 0) { 
				listetags.push(vidtag); 
				nbtags++;
			}
		}
	}
	// maj champ tags dans formulaire
	switch (nbtags) {
		case 0: newchamptags = "";
		case 1: newchamptags = listetags[0];
		default: newchamptags = listetags.join("_");
	}
	document.formdepot.vtags.value = newchamptags;
	tags = document.formdepot.vtags.value;
	// alert("tags selectionnes : "+tags);
}


// verif champs obligatoires formulaire d'inscription pour ouverture compte
// ******************************************************************************
function fct_verif_formcompte (vform, vlangue) {
	var saisieok = false;
	var emailok = true;
	champ = vform.elements["vnom"];
	if (verifChampTxt(champ)) { 
		champ = vform.elements["vprenom"];
		if (verifChampTxt(champ)) { 
			champ = vform.elements["vemail"];
			if (!verifEmail (champ)) {
				emailok = false;
			} else {
				champ = vform.elements["vville"];
				if (verifChampTxt(champ)) { 
					champ = vform.elements["vpays"];
					if (verifChampTxt(champ)) { 
						btn = vform.elements["vacceptenom"];
						if (verifBtnRadio(btn)) {
							acceptenom = btn[0].checked;
							if (acceptenom) {
								saisieok = true;
							} else {
								champ = vform.elements["vpseudo"];
								if (verifChampTxt(champ)) {
									saisieok = true;
								}
							}
						}
					}
				}
			}
		}
	}
	if (!emailok) {
		if (vlangue == "fr")  alert ("Votre adresse email n'est pas correcte.");
		else  alert ("[en] Votre adresse email n'est pas correcte.");
	} else {
		if (saisieok) {
			// verif accepte conditions generales utilisation
			acceptecgu = vform.elements["vacceptecgu"].checked;
			if (!acceptecgu) {
				saisieok = false;
				if (vlangue == "fr")  alert ("Vous devez accepter les conditions générales d'utilisation.");
				else  alert ("[en] Vous devez accepter les conditions générales d'utilisation.");
			}
		} else {
			if (vlangue == "fr")  alert ("Veuillez saisir les champs obligatoires.");
			else  alert ("[en] Veuillez saisir les champs obligatoires.");
		}
	}
	return saisieok;
}


// verif champs obligatoires formulaire depot contribution
// ******************************************************************************
function fct_verif_formdepot (vform, vlangue) {
	var saisieok = false;
	champ = vform.elements["vtitre"];
	if (verifChampTxt(champ)) { 
		champ = vform.elements["vdescription"];
		if (verifChampTxt(champ)) { 
			champ = vform.elements["vtags"];
			if (verifChampTxt(champ)) { 
				btn = vform.elements["vsphere"];
				if (verifBtnRadio(btn)) {
					var sphereperso = btn[0].checked;
					// btn = vform.elements["vcout"];
					// if (verifBtnRadio(btn)) { 
						if (!sphereperso) {
							champ = vform.elements["vprofession"];
							if (verifChampTxt(champ)) {
								//champ = vform.elements["vsociete"];
								//if (verifChampTxt(champ)) {
									saisieok = true;
								//}
							}
						} else {
							saisieok = true;
						}
					// }
				}
			}
		}
	}
	if (!saisieok) {
		if (vlangue == "fr")  alert ("Veuillez saisir les champs obligatoires.");
		else  alert ("[en] Veuillez saisir les champs obligatoires.");
	}
	return saisieok;
}


// verif note selectionnee dans formulaire d'evaluation d'une contribution
// ******************************************************************************
function fct_verif_formvote (vform, vlangue) {
	var saisieok = false;
	btn = vform.elements["vnote"];
	if (verifBtnRadio(btn)) saisieok = true;
	if (!saisieok) {
		if (vlangue == "fr")  alert ("Veuillez sélectionner une note.");
		else  alert ("[en] Veuillez sélectionner une note.");
	}
	return saisieok;
}


// verif champs obligatoires formulaire de contact auteur contribution
// ******************************************************************************
function fct_verif_formcontactzoom (vform, vlangue) {
	var saisieok = false;
	var emailok = true;
	champ = vform.elements["vnom"];
	if (verifChampTxt(champ)) { 
		champ = vform.elements["vprenom"];
		if (verifChampTxt(champ)) { 
			// champ = vform.elements["vadresse"];
			// if (verifChampTxt(champ)) { 
				champ = vform.elements["vemail"];
				if (!verifEmail (champ)) {
					emailok = false;
				} else {
					champ = vform.elements["vmessage"];
					if (verifChampTxt(champ)) { 
						saisieok = true;
					}
				}
			// }
		}
	}
	if (!emailok) {
		if (vlangue == "fr")  alert ("Votre adresse email n'est pas correcte.");
		else  alert ("[en] Votre adresse email n'est pas correcte.");
	} else {
		if (!saisieok) {
			if (vlangue == "fr")  alert ("Veuillez saisir les champs obligatoires.");
			else  alert ("[en] Veuillez saisir les champs obligatoires.");
		}
	}
	return saisieok;
}


// obligation de laisser au moins 1 sphere selectionnée dans moteur recherche
// ******************************************************************************
function fct_verif_sphere_recherche (vref, venvoi, vlangue) {
	nomform = "form"+vref;
	if ((venvoi <= 1) && (document.forms[nomform].elements[vref].checked == false)) {
		if (vlangue == "fr")  alert ("Toute action est rattachée à un contexte ; vous ne pouvez pas décocher ce dernier item.");
		else  alert ("[en] Toute action est rattachée à un contexte ; vous ne pouvez pas décocher ce dernier item.");
		document.forms[nomform].elements[vref].checked = true;
	} else {
		document.forms[nomform].submit();
	}
}


// ---------------------------------------------------------------------------------------------------------------
// FONCTIONS GENERIQUES 
// ---------------------------------------------------------------------------------------------------------------


// verif adresse email
// ******************************************************************************
function verifEmail (vEmail) {
   email = vEmail.value;
   var reg = /^([a-zA-Z0-9\-_]+[a-zA-Z0-9\.\-_]*@[a-zA-Z0-9\-_]+\.[a-zA-Z\.\-_]{1,}[a-zA-Z\-_]+)$/;
   return reg.test(email);
}

// verif champs texte non vide
// ******************************************************************************
function verifChampTxt(vChampTxt) {
   var txtsansespaces = vChampTxt.value;
   txtsansespaces = suppEspacesDebut(txtsansespaces);
   txtsansespaces = suppEspacesFin(txtsansespaces);
   var veriftxt = addslashes(addbr(txtsansespaces));
   if (veriftxt=="") {
     // vide champs txt pour supprimer espaces eventuels
     vChampTxt.value = '';
	 return false;
   } else {
	 vChampTxt.value = txtsansespaces;
     return true;
   }
}

// verif btn radio
// ******************************************************************************
function verifBtnRadio(vBtn) {
	ok=false;
	for (var n=0;n<vBtn.length;n++) {
		if (vBtn[n].checked) {
			ok=true;
			n=vBtn.length;
		}
	}
	return ok;
}

// supprime les espaces en début de texte
// ******************************************************************************
function suppEspacesDebut(vTxt) {
  if (vTxt!="") {
    if (vTxt.charAt(0)==" ") {
	  while (vTxt.charAt(0) == " ") {
	    vTxt = vTxt.substring(1,vTxt.length);
	 }
    }
  }
  return vTxt;
}


// supprime les espaces en fin de texte
// ******************************************************************************
function suppEspacesFin(vTxt) {
  if (vTxt!="") {
    if (vTxt.charAt(vTxt.length-1)==" ") {
	  while (vTxt.charAt(vTxt.length-1) == " ") {
	    vTxt = vTxt.substring(0,(vTxt.length-1));
	 }
    }
  }
  return vTxt;
}


// remplace les retours à la ligne par des <br>
// ******************************************************************************
function addbr(ch) {
   ch = ch.replace(String.fromCharCode(13),"<br>");
   ch = ch.replace(String.fromCharCode(10),"");
   return ch
}


// ajoute des slashes pour les apostrophes
// ******************************************************************************
function addslashes(ch) {
   ch = ch.replace(/\\/g,"\\\\") 
   ch = ch.replace(/\'/g,"\\'") 
   ch = ch.replace(/\"/g,"\\\"")
   return ch
}


