//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
/*
Line  54 - PrevenirBox(message){
Line  62 - AlertBox(message){
Line  74 - OpenW(Url,NomWin,Width,Height,Param)

Line 115 - AffDiv(NomDiv,Affichage)
Line 242 - Cocher(Form,TypCoc,NomChk,NomImg,ValChk)

Line 439 - Replace(Chaine,Search,Replac)

Line 	 - AlertMsg(myTab,intIndex)	 
Line 	 - AltMsg(myTab,intIndex)	
Line 	 - Confirm(myTab,intIndex)

*/

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
//	0: Gestion du multilangue
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
//	1:	détection du navigateur~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

var msie, ns4, ns6,iemac,ie4,ie5,ie55,ie6;

msie = false;
ns4 = false;
ns6 = false;
iemac = false;
ie4 = false;
ie5 = false;
ie55 = false;
ie6 = false;

var nVer = navigator.appVersion;
var nAgt = navigator.userAgent.toLowerCase();
var fullVersion = parseFloat(nVer);
var majorVersion = parseInt(nVer);

if ((verOffset = nAgt.indexOf("msie"))!=-1) // In Internet Explorer, the true version is after "MSIE"
{
	fullVersion = parseFloat(nAgt.substring(verOffset + 5,nAgt.length));
	majorVersion = parseInt('' + fullVersion);
}
else if ((verOffset = nAgt.indexOf("opera"))!=-1) // In Opera, the true version is after "Opera"
{
	fullVersion = parseFloat(nAgt.substring(verOffset+6,nAgt.length));
	majorVersion = parseInt('' + fullVersion);
}

if (navigator.appName == "Microsoft Internet Explorer"){
	msie = true;
	if (majorVersion >= 4)
	{
		if (nAgt.indexOf("msie 4.0")!=-1){ie4 = true;}
		if (nAgt.indexOf("msie 5.0")!=-1){ie5 = true;}
		if (nAgt.indexOf("msie 5.5")!=-1){ie55 = true;}
		if (nAgt.indexOf("msie 6.")!=-1){ie6 = true;}
	}
	
	if (navigator.appVersion.indexOf("Mac")!=-1){iemac = true;}
}
else if (navigator.appName == "Netscape")
{
	ns6 = parseInt(navigator.appVersion) >= 5;
	ns4 = parseInt(navigator.appVersion) < 5;
}


//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//	2:	Boite de dialog modal pour ameliorer la fct confirm javascript						
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~	

// Boite de dialog modale, remplace le alert en javascript
function AlertBox(message){
	if (navigator.appName=="Microsoft Internet Explorer") {
		while ((valeur = window.showModalDialog('/commun/eplugs/AlertBox.asp?message=' + escape(message),'','dialogHeight:160px;dialogWidth:250px;status:no;scroll:no;help:no')) == null) {}
		return valeur;
	}
	else return alert(message);
}

// Boite de dialog modale, remplace le confirm en javascript
function PrevenirBox(message){
	return ConfirmBox(message);
}
function ConfirmBox(message) {
	if (navigator.appName=="Microsoft Internet Explorer") {
		while ((valeur = window.showModalDialog('/commun/eplugs/MessageBox.asp?message=' + escape(message),'','dialogHeight:160px;dialogWidth:250px;status:no;scroll:no;help:no')) == null) {}
		return valeur;
	}
	else return confirm(message);	
}

// Boite de dialog modale, remplace le prompt en javascript
function PromptBox(message){
	if (navigator.appName=="Microsoft Internet Explorer") {
		return window.showModalDialog('/commun/eplugs/PromptBox.asp?message=' + escape(message),'','dialogHeight:160px;dialogWidth:250px;status:no;scroll:no;help:no');
	}
	else return prompt(message, "");
}

function SuppGuillemet(NomChamp){
	eval('document.Information.'+NomChamp+'.value = document.Information.'+NomChamp+'.value.replace(/"/gi,"\'")');
}	

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//	2:	Ouvre une fenêtre au milieu de l'écran	
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
												
function OpenW(Url,NomWin,Width,Height,Param)
{

	//alert('iemac ' + iemac);
	//alert('window exists ' + eval('window.'+ NomWin));
	
	if (iemac == false && eval('window.'+ NomWin + '!= null')){eval('window.' + NomWin + '.close();');}
	
	if (Width == 0){Width = window.screen.availWidth-100;}
	if (Height == 0){Height = window.screen.availHeight-100;}

	var Top=(window.screen.availHeight/2)-(Height/2); //-50;
	var Left=(window.screen.availWidth/2)-(Width/2);
	
	//Si l'objet affiché est trop grand
	if (Left < 0){Left = 0}
	if (Top < 0){Top = 0}

	if (Param == ''){Param = 'resizable=yes,scrollbars=1';}
	
	eval(NomWin+'=window.open("'+Url+'","'+NomWin+'","top='+Top+',left='+Left+',width='+Width+',height='+Height+','+Param+'");');
}


//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//	AffDiv(NomDiv,Affichage)
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

function AffDiv(NomDiv,Affichage)
//Affiche/Cache le DIV NomDiv - Affichage est optionnel : 1=Affiche, 0=Cache				
{
	
	var args = AffDiv.arguments;
	
	if (NomDiv == 'Patienter'){self.scroll(0,0);}
	
	var newXPos,newYPos,actionLayer,objDiv;

	if (document.getElementById || document.all)		//Si c'est un navigateur Mozilla ou ie5 et + || ie4
	{
		
		if (document.getElementById){objDiv = document.getElementById(NomDiv);}
		else{objDiv = document.all[NomDiv];}

		if (Affichage != 0 && Affichage != 1){
			if (objDiv.style.visibility == 'visible'){actionLayer = 'hide';}else{actionLayer = 'show';}
		}else if (Affichage == 1){actionLayer = 'show';} else {actionLayer = 'hide';}

		if (actionLayer == 'show')
		{
			//on affiche d'abord l'élement avant de le bouger ou de calculer sa taille
			//sinon iemac rends une taille zéro et rends le replacement aléatoire
			objDiv.style.visibility = 'visible';
			objDiv.style.display = 'block';
	
			//positionnement par rapport au top et left demandés
			if (args.length == 5)
			{
				// positionnement / souris avec ou ss scrollbars
				if (args[4] == 'mouse' || args[4] == 'mouse|absolute') 
				{
					if (args[3] == 'gauche')
					{
						newXPos = window.event.clientX - objDiv.offsetWidth;
						newXPos = (newXPos<0)?0:newXPos;
						newYPos = window.event.clientY;
					}
					else
					{
						newXPos = window.event.clientX;
						newYPos  = window.event.clientY;
					}
				}
				else // positionnement / top et left
				{
					newXPos = args[3] //top
					newYPos = args[2] //left
				}					
				
				//repositionnement par rapport au scroll				
				if (args[4] != 'absolute' && args[4] != 'mouse|absolute')
				{
					newXPos = newXPos + document.body.scrollLeft;
					newXPos = newXPos.toString();// + 'px';

					newYPos = newYPos + document.body.scrollTop;
					newYPos = newYPos.toString();// + 'px';
				}
						
				objDiv.style.left = newXPos + 'px';
				objDiv.style.top = newYPos + 'px';	
			}
		}
		else
		{
				objDiv.style.visibility = 'hidden';
				objDiv.style.display = 'none';			
		}		

	}
	else if (document.layers) //Si c'est Netscape 4.x
	{
		objDiv = document.layers[NomDiv];

		if (Affichage != 0 && Affichage != 1){
			if (objDiv.style.visibility == 'visible'){actionLayer = 'hide';}else{actionLayer = 'show';}
		}else if (Affichage == 1){actionLayer = 'show';} else {actionLayer = 'hide';}

		if (actionLayer == 'show')
		{
			objDiv.visibility = 'show';
			objDiv.display = 'block';

			//positionnement
			if (args.length == 5)
			{
				if (args[5] == 'mouse' || 'mouse|absolute') // positionnement / souris
				{
					if (args[4] == 'gauche')
					{
						newXPos = args[3].pageX - objDiv.clip.width;
						newXPos = (newXPos<0)?0:newXPos;
						newYPos = args[3].pageY;
					}
					else
					{
						newXPos = args[3].pageX;
						newYPos  = args[3].pageY;
					}					
				}
				else // positionnement / top et left
				{
					newXPos = args[3] //top
					newYPos = args[4] //left
				}
			
				//positionnement ss prise en compte des scrollbars
				//à corriger qd test avec scrollbars
				objDiv.left = newXPos;
				objDiv.top = newYPos;
			}	
		}
		else
		{
			objDiv.visibility = 'hidden';
			objDiv.display = 'none';			
		}
	}

}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//	AffDiv(NomDiv,Affichage)
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


function Cocher(Form,TypCoc,NomChk,NomImg,ValChk)
//Coche/Décoche toutes les cases de NomForm - Typ => 1=Cocher, 0=Décocher
{
	//On regarde si une action a été spécifiée
	if (TypCoc==null)
	{
		TypCoc=2;
	} else {
		if (TypCoc!=0 && TypCoc!=1)
		{
			TypCoc=2;
		}
	}
	//On regarde si une chaine a été spécifiée
	if (NomChk==null)
	{
		NomChk='';
	}
	//On regarde si une valeur a été spécifiée
	if (ValChk==null)
	{
		ValChk='';
	}
	//On passe en revue tous les éléments
	for (var i=0;i<Form.elements.length;i++)
	{
		var Case=Form.elements[i];
		if (Case.type=='checkbox') {
			if (NomChk=='' || Case.name.indexOf(NomChk)>=0)
			{
				if (ValChk=='' || Case.value.indexOf(ValChk)>=0)
				{
					if (TypCoc==0) {
						if (Case.checked==true)
						{
							Case.checked=false;
						}
					} else {
						if (TypCoc==1)
						{
							if (Case.checked==false)
							{
								Case.checked=true;
							}
						} else {
							if (Case.checked==true)
							{
								TypCoc=0;
								Case.checked=false;
							} else {
								TypCoc=1;
								Case.checked=true;
							}
						}
					}
				}
			}
		}
	}
	//On regarde si une image a été spécifiée
	if (NomImg!=null)
	{
		if (TypCoc==1)
		{
			eval("document."+NomImg+".src='/images/RienCocher.gif';");
		} else {
			eval("document."+NomImg+".src='/images/ToutCocher.gif';");
		}
	}
}


//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 			AlertMsg()
// 
//
//		
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

function AlertMsg(myTab,intIndex){
	
	var Chaine = myTab[intIdLangue][intIndex];
 	var ReplaceString;
	var SearchString;

 	if (AlertMsg.arguments.length > 2){
	
		 for(var CptArgs = 1; CptArgs <= AlertMsg.arguments.length -2; CptArgs++){		 
		 	SearchString = '%' + CptArgs.toString();		
		 	ReplaceString = AlertMsg.arguments[CptArgs+1];		
			Chaine = Replace(Chaine,SearchString,ReplaceString);		
		 }
	}
	alert(Chaine);
	return true;
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 			AlrtMsg()
// 
//
//		
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

function AltMsg(myTab,intIndex){
	
	var Chaine = myTab[intIdLangue][intIndex];
 	var ReplaceString;
	var SearchString;
	
 	if (AltMsg.arguments.length > 2){
	
		 for(var CptArgs = 1; CptArgs <= AlertMsg.arguments.length -2; CptArgs++){		 
		 	SearchString = '%' + CptArgs.toString();		
		 	ReplaceString = AltMsg.arguments[CptArgs];		
			Chaine = Replace(Chaine,SearchString,ReplaceString);		
		 }
	}

	return Chaine;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 			ConfirmtMsg()
// 
//
//		
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

function ConfirmMsg(myTab,intIndex){
	
	var Chaine = myTab[intIdLangue][intIndex];
 	var ReplaceString;
	var SearchString;
	
 	if (ConfirmMsg.arguments.length > 2){
	
		 for(var CptArgs = 1; CptArgs <= AlertMsg.arguments.length -2; CptArgs++){		 
		 	SearchString = '%' + CptArgs.toString();		
		 	ReplaceString = ConfirmMsg.arguments[CptArgs];		
			Chaine = Replace(Chaine,SearchString,ReplaceString);		
		 }
	}

	return PrevenirBox(Chaine);
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//	Replace(Chaine,Search,Replac)
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

function Replace(Chaine,Search,Replac)
//Remplace Search par Replac dans Chaine
{
	if (Search==null || Search=='')
	{
		Search="\'|\"";
	}
	if (Replac==null)
	{
		Replac="\\\'";
	}
	var ExpReg=new RegExp(Search,"gi");
	return Chaine.replace(ExpReg,Replac);
}


function DivWrite(NomDiv,NewTxt)
//Reecrit le contenu d un layer
{
	if (NewTxt==null){NewTxt='';}
	
	if (document.layers) //Si c'est Netscape 4
	{
	
		var DivSel=document.layers[NomDiv];
		DivSel.document.open();
		DivSel.document.write(NewTxt);
		DivSel.document.close();
		
	} else if (document.all) {				//Si c'est Internet Explorer
		document.all[NomDiv].innerHTML=NewTxt;
	} else if (document.getElementById) {	//Si c'est Netscape 6
		var Range=document.createRange();
		var DivSel=document.getElementById(NomDiv);
		while (DivSel.hasChildNodes())
			DivSel.removeChild(DivSel.firstChild);
		Range.setStartAfter(DivSel);
		var DocFra=Range.createContextualFragment(NewTxt);
		DivSel.appendChild(DocFra);
	}
}


//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//	Interdiction du click droit															
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

var isNS = (navigator.appName == "Netscape") ? 1 : 0;
var EnableRightClick=1;	//Mettre à 0 pour interdire
if(isNS) 
document.captureEvents(Event.MOUSEDOWN||Event.MOUSEUP);
function mischandler(){
  if(EnableRightClick==1){ return true; }
  else {return false; }
}
function mousehandler(e){
  if(EnableRightClick==1){ return true; }
  var myevent = (isNS) ? e : event;
  var eventbutton = (isNS) ? myevent.which : myevent.button;
  if((eventbutton==2)||(eventbutton==3)) return false;
}
function keyhandler(e) {
  var myevent = (isNS) ? e : window.event;
  if (myevent.keyCode==96)
    EnableRightClick = 1;
  return;
}
document.oncontextmenu=mischandler;
document.onkeypress=keyhandler;
document.onmousedown=mousehandler;
document.onmouseup=mousehandler;


