/* ***************************************** Fonctions-outils ********************************************** */

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_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_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 MM_findObj(n, d)
{
	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_openBrWindow(theURL,winName,features)
{
	var tmp = window.open(theURL,winName,features);
	tmp.focus();
}

function PopupCentrer(page,largeur,hauteur,options)
{
	var top=(135);
	var left=(screen.width-largeur)/2;
	var tmp = window.open(page,"","top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options);
	tmp.focus();
}

function launch(newURL, newName, newFeatures, orgName)
{
	window.open(newURL, newName, newFeatures);
	window.name = orgName;
	return;
}

function valDel()
{
	return(confirm('Etes vous sur de vouloir supprimer ?'));
}

function CatchEnter()
{
	if(window.event && window.event.keyCode == 13)	{return true;}
	else											{return false;}
}

function isInteger(val)
{
	return /^\d+$/.test(val);
}

function isDecimal(val)
{
	//return /^\d*[,\.]?\d*$/.test(val);
	return( (/^\d*[,\.]?\d+$/.test(val)) || (/^\d+[,\.]?\d*$/.test(val)) );
}

function msgFormValidation()
{
	var i,p,q,nm,label,test,num,min,max,errors='',args=msgFormValidation.arguments;
	
	for(i = 0; i < (args.length-2); i += 3)
	{
		val		= MM_findObj(args[i]);
		label	= args[i+1];
		test	= args[i+2];
		
		if(val)
		{
			nm = val.name;
			if( (val=val.value) != "")
			{
				if(test.indexOf('isEmail') != -1)
				{
					p = val.indexOf('@');
					if( (p < 1) || (p == (val.length-1)) ){errors += ' -> Le champ "'+label+'" doit contenir une adresse e-mail.\n';}
				}
				else if(test != 'R')
				{
					if(test.indexOf('isINT') != -1)
					{
						if(!isInteger(val)){errors += ' -> Le champ "'+label+'" doit contenir un entier.\n';}
					}
					else if(test.indexOf('isDEC') != -1)
					{
						if(!isDecimal(val)){errors += ' -> Le champ "'+label+'" doit contenir un nombre décimal.\n';}
					}
					else
					{
						num = parseFloat(val);
						if(isNaN(val)){errors += ' -> Le champ "'+label+'" doit contenir 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+=' -> Le champ "'+label+'" doit contenir un nombre entre '+min+' et '+max+'.\n';}
						}
					}
				}
			}
			else if(test.charAt(0) == 'R') errors += ' -> Le champ "'+label+'" est requis.\n';
		}
	}
	
	return(errors);
}

function MM_validateForm()
{
	var i,p,q,nm,label,test,num,min,max,errors='',args=MM_validateForm.arguments;
	
	for(i = 0; i < (args.length-2); i += 3)
	{
		val		= MM_findObj(args[i]);
		label	= args[i+1];
		test	= args[i+2];
		
		if(val)
		{
			nm = val.name;
			if( (val=val.value) != "")
			{
				if(test.indexOf('isEmail') != -1)
				{
					p = val.indexOf('@');
					if( (p < 1) || (p == (val.length-1)) ){errors += ' - Le champ "'+label+'" doit contenir une adresse e-mail.\n';}
				}
				else if(test != 'R')
				{
					if(test.indexOf('isINT') != -1)
					{
						if(!isInteger(val)){errors += ' - Le champ "'+label+'" doit contenir un entier.\n';}
					}
					else if(test.indexOf('isDEC') != -1)
					{
						if(!isDecimal(val)){errors += ' - Le champ "'+label+'" doit contenir un nombre décimal.\n';}
					}
					else
					{
						num = parseFloat(val);
						if(isNaN(val)){errors += ' - Le champ "'+label+'" doit contenir 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+=' - Le champ "'+label+'" doit contenir un nombre entre '+min+' et '+max+'.\n';}
						}
					}
				}
			}
			else if(test.charAt(0) == 'R') errors += ' - Le champ "'+label+'" est requis.\n';
		}
	}
	
	//if(errors){alert('Les erreurs suivantes se sont produites:\n'+errors);}
	if(errors){alert('Certains champs du formulaire ne sont pas valides :\n'+errors);}
	document.MM_returnValue = (errors == '');
	return(errors == '');
}


/* ***************************************** Fonctions spécifiques ***************************************** */
// Message de confirmation pour valider ou annuler sa sélection avant qu’il quitte l’espace professionnel
/*function LogoutConfirm()
{
	if(confirm('Etes-vous sûr de vouloir quitter l\'espace des professionnels ?\nVotre sélection sera alors perdue.\n    Choisissez le bouton Annuler pour valider votre sélection.\n    Sinon cliquez sur le bouton OK.'))
	{
		window.location.href = 'index.asp';
	}
	else
	{
		window.location.href = 'VoirSelectionPro.asp';
	}
}*/

var timeoutID;
var lien;
var lien_pause;
function NextDetail()
{
//alert("NextDetail:"+lien);
	window.location = lien;
}
function StartSlideShow()
{
	timeoutID = window.setTimeout("NextDetail()", 3000); // en millisecondes
	//timeoutID = window.setInterval("NextDetail()", 3000); // en millisecondes
}
function PauseSlideShow()
{
//	window.clearTimeout(timeoutID);
	//window.clearInterval(timeoutID);
	window.location = lien_pause;
}

function addToFavorites(url, title)
{
	if(document.all)
	{
		window.external.AddFavorite(url, title);
	}
	else//if(window.sidebar)
	{
		window.sidebar.addPanel(title, url, "");
	}
}

//------------------------------------------------------------------------------------
// Gestion scroll
//------------------------------------------------------------------------------------
function getScrollXY() {
	var scrOfX = 0, scrOfY = 0;
	if( typeof( window.pageYOffset ) == 'number' ) {
		//Netscape compliant
		scrOfY = window.pageYOffset;
		scrOfX = window.pageXOffset;
	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
		//DOM compliant
		scrOfY = document.body.scrollTop;
		scrOfX = document.body.scrollLeft;
	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
		//IE6 standards compliant mode
		scrOfY = document.documentElement.scrollTop;
		scrOfX = document.documentElement.scrollLeft;
	}
	return [scrOfX, scrOfY];
}
function getScrollX() {var xy = getScrollXY();	return xy[0];}
function getScrollY() {var xy = getScrollXY();	return xy[1];}

var interval;
function ascenceur(){
	var ypos = getScrollY();
	if (ypos > (ypos / 10)) {
		ypos -= (ypos / 10);
		if (ypos < 1) {ypos = 0;}
		window.scroll(0, ypos);
	}
	else {window.clearInterval(interval);}
}
function startAscenceur(){interval = window.setInterval("ascenceur()", 10);}
