//<SELECT><DIV>STRING_DATE
	var Js34=String.fromCharCode(34)
	var isNav4	=false
	var isNav6 	=false
	var isIE4 		=false
	var Gi_Version=parseInt(navigator.appVersion.charAt(0))
	if	(navigator.appName == "Netscape"){
		if (Gi_Version>4)
			isNav6 =true
		else
			isNav4	=true
	}		
	else{
		if (document.all)
			isIE4	=true
	}
	var Go_Popop	
	var DivObj=new Array()
	var ConsNbDays=new Array (31,29,31,30,31,30,31,31,30,31,30,31)	//valeurs constantes pour le planning
//=================================================
function StrToInt(Arg, A_Default){	
	if (isWhitespace(Arg))
		Arg=A_Default
	if (isWhitespace(Arg))
		return 0
	Arg=parseInt(Digit(Arg,"-"))
	if (isNaN(Arg))
		Arg=0	
	return (Arg)	
}
//=================================================
function StrToFloat(Arg, A_Default){
	if (isWhitespace(Arg))
		Arg=A_Default
	if (isWhitespace(Arg))
		return 0		
	Arg=parseFloat(Digit(Arg,"."))
	if (isNaN(Arg))
		Arg=0	
	return (Arg)	
}
//=================================================
function TrimStr(As_Value){	
	return Js34+As_Value+Js34
}
//=================================================
function SetToSelect(Arg, A_Default){
	if (A_Default==null)
		A_Default=0
	var Li_Return=StrToInt(Arg, A_Default)
	if (Li_Return<0)	
		Li_Return=A_Default
	return Li_Return
}
//=================================================
function SetNullToStr(As_Value){
	return(As_Value==null ? "" : As_Value)
}
//=================================================
function IntToBin(Ai_Value){
	return(Ai_Value==1 ? true : false)
}
//=================================================
function BinToInt(Ab_Value){
	return(Ab_Value ? 1 : 0)
}
//=================================================
function isWhitespace(s){
	if (isEmpty(s))
		return true;
	for (i=0;i<s.length;i++){
		var c=s.charAt(i)
		if(c!=" ")
			return false
	}
	return true		
}
//=================================================
function isEmpty(s){
	return ((s==null)||(s.length==0))
}
//=================================================
function SetToDigit(A_Object){	
	var Ls_Value=A_Object.value
		Ls_Value=Ls_Value.replace(",",".")
		Ls_Value=Digit(Ls_Value,". -")	
		if(isNaN(Ls_Value))
			Ls_Value=""
		A_Object.value=Ls_Value
}
//=================================================
function TrimQuote(As_Value){
	As_Value=As_Value.toString()
	if(!isWhitespace(As_Value))
		As_Value=As_Value.replace(/"/g,"")
	return SetStrQuery(As_Value)
}
//=================================================
function SetStrQuery(As_Value){
	return As_Value.replace(/'/g,"''")
}	
//=================================================
function SetQuote(As_Value){
	if (As_Value==null){	As_Value="" }
	return "'" + As_Value + "'"
}
//===== Extraire 0 à 9 et AccepChars //=====
function Digit(As_Value,AccepChars){
		var Ls_Value="";
		var CharTmp="";
		if (AccepChars==null)
			AccepChars="";
		for (i=0;i<As_Value.length;i++){
			CharTmp=As_Value.charAt(i)
			if ((CharTmp>="0")&&(CharTmp<="9")||(AccepChars.indexOf(CharTmp)>-1))
				Ls_Value=Ls_Value + CharTmp;	
		}
		return Ls_Value;
}
//===== set value to Uppercase //=====
function SetUCase(Object){
		Object.value=Object.value.toUpperCase()
}
//===== set value to Capitalize //=====
function SetUCaseF(Object){
		Ls_Value=Object.value.toLowerCase()
		PosSpace=0;
		NewStr="";
		LenString=0;
		while (PosSpace>-1){				
				LenString=Ls_Value.indexOf(" ",PosSpace);	
				if(LenString>-1){	
					ChStr=(Ls_Value.substring(PosSpace,LenString+1));
					PosSpace=LenString+1;
				}
				else{
					ChStr=Ls_Value.substring(PosSpace,Ls_Value.length);
					PosSpace=LenString;
				}				
				ChStr=ChStr.substring(0,1).toUpperCase() + ChStr.substring(1,ChStr.length);
				NewStr= NewStr + ChStr;
			}
		Object.value=NewStr
}
//===== Check Email //=====
function isEmail (s){      
    if (isWhitespace(s)) return false;
    var i = 1;
    var sLength = s.length;
    while ((i < sLength) && (s.charAt(i) != "@"))
    { i++ }
    if ((i >= sLength) || (s.charAt(i) != "@")) return false;
    else i += 2;
    while ((i < sLength) && (s.charAt(i) != "."))
    { i++ }
    if ((i >= sLength - 1) || (s.charAt(i) != ".")) return false;
    else return true;
}

//======	Insert un espace tous les 3 caractères avant le point ex:1 100 123.00 //=====
function InsSpace(StrArg,NbChar){
	var PosPoint=StrArg.indexOf(".");
	var StrIntValue=StrArg;
	var StrAfterPoint="";
	if (NbChar==null)NbChar=3
	if (PosPoint>0){
		StrIntValue=StrArg.substring(0,PosPoint);
		StrAfterPoint=StrArg.substring(PosPoint,StrArg.length);		
	}
	var StrTmp=StrAfterPoint;	
	for (i=StrIntValue.length;i>0;i=i-NbChar){
		StrTmp=" " + StrIntValue.substring(i-NbChar,i) + StrTmp 
	}
	return StrTmp.substring(1,StrTmp.length)
}
//=====Arrondi une valeur //=====
function SetRound(value, precision){
	value = "" + value //convert value to string
	if(precision==null)
		precision=0
	precision = parseInt(precision);
 	var whole = "" + Math.round(value * Math.pow(10, precision));
  var decPoint = whole.length - precision;
	if(decPoint != 0) 
	{
		result = whole.substring(0, decPoint);
		if ( precision>0) result += ".";
		result += whole.substring(decPoint, whole.length);
	}
	else
	{
		result = "0." + whole;
	}
  return result;
}


//******************************************************************************************************************************
//===== Placer le curseur si null	//=====
function IsNullSetFocus(ObjTextField){
	if (isWhitespace(ObjTextField.value)){
		ObjTextField.focus()
		return true
	}	
	else
		return false	
}
//=================================================
function ExeCheckBox(A_Object,Ab_Checked){
	for (var i=0;i<A_Object.length;i++)
		A_Object[i].checked=Ab_Checked
}
//=================================================
function GetCookie(Name){
	var StrCookie=" " +   	document.cookie + ";"
	var SearchName=" " + Name + "="
	var PosStart=StrCookie.indexOf(SearchName)
	var PosEnd,Resultat
	if (PosStart !=-1){
		PosStart += SearchName.length
		PosEnd = StrCookie.indexOf(";",PosStart)
		Resultat=unescape(StrCookie.substring(PosStart,PosEnd))
	}
	return Resultat
}
//=================================================
function Expires(NbDays){
	var ExpDay=new Date()
	var Oneday= 24 * 60 * 60 * 1000
	NbDays=NbDays * Oneday
	ExpDay.setTime(ExpDay.getTime() + NbDays)
	return "; expires=" + ExpDay.toGMTString()
}
 //===================================================== 
function ResponseCookies(ArgValue,ArgX, ArgY){
		var StrCookie=""
	if (ArgY!=null){
		var NewValue=ArgY+ "=" + ArgValue
		var ObjSigne=new RequestCookies(ArgX,ArgY)
		if (ObjSigne.XPos>-1){
			StrCookie=ObjSigne.XStr
			if (ObjSigne.YPos>-1)	
				StrCookie=StrCookie.replace(ArgY+"="+ObjSigne.YStr,NewValue)			
			else			
				StrCookie+="&" + NewValue			
			StrCookie=ArgX +"="+StrCookie
		}
		else
			StrCookie=ArgX + "=" +ArgY+"="+ ArgValue
	}	
	else
		StrCookie=ArgX + "=" + ArgValue
	document.cookie =StrCookie
}	
//===================================================== 
 function RequestCookies(ArgX, ArgY){
	var StrCookie=document.cookie
	var ArrCookie=StrCookie.split("; ")	
	var XStr=""
	var XPos=-1
	var YStr=""
	var YPos=-1
	if (ArgX	!=null){
		ArgX+=""
		for (var i=0;i<ArrCookie.length;i++){
			var Pos=ArrCookie[i].indexOf(ArgX + "=")			
			if (Pos==0){
				XStr=ArrCookie[i].substring(ArgX.length+1)
				XPos=StrCookie.indexOf(ArgX)
				break
			}
		}
		if (ArgY != null && XStr != ""){
			ArgY+=""
			ArgY=ArgY.replace("_","%5F")
			ArrCookie=XStr.split("&")
			for (var i=0;i<ArrCookie.length;i++){
				var Pos=ArrCookie[i].indexOf(ArgY + "=")				
				if (Pos==0){
					YStr=ArrCookie[i].substring(ArgY.length+1)
					YPos=XStr.indexOf(ArgY)
					break
				}
			}
		}
	}	
	this.XStr=unescape(XStr) 
	this.XPos=XPos
	this.YStr=unescape(YStr)
	this.YPos=YPos
}
//=================================================
function MakeButton(Color,Text,JSFunction,BtName,IsTable,IsPath){
	var StrOpenTable=""
	var StrCloseTable=""
	var Ls_Path=(IsPath==null ? "images/" :IsPath)
	Ls_Path=Ls_Path+"bt"+Color
	if (IsTable){
		StrOpenTable="<table border=0 cellspacing=0 cellpadding=0><tr>"
		StrCloseTable="</tr></table>"
	}		
	return StrOpenTable+"<td><img name=" + Js34 + BtName + "_L" + Js34 + " src='"+Ls_Path + "_left.gif' border=0></td>"+
				"<td background='" + Ls_Path + "_mid.gif' nowrap align=center>" +
				"<b><a href="+ Js34 + "JavaScript:" + JSFunction + Js34 + " class=Style1>&nbsp;" + Text + "&nbsp;</a></b></td>"+
				"<td align=left><img name=" + Js34 + BtName + "_R" + Js34 + " src='"+Ls_Path+"_right.gif' border=0></td>"	+ StrCloseTable	
}

//=================================================
function ClosePopop(){
	if (Go_Popop!=null){
			if (!Go_Popop.closed)
				 Go_Popop.close()
	}
}
//=================================================
function OpenPopop(Ab_Check,As_FileName,As_Width,As_Height,As_Resizable){		
	if (Ab_Check){		
		ClosePopop()
		if(As_Width==null)As_Width=400
		if(As_Height==null)As_Height=As_Width*0.6
		if(As_Resizable==null)As_Resizable="scrollbars=no,resizable=no"
		Go_Popop=window.open(As_FileName,"Popop","toolbar=no,location=no,directories=no,status=no,menubar=no,"+As_Resizable+",width=" + As_Width +",height=" + As_Height )
	}	
	if (Go_Popop!=null){
		if (Go_Popop.closed)
			Go_Popop=null		
		else
			Go_Popop.focus()
	}	
	if (Go_Popop==null)
		window.setTimeout("OpenPopop(false)",100)	
}
//=================================================
function AddFavorite(As_URL, As_Title){
	window.external.AddFavorite(As_URL,As_Title)
}

//*********************************************************  <SELECT> ******************************************************

function AddSelect(A_Object, A_Selected, A_ArrText, A_ArrValue){
	var Ls_ArrText=new Array()
 	var Ls_ArrValue	=new Array()
 	var Li_Index=-1
 		
	if (typeof(A_ArrText)=="object"){
		for (var i=0;i<A_ArrText.length;i++){ 	
	 		Ls_ArrText[i]	=A_ArrText[i]
	 		Ls_ArrValue[i] =(A_ArrValue==null ? "" : A_ArrValue[i]) 		
	 	} 
 	}	
 	else{
 		Ls_ArrText[0]		=A_ArrText
 		Ls_ArrValue[0]	=(A_ArrValue==null ? "" : A_ArrValue) 	
	}	
 	for (var i=0;i<Ls_ArrText.length;i++){ 		
 		Li_Index=GetIndexText(A_Object,Ls_ArrText[i])													
 		if(Li_Index==-1){																						
 			Li_Index=A_Object.options.length																
			A_Object.options[Li_Index]=new Option(Ls_ArrText[i],Ls_ArrValue[i],"","")	
		}
		else{
			if(A_Selected==null)
				A_Selected=Li_Index
		}		
	}
 	if(A_Selected==null)
 		A_Selected=A_Object.options.length-1
	A_Object.selectedIndex=A_Selected	
}	
//============== Remplacer la liste Select //============== 
function WriSelect(A_Object, A_Selected, A_ArrText, A_ArrValue){
	var Ls_ArrText
 	var Ls_ArrValue
 	if (A_Selected==null)
 		A_Selected=0
 	if (A_Object==null)
		for (var i=0;i<A_ArrText.length;i++){ 	
	 		Ls_ArrText		=A_ArrText[i]
	 		Ls_ArrValue 	=(A_ArrValue==null ? i : A_ArrValue[i])	 		
	 		document.write("<option value=" + Ls_ArrValue)
	 		if (A_Selected==i)	
	 			document.write(" selected")
	 		document.write(">"+Ls_ArrText+"</option>")
	 	} 
 	 else{
		for (var i=0;i<A_ArrText.length;i++){ 	
	 		Ls_ArrText		=A_ArrText[i]
	 		Ls_ArrValue 	=(A_ArrValue==null ? i : A_ArrValue[i]) 		
	 		A_Object.options[i]=new Option( Ls_ArrText, Ls_ArrValue)
	 	} 
		while(i<A_Object.options.length)
			A_Object.options[A_Object.options.length-1]=null
		A_Object.selectedIndex=A_Selected	
	}	
}
//============== Renvoi Index du Text	========================
function GetIndexText(ObjSel,As_Value){	
	var Li_Return=-1
	As_Value=As_Value+""
	if (As_Value!="")
		As_Value=As_Value.toLowerCase()
	for (var i=0; i<ObjSel.options.length; i++)	{	
		if(ObjSel.options[i].text.toLowerCase()==As_Value){
			Li_Return=i		
			break
		}
	}	
 	return Li_Return 
}
//============== Renvoi Index du Value	========================
function GetIndexValue(ObjSel,As_Value){	
	var Li_Return=-1;
	As_Value=As_Value+""
	if (As_Value!="")
		As_Value=As_Value.toLowerCase()
	for (var i=0;i<ObjSel.options.length;i++)	{		
		if(ObjSel.options[i].value.toLowerCase()==As_Value){
			Li_Return=i
			break;
		}
	}
 	return Li_Return
}
//================= Renvoie Text	=================
function GetTextOption(ObjSel,Ai_Index){
	Ai_Index=CheckIndex(ObjSel,Ai_Index)			
	if(Ai_Index==-1)
		return ""
	else
		return ObjSel.options[Ai_Index].text	
}
//================= Renvoie Valeur	=================
function GetValueOption(ObjSel,Ai_Index){
	Ai_Index=CheckIndex(ObjSel,Ai_Index)		
	if(Ai_Index==-1)
		return ""
	else	
		return ObjSel.options[Ai_Index].value
}

//================= Mise a jour Text du index=================
function SetTextIndex(ObjSel,Text,Value){
	if (Value==null)
		Value=Text	
	var Li_Index=ObjSel.selectedIndex														
	ObjSel.options[Li_Index].text=Text
	ObjSel.options[Li_Index].value=Value
}
//================= Effacer un object <option>	=================
function DelOption(ObjSel,Ai_Index){
	Ai_Index=CheckIndex(ObjSel,Ai_Index)
	if (ObjSel.options.length-1==Ai_Index)		 //si l'élément à effacer est en fin de la liste
		ObjSel.selectedIndex=Ai_Index-1			 //déplacer la sélection vers le haute
	else			
		ObjSel.selectedIndex=Ai_Index+1		 //déplacer la sélection vers le bas
	ObjSel.options[Ai_Index]=null					//effacer l'élément
}

//================= Vérifié index 	=================
function CheckIndex(ObjSel,Ai_Index){
	if(Ai_Index==null)
		Ai_Index=ObjSel.selectedIndex					//si Index=null return sélection en cours
	else																//sinon
		if(Ai_Index>ObjSel.options.length-1)			//si Index > longeur de la liste return le dernier   
			Ai_Index=ObjSel.options.length-1
	return Ai_Index		
}
//*************************************************** <DIV> ***********************************************************

function GetSize(){
 	if (isIE4){		
 		this.width=document.body.offsetWidth 
		this.height=document.body.offsetHeight
 	}
 	else{
		this.width=self.innerWidth
 		this.height=self.innerHeight
 	}	
}
 //=====================================================
 function HidePlan(StrDiv){
	var ObjDiv=GetObjDiv(StrDiv)
	if (ObjDiv==null)
		return
	if(isNav4)
 		ObjDiv.visibility="hide"
	else
		ObjDiv.visibility="hidden"	
}
 //=====================================================
function ShowPlan(StrDiv){
	var ObjDiv=GetObjDiv(StrDiv)
	if (ObjDiv==null)
		return
	if(isNav4)
 		ObjDiv.visibility="show"		
	else
		ObjDiv.visibility="visible"	
}
 //=====================================================
function GetDiv(StrDiv){	
	if (isNav6)
	 	return document.getElementById(StrDiv)
	else{
		 if(isNav4)
	 		return document.layers[StrDiv] 	
	 	else
	 		return document.all[StrDiv]
	}
}
 //=====================================================
function GetObjDiv(StrDiv){
	var ObjDiv=GetDiv(StrDiv)
	if(isNav4)
 		return ObjDiv
	else
		return ObjDiv.style
}
 //=====================================================
function IsShowPlan(StrDiv){
	var ObjDiv=GetObjDiv(StrDiv)
	var ValReturn=false
		if(isNav4){
	 		if(ObjDiv.visibility=="show")
	 			 ValReturn= true		
	 	}		 
		else{
			if(ObjDiv.visibility=="visible")
				 ValReturn= true
		}		 
	return  ValReturn			 
}	
 //=====================================================
function ShowHide(StrDiv,StrDiv2){
	 if (IsShowPlan(StrDiv)){
	 	HidePlan(StrDiv)
	 	 if (StrDiv2!=null)
	 	 	ShowPlan(StrDiv2)
	 }	
	 else{
	 	ShowPlan(StrDiv)	
	 	 if (StrDiv2!=null)
	 	 	HidePlan(StrDiv2)	 	
	 }		
}
 //=====================================================
function CenteredDiv(As_ObjDiv, A_Width, A_Height){
 var	ObjBody		=new GetSize()
 var	ObjDiv			=GetObjDiv(As_ObjDiv)	 		
		ObjDiv.left	=(parseInt(ObjBody.width) - A_Width) / 2 
		ObjDiv.top	=(parseInt(ObjBody.height) - A_Height) / 2

}
 //=====================================================
function MoveDiv(As_ObjDiv, A_Left, A_Top){
	var ObjDiv=GetObjDiv(As_ObjDiv)
		ObjDiv.left=A_Left
		ObjDiv.top=A_Top
}
//====================== Déplacer en horizontal un object Div =====================
function MoveLeft(StrDiv,ValOpen,ValClose){
	var ValLeft=parseInt(GetObjDiv(StrDiv).left)
	if (ValLeft<ValOpen)
		ExeMoveLeft(StrDiv,1,ValOpen)
	else
		ExeMoveLeft(StrDiv,-1,ValClose)
}
function ChangDiv(StrDiv0,StrDiv1,ValOpen,ValClose){
	var ValLeft=parseInt(GetObjDiv(StrDiv0).left)
	if (ValLeft<ValOpen){
		ExeMoveLeft(StrDiv0,1,ValOpen )
		ExeMoveLeft(StrDiv1,-1,ValClose)
	}	
	else{
		ExeMoveLeft(StrDiv1,1,ValOpen)
		ExeMoveLeft(StrDiv0,-1,ValClose)
	}		
}
 //=====================================================
function SetDivObj(ObjDiv,Sens,Distance){
	this.ObjDiv=GetObjDiv(ObjDiv)
	this.Sens=Sens
	this.Distance=Distance
}	
 //=====================================================
function ExeMoveLeft(IdDiv,Sens,Distance){
	if(DivObj[IdDiv]==null){
		if (Sens==null || Distance==null)	
			return
		DivObj[IdDiv]=new SetDivObj(IdDiv,Sens,Distance)	
	}
	var pas=40 * DivObj[IdDiv].Sens  //  <-1  +1>
	var ValLeft=parseInt(DivObj[IdDiv].ObjDiv.left)
	var TmpDistance=ValLeft + pas
	
	if (((DivObj[IdDiv].Sens==1) && (TmpDistance>DivObj[IdDiv].Distance)) || ((DivObj[IdDiv].Sens==-1) && (TmpDistance<DivObj[IdDiv].Distance)))
		TmpDistance=DivObj[IdDiv].Distance

	DivObj[IdDiv].ObjDiv.left=TmpDistance
	if (TmpDistance!=DivObj[IdDiv].Distance)
		window.setTimeout("ExeMoveLeft('" + IdDiv + "')",10)
	else
		delete DivObj[IdDiv]
}

 //=====================================================
 function WriteStrHTML(StrDiv,StrHTML){
 	var ObjDiv=GetDiv(StrDiv)
	if(isNav4){	
		ObjDiv.document.open()
		ObjDiv.document.writeln(StrHTML)
		ObjDiv.document.close()
	}
	else
		ObjDiv.innerHTML=StrHTML
 }
 
 
//******************************************************** STRING_DATE **************************************************
 // index de 0 à 365 du argument DD/MM
function GetIndexByDate(Ai_Day, Ai_Month){
	var NbDays=0	
	for (var i=0;i<Ai_Month ; i++)		
		NbDays	+= ConsNbDays[i]
	NbDays+=Ai_Day		
	return NbDays
}
//=============================================================
// Day, Month du argument de 0 à 365
function GetDateByIndex(Index){
	Index++
	var NbDays=0		
	for (var i=0;i<12;i++){		
		NbDays	+= ConsNbDays[i]		
		var StrMonth=i
		if 	(NbDays >= Index){
			if (NbDays == Index)
				var StrDay= ConsNbDays[i]
			else
				var StrDay= Index - (NbDays- ConsNbDays[i])
			break;
		}			
	}
	this.Day		=StrDay
	this.Month	=StrMonth
}
//=============================================================
function SetDate(ObjParent){
	var Li_Day			=ObjParent.SelDay.selectedIndex											
	var Li_Month		=ObjParent.SelMonth.selectedIndex
	var Li_Year			=ObjParent.SelYear.options[ObjParent.SelYear.selectedIndex].text
	
	this.Day		=Li_Day
	this.Month	=Li_Month
	this.Year		=Li_Year
}
//=============================================================
function DefSelDay(ObjParent){ 
	var ObjDate		=new SetDate(ObjParent)
	var Li_NbDays	=(ObjDate.Month==1 ? daysInFebruary(ObjDate.Year) : ConsNbDays[ObjDate.Month])
	var ObjSel		=ObjParent.SelDay
	
	 SetNbItems(ObjSel,Li_NbDays)
}
//=============================================================
function SetMinDays(ObjParent, Ai_NbDays, Ab_IsReturn){	
	var Ld_Date=new Date(GetSelectDate(ObjParent,false,true))			

	if (DateDiff(DateNow, Ld_Date, "d") < Ai_NbDays){
		Ld_Date=new Date(DateNow)
		Ld_Date.setDate(	Ld_Date.getDate() + Ai_NbDays )
		SetSelectDate(ObjParent,Ld_Date)
	}
	if(Ab_IsReturn)
		return GetDateNow(Ld_Date)
}
//=============================================================
function GetStringDate(ObjParent){
	return GetSelectDate(ObjParent,true)
}
//=============================================================
function daysInFebruary (year)
{   // February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.   
    year=parseInt(year)
    return (  ((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0) ) ) ? 29 : 28 )
}
//=============================================================
function SetNbItems(ObjSel,Ai_NbDays){
	var Li_LastItem	=ObjSel.options.length
	var Li_NbItems	=Ai_NbDays - Li_LastItem		
	var Li_Selected	=ObjSel.selectedIndex
	var Li_NewItem	=0
	if(Li_NbItems<0){
		for(var i=Li_NbItems;i<0;i++){
			ObjSel.options[ObjSel.options.length - 1]=null	
		}	
	}	
	else{
		for (var i=1;i<=Li_NbItems;i++){
			Li_NewItem=Li_LastItem+i
			ObjSel.options[Li_LastItem+i-1]=new Option(Li_NewItem)
		}
	}	
	if (Li_Selected==-1)
		Li_Selected	=0
	if (Li_Selected>=ObjSel.options.length)	
		Li_Selected=ObjSel.options.length-1
	ObjSel.selectedIndex	=Li_Selected
}
//=============================================================
function DateDiff(a_BeginDate,a_EndDate,a_Mode){
	var Li_Mode	
	if (a_Mode==null){ a_Mode="d" }		
	switch 	(a_Mode) {
		case "s":
			Li_Mode = 1000
			break
		case "n":
			Li_Mode = 1000 * 60
			break
		case "h":
			Li_Mode = 1000 * 60 * 60
			break		
		case "d":
			Li_Mode = 1000 * 60 * 60 * 24
			break
		case "w":
			Li_Mode = 1000 * 60 * 60 * 24 * 7
			break		
		case "m":
 			Li_Mode = 1000 * 60 * 60 * 24 * 7 * 4	
 			break
 		default :	
 			Li_Mode = 1
	}

	if (typeof(a_BeginDate)=="string"){
		var Larr_BeginDate	=a_BeginDate.split("/")
		var Larr_EndDate	=a_EndDate.split("/")			
		for (var i=0;i<3;i++){
			Larr_BeginDate[i]	=parseInt(Larr_BeginDate[i])
			Larr_EndDate[i]		=parseInt(Larr_EndDate[i])
		}
		if (Larr_BeginDate[0]+"".lenght>2){ 	//========	YYYY MM DD ===========				
			var Ld_BeginDate		=new Date(Larr_BeginDate[0], Larr_BeginDate[1]-1, Larr_BeginDate[2])
			var Ld_EndDate			=new Date(Larr_EndDate[0] , Larr_EndDate[1]-1, Larr_EndDate[2])	
		}	
		else{ 									//========	DD MM YYYY ===========			
			var Ld_BeginDate		=new Date(Larr_BeginDate[2], Larr_BeginDate[1]-1, Larr_BeginDate[0])
			var Ld_EndDate			=new Date(Larr_EndDate[2] , Larr_EndDate[1]-1, Larr_EndDate[0])
		}
		return Math.round (( Ld_EndDate - Ld_BeginDate)  / Li_Mode)
	}
	else
		return Math.round (( a_EndDate - a_BeginDate)  / Li_Mode)
}

 //=============================================================
function SetSelectDate(ObjParent,A_Date){
	if (typeof(A_Date)=="string"){					
		A_Date=A_Date.split("/") 					//---> 1/1/2000
		if (A_Date[0].length>2) { 					//---> YYYY MM DD <==> A_Date[0].length=4
			var Ls_Tmp	=A_Date[0]		
		 	A_Date[0]	=A_Date[2]
		 	A_Date[2]	=Ls_Tmp
		}
																//---> DD/MM/YYYY
		if (A_Date[0].substring(0,1)=="0")
			A_Date[0]=A_Date[0].substring(1,2)
		if (A_Date[1].substring(0,1)=="0")
			A_Date[1]=A_Date[1].substring(1,2)
		A_Date[0]=parseInt(A_Date[0])
		A_Date[1]=parseInt(A_Date[1]) - 1
	}
	else{
		A_Date[0]	= A_Date.getDate()
		A_Date[1]	= A_Date.getMonth()
		A_Date[2]	= GetYearNow(A_Date) 
	}		
	var Li_Selected=-1

	for (var i=0;i<ObjParent.SelYear.options.length;i++){	
		if(ObjParent.SelYear.options[i].text==A_Date[2]+""){
			Li_Selected=i				
			break
		}
	}

	var Li_NbDays	=(A_Date[1]==1 ? daysInFebruary(A_Date[2]) : ConsNbDays[A_Date[1]])
				
	SetNbItems(ObjParent.SelDay, Li_NbDays)

	ObjParent.SelMonth.selectedIndex	=A_Date[1] 
	ObjParent.SelYear.selectedIndex		=Li_Selected
	ObjParent.SelDay.selectedIndex		=A_Date[0]-1
}
//=============================================================
function GetSelectDate(ObjParent, Ab_isAddZero, Ab_isYYYYMMDD){	
	var Li_Day			=ObjParent.SelDay.selectedIndex + 1											
	var Li_Month		=ObjParent.SelMonth.selectedIndex + 1
	var Li_Year			=ObjParent.SelYear.options[ObjParent.SelYear.selectedIndex].text
	if (Ab_isAddZero){
		if (Li_Day<10)		{Li_Day="0"+ Li_Day}
		if (Li_Month<10)	{Li_Month="0"+ Li_Month}
	}
	if(Ab_isYYYYMMDD)
		return Li_Year + "/" + Li_Month+ "/" +  Li_Day	
	else
		return Li_Day + "/" + Li_Month+ "/" +  Li_Year	
}	
//=============================================================
function GetDateNow(Ad_Date, Ab_isYYYYMMDD, Ab_isAddZero){
	if (Ad_Date==null)
		Ad_Date=new Date()
	var Li_Day		=Ad_Date.getDate() 
	var Li_Month	=Ad_Date.getMonth()+ 1
	var Li_Year 		=GetYearNow(Ad_Date)
	if (Ab_isAddZero){
		if (Li_Day<10)		{Li_Day="0"+ Li_Day}
		if (Li_Month<10)	{Li_Month="0"+ Li_Month}
	}	
	if(Ab_isYYYYMMDD)
		return Li_Year + "/" + Li_Month+ "/" +  Li_Day	
	else
		return Li_Day + "/" + Li_Month+ "/" +  Li_Year
}	
//=============================================================
function GetYearNow(Ad_Date){
	if (Ad_Date==null)
		Ad_Date=new Date()
	var Li_YearNow	=Ad_Date.getYear()
	if	(navigator.appName == "Netscape"){Li_YearNow=Li_YearNow+1900}	
	return Li_YearNow
}