/*debut du rollover sur les images*/
function MM_swapImgRestoreboutton(bbnumber) { //v3.0
  if(buffimg[bbnumber]!=1)
  {
    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_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.0
  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 && document.getElementById) x=document.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 du rollover sur les images*/

/*ouverture des popup*/
function openpopup(page, x, y, scroll)
{
	var top=(screen.height-y)/2;
	var left=(screen.width-x)/2;
	window.open(page, "", "toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars="+scroll+",resizable=0,top="+top+",left="+left+",width="+x+",height="+y);
}

/*met une valeur d'une liste déroulante vers un  textearéa*/
function txtliste(txt, valeur)
{
	texte = eval(txt);//prend l'objet
	
	if(texte.value!="") // saut de ligne si il y a besoins
		valeur ="\n"+valeur;

	texte.value += valeur
}

//vide les champs
function vide(champsa, champsb)
{
	champsa=eval("document."+champsa);
	champsb=eval("document."+champsb);
	if(champsa.value!="")
		champsb.value="";
}

function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}

/*longueur de champs text
liste des paramètres :
	txt : champs à test svt this
	max: nombre de charactère maximum
	aff: zone d'affiche du nombres de charactère restant*/
function maxlength(txt,max,aff)
{
	reste=max-txt.value.length;
	if(reste<=0)
	{
		reste=0;
		alert("vous etes limités à "+max+" charactères");
		txt_ok=txt.value.substring(0,max);
		txt.value=txt_ok;
	}
	document.getElementById(aff).innerHTML="Il vous reste "+reste+" caractère(s)";
}

/*fonction d'ouverture de popup de transfer ftp
liste des paramètres
	dest	: répetoire de destination du fichiers
	form	: formulaire en traitement
	ftp	: nom du champs ftp à modifier
	fichier	: nom du champs file à bloquer*/
function ftp_popup(dest, form, ftp, fichier)
{
	/*début de l'interdiction de copier par le champs file*/
	fichier = eval("document."+form+"."+fichier);	// objet fichier à bloqué
	fichier.disabled=true;				// bloquage de champs
	/*fin de l'interdiction de copier par le champs file*/
	
	/*début de prise en compte du ftp*/
	ftp = eval("document."+form+"."+ftp);
	ftp.value=1;
	/*fin de prise en compte du ftp*/
	
	openpopup(dest, 500, 500, 1);	// ouverture de la popup ftp
}

/* fonction de passage d'une liste à une autre
liste des paramètres :
	form	: nom du formulaire de la page
	source	: nom de la liste source
	dest	: nom de la liste destination
	liste	: champs avec la liste de tous les éléments choisi
	action	: action sur la liste
	message	: message d'erreur en cas de non sélection*/
function change_listegroupe(form, source, dest, liste, action, message)
{
	/* début de la création des variables locales */
	var obj_source = eval("document."+form+"."+source);
	var obj_dest = eval("document."+form+"."+dest);
	var obj_liste = eval("document."+form+"."+liste);
	var info_option, obj_optgroup, info_liste;
	/* fin de la création des variables locales */
	
	/* début de la création du tableau si il y besoin */
	if(!tab_groupe[dest])
	{
		tab_groupe[dest] = new Array();
		tab_groupe[dest]['test'] = 0;
		tab_groupe[dest]['tab'] = new Array();
	}
	/* fin de la création du tableau si il y besoin */
	
	/* début du test de l'action ou de l'erreur */
	if(obj_source.value == "")
	{
		alert(message);
	}else
	{
		/* début de l'ajout dans la liste de destination */
		option_add = new Option(obj_source.options[obj_source.selectedIndex].text,obj_source.options[obj_source.selectedIndex].value);	// création de l'option
		obj_dest.options[obj_dest.options.length] = option_add;										// ajout de l'option
		info_option = obj_source.options[obj_source.selectedIndex].value.split("||");							// infos sur l'option choisie
		obj_optgroup = obj_source.options[obj_source.selectedIndex].parentNode;								// option du group en question
		
		/* début de l'affichage de l'optgroupe */
		if(!tab_groupe[dest]['tab'][info_option[0]] || tab_groupe[dest]['tab'][info_option[0]] == null)
		{
			optGroup = document.createElement('optgroup');					// création de l'objet optgroup
			optGroup.label = obj_source.options[obj_source.selectedIndex].parentNode.label;	// enregistrement du nom
			obj_dest.appendChild(optGroup);							// afficha de optgroupe
			tab_groupe[dest]['tab'][info_option[0]] = optGroup;				// sauvegarde le optgroupe
		}

		/* fin de l'affichage de l'optgroupe */
		tab_groupe[dest]['tab'][info_option[0]].appendChild(option_add);	// sauvegarde le optgroupe
		/* fin de l'ajout dans la liste de destination */
		
		/* début de la gestion de la liste */
		if(action == "add")
		{
			obj_liste.value += obj_source.options[obj_source.selectedIndex].value+"/";
		}else if(action == "del")
		{
			var tab_liste = obj_liste.value.split("/");
			var i;
			
			obj_liste.value = "";
			
			for(i=0; i<tab_liste.length-1; i++)
			{
				info_liste = tab_liste[i].split("||");
				if(info_liste[1] != info_option[1])
				{
					obj_liste.value += tab_liste[i]+"/";
				}
			}
		}
		/* fin de la gestion de la liste */
		obj_source.options[obj_source.selectedIndex] = null;	// suppression de l'option

		/* début test de la suppression des menus dans la liste dest */
		if(obj_optgroup.childNodes.length==tab_groupe[source]['test'])
		{
			obj_source.removeChild(obj_optgroup);			// supression du groupe
			tab_groupe[source]['tab'][info_option[0]] = null;	// vide le tableau
		}
		/* fin test de la suppression des menus dans la liste dest */
		
	}
	/* fin du test de l'action ou de l'erreur */
}

/* fonction de chargement des listes déja existante
liste des paramètres:
	form		: formulaire à traiter
	tab_liste	: tableau avec toute les liste déroulante*/
function functab_liste(form, tab_liste)
{
	/* début de la déclaration des variable */
	var obj_liste, id_tab, i, j, tab;
	tab_groupe = new Array();	// tableau avec les id des groupe inserer
	/* fin de la déclaration des variable */

	/* début de la création des tableaux des listes */
	for(i=0; i<tab_liste.length; i++)
	{
		tab_groupe[tab_liste[i]] = new Array();		// tableau avec les id des groupe inserer
		tab_groupe[tab_liste[i]]['test'] = 1;		// champs de test
		tab_groupe[tab_liste[i]]['tab'] = new Array();	// tableau avec les id des groupe inserer
		
		obj_liste = eval("document."+form+"."+tab_liste[i]);	// objet de la liste

		/* début du traitement de tous les groupes de la liste */
		for(j=1; j<obj_liste.childNodes.length; j=j+2)
		{
			tab = obj_liste.childNodes[j].childNodes[1].value.split("||");	// tableau avec l'id de l'optgroup
			id_tab = tab[0];						// id de l'optgroup
			tab_groupe[tab_liste[i]]['tab'][id_tab] = obj_liste.childNodes[j];	// sauvegarde le noeud optgroup
		}
		/* fin du traitement de tous les groupes de la liste */
	}
	/* fin de la création des tableaux des listes */
}

/* fonction de tri d'une liste
liste des paramètres :
	form		: nom du formulaire de la page
	liste		: nom de la liste 
	champs		: champs avec la liste de tous les éléments choisi
	action		: action sur la liste
	message		: message d'erreur en cas d'extremité
	message_vide	: message d'erreur en cas de non sélection*/
function trie_liste(form, liste, champs, action, message, message_vide)
{
	/* début de la création des variables locales */
	var obj_liste = eval("document."+form+"."+liste);
	var obj_champs = eval("document."+form+"."+champs);
	var i, option_1, option_2, id_tri;
	/* fin de la création des variables locales */
	
	/* début du test des actions */
	if(obj_liste.value == "")
	{
		alert(message_vide);
	}else if((action == "monte" && obj_liste.selectedIndex == 0) || (action == "descend" && obj_liste.selectedIndex == obj_liste.options.length))
	{
		alert(message);
	}else
	{
		id_tri = obj_liste.selectedIndex;	// id de l'option celest

		/* début du trie dans la liste */
		if(action == "monte")
		{
			option_1 = new Option(obj_liste.options[id_tri].text,obj_liste.options[id_tri].value);		// création de l'option
			option_2 = new Option(obj_liste.options[(id_tri-1)].text,obj_liste.options[(id_tri-1)].value);	// création de l'option
			obj_liste.options[id_tri] = option_2;								// insertion de l'option
		        obj_liste.options[(id_tri-1)] = option_1;							// insertion de l'option
		}else if(action == "descend")
		{
			option_1 = new Option(obj_liste.options[id_tri].text,obj_liste.options[id_tri].value);		// création de l'option
			option_2 = new Option(obj_liste.options[(id_tri+1)].text,obj_liste.options[(id_tri+1)].value);	// création de l'option
			obj_liste.options[id_tri] = option_2;								// insertion de l'option
		        obj_liste.options[(id_tri+1)] = option_1;								// insertion de l'option
		}
		/* fin du trie dans la liste */

		/* début du tri dans les champs */
		obj_champs.value = "";
		
		for(i=0; i<obj_liste.options.length; i++)
		{
			obj_champs.value += obj_liste.options[i].value+"/";
		}
		/* fin du tri dans les champs */
	}
	/* fin du test des actions */

}

/* fonction de changement de la class d'un objet
liste des paramétres :
	id		: id de l'objet a modifier
	nom_class	: nouvelle class de l'id */
function change_class(id, nom_class)
{
	document.getElementById(id).className = nom_class;
}

/* fonction de changement de la class d'un objet
liste des paramétres :
	id		: id de l'objet a modifier
	nom_class	: nouvelle class de l'id */
function change_classbottom(id, nom_class)
{
	document.getElementById(id).className = nom_class;

	if((window.event.y+200) > screen.height/2)
	{
		document.getElementById(id).style.bottom = -27;
	}
}

/* fonction de gestion du roll over du menu
liste des paramètres :
	tab_image	: taleau des noms des images à modifier
	tab_fichier	: tableau des chemins des fichiers à mettre
	tab_objclass	: tableau des objets à modifier les class
	tab_class	: tableau des class à mettre*/
function gest_overmenu(tab_image, tab_fichier, tab_objclass, tab_class, masque)
{
	var i;	// variables locales
	
	/* début de la gestion de la modification des images */
	for(i=0; i<tab_image.length; i++)
	{
		document.getElementById(tab_image[i]).src=tab_fichier[i];
	}
	/* fin de la gestion de la modification des images */
	
	/* début de la gestion de la modification des class des objets */
	for(i=0; i<tab_objclass.length; i++)
	{
		change_class(tab_objclass[i], tab_class[i]);
	}
	/* fin de la gestion de la modification des class des objets */
	
	masque_liste(masque);
}

/* fonction de modification d'une image
liste des paramètres :
	nom	: nom de l'image
	chemin	: chemin du fichier
	largeur	: largeur de l'image
	hauteur	: hauteur de l'image*/
function modif_image(nom, chemin, largeur, hauteur)
{
	var width, height;	// variables locales
	
	width = height = "";

	if(largeur != 0)
	{
		width = "width=\""+largeur+"\"";
	}

	if(hauteur != 0)
	{
		height = "height=\""+hauteur+"\"";
	}
	
	document.getElementById(nom).innerHTML="<img src=\""+chemin+"\" "+width+" "+height+" class=\"cadre_image\">";
}



/* fonction de gestion d'affichage ou nom des liste déroulante */
function masque_liste(masque)
{
	for(i=0; i<tab_liste.length; i++)
	{
		document.getElementById(tab_liste[i]).style.visibility = masque;
	}
}

/* fonction d'ajout au favoris */
function add_favoris()
{
	txt="Confirmez-vous l'ajout du site www.usalimoges.com dans vos favoris ? ";
	

	if(confirm(txt))
	{
		if ( navigator.appName != 'Microsoft Internet Explorer' )
		{
			window.sidebar.addPanel('Usalimoges', 'http://www.usalimoges.com', '');
		}else
		{
			window.external.AddFavorite('http://www.usalimoges.com', 'Usalimoges');
		}
	}
}
