function $(_id) {
	return document.getElementById(_id);
}
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_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_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];}
}

/* Rollover neccessite une deuxieme image comportant "_on" a la fin*/
function rollover(imgID) {
  var thisimg = document.getElementById(imgID);
  thisimg.src = thisimg.src.replace(/(\.[a-z0-9]+)$/i,'_on$1');
}
function rollout(imgID) {
  var thisimg = document.getElementById(imgID);
  thisimg.src = thisimg.src.replace(/_on(\.[a-z0-9]+)$/i,'$1');
}


// FLASH
function writeFlash(fichier,largeur,hauteur,noflash) {

	var hasReqestedVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);

	if (hasReqestedVersion) {  
		document.write('<object type="application/x-shockwave-flash" data="'+fichier+'" width="'+largeur+'" height="'+hauteur+'">');
		document.write('	<param name="movie" value="'+fichier+'" />');
		document.write('	<param name="quality" value="high" />');
		document.write('	<param name="menu" value="false" />');
		document.write('	<param name="wmode" value="transparent" />');
		document.write(' 	<embed src="'+fichier+'" quality="high" width="'+largeur+'" height="'+hauteur+'" menu="false" wmode="transparent"></embed>');
		document.write('</object>');
	} else {
		document.write('<a href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash&Lang=French&P5_Language=French" target="_blank"><img src="' +noflash+ '" border="0"></a>');
	}
	
}

function popupLifestyle( page,idart,idthm,title,from)
{
	var _width = 365;
	var _height = 370;
	var _scrollbars = 'no';
	
	switch( page )
	{
		case 'envoyer': _width = 356; _height = 325; _scrollbars = 'no'; break;
		case 'conf_envoyer': _width = 356; _height = 325; _scrollbars = 'no'; break;
	}
	
	var _x =  Math.round( (window.screen.width / 2) - (_width / 2) );
	var _y =  Math.round( (window.screen.height / 2) - (_height / 2) );
	
	window.open( ( '' + page + '.phtml?id_art=' + idart + '&id_thm=' + idthm + '&title=' + title + '&from=' + from), page,"menubar=no, status=no, scrollbars=" + _scrollbars + ", menubar=no, width=" + _width + ", height=" + _height + ", top=" + _y + ", left=" + _x );
}

//***********************************************************************************************************************************************************************
function verif_form(theForm)
	{
		var ok = 0;
		//**************************************************
		//**************************************************
		if (theForm.nom.value=="")
		{
		document.getElementById('pop_error').style.display = 'block';
		document.getElementById('pop_arrowm').style.display = 'none';
		document.getElementById('pop_arrown').style.display = 'block';
		document.getElementById('pop_error').innerHTML = "L'information saisie est<br /> incomplète ou incorrecte !";
		theForm.nom.focus();
		return false;
		}else{
			ok = ok +1;
		}
	
		var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz&#402;&#352;&#338;&#381;&#353;&#339;&#382;&#376;ÀÁÂÃÆÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßáâåëìíîïñóôøúýþÿ0123456789-@-_.";
		var checkStr = theForm.email.value;
		var allValid = true;
		for (i = 0;  i < checkStr.length;  i++)
			{
			ch = checkStr.charAt(i);
			for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
						break;
			if (j == checkOK.length)
				{
				allValid = false;
					break;
				}
			}
	
		if (!allValid)
			{
			document.getElementById('pop_error').style.display = 'block';
			document.getElementById('pop_arrowm').style.display = 'block';
			document.getElementById('pop_arrown').style.display = 'none';
			document.getElementById('pop_error').innerHTML = "Entrez seulement des caractères,<br /> numéros et \".@_-\" pour le champ \"e-mail\".";
			theForm.email.focus();
			return false;
			}else {
				ok = ok +1;
			}
	
			adresse = theForm.email.value;
			var place = adresse.indexOf("@",1);
			var point = adresse.indexOf(".",place+1);
			if (!((place > -1)&&(adresse.length >2)&&(point > 1)))
			{
			document.getElementById('pop_error').style.display = 'block';
			document.getElementById('pop_arrowm').style.display = 'block';
			document.getElementById('pop_arrown').style.display = 'none';
			document.getElementById('pop_error').innerHTML = "Veuillez entrer une adresse E-mail valide !<br />Exemple: nom@domaine.com";
			theForm.email.focus();
			return false;
			}else {
				ok = ok +1;
			}
	
		return true;	

}
//***********************************************************************************************************************************************************************	
function checkMail(champs){

		var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz&#402;&#352;&#338;&#381;&#353;&#339;&#382;&#376;ÀÁÂÃÆÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßáâåëìíîïñóôøúýþÿ0123456789-@-_.";
		var checkStr = champs.value;
		var allValid = true;
		for (i = 0;  i < checkStr.length;  i++)
			{
			ch = checkStr.charAt(i);
			for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
						break;
			if (j == checkOK.length)
				{
				allValid = false;
					break;
				}
			}
	
		if (!allValid)
			{
			alert("Entrez seulement de caractères, numéros et \".@_-\" pour le champ \"e-mail\".");
			champs.focus();
			return false;
			}
	
			adresse = champs.value;
			var place = adresse.indexOf("@",1);
			var point = adresse.indexOf(".",place+1);
			if (!((place > -1)&&(adresse.length >2)&&(point > 1)))
			{
			alert('Veuillez entrer une adresse E-mail valide !\r Exemple: nom@domaine.com');
			champs.focus();
			return false;
			}
			
		return true;

}

//***********************************************************************************************************************************************************************
function checkDate(champs)
{
	tab = champs.value.split("/");
	if (tab.length == 3){
		x = tab[0];
		y = tab[1];
		z = tab[2];
		/*
		pour mes dates j'utilise 3 listes réroulantes (on peut utiliser aussi 3inputbox... il faut juste adapter si nécessaire.)
		1 pour les jours, 1 pour les mois et 1 pour les années.
		x = jours
		y = mois
		z = année
		-------------------------------
		Cette fonction envoie "True" si une date est valide
		et dans le cas contraire "False".*/
		if(x > 0 && x < 32 && y > 0 && y < 13 && x.length == 2 && y.length == 2 && z.length == 4 ){
			if ((x <= 31)&&(nbjours_mois(y,z)==31))
			{
				return(true);
			}
			else if ((x <= 29)&&(nbjours_mois(y,z)==29))
			{
				return(true);
			}
			else if ((x<=28)&&(nbjours_mois(y,z)==28))
			{
				return(true);
			}
			else if ((x<=30)&&(nbjours_mois(y,z)==30))
			{
				return(true);
			}
			else
			{
				return(false);
			}
		}else{
			return (false);	
		}
	}
	
}

//***********************************************************************************************************************************************************************
function nbjours_mois(mois,annee)
{
	/* cette fonction envoie le nombre de jours dans 1 mois.
	il prend en compte les années bissextiles.
	!!! l'année bissextile n'est pas vraiment juste !!!
	il arrive tous les 400 ans si je ne me trompes pas qu'une année
	divisible par 4 ne soit pas bissextile.. d'ici là on sera plus là :-))*/
	
	
	if ((mois==1)||(mois==3)|| (mois==5)||(mois==7)||(mois==8)||(mois==10)||(mois==12))
	{
		return(31);
	}
	else if ((mois==4)||(mois==6)||
	(mois==9)||(mois==11))
	{
		return(30);
	}
	else if ((mois==2)&&(annee % 4 ==0))
	{
		return(29);
	}
	else
	{
		return(28);
	}

} 

//***********************************************************************************************************************************************************************
function checkCP(cp)
{	
	if(cp.length == 5 && isNaN(cp) == false){
		return (true);	
	}else{
		return (false);
	}
}

//***********************************************************************************************************************************************************************
function clean_string(nom)
{	
	var re= /<\S[^>]*>/g;
	nom = nom.replace(re,"");
	return(nom);
}

