
/*Supprime la ligne selectionnee de la listedont le nom est place en parametre*/

function DelFromList(liste)
{
	var list = document.getElementById(liste);
	if (list.options.selectedIndex>=0)
	{
		list.options[list.options.selectedIndex]=null;
	} 
	else 
	{
	alert("Suppression impossible : aucune ligne n'est sélectionnée");
	}
}

/*Vérifie le format email d'un champ. renvoie 1 si le format est bon*/
function checkMail(champ)
{
	var lastdot;
	var laststrlen;
	strmailto = document.getElementById(champ).value;
	lastdot = strmailto.lastIndexOf(".");
	laststrlen = strmailto.substr(lastdot+1,strmailto.length);
	if(strmailto=="" || strmailto.indexOf("@")==-1 || strmailto.indexOf(".")==-1 || laststrlen.length<2 || laststrlen.length>4)
	{
	return 0;
	}
	else
	{
	return 1;
	}
}

//Supprime tous les index de la liste
function DelAllFromList(liste)
{
	var list3 = document.getElementById(liste);
	var fin=list3.options.length;
	for (var k=0; k<fin;k++)
	{
		list3.options[fin-1-k]=null;
	}
}

/*affiche l'element dont le nom est place en parametre*/
function Show(elements)
{
	if (document.getElementById(elements))
		document.getElementById(elements).style.display = "";
	else{
		elements = elements.toLowerCase();
		if (document.getElementById(elements))
		document.getElementById(elements).style.display = "";
	}
}

/*masque l'element dont le nom est place en parametre*/
function Hide(elements)
{
	if (document.getElementById(elements))
		document.getElementById(elements).style.display = "none";
	else{
		elements = elements.toLowerCase();
		if (document.getElementById(elements))
		document.getElementById(elements).style.display = "none";
	}
}

/* Ajoute le contenu d'un champ dans une liste avec sa place dans la liste comme valeur*/
function AjouterListe(champ,liste)
{
	if(document.getElementById(champ).value != "")
	{
		var o=new Option(document.getElementById(champ).value,document.getElementById(liste).options.length);
		document.getElementById(liste).options[document.getElementById(liste).options.length]=o;
		document.getElementById(champ).value = "";
	}
	else alert("Ajout impossible : aucune valeur n'a été saisie");
}

/* deplace le champ selectionne dans une autre liste */
function Deplacer(liste1,liste2)
{
	var l1 = document.getElementById(liste1);
	var l2 = document.getElementById(liste2);	

	if (l1.options.selectedIndex>=0)
	{
		o=new Option(l1.options[l1.options.selectedIndex].text,l1.options[l1.options.selectedIndex].value);
		l2.options[l2.options.length]=o;
		l1.options[l1.options.selectedIndex]=null;
	}
	else
	{
		alert("Aucune ligne n'est sélectionnée");
	}
}

function TesterRadio(nomRadio)
{
	var radio = document.getElementById(nomRadio);
	for (var i=0; i<radio.length;i++) 
	{
		if (radio[i].checked)
		{
           return i;
        }
	}
}

//retourne true si la value du champ est un nombre false sinon
function isNumber(champ)
{
	return(!isNaN(document.getElementById(champ).value));
}

function ChangeFgColor(liste)
{
	var couleur = document.getElementById(liste).options[document.getElementById(liste).options.selectedIndex].value;
	document.fgColor = couleur;
}

function ChangeBgColor(liste)
{
	var couleur = document.getElementById(liste).options[document.getElementById(liste).options.selectedIndex].value;
	document.bgColor = couleur;
}

/* Ajoute le champ selectionne dde la liste de gauche d'une ping-pong dans celle de droite */
function AddList(liste1,liste2)
{
	var l1 = document.getElementById(liste1);
	var l2 = document.getElementById(liste2);

	if (l1.options.selectedIndex>=0)
	{
		var tampon;
		tampon=0;
		for(var i=0;i<l2.options.length;i++)
		{
			if((l1.options[l1.options.selectedIndex].text)==(l2.options[i].text))
			{
				tampon=1;
				alert(""+l2.options[i].text+" a déjà été selectionné.");
				return(0);
			}
		}
		if(tampon==0)
		{
			o=new Option(l1.options[l1.options.selectedIndex].text,l1.options[l1.options.selectedIndex].value);
			l2.options[l2.options.length]=o;
		}
		//l1.options[l1.options.selectedIndex]=null;
	}
	else
	{
		alert("Aucune ligne n'est sélectionnée");
		return(0);
	}
}

//Passe tous les élement de la liste 1 à la liste 2
function AddAllToList(liste1,liste2)
{
	DelAllFromList(liste2);
	var list1 = document.getElementById(liste1);
	var list2 = document.getElementById(liste2);
	for(var i=0;i<list1.options.length;i++)
	{
		var o=new Option(list1.options[i].text,list1.options[i].value);
		list2.options[i]=o;
	}
}

function collapseExpand()
{
		var child=document.getElementById[event.srcElement.getAttribute("child",false)];
		if (null != child)
			child.className = child.className == "collapsed" ? "expanded" : "collapsed";
}

//retourne le numero de l'index ou se trouve le champ ou -1
function SearchSelect(list,name)
{
	for(var i=0;i<(list.options.length);i++)
	{
		if(list.options[i].text == name) return (i);
	}
	return(-1);
}

//recupere la chaine jusqu'au caratere specifie
function Extraire(chaine,car)
{
	return(chaine.substring(0,chaine.indexOf(car)));
}

//Recupere la chaine apres le caratere specifie
function Soustraire(chaine,car)
{
	return(chaine.substring(chaine.indexOf(car)+ car.length,chaine.length + 1));
}

//Insere dans la chaine l'élément en le séparant du reste de la chaine
//si celle-ci n'est pas nulle par le caractère car
function Inserer(chaine,car,element)
{
	if(chaine=="")return(element);
	else return(chaine+car+element);
}

//Met l'index selectionné dans la liste1 dans le champ1
function MoveSelectToField(champ1,liste1)
{
	var champ = document.getElementById(champ1);
	var liste = document.getElementById(liste1);

	champ.value = liste.options[liste.options.selectedIndex].text;
}

//Met le champ1 dans l'index selectionné dans la liste1
function MoveFieldToSelect(champ1,liste1)
{
	var champ = document.getElementById(champ1);
	var liste = document.getElementById(liste1);
	if (Trim(champ.value)!="")
	{
		var o=new Option(Trim(champ.value),liste.options.length);
		liste.options[liste.options.length] = o;
		champ.value = ""
	}
	else alert("Veuillez remplir le champ");
}

//Met le champ1 dans l'index selectionné dans la liste1 avec comme value lui meme
function MoveFieldToSelect2(champ1,liste1,limit_liste)
{
	var champ = document.getElementById(champ1);
	var liste = document.getElementById(liste1);

	if (Trim(champ.value)!="")
	{
		if(liste.options.length < limit_liste){
			var o=new Option(Trim(champ.value),Trim(champ.value));
			liste.options[liste.options.length] = o;
			champ.value = "";
		}
		else alert("Pas plus de " + limit_liste + " enregistrements permis.");
	}
	else alert("Veuillez remplir le champ");
}

//Met le champ1 dans l'index selectionné dans la liste1
function MoveFieldAndSelectToSelect(champ1,liste1,liste2)
{
	var champ = document.getElementById(champ1);
	var liste = document.getElementById(liste1);
	var type = document.getElementById(liste2).options[document.getElementById(liste2).options.selectedIndex].value;
	if (champ.value!="" && liste.options.selectedIndex>0)
	{
		var o=new Option(champ.value,type);
		liste.options[liste.options.length] = o;
	}
	else alert("Veuillez remplir les champs");
}

/*function CreateHour(heure1,minute1)
{
	var heure = document.getElementById(heure1);
	var minute = document.getElementById(minute1);

	if(heure.options.length == 0)
	{
		for(var i=8;i<10;i++)
		{
			var o=new Option("0" + i,heure.options.length);
			heure.options[heure.options.length] = o;
		}

		for(var i=10;i<22;i++)
		{
			var o=new Option(i,heure.options.length);
			heure.options[heure.options.length] = o;
		}
	}
	if(minute.options.length == 0)
	{
			var o=new Option("00",minute.options.length);
			var o1=new Option("30",minute.options.length);
			minute.options[minute.options.length] = o;
			minute.options[minute.options.length] = o1;
	}
}*/

// fonction qui permet de changer dynamiquement la classe associée à un objet
function ChangeClass(Element,Classe)
{
		var eElem= document.getElementById(Element);
		eElem.className=Classe;
}

//fonction qui rajoute dans un champ caché un élément
function WriteIntoHide(HideName,element)
{
	var tampon1=document.getElementById(HideName);
	var tampon2=tampon1.value;
	var tampon3=Inserer(tampon2,';',element);
	tampon1.value=tampon3;
}

//fonction qui place tous les éléments d'une liste dans un champ caché.
function GetElementFromList(List,HideName)
{
	var TheList=document.getElementById(List);
	var TheHide=document.getElementById(HideName);
	for(var i=0;i<TheList.options.length;i++)
	{
	//	alert(HideName+' : '+TheList.options[i].value);
		WriteIntoHide(HideName,TheList.options[i].value);
	}
//alert(HideName+" : "+TheHide.value);
}

//Arrondi nb à 10^-2
function Arrondi(nb)
{
	return(Math.round(100*parseFloat(nb))/100);
}

//convertie dans le divField la valeur du hiddenField dans la devise de la liste
/*function ConvertDevise(hiddenField,divField,liste,n)
{
	var devise ;
	var champEuro;
	var list = document.getElementById(liste);

	for(var i=1;i<=n;i++)
	{
		devise = document.getElementById(divField + i);
		champEuro = document.getElementById(hiddenField + i);

		var taux = list.options[list.options.selectedIndex].value;
		var result = (champEuro.value)*taux;
		devise.innerText = Arrondi(result) + " " + Extraire(list.options[list.options.selectedIndex].text," ");
	}
}*/

//Convertit tout les champs divField de deb à fin suivant la devise demande dans liste
function ConvertDevise(hiddenField,divField,liste,deb,fin,devisefield)
{
	var devise ;
	var champEuro;
	var list = document.getElementById(liste);

	for(var i=deb;i<=fin;i++)
	{
		devise = document.getElementById(divField + i);
		champEuro = document.getElementById(hiddenField + i);
		if (devise==null || champEuro==null || isNaN(champEuro.value))
			continue;

		var taux = list.options[(list.selectedIndex == -1 ? 0 : list.selectedIndex)].value;
		var result = (champEuro.value)*taux;
		if (!devisefield)
			devise.innerText = Arrondi(result) + " " + Extraire(list.options[list.options.selectedIndex].text," ");
		else
			devise.value = Arrondi(result)
	}
	if (devisefield)
	{
		var Tmp = document.getElementById(devisefield);
		for (var i = 0; i < Tmp.length; i++)
			Tmp[i].value = 	Extraire(list.options[list.options.selectedIndex].text," ");
	}
}

//Convertit tout les champs divField de deb à fin suivant la devise demande dans liste
function ConvertDeviseField(hiddenField,divField,liste,hidDeb,hidFin)
{
	ConvertDevise(hiddenField,divField,liste,document.getElementById(hidDeb).value,document.getElementById(hidFin).value);
}

function SelectAll2(name, debut, fin, frame, bool)
{
		for (var i = debut; i <= fin; i++)
		{
			var tmp;
			if (frame)
				tmp = window.parent.frames[frame].document.getElementById(name + i);
			else
				tmp = document.getElementById(name + i);
			if (tmp)
			{
				if (!tmp.disabled)
					if (frame)
						window.parent.frames[frame].document.getElementById(name + i).checked = bool;
					else
						document.getElementById(name + i).checked = bool;
			}
		}
}

function SelectAllByType(name, debut, fin, frame, bool, valeur)
{
	for (var i = debut; i <= fin; i++)
	{
		var tmp;
		if (frame)
			tmp = window.parent.frames[frame].document.getElementById(name + i);
		else
			tmp = document.getElementById(name + i);
		if (valeur == -1)
		{
			if (!tmp.disabled)
				if (frame)
					window.parent.frames[frame].document.getElementById(name + i).checked = bool;
				else
					document.getElementById(name + i).checked = bool;
		}
		else
		{
			var Reg = new RegExp ("ligne[0-9]+"+valeur);
			if (tmp.parentElement.parentElement.id.search(Reg) != -1)
			{
				if (!tmp.disabled)
					if (frame)
						window.parent.frames[frame].document.getElementById(name + i).checked = bool;
					else
						document.getElementById(name + i).checked = bool;
			}
		}
	}
}

//Selectionne toute les checkbox cb
//function SelectAll(cb,deb,fin)
//{
//	for (var i=deb;i<=fin;i++)
//		if (!document.getElementById(cb + i).disabled)
//			document.getElementById(cb + i).checked=!document.getElementById(cb + i).checked;
//}

//Selectionne toute les checkbox cb
function SelectAllF(cb,deb,fin)
{
	SelectAll(cb,document.getElementById(deb).value,document.getElementById(fin).value);
}

//Permet d'afficher et de centrer une popup en la resizant si necessaire 
var Test; // Ancienne variable à éliminer...
var popupCentering = 1;
var intervalResize = "";
function Resize(tableau)
{
	popupCentering = 1;
	Resize2(tableau);	
	if (intervalResize == "") intervalResize = window.setInterval("Resize2(\"" + tableau + "\")", 100);	
}


function Resize2(tableau)
{	
	if (document.all){
	var tab = document.all(tableau);
	}
	else{
	var tab = document.getElementById(tableau);
	}
	if (tab)
	{
		width = parseInt(tab.scrollWidth, 10) + parseInt(tab.border, 10) * 2 + 10;
		height = parseInt(tab.offsetHeight, 10) + 59; //31
		if (width < 100)
			width = 568;
		try
		{
			if (popupCentering == 1)// GetElementFromList
			{
				window.moveTo((screen.availWidth-width)/2,(screen.availHeight-tab.scrollHeight-33)/2);
				popupCentering = 0;
			}
						
			window.resizeTo(width,height);  //33 / tab.scrollHeight+42
			if (intervalResize !=  "")
			{
				window.clearInterval(intervalResize);
				intervalResize = "";
			}			
		}
		catch (e){};
	}
}

//Rempli une liste à partir d'une string constituée de 2 caractère de séparation
function HiddenListToSelect(chaine,list,car1,car2)
{
	var liste = document.getElementById("list");
	DelAllFromList(list);
	var tampon;
	while (chaine!="")
	{
		tampon = Extraire(chaine,car1);
		chaine = Soustraire(chaine,car1);
		var o = new Option (tampon,Extraire(chaine,car2))
		chaine = Soustraire(chaine,car2);
		liste.options[liste.options.length]=o
	}
}
	
// Permet de changer une image par une autre, utiliser dans les barres de boutons
// On passe en parametre l'image que l'on veut mettre a la place, ansi que son indice
// au cas ou il y ait plusieurs images qui portent ce nom
function PictureChange(image, indice)
{
	var Im = image.split("_");
	var Path = document.images[Im[0] + indice].src;
	Path = Path.split("/");
	Path[Path.length - 1] = image;
	document.images[Im[0] + indice].src = Path.join("/");
}

// Permet de faire varié entre deux images
var i = 0;
var number = "tmp";
function PictureBlink(image1, image2, ind)
{
	number = ind;
	if (i == 0)
	{
		PictureChange(image1, number);
		i++;
	}
	else
	{
		PictureChange(image2, number);
		i--;
	}
}

// Permet de faire blinker pendant un temps les images passées en parametres
// Puis ouvre une fenètre correspondant au lien
var im1;
var im2;
var inter;
var lien;
var param_sup;
function MakeBlink(image1, image2, href, ind, param)
{
	im1 = image1;
	im2 = image2;
	lien = href;
	number = ind;
	param_sup = param;
	inter = setInterval("PictureBlink(im1, im2, number)", 10);
	if(lien == "" || lien == false)
		setTimeout("clearInterval(inter);PictureChange(im1, number);", 350);
	else 
		setTimeout("clearInterval(inter);PictureChange(im1, number);OpenNewWindow(lien,'','resizable=yes, scrollbars=yes, ' + param_sup);", 350);
}

function HideAllFromCombo(Combo)
{
	var Liste = document.getElementById(Combo);
	for (var i=0; i < Liste.options.length; i++)
	{
		Hide(Liste.options[i].value);
	}
}

function OpenPopup(url, name)
{
	var str = 'toolbar=0,menubar=0,status=no,top=' + (screen.availHeight-150) / 2 + ',left=' + (screen.availWidth-300)/2 + ', width=300, height=150, resizable=no, scrollbars=no';
	return(window.open(url, name, str));
}

function RefreshBox(namebox, nameligne, debut, fin, frame)
{
	for (var i = debut; i <= fin; i++)
		if (window.parent.frames[frame].document.getElementById(namebox + i).checked)
			window.parent.frames[frame].document.getElementById(nameligne + i).style.backgroundColor = '#FF99FF';
		else
			window.parent.frames[frame].document.getElementById(nameligne + i).style.backgroundColor = '#FFFFFF';
}

function Onglet(nameTab)
{
	if (document.getElementById(nameTab).value == 1)
		Hide(nameTab);
	else
		Show(nameTab);
	document.getElementById(nameTab).value = !document.getElementById(nameTab).value;
}

function PrintForm()
{
        if (window.print)
             window.print();
        else
             alert('Votre navigateur ne peux exécuter cette fonction .\n Utilisez "Fichier/Imprimer" de votre navigateur.\nMerci');
}

/* Affiche tous les tableau dont le nom est contenu dans le tableau tab */
function ShowAllIdTab(Tab)
{
	for (var i = 0; i < Tab.length; i++)
			Show(Tab[i]);
}

/* Cache tous les tableau dont le nom est contenu dans le tableau tab */
function HideAllIdTab(Tab)
{
	for (var i = 0; i < Tab.length; i++)
			Hide(Tab[i]);
}

// Affiche un des tableaux contenus dans le tableau tab
// Si Selected == -1 alors all determine le comportement,
//		Si all == 1 alors on affiche tous les tableaux
//		Sinon on cache tous
// Sinon on n'affiche que le tableau selectionné

function ShowSelectedIdTab(Selected, Tab, all)
{	
	if (Selected == -1)
	{
		if (all == 1)
			ShowAllIdTab(Tab);
		else
			HideAllIdTab(Tab);
	}
	else
	{
		HideAllIdTab(Tab);
		Show(Tab[Selected]);
	}
}

function ShowAllTab(nb)
{
	for (var i = 1; i <= nb; i++)
		Show("Body" + i);
}

function HideAllTab(nb)
{
	for (var i = 1; i <= nb; i++)
		Hide("Body" + i);
}

function ShowSelectedTab(valeur_combo, nb)
{
	if (valeur_combo == -1)
		ShowAllTab(nb);
	else
	{
		HideAllTab(nb);
		Show(valeur_combo);
	}
}

// cette fonction permet de déplacer un élément d'une liste vers le haut ou vers le bas
// en fonction de la variable "move"
// pour cela on swap la valeur de l'élément choisit avec l'élément d'avant ou d'aprés 
function ChangeOrder(liste, move)
{
	var list = document.getElementById(liste);
	if (list.options.selectedIndex >= 0)
	{
		if ((list.options.selectedIndex != 0 || move < 0) && (list.options.selectedIndex != list.options.length - 1 || move > 0))
		{
			var temp = new Option(list.options[list.options.selectedIndex - move].text, list.options[list.options.selectedIndex - move].value);
			var temp1 = new Option(list.options[list.options.selectedIndex].text, list.options[list.options.selectedIndex].value);
			var tmp = list.selectedIndex;
			list.options[list.options.selectedIndex - move] = temp1;
			list.options[list.options.selectedIndex] = temp;
			list.options.selectedIndex = tmp - move;
		}
	}
	else
		alert("Déplacement impossible : aucune ligne n'est sélectionnée");
}
//------------------------------------------------------------------------------------------------------------------------

function OpenSelector(Objet, Frame)
{
	if (Frame == 0)
		Frame = "";
	//ouverture du selecteur de couleur dans le name mettre 'Nomdudiv_Frame'
	window.open("http://01avenue/Include/selector.htm", Objet+"_"+Frame, "width=230, height=180, top="+screen.height/2+",left="+screen.width/2);
}

function ChangeClasse(classe, obj, frame)
{
if (document.all)
{
	if(window.parent.frames.length > 0)
	{
		if (!window.parent.frames[frame].document.getElementById(obj).checked && window.parent.frames[frame].document.getElementById(obj).parentElement.parentElement.selected != true) 
			window.parent.frames[frame].document.getElementById(obj).parentElement.parentElement.className=classe;
	}
	else
	{
		if ((frame) && (window.parent.frame))
		{
			if (!window.parent.frames[frame].document.getElementById(obj).checked && window.parent.frames[frame].document.getElementById(obj).parentElement.parentElement.selected != true)
				window.parent.frames[frame].document.getElementById(obj).parentElement.parentElement.className=classe;
		}	
		else
			if (!document.getElementById(obj).checked && document.getElementById(obj).parentElement.parentElement.selected != true)
				document.getElementById(obj).parentElement.parentElement.className=classe;
	}
}
}

function ChangeColor(flag, Obj, classe)
{
	if (!Obj.selected)
	{
		if (flag == 1)
		{
			Obj.OldclassName = Obj.className;
			Obj.className = classe;
		}
		else
			Obj.className = Obj.OldclassName;
	}
}

function ChangeColor2(obj, tdName, color)
{	document.getElementById(tdName).style.backgroundColor = color; }

function OpenNewWindow(location)
{
	return window.open(location, '', 'toolbar=0,menubar=0,status=no,top=' + screen.height/4 + ',left=' + screen.width/4 + ', width=850, height=600, resizable=yes, scrollbars=yes');
}

function OpenVirtualVisit(location)
{
	window.open(location, '', 'toolbar=0,menubar=0,status=no,top=' + screen.height/2 - 100 + ',left=' + screen.width/2 - 200 + ', width=800, height=600, resizable=yes, scrollbars=no');
}

function UnEchap(Txt)
{
	if (Txt)
	{
		Txt = Txt.split("&#10;");
		Txt = Txt.join(String.fromCharCode(13)+"\n");
		//Txt = Txt.split("&#39;");
		//Txt = Txt.join("'");
		//Txt = Txt.split("&#34;");
		//Txt = Txt.join("\"");
		Txt = Txt.split("&lt;");
		Txt = Txt.join("<");
		Txt = Txt.split("&gt;");
		Txt = Txt.join(">");
		//Txt = Txt.split("&amp;");
		//Txt = Txt.join("&");
		return (Txt);
	}
	return ("");
}

function Echap(Txt)
{
	if (Txt)
	{
		Txt = Txt.split("&#10;");
		Txt = Txt.join(String.fromCharCode(13)+"\n");
		//Txt = Txt.split("&");
		//Txt = Txt.join("&amp;");
		//Txt = Txt.split(String.fromCharCode(13)+"\n");
		//Txt = Txt.join("&#10;");
		//Txt = Txt.split("'");
		//Txt = Txt.join("&#39;");
		//Txt = Txt.split("\"");
		//Txt = Txt.join("&#34;");
		Txt = Txt.split("<");
		Txt = Txt.join("&lt;");
		Txt = Txt.split(">");
		Txt = Txt.join("&gt;");
		return (Txt);
	}
	return ("");
}

function ScrollSizeTo(i, j, frame)
{
	if (Scroll == 1)
	{
		if ((parseInt(window.parent.document.getElementById(frame).cols, 10)) < i)
		{
			window.parent.document.getElementById(frame).cols = (parseInt(window.parent.document.getElementById(frame).cols, 10) + j)+",*";
			setTimeout("ScrollSizeTo("+i+", "+j+", '"+frame+"');", 1);
		}
		else
		Scroll = 0;
	}
	else
	{
		window.parent.document.getElementById(frame).cols = i+",*";
	}
}

/*
function SelectAll(bool, Form, classe)
{
	var form = document.getElementById(Form).elements;
	if (form)
	{
		for (var i = 0; i < form.length; i++)
			if (form[i].type == "checkbox")
			{
				if (bool == true)
					ChangeClasse(classe, form[i]);
				form[i].checked = bool;
				if (bool == false)
					ChangeClasse(classe, form[i]);
			}
	}
}
*/

function SelectAll(bool, form, classe, frame)
{
	var elements;

	if(frame==null)
		elements = document.getElementById(form).elements;
	else
		elements = window.parent.frames[frame].document.getElementById(form).elements;

	if (elements)
	{
		for (var i = 0; i < elements.length; i++)
			if (elements[i].type == "checkbox" && elements[i].disabled==false)
			{
				if (bool == true)
					ChangeClasse(classe, elements[i].name, frame);

				elements[i].checked = bool;

				if (bool == false)
					ChangeClasse(classe, elements[i].name, frame);
			}
	}
}

// Selectionne toute les checkbox dont la valeur vos 'value'
function SelectAllByValue(value, bool, form, classe, frame)
{
	var elements;

	if(frame==null)
		elements = document.getElementById(form).elements;
	else
		elements = window.parent.frames[frame].document.getElementById(form).elements;

	for (var i = 0; i < elements.length; i++)
		if (elements[i].type == "checkbox" && elements[i].value == value)
		{
			if ((bool == true) && (classe != null) && (classe != ""))
				ChangeClasse(classe, elements[i].name, frame);

			elements[i].checked = bool;

			if ((bool == false) && (classe != null) && (classe != ""))
				ChangeClasse(classe, elements[i].name, frame);
		}
}

function CutWord(Txt, Tol)
{
//alert(Txt);
	if (!Tol)
		Tol = 10;
	Txt = Txt.split(" ");
	var j = 0;
	var curLineLength = 0;
	for (var i = 0; i < Txt.length; i++)
	{
		if ((Txt[i].length > Tol) || (curLineLength + Txt[i].length >= Tol))
		{
			var ret = "";
			for (var k = 1; k <= Txt[i].length; k++)
			{
				ret += Txt[i].substr((k - 1), 1);
				if (k % Tol == 0)
					ret += "<br>";
			}
			curLineLength = Txt[i].length - k;
			Txt[i] = ret
//alert('raz nval:'+curLineLength);
		}
		else curLineLength+=Txt[i].length;
//alert('longueur ligne:'+curLineLength)
	}
	return(Txt.join(" "));
}

function DisabledForm(Name)
{
	var Form = document.forms[0];
	if (Name)
		Form = document.getElementById(Name);
	if (Form)
		for (var i = 0; i < Form.elements.length; i++)
			Form.elements[i].disabled = true;
}

function TestClick()
{
	if (event)
	{
		if (event.type == "mousedown" && event.button == 2)
			alert("Veuillez respecter les droits d'auteurs!")
	}
}
function TestClickNS(e)
{
	if (document.layers||(document.getElementById&&!document.getElementById))
	{
		if (e.which==2||e.which==3)
		{
			alert("Veuillez respecter les droits d'auteurs!");
			return false;
		}
	}
}

function TestClickOld()
{
	return false;
}
	
function ClickDroit()
{
	if (navigator.appName.search(/internet explorer/i))
	{
		var Version = navigator.appVersion.split("MSIE");
		if (parseFloat(Version[1]) >= 5.0)
		{
			document.oncontextmenu = TestClickOld;
			return false;
		}
		document.onmousedown = TestClick;
	}
	else
	{
		if (document.layers)
		{
			document.captureEvents(Event.MOUSEDOWN);
			document.onmousedown = TestClickNS;
		}
		else
		{
			document.onmouseup = TestClickNS;
		}
	}
}

function selectAllOptions(champ, bool)
{
	if(champ.options==null)
	{
		alert("Le champ ne correspond pas a un select");
		return;
	}

	for(var i=0; i<champ.options.length; i++)
		champ.options[i].selected = bool;
}

function getSelectedValues(form, frame)
{
	var elements    = window.parent.frames[frame].document.getElementById(form).elements;
	var values      = "";

	// Caractere non imprimable
	var separator   = String.fromCharCode(26);

	var first       = true;

	for (var i = 0; i < elements.length; i++)
		if (elements[i].type == "checkbox")
		{
			if(elements[i].checked)
				if(first)
				{
					values = elements[i].value;
					first  = false;
				}
				else
					values  = values + separator + elements[i].value;
		}

	return values;
}

function deleteSelected(form, frame, url)
{
	var values = getSelectedValues(form, frame);

	if(values!="" && window.confirm("Etes vous sûr(e) de vouloir supprimer les éléments sélectionnés?"))
		window.parent.frames[frame].location.href = url + "typeAction=DEL&value=" + values;
}

function deleteSelected2(form, frame, url)
{
	var elements    = window.parent.frames[frame].document.getElementById(form).elements;

	var idValues    = "";
	var titleValues = "";
	var urlValues   = "";
	var values      = "";

	// Caracteres non imprimables
	var separator1  = String.fromCharCode(26);
	var separator2  = String.fromCharCode(27);

	var first       = true;

	for (var i = 0; i < elements.length; i++)
		if (elements[i].type == "checkbox")
		{
			if(elements[i].checked)
				if(first)
				{
					idValues    = elements[i].value;
					titleValues = window.parent.frames[frame].document.getElementById("link"+i).innerText;
					urlValues   = elements[i].id;
					first = false;
				}
				else
				{
					idValues    = idValues + separator2 + elements[i].value;
					titleValues = titleValues + separator2 + window.parent.frames[frame].document.getElementById("link"+i).innerText;
					urlValues   = urlValues + separator2 + elements[i].id;
				}
		}

		if(idValues!="" && titleValues!="" && urlValues!="")
					values = idValues + separator1 + titleValues + separator1 + urlValues;

		if(values!="" && window.confirm("Etes vous sûr(e) de vouloir supprimer les éléments sélectionnés?"))
			window.parent.frames[frame].location.href = url + "typeAction=DEL&value=" + values;
}

// Fonction de suppression des espaces en début et fin de chaine
function Trim(sChaine){

	if( typeof(sChaine) == "string" ){

		var reg= /(^\s*)|(\s*$)/g
		var sResultString = sChaine.replace(reg, "");
		return sResultString;
	}
	return sChaine;
}

// Fonction de sélection de toutes les options d'un select (utiliser pour les ping pong)
function selectAllOptions(champ, bool)
{
	if (champ.options != null)
		for(var i=0; i<champ.options.length; i++)
			champ.options[i].selected = bool;
}

// Déplace les éléments selectionnés d'une liste vers une autre.
	function MoveToList(srcListName, destListName)
	{
		// Recupération de la liste source dont le nom est passé en argument.
		var srcList = document.getElementById(srcListName);
		if (srcList == null)
			return;

		// Verification qu'il y ait au moins un élément de selectionné.
		if (srcList.selectedIndex == -1)
			return;

		// Recupération de la liste de destination.
		var destList = document.getElementById(destListName);
		if (destList == null)
			return;

		// Déplacement de tous les éléments selectionnés.
		var i = 0;
		while(i<srcList.options.length)
		{
			if (srcList.options[i].selected)
			{
				var destIndex = destList.options.length;
				var option = srcList.options[i];
				srcList.options[i] = null;
				destList.options[destIndex] = option;
				option.selected = false;
			}
			else
				i++;
		}
	}	

// Déplace tous les éléments d'une liste vers une autre.
	function MoveAllToList(srcListName, destListName)
	{
		// Recupération de la liste source dont le nom est passé en argument.
		var srcList = document.getElementById(srcListName);
		if (srcList == null)
			return;

		// Recupération de la liste de destination.
		var destList = document.getElementById(destListName);
		if (destList == null)
			return;

		// Déplacement de tous les éléments selectionnés.
		while(srcList.options.length != 0)
		{
				var destIndex = destList.options.length;
				var option = srcList.options[0];
				srcList.options[0] = null;
				destList.options[destIndex] = option;
				option.selected = false;
		}
		return(1);
	}

// Permet de supprimer tous les items selectionnés d'une liste.
	function RemoveSelectedItems(selectName)
	{
		var surfaceSelect = document.getElementById(selectName);
		if(surfaceSelect == null)
			return;

		for(var i=surfaceSelect.options.length-1 ; i>=0 ; i--)
			if(surfaceSelect.options[i].selected)
				surfaceSelect.options[i] = null;
	}

// Fonction permettant de supprimer tous les vide inutile dans une liste pouvant en contenir
function DeleteIgnorableDataFromList(sListData)
{
	if( typeof(sListData) == "string" ){

		var reg1= /(, +, )/g;
		var reg2= /^( , )/;
		var reg3= /(,  )$/;
		var sResultString = sListData.replace(reg1, ", ");
		sResultString = sResultString.replace(reg2, "");
		sResultString = sResultString.replace(reg3, "");
		return sResultString;
	}
	return sListData;
}

// Fonction permettant de supprimer les duplicata d'une liste ainsi que les vide qui s'y trouve
function DeleteMultipleOccursFromList(sListData,sSubstitute)
{	
	sListData = DeleteIgnorableDataFromList(sListData);

	var mots = sListData.split(", ");

	if(mots.length>1){
		var k=0;
		var bDontKeep= false;
		var tabResult = new Array(mots.length);

		for(var i=0; i<mots.length; ++i){
				for(var j=i+1; j<mots.length; ++j)
					if(mots[j] == mots[i]) {bDontKeep=true;break;}

				if(bDontKeep == false) tabResult[k++] = mots[i];
				bDontKeep = false;
		}
		var result= tabResult.slice(0,k).join(", ");
		if(Trim(result)=="") result = sSubstitute;
		return result;
	}
	if(Trim(sListData)=="") sListData = sSubstitute;
	return sListData;
}

// fonction qui empeche un champ de texte de mal saisir un pourcentage
function CheckPercentage(fieldObject)
{
	if(fieldObject == null)
		return;
	else if(isNaN(fieldObject.value))
		fieldObject.value = 0;
	else if(fieldObject.value<0)
		fieldObject.value = 0;
	else if(fieldObject.value>100)
		fieldObject.value = 100;
	return fieldObject.value;
}

// fonction qui empeche un champ de texte de mal saisir un tarif
function CheckPrice(fieldObject)
{
	if(fieldObject == null)
		return;
	else if(isNaN(fieldObject.value))
		fieldObject.value = 0;
	else if(fieldObject.value<0)
		fieldObject.value = 0;
	else if(fieldObject.value>100000000)
		fieldObject.value = 100000000;

	return fieldObject.value;
}

// fonction qui permet de contrôler la saisie d'une valeur numérique entre 2 bornes
function CheckNumeric(fieldObject, minVal, maxVal)
{
	if(fieldObject == null)
		return;

	if (fieldObject.value != '')
	{
		if(isNaN(CancelFormat(fieldObject.value)) || (CancelFormat(fieldObject.value) < minVal) || (CancelFormat(fieldObject.value) > maxVal))
		{
			alert('La valeur saisie est abérante !');
			fieldObject.focus();
		}
	}
}

// fonction qui permet de contrôler la saisie d'un tarif entre 2 bornes
function CheckPriceRange(fieldObject, minVal, maxVal)
{
	if(fieldObject == null)
		return;

	if (fieldObject.value != '')
	{
		if ((CancelFormat(fieldObject.value) < minVal) || (CancelFormat(fieldObject.value) > maxVal))
		{
			alert('Le tarif saisi est en dehors des bornes autorisées (' + minVal + ',' + maxVal + ') !');
			fieldObject.focus();
		}
	}
}

// Fonction qui permet de transferer un groupe d'une liste à l'autre.
// Dans une Ping Pong tres utile
function MoveSelectGroup(list1, list2, Selection, Separator)
{
	var l1	= document.getElementById(list1);
	var l2	= document.getElementById(list2);
	var i, j;
	var tab = Selection.split(Separator);

	for (i = 0; i < l1.options.length ; i++)
		for(j = 0; j < tab.length; j++)
			if (tab[j] == l1.options[i].value)
				l1.options[i].selected = true;

	MoveToList(list1,list2);
}

// permet de verifier si la date de fin est bien apres la date de debut
function CheckDate(HiddenDateStart, HiddenDateEnd)
{
	var DateStart	= document.getElementById(HiddenDateStart);
	var DateEnd		= document.getElementById(HiddenDateEnd);
	var keep_going;

	keep_going = false;
	if ((DateStart) && (DateEnd))
	{
		var TabStart = DateStart.value.split("/");
		var TabEnd = DateEnd.value.split("/");	
		if (parseInt(TabStart[2]) < parseInt(TabEnd[2]))
			keep_going = true;
		else
			if ((parseInt(TabStart[1]) < parseInt(TabEnd[1])) && (parseInt(TabStart[2])==parseInt(TabEnd[2])))
				keep_going = true;
			else
				if ((parseInt(TabStart[0]) < parseInt(TabEnd[0])) && (parseInt(TabStart[1])==parseInt(TabEnd[1])) && (parseInt(TabStart[2])==parseInt(TabEnd[2])))
					keep_going = true;
				else
					if(parseInt((TabStart[0]) == parseInt(TabEnd[0])) && (parseInt(TabStart[1])==parseInt(TabEnd[1])) && (parseInt(TabStart[2])==parseInt(TabEnd[2])))
						keep_going = true;
	}
	return (keep_going);
}

//permet de supprimer tous les boutons de la page, les select et autres à des
//fins d'impression
function RemoveObject(typeObj)
{
	var eElem, Obj = document.getElementsByTagName(typeObj);
	var iObjLength = Obj.length;
	for(var i=0; i<iObjLength; i++)
	{
		eElem = Obj[i];
		eElem.style.display = "none";
	}
}

//permet d'afficher tous les boutons de la page, les select et autres
//précedement cachés
function RemoveObjectUndo(typeObj)
{
	var eElem, Obj = document.getElementsByTagName(typeObj);
	var iObjLength = Obj.length;
	for(var i=0; i<iObjLength; i++)
	{
		eElem = Obj[i];
		eElem.style.display = "";
	}
}

//Fonction d'impression des pages de Détail
function PrintDetail()
{
	RemoveObject("input");
	RemoveObject("select");
	window.print();
}

//Fonction d'impression des pages de Popup
function PrintPopup()
{
	document.body.className = "";
	document.body.backgroud = "";
	document.bgColor = "white";
	RemoveObject("input");
	RemoveObject("select");
	RemoveObject("IMG");
	window.print();
}

//Fonction d'impression des pages de Liste avec multi-pages
function printList(tParam,TypeList)
{
	//On teste si la page appelante est une frame ou non
	if((window.parent) && (tParam != null)){
		var tmp = tParam.split("mysep");
		var chaineHtml = "<table width='550' border='0' cellspacing='0' cellpadding='0' align='center'>";
		chaineHtml += "<tr><td class='UnderLineCenter'>" + tmp[0] + "</td></tr>";
		var tmp1 = "";
		if(tmp[1] != null)
			tmp1 = tmp[1].split("<TBODY>");
		if(tmp1.length > 1){
			var tmp2 = tmp1[1].split("</TBODY>");
			chaineHtml += "<tr><td><br></td></tr>";
			chaineHtml += "<tr><td><table width='100%' align='center'>" + tmp2[0] + "</table></td></tr></table>";
		}
		else{
			chaineHtml += "<tr><td><br></td></tr></table>";
		}
		//chaineHtml += "<tr><td><br></td></tr>";
		window.setEntete(chaineHtml);
		var tmp3 = window.location.href.split("?");
		if(tmp3.length > 1 ){
			//alert("111 open de: "+window.location.href + "&Entete=true&sTitle="+tmp[0]);
			OpenNewWindow(window.location.href + "&Entete=true&sTitle="+tmp[0]);
		}
		else{
			//alert("222 open de: "+window.location.href + "?Entete=true&sTitle="+tmp[0]);
			OpenNewWindow(window.location.href + "?Entete=true&sTitle="+tmp[0]);
			}
	}
	else{
		document.body.className = "";
		document.bgColor = "white";
		RemoveObject("input");
		RemoveObject("select");
		CleanAnchor();
		CleanTr();
		// S'il s'agit d'une liste de paves, on enleve les images et les couleurs
		if((TypeList != null) && (TypeList == "Paves"))
			CleanPave();
		Hide('tabdevise');
		Hide('selector');
		Show('turnback');
		window.print();
	}
}

//Fonction permettant de revenir de la page d'impression à celle affichant la liste
function TurnBack()
{
	var tmp = window.location.href;
	var tab = tmp.split("&CurrentPage");
	tmp = tab[0];
	window.location.href = tmp;
}

//permet de supprimer toutes les images de la page n'ayant pas d'identifiant.
function RemoveImgWithoutID()
{
	var eElem, Obj = document.getElementsByTagName("IMG");
	var iObjLength = Obj.length;
	for(var i=0; i<iObjLength; i++)
	{
		eElem = Obj[i];
		if(eElem.id == "")
			eElem.style.display = "none";
	}
}

//Fonction qui enlève les images en trop et les couleurs dans les listes de pavés
function CleanPave()
{
	RemoveImgWithoutID();

	// 'coordPurple' est l'id de la ligne dont la classe est "Purple"
	var tmp = document.getElementById('coordPurple');
	if(tmp != null){
		if(tmp.length)
			for(var i=0;i < tmp.length;i++)
				tmp[i].className = "";
		else
			tmp.className = "";
	}	

	// 'degradeHaut' est le nom du tableau dont le background est une image
	tmp = document.getElementById('degradeHaut');
	if(tmp != null){
		if(tmp.length)
			for(var i=0;i<tmp.length;i++)
				tmp[i].background = "";
		else
			tmp.background = "";
	}

	// 'ombrage' est le nom des éléments dont le background est une image d'ombrage
	tmp = document.getElementById('ombrage');
	if(tmp != null){
		if(tmp.length)
			for(var i=0;i<tmp.length;i++)
				tmp[i].background = "";
		else
			tmp.background = "";
	}
	HideMany("tabLoupe");
}

/*masque l'element dont le nom est place en parametre*/
function HideMany(elements)
{
	var eElem, Obj = document.getElementById(elements);
	if(Obj != null){
		if(Obj.length)
			for(var i=0; i<Obj.length; i++){
				eElem = Obj[i];
				eElem.bgColor = "#FFFFFF";
				eElem.style.display = "none";
			}
		else{
			Obj.bgColor = "#FFFFFF";
			Obj.style.display = "none";
		}
	}
}

/*************************************************************************
/* Objet:	Fonction qui remplace un textarea par le texte qu'il contient
/* et qui applique une bordure au tableau principal.
/* Elle affiche aussi le nombre d'éléments que l'on imprime
/************************************************************************/
function ReplaceArea(nbElts,areaID)
{
	var tableElt = document.getElementById('maintable');
	if(document.getElementById('divresult'))
		document.getElementById('divresult').innerHTML = nbElts + " résultats affichés";
	Hide('tabresult');

	if(areaID != null){
		var divElt = document.getElementById('divArea');
		var TxtElt = document.getElementById(areaID);
		// Il y'a autant de TextArea que de divArea
		if(divElt.length)
			for(var i=0;i<divElt.length;i++){
				tableElt[i].border = 1;
				divElt[i].innerHTML = TxtElt[i].innerHTML;
				TxtElt[i].style.display = "none";
			}
		else{
			tableElt.border = 1;
			divElt.innerHTML = TxtElt.innerHTML;
			TxtElt.style.display = "none";
		}
	}
	else{
		if(tableElt.length)
			for(var i=0;i<tableElt.length;i++)
				tableElt[i].border = 1;
		else
			tableElt.border = 1;
	}
}

//permet de supprimer tous les liens de la page à des fins d'impression
function CleanAnchor()
{
	var eElem, Obj = document.getElementsByTagName("A");
	var iObjLength = Obj.length;
	for(var i=0; i<iObjLength; i++)
	{
		if ((Obj[0] != null) && (typeof Obj[0] != 'undefined'))
			if (Obj[0].outerText != "")
				Obj[0].outerHTML = Obj[0].outerText;
			else
				Obj[0].outerText = Obj[0].innerText;
	}
}

//permet de supprimer tous les événements de passage de souris sur les lignes
//de la page à des fins d'impression
function CleanTr()
{
	var eElem, Obj = document.getElementsByTagName("TR");
	var iObjLength = Obj.length;
	for(var i=0; i<iObjLength; i++)
	{
		Obj[i].onmouseup = "";
		Obj[i].onmouseover = "";
		Obj[i].onmouseout = "";
	}
}

//permet d'afficher l'adresse d'un bien provenant d'un select
// bool = 1 Visible
// bool = 0 Caché
// select = nom du select ou s applique la fonction (this.name le plus souvent)
// layer = div contenant le tableau
// layerin = div contenant le texte a afficher
// penser à inclure
// <script language="javascript" src="../../../Include/JS/Layer.js"></script>

//	<div id="SelectedLine" style="position:absolute;left:500;top:10;width:500;display:none">
//			<table width="100%" border="1" cellspacing="2" cellpadding="2" class="HelpTab">
//				  <tr>
//					<td>
//						<div id="SelectedLineI">
//
//						</div>
//					</td>
//				  </tr>
//			</table>
//		</div>

function DisplayLayerSelectedItems(bool,select,layer,layerin)
{
	if (bool==1)
	{
		var list = document.getElementById(select);
		if (list.options[list.options.selectedIndex].value != "-1")
		{
			document.getElementById(layerin).innerHTML = (list.options[list.options.selectedIndex].text);
			if (document.all)
				document.getElementById(layer).style.top = event.y - 70; document.getElementById(layer).style.left = 141; document.getElementById(layer).style.display = '';
		}
	}
	else
	{
		layerDisplay(layer,0);
	}
}

/*************************************************************************
 * Creation : Antoine Malcourant
 * Date		: 04/08/2004
 * Objet	: Fonction qui se place au niveau de l'ancre précisée et passe
 *			  le fond du champ précisé en couleur
 ************************************************************************/
/*function ShowMissingField(FieldName, AnchorName, nColor)
{
	if (typeof nColor == 'undefined')
		nColor = "#FE6568";

	if (typeof AnchorName == 'undefined')
		AnchorName = ""

	var TempAnchor = "#" + AnchorName;
	window.location = TempAnchor;

	var obj = document.getElementById(FieldName);

	if (obj.type == 'undefined')
	{
		for (var i=0; i<obj.length;i++)
			obj[i].style.backgroundColor = nColor;
		}
	else
		obj.style.backgroundColor = nColor;
}
	*/

/*************************************************************************
 * Creation : Antoine Malcourant
 * Date		: 04/08/2004
 * Objet	: Fonction qui remet tous les champs dans leur couleur d'origine
 ************************************************************************/
/*function InitFieldsColor(obj)
{
	var eElem, Obj = document.getElementsByTagName(obj);
	var iObjLength = Obj.length;
	for(var i=0; i<iObjLength; i++)
	{
		eElem = Obj[i];
		eElem.style.backgroundColor = "";
	}
}
*/

/*************************************************************************
 * Creation : Antoine Malcourant
 * Date		: 05/08/2004
 * Objet	: Fonction qui se place au niveau de l'ancre précisée et passe
 *			  le fond du champ précisé en couleur
 *			  ATTENTION: fonction différente de celle de l'espace Particuliers
 ************************************************************************/
function ShowMissingField(FieldName, AnchorName, TableShow, nbOnglets, nColor)
{
	if (typeof nColor == 'undefined')
		nColor = "#FE6568";

	if ((typeof TableShow == 'undefined')&&(AnchorName != ""))
	{
		if (typeof AnchorName == 'undefined')
		AnchorName = ""

		var TempAnchor = "#" + AnchorName;
		if (window.parent.Display)
		{
			var url = window.parent.Display.location;
			var stringurl = url.toString();
			var tabURL = stringurl.split("#");
			window.parent.Display.location = tabURL[0] + TempAnchor;
		}
		else
			window.location = TempAnchor;
	}
	else
		HighLightTab(TableShow, nbOnglets);

	var obj = document.getElementById(FieldName);

	if (obj.type == 'undefined')
	{
		for (var i=0; i<obj.length;i++)
			obj[i].style.backgroundColor = nColor;
	}
	else
		obj.style.backgroundColor = nColor;

	if ((obj.length)&&(obj.type != "text"))
	{
		var frm=document.forms[0];
		obj = frm.elements[FieldName];
		obj[0].focus();
	}
	else
		if (obj.type != "hidden")
			obj.focus();
}

/*************************************************************************
 * Creation : Antoine Malcourant
 * Date		: 04/08/2004
 * Objet	: Fonction qui remet tous les champs dans leur couleur d'origine
 ************************************************************************/
function InitFieldsColor(obj)
{
	var eElem, Obj = document.getElementsByTagName(obj);
	var iObjLength = Obj.length;
	for(var i=0; i<iObjLength; i++)
	{
		eElem = Obj[i];
		eElem.style.backgroundColor = "";
	}
}

/*************************************************************************
 * Creation : Jean-David Zeitoun
 * Date		: 07/08/2004
 * Objet	: Fonction qui permet de sélectionner un onglet dans les pages de saisie
 ************************************************************************/
function HighLightTab(id, nbOnglets)
{
	var ongletToSelect = document.getElementById("Onglet" + id);
	var ongletSelected = document.getElementById("Onglet" + idOngletSelected);

	if (idOngletSelected != id)
	{
		ongletSelected.className='Onglet';
		ongletToSelect.className='OngletSelected';

		idOngletSelected = id;
		ShowSelectedTab("Body" + id, nbOnglets);
	}
}

/*************************************************************************
 * Creation : Antoine Malcourant
 * Date		: 19/08/2004
 * Objet	: Fonction formatant un prix
 * Exemple	: GetFormatedPrice(12345678, ",") renvoie 12,345,678
 ************************************************************************/
function GetFormatedPrice(mPrice, Separator)
{
	var result = "";
	var tmp = Array();
	var IsNeg = 0;
	var cmpt = 0;
	var i;

	if (!Separator)
		Separator = " ";

	if (mPrice != "")
	{
		mPrice = mPrice.toString();
	//alert('mPrice=' + mPrice);
		if (mPrice[0] == "-")
		{
			IsNeg = 1;
			mPrice = mPrice.split("-")[1];
		}

		for (i=mPrice.length+1 ; i>1 ; i--)
		{
			tmp[cmpt] = mPrice.substring(i-2,i-1);
			cmpt++;

			if (cmpt == 3)
			{
				if (result == "")
					result = tmp[2] + tmp[1] + tmp[0];
				else
					result = tmp[2] + tmp[1] + tmp[0] + Separator + result;
				cmpt = 0;
			}
		}

		if (cmpt == 1)
		{
			if (result == "")
				result = tmp[0];
			else
				result = tmp[0] + Separator + result;
		}

		if (cmpt == 2)
		{
			if (result == "")
				result = tmp[1] + tmp[0];
			else
				result = tmp[1] + tmp[0] + Separator + result;
		}
	}
	else
		result = "";

	if (IsNeg == 1)
		result = "-" + result;

//alert('result=' + result);

	return result;
}

/*************************************************************************
 * Creation : Antoine Malcourant
 * Date		: 19/08/2004
 * Objet	: Fonction déformatant un prix
 * Exemple	: CancelFormat("12 345 678", " ") renvoie 12345678
 ************************************************************************/
function CancelFormat(mPrice, Separator)
{
	var tmp = Array();
	var i;
	var result = "";
	var IsNeg = 0;

	if (!Separator)
		Separator = " ";

//alert('mPrice=' + mPrice);
	if (mPrice != "")
	{
		if (mPrice[0] == "-")
		{
			IsNeg = 1;
			mPrice = mPrice.split("-")[1];
		}

		tmp = mPrice.split(Separator);
//alert('tmp=' + tmp[0]);
		for (i=0; i<tmp.length; i++)
			result += tmp[i];
	}
	else
		result = mPrice;

	if (IsNeg == 1)
		result = "-" + result;

	return result;
}

/*************************************************************************
 * Creation : Antoine Malcourant
 * Date		: 19/08/2004
 * Objet	: Fonction vérifiant qu'un champ est bien un prix donc les espaces sont autorisés
 ************************************************************************/
function IsMoney(mPrice)
{
	var i;

	mPrice = CancelFormat(mPrice);

	for (i=0; i<mPrice.length; i++)
	{
		if (isNaN(parseInt(mPrice[i])))
			return false;
	}

	return true;
}

/*************************************************************************
 * Creation : Antoine Malcourant
 * Date		: 23/08/2004
 * Objet	: Fonction formatant le champ passé en paramètre (utilisé dans le Begin() )
 ************************************************************************/
function FormatPriceField(ID)
{
	document.getElementById(ID).value = GetFormatedPrice(document.getElementById(ID).value)
}

function CheckIfPriceNotCorrect(sField, oblig)
{
	var val = document.getElementById(sField).value;
	if (oblig)
		return ((val=="") || (parseInt(CancelFormat(val)) < 0) || (isNaN(CancelFormat(val))));
	else
	{
		if (val!="")
			return ((parseInt(CancelFormat(val)) < 0) || (isNaN(CancelFormat(val))));
		else
			return(false);
	}		
}

//Fonction pour lancer un execQuery
function LaunchExecQuery(sUrl, sFrameName)
{
	var hiddenFrame;
	if (typeof(sNameFrame) == "undefined") sFrameName = "HiddenFrameExecQuery";
	hiddenFrame = document.getElementById(sFrameName);
	if (hiddenFrame == null)
	{
		document.body.innerHTML += ("<iframe src='about:blank' width='0' height='0' scrolling='no' frameborder='0' id='" + sFrameName + "'></iframe>");
		hiddenFrame = document.getElementById(sFrameName);
	}

	if (hiddenFrame != null)
		try{
		hiddenFrame.src = sUrl;
		}
		catch(e){}
	else
		window.open(sUrl,"","Top="+screen.height);
}

function DocumentAll(champ)
{
	var objet;
	objet = document.getElementsByName(champ);
	if(objet.length > 0)
		if (objet.length == 1)
			objet= objet[0];		
	else 
		objet = document.getElementByID(champ);
	
	return objet;
}
/*
try{
	if (document){
		if (!(document.all)) document.all = DocumentAll;
		document.all2 = DocumentAll;
	}
}catch(e){}
*/