var obj20020329 = null;
function FermerApercu (){if (obj20020329 && !obj20020329.closed) {obj20020329.close (); obj20020329 = null;}}
function IsExtension (sIn, sExt){
	var s = sIn.substr(sIn.lastIndexOf(".")+1).toUpperCase();
	var a = sExt.split (",");
	var bRet = false;
	for (i = 0; i < a.length && !bRet; i++) {if (s == a[i]) bRet = true;}
	return bRet;
}
function Apercu (sUrl, sSource, sTitre, sWidth, sHeight){
	var iWidth = parseInt (sWidth);
	var iHeight = parseInt (sHeight);
	var bS = false;

	FermerApercu ();
	if (iWidth + 30 > screen.availWidth) {iWidth = screen.availWidth - 30; bS = true;}
	if (iHeight + 30 > screen.availHeight) {iHeight = screen.availHeight - 30; bS = true;}
	var pr = "";

	pr = pr + "location=no,directories=no,status=no,toolbar=no,menubar=no";
	if (bS == true) {pr = pr + ",scrollbars=yes,resizable=yes";}
	else {pr = pr + ",scrollbars=no,resizable=no";}
	pr = pr + ",width=" + iWidth + ",height=" + iHeight;

	sUrl = sUrl + "?sSource=" + sSource;
	sUrl = sUrl + "&sTitre=" + sTitre;
	obj20020329 = window.open (sUrl, "Image"+sWidth+"x"+sHeight, pr);
}
/**
 * Apercu2
 ***
 * sRacine : chaemin jusqu'à la racine du site
 * sUrl	   : Url de l'image
 */
function Apercu2(sRacine_, sUrl_){
	FermerApercu ();
	var opt = "location=no,directories=no,status=no,toolbar=no,menubar=no,scrollbars=no,resizable=yes";
	opt += ",width=100,height=100";
	if (sRacine_.lastIndexOf("/") != (sRacine_.length - 1)) sRacine_ += "/";
	var sUrl = sRacine_;
	sUrl += "pages/misc/image.asp?sSource=";
	sUrl += sUrl_;
	obj20020329 = window.open (sUrl, "apercu", opt);
}

function CocheDecoche(sForm,sElement){
	var i;
	var n;
	if(this.document.forms[sForm]&&this.document.forms[sForm].elements[sElement]){
		n=this.document.forms[sForm].elements[sElement].length;
		if(n){
			if(this.document.forms[sForm].elements[sElement][0].checked==true)for(i=0;i<n;i++)this.document.forms[sForm].elements[sElement][i].checked=false;
			else for(i=0;i<n;i++)this.document.forms[sForm].elements[sElement][i].checked=true;
		}else{
			if(this.document.forms[sForm].elements[sElement].checked==true)this.document.forms[sForm].elements[sElement].checked=false;
			else this.document.forms[sForm].elements[sElement].checked=true;
		}
	}
}

function NomFichier(varStr){
	var i; i=varStr.search(/\\/); while(i!=-1){varStr=varStr.substring(i+1,varStr.length);i=varStr.search(/\\/);}i=varStr.search(/\//);
	while(i!=-1){
		varStr=varStr.substring(i+1,varStr.length);
		i=varStr.search(/\//);
	}
	i=varStr.search(/:/);
	while(i!=-1){
		varStr=varStr.substring(i+1,varStr.length);
		i=varStr.search(/:/);
	}
	return varStr;
}

function MoveImage (sImgDst, sImgSrc, iW, iH, iMW, iMH){
	var fCoef;
	var fC1;
	var fC2;
	fC1 = iW / iMW; if (fC1 < 1) fC1 = 1;
	fC2 = iH / iMH; if (fC2 < 1) fC2 = 1;
	if (fC1 > fC2) fCoef = fC1; else fCoef = fC2;
				
	document.images[sImgDst].src = document.images[sImgSrc].src;
	document.images[sImgDst].width = parseInt (iW / fCoef);
	document.images[sImgDst].height = parseInt (iH / fCoef);
	document.images[sImgDst].alt = document.images[sImgSrc].alt;
}

var obj20020415 = null;

function FermerOpenWindow (){
	if (obj20020415 && !obj20020415.closed) {obj20020415.close (); obj20020415 = null;}
}

function OpenWindow(sUrl,sW,iL,iH,sP){
	var sPr="";
	var bOrigin = false;
	for(i=0;sP.charAt(i)!=0;i++){
		switch(sP.charAt(i)){
			case "l":sPr=sPr+"location=yes,"; break;
			case "d":sPr=sPr+"directories=yes,"; break;
			case "s":sPr=sPr+"status=yes,"; break;
			case "t":sPr=sPr+"toolbar=yes,"; break;
			case "m":sPr=sPr+"menubar=yes,"; break;
			case "a":sPr=sPr+"scrollbars=yes,"; break;	// ascenseur
			case "r":sPr=sPr+"resizable=yes,"; break;	// ascenseur
			default:
		}
	}
	if ( (iL==-1) || (iH==-1))
		bOrigin = true;
	//alert(iL + " x " + iH);
	if (iL==-1) iL = screen.availWidth - 10;
	if (iH==-1) iH = screen.availHeight - 150;
	//alert(iL + " x " + iH);
	if (!(iL<-1&&iH<-1)) sPr=sPr+"width="+iL+",height="+iH;
	//alert(sPr);
	FermerOpenWindow();
	obj20020415 = window.open(sUrl,sW,sPr);
	if (bOrigin) obj20020415.moveTo(0,0);
	obj20020415.focus();
}

function popUpWindow(URLStr, left, top, width, height, option){
	var popUp;
	var sOption;
	for(i=0;option.charAt(i)!=0;i++){
		switch(option.charAt(i)){
			case "l":sOption=sOption+"location=yes,"; break;
			case "d":sOption=sOption+"directories=yes,"; break;
			case "s":sOption=sOption+"status=yes,"; break;
			case "t":sOption=sOption+"toolbar=yes,"; break;
			case "m":sOption=sOption+"menubar=yes,"; break;
			case "a":sOption=sOption+"scrollbars=yes,"; break;	// ascenseur
			case "r":sOption=sOption+"resizable=yes,"; break;	// ascenseur
			default:
		}
	}
	popUp = open(URLStr, 'popUpWin', sOption + 'width='+width+',height='+height+',left='+left+', top='+top+',screenX='+left+',screenY='+top+'');
	return popUp;
}
function Int2Str(_iNb,_i){
	var s=new String(_iNb);
	while(s.length<_i)s="0"+s;
	return s;
}

function ObjDate2ODBC(_obj){
	return _obj.getFullYear()+"-"+Int2Str((_obj.getMonth()+1),2)+"-"+Int2Str(_obj.getDate(),2);
}
function ObjDate2Fr(_obj){
	return Int2Str(_obj.getDate(),2)+"/"+Int2Str((_obj.getMonth()+1),2)+"/"+_obj.getFullYear();
}
function CreeObjDate(_str){
	var objDate;
	var jour="";
	var mois="";
	var annee="";
	for(i=0;i<_str.length&&_str.charAt(i)!="/";i++)jour+=_str.charAt(i);
	for(i++;i<_str.length&&_str.charAt(i)!="/";i++)mois+=_str.charAt(i);
	for(i++;i<_str.length&&_str.charAt(i)!="/";i++)annee+=_str.charAt(i);
	if(annee.length==2){
		var iAn=parseInt(annee);
		if(!isNaN(iAn)){
			if(iAn>50)iAn+=1900;
			else iAn+=2000;
			annee=iAn.toString();
		}
	}
	if(jour==""||mois==""||annee=="")objDate=NaN;
	else objDate=new Date(annee,mois-1,jour);
	return objDate;
}
function IsDate(_str,_dtMin,_dtMax,_bErr, _sMsg){
	var str="";
	var objDate=CreeObjDate(_str);
	var objDateMin=CreeObjDate(_dtMin);
	var objDateMax=CreeObjDate(_dtMax);
	if(isNaN(objDate)||objDate<objDateMin||objDate>objDateMax){
		if(_bErr){
			var s="1. Les dates doivent \u00EAtre formatt\u00E9es comme suit : JJ/MM/AAAA ou JJ/MM/AA\n2. L'ann\u00E9e doit \u00EAtre comprise entre "+_dtMin+" et "+_dtMax;
			if(_sMsg.length) s=_sMsg+"\n\n"+s;
			else s="Vous avez saisi une date incorrecte !\n\n"+s;
			alert(s);
		}
	}else{
		str=ObjDate2Fr(objDate);
	}
	return str;
}

function CreeObjTime(_str){
	var objTime;
	var heure="";
	var minute="";
	var seconde="";
	for(i=0;i<_str.length&&_str.charAt(i)!=":";i++)heure+=_str.charAt(i);
	for(i++;i<_str.length&&_str.charAt(i)!=":";i++)minute+=_str.charAt(i);
	for(i++;i<_str.length&&_str.charAt(i)!=":";i++)seconde+=_str.charAt(i);
	if(heure==""){
		objTime=null;
	}else{
		if(minute=="")minute=0;
		if(seconde=="")seconde=0;
		if(isNaN(heure)||isNaN(minute)||isNaN(seconde)){
			objTime=null;
		}else{
			if(heure<0||minute<0||seconde<0||heure>23||minute>59||seconde>59){
				objTime=null;
			}else{
				objTime=Int2Str(heure,2)+":"+Int2Str(minute,2)+":"+Int2Str(seconde,2);
			}
		}
	}
	return objTime;
}

function IsTime(_str,_tMin,_tMax,_bErr){
	var str="";
	var objTime=CreeObjTime(_str);
	var objTimeMin=CreeObjTime(_tMin);
	var objTimeMax=CreeObjTime(_tMax);
	if(!objTime||objTime<objTimeMin||objTime>objTimeMax){
		if(_bErr)alert("Vous avez saisi une heure incorrecte !\n\n1. Les heures doivent \u00EAtre formatt\u00E9es comme suit : HH ou HH:MM ou HH:MM:SS\n2. L'heure doit \u00EAtre comprise entre "+_tMin+" et "+_tMax);
	}else{
		str=objTime;
	}
	return str;
}

function OnKeyUp(a,t){
	if(a.value.length>t){
		alert("Vous avez atteint le nombre de caract\u00E8res maximum autoris\u00E9 pour ce champ ("+t+" caract\u00E8res)\u000ALe texte sera tronqu\u00E9.");
		a.value=a.value.substr(0,t);
	}
}

function Remplace (s, ch1, ch2){
	var s1="";
	var i;
	for(i=0;i<s.length;i++){
		if(s.charAt(i)==ch1) s1=s1+ch2;
		else s1=s1+s.charAt(i);
	}
	return s1;
}

function RemplaceStr (s, s1, s2){
	var iL1=s1.length;
	if (iL1==0) return s;
	var str="";
	for(var i=0;i<=s.length-iL1;i++){
		if(s.substr(i,iL1)==s2) {str=str+s2;i+=iL1-1;}
		else str=str+s.charAt(i);
	}
	return str;
}

function FormatTel(s){
	var s1="";
	var i;
	for(i=0;i<s.length;i++){
		if(s.charAt(i)!="."&&s.charAt(i)!=" ")s1=s1+s.charAt(i);
	}
	s=s1;
	switch(s.length){
		case 6:	s="0473"+s;	break;
		case 7: s="047"+s; break;
		case 8: s="04"+s; break;
		case 9:	s="0"+s; break;
	}
	if(s.length==10){
		s1="";
		for(i=0;i<10;i+=2){
			s1=s1+s.substr(i,2)+" ";
		}
		s=s1.substr(0,14);
	}
	return s;
}

function VerifAdrMail (mail){
	if (((mail.indexOf("@")>=0)&&(mail.indexOf(".")>=0))||mail.length==0){
		return true;
	}else{
		alert("Adresse mail incorrecte \u0022"+mail+"\u0022, elle ne respecte pas la syntaxe (x@x.x)!");
		return false;
	}
}

function VerifAdrMail3 (mail){
	if(mail.indexOf("@")>0&&mail.indexOf(".")>0&&mail.lastIndexOf(".")>mail.indexOf("@")){
		return true;
	}else{
		return false;
	}
}

function InSelect(sForm,sElement){
	var sz="";
	var i;
	var n;
	if(this.document.forms[sForm]&&this.document.forms[sForm].elements[sElement]){
		n=this.document.forms[sForm].elements[sElement].length;
		if(n){
			for(i=0;i<n;i++){
				if(this.document.forms[sForm].elements[sElement][i].checked==true){
					if (sz!="") sz+=",";
					sz+=this.document.forms[sForm].elements[sElement][i].value;
				}
			}
		}else{
			if(this.document.forms[sForm].elements[sElement].checked==true) sz=this.document.forms[sForm].elements[sElement].value;
		}
	}
	return sz;
}

var w = 0;		// Différence de taille par rapport à la taille initiale
var h = 0;
var l = 0;		// The last image pour le roll-over
var Img = "";

function Resize (iW, iH, iL, sImg){
	// Gestion du resize
	window.resizeBy (iW-w, iH-h);
	w = iW;
	h = iH;
	
	// Gestion du roll-over
	if (l != 0) FrameLeft.document.images["Img" + l].src=Img;		// On restitue les anciennes valeurs
	if ((l = iL) != 0){
		Img = FrameLeft.document.images["Img" + l].src;
		FrameLeft.document.images["Img" + l].src=sImg;
	}else
		Img = "";
}

function MoveResize (x, y, w, h){
	var iD; // Décalage pour un double écran
	var iL;	// Largeur disponible
	if (screen.availWidth / screen.availHeight > 2)		{
		iD = screen.availWidth / 2;
		iL = screen.availWidth / 2;
	}else{
		iD = 0;
		iL = screen.availWidth;
	}

	var iW;
	var iH;
	if (w >= 0) iW = w;
	else iW = iL;
	
	if (h >= 0) iH = h;
	else iH = screen.availHeight;
	
	if (x >= 0)
		iX = x;
	else{
		if (iW > iL) iX = iD;
		else iX = iD + (iL - iW) / 2;
	}

	if (y >= 0)
		iY = y;
	else{
		if (iH > screen.availHeight) iY = 0;
		else iY = (screen.availHeight - iH) / 2;
	}
	
	window.moveTo (iX, iY);
	window.resizeTo (iW, iH);
}

/******************************************
Fonctions MACROMEDIA
******************************************/
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_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];}
}

/******************************************
Fin Fonctions MACROMEDIA
******************************************/
function changeCKB(ckbControl)	{
	sControl = "_BL_" + ckbControl.name.substring(3);
	sValue = (ckbControl.checked) ? "1" : "0";
	// alert(sControl + " : " + sValue);
	document.forms['Form'].elements[sControl].value = sValue;
}

/******************************************
affichLayer : affiche ou masque un calque
layer : calque à masquer ou à afficher
******************************************/
function afficheLayer(layer){
	//var calque = document.getElementById(layer);
	var calque = MM_findObj(layer);
	
	if (calque != null){
		if (calque.style.display == "none"){
			calque.style.display = "block";
		}else{
			calque.style.display = "none";
		}
	}
}

/******************************************
affichLayer : affiche ou masque un calque
layer : calque à masquer ou à afficher
******************************************/
function onOff(layer){
	var calque = MM_findObj(layer);
	if (calque != null){
		if (calque.style.display == "none"){
			calque.style.display = "";
		}else{
			calque.style.display = "none";
		}
	}
}

/******************************************
affichLayer : affiche ou masque un calque
layer : calque à masquer ou à afficher
******************************************/
function afficheLayer2(layer, imageOff, imageOn, forceAffiche){
	var calque = MM_findObj(layer);
	var image = MM_findObj("img" + layer);
	var bShow = null;
	
	if (calque != null){
		if (forceAffiche == null) bShow = (calque.style.display == "none") ? true : false;
		else bShow = forceAffiche;
		
		if (bShow){
			calque.style.display = "block";
			if (image != null)
				image.src = imageOff;
		}else{
			calque.style.display = "none";
			if (image != null)
				image.src = imageOn;
		}
	}
}

var isLayerAffich = false;
function afficheAll(layerImage, layerPrefixe_, imageOff, imageOn, image2Off, image2On){
	var oLayer = null;
	isLayerAffich = !isLayerAffich;
	
	// on recherche tous les calques
	if (document.getElementsByTagName){
		oLayer = document.getElementsByTagName("div");
	}else if (document.all){
		oLayer = document.all.tags("div");		
	}
	
	if (oLayer != null){
		for (var i = 0; i < oLayer.length; i++){
			if (oLayer[i].id.search("^" + layerPrefixe_) != -1 ){
				afficheLayer2(oLayer[i].id, image2Off, image2On, isLayerAffich)	;
			}
		}
	}
	
	var image = MM_findObj(layerImage);
	if (image != null){
		image.src = (!isLayerAffich) ? imageOn : imageOff ;
	}
	
}

function refreshBandeau(calque_){
	var oCalque = eval("document.getElementById(\"bandeau" + calque_ + "\");")
	if (oCalque != null){
		//alert(eval("iCpt" + calque_) + " " + eval("tText" + calque_ + ".length"));
		if (eval("iCpt" + calque_ + "==(tText" + calque_ + ".length - 1)"))
			eval("iCpt" + calque_ + "=0");
		else
			eval("iCpt" + calque_ + "++");
		// on change le texte

		if (!oCalque.innerHTML)
			oCalque.innerTEXT = eval("tText" + calque_ + "[iCpt" + calque_ + "]");
		else
			oCalque.innerHTML = eval("tText" + calque_ + "[iCpt" + calque_ + "]");
		// on raffraichie dans ...
		setTimeout("refreshBandeau(\"1\")", eval("refresh" + calque_));
	}
} 

function changeTheme(theme_){
	var url_ = new String(self.location);
	// on enleve le theme si il  est dans l'url
	url_ = url_.replace(/&theme=\w+/, "");
	url_ = url_.replace(/\?theme=\w+&/, "?");
	url_ = url_.replace(/#$/, "");
	if (url_ != null){
		if (url_.indexOf("?", 0) != -1)
			url_ += "&theme=" + theme_;
		else
			url_ += "&theme=" + theme_;
	}
	self.location = url_;
}

function changeLangue(langue_){
	var url_ = new String(self.location);
	// on enleve le theme si il  est dans l'url
	url_ = url_.replace(/&langue=\w+/, "");
	url_ = url_.replace(/\?langue=\w+&/, "?");
	url_ = url_.replace(/#$/, "");
	if (url_ != null){
		if (url_.indexOf("?", 0) != -1)
			url_ += "&langue=" + langue_;
		else
			url_ += "&langue=" + langue_;
	}
	self.location = url_;
}

function trim(sParam){
	var p = new RegExp("^[^\S]*(.*?)[^\S]*$");
	var r = p.exec(sParam);
	if (r != null){
		return r[1];	
	}else{
		return "";	
	}
}

