function mailTo(pNom, pDomaine, pSujet, pTexte) {
	
	if (pSujet == null) {
		pSujet=" ";
	}
	
	if (pTexte == null) {
		pTexte=" ";
	}
	
	window.location="mailto:"+pNom+"@"+pDomaine+"?subject="+pSujet+"&body="+pTexte;
}

function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function navigateur() {
	if (navigator.appName.indexOf("Mozilla/5.0") > -1) {
		return "Mozilla/5.0";
	}
	if (navigator.appName.indexOf("Netscape") > -1) {
		return "Netscape";
	}
	if (navigator.appName.indexOf("Explorer") > -1) {
		return "Explorer";
	}
	return "Unknown";
}

function version() {
	return parseFloat(navigator.appVersion);
}

function OS() {
	if (navigator.appVersion.indexOf("Windows") > -1) {
		return "Windows";
	}
	if (navigator.appVersion.indexOf("Macintosh") > -1) {
		return "Macintosh";
	}
	if (navigator.appVersion.indexOf("X11") > -1) {
		return "Unix";
	}
	if (navigator.appVersion.indexOf("Unix") > -1) {
		return "Unix";
	}
	return "Unknown";
}

// Pour contrôler les champs d'un formulaire
function MM_validateForm() { //v4.0
	var i, p, q, nm, test, verif, num, min, max, errors='', args=MM_validateForm.arguments;
	for (i=0 ; i<(args.length-3) ; i+=4) {
		test = args[i+2];
		val = MM_findObj(args[i]);
		if (val) {
			nm = args[i+3];
			
			if ((val=val.value) != "") {
				if (test.indexOf('isEmail') != -1) {
					p = val.indexOf('@');
					if ((p<1) || (p == (val.length-1)))
						errors += '- '+nm+' doit être une adresse e-mail valide.\n';
				} else if ((test != 'R') && (test != 'I')) {
					num = parseFloat(val);
					if (isNaN(val))
						errors += '- '+nm+' ne peut contenir qu\'un nombre.\n';
					if (test.indexOf('inRange') != -1) {
						p = test.indexOf(':');
						min = test.substring(8, p);
						max = test.substring(p+1);
						if (num<min || max<num)
							errors += '- '+nm+' doit contenir un nombre compris entre '+min+' et '+max+'.\n';
					}
				}
				
				// ### Code de Charles pour vérifier le doublon ###
				if (test.charAt(0) == 'I') {
					verif = MM_findObj(args[i+1]);
					if (verif.name != '') {
						if (val != verif.value)
							errors += '- '+nm+' doit être identique à '+verif.name+'.\n';
					}
				}
				// ### Fin du code de Charles ###
				
			} else if ((test.charAt(0) == 'R') || (test.charAt(0) == 'I') || (test.charAt(0) == 'N'))
				errors += '- '+nm+' doit être rempli.\n';
		}
	}
	if (errors)
		alert('Veuillez remplir correctement le formulaire :\n'+errors);
	document.MM_returnValue = (errors == '');
}

function ChangeUrl(formulaire,type)
{
	if (type == 'rubrique')
	{
		location.href = "recherche.php?rubrique="+formulaire.rubrique.options[formulaire.rubrique.selectedIndex].value;
	}
	else
	{
		if (formulaire.famille.selectedIndex != 0)
			location.href = "recherche.php?rubrique="+formulaire.rubrique.options[formulaire.rubrique.selectedIndex].value+"&idFamille="+formulaire.famille.options[formulaire.famille.selectedIndex].value;
		else 
			alert('Veuillez choisir une famille.');
	}
}

// sélectionne le bouton radio "oui" quand on saisi le mot de passe 
function selectRadio(form,champ) 
{
	for(i = 0 ; i < form.length ; i++)
	{
		if(form.elements[i].name == champ && form.elements[i].value == "oui")
			form.elements[i].checked = true;
	}
}	

// vérifie que le champ est bien un entier
function isNumber(formulaire)
{
	nb = false;
	if (formulaire == "formRemise")
	{
		if (formRemise.remisePrct.value != "")
		{
			if (isNaN(formRemise.remisePrct.value)) 
				alert ("La valeur saisie n'est pas un nombre !");
			else 
				nb = true;
		}	
		if (formRemise.remiseMontant.value != "")
		{
			if (isNaN(formRemise.remiseMontant.value)) 
				alert ("La valeur saisie n'est pas un nombre !");
			else 
				nb = true;
		}
	}
	else
	{
		if (formPort.port.value != "")
		{
			if (isNaN(formPort.port.value)) 
				alert ("La valeur saisie n'est pas un nombre !");
			else 
				nb = true;
		}
	}
	return nb;
}
