///////////////////////////////////////////////////////////////////////////////////////////////////////
// fonctions de dreamweaver (et/ou de ImageReady) : 

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];
	}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

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_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

function openWindow(url, w, h, x, y) {
   winStats='toolbar=no,location=no,directories=no,menubar=no,'
   winStats+='scrollbars=no,width='+w+',height='+h
   if (navigator.appName.indexOf("Microsoft")>=0) {
      winStats+=',left='+x+',top='+y
    }else{
      winStats+=',screenX='+x+',screenY='+y
    }

   floater=window.open(url, "", winStats)
   floater.focus();
}

///////////////////////////////////////////////////////////////////////////////////////////////////////
//fonctions génériques de multimédiaste.com

// fonctions pour les arrays + remplacement de methodes de array pour mac/ie : 
function array_duplicate(leArray)
{
	var duplicata = new Array();
	for(var i=0;i<leArray.length;i++)	array_push(duplicata, leArray[i]);//duplicata.push(leArray[i]);
	return duplicata;
}

function in_array(leArray, elem)
{
	for(var i=0;i<leArray.length;i++)	if(leArray[i]==elem) return true;
	return false;
}

function array_pos(leArray, elem)
{
	for(var i=0;i<leArray.length;i++)	if(leArray[i]==elem) return i;
	return -1;
}

function array_delete_elem(arr, elem)
{
	var pos = array_pos(arr, elem);
	array_delete_pos(arr, pos);
}

function array_delete_pos(arr, pos)
{
	var dupli = array_duplicate(arr);
	arr.length = arr.length - 1;
	for(var i=pos;i<arr.length;i++)	arr[i] = dupli[i+1];
}


function array_push(arr, val)
{
	arr[arr.length] = val;
}

function array_pop(arr)
{
	var ret = arr[arr.length - 1];
	arr.length = arr.length - 1;
	return ret;
}

function array_shift(arr)
{
	var ret = arr[0];
	var dupli = array_duplicate(arr);
	arr.length = arr.length - 1;
	for(var i=0;i<arr.length;i++)	arr[i] = dupli[i+1];
	return ret;
}


function afficherImagesDuArray(leArray)
{
	for(var i=0;i<leArray.length;i++)	MM_findObj(leArray[i]).style.visibility='inherit';
	return true;
}

function remplacerDansArrayAuHasard(leArray, nouvElem)
{
	var pos = Math.floor(Math.random()*leArray.length);
	elem = leArray[pos];
	leArray[pos] = nouvElem;
	return elem;
}

function piger(leArray)
{
	return leArray[ (Math.floor(Math.random()*leArray.length)) ];
}

function pigerUrne(leArray)
{
	var pos = Math.floor( Math.random()*leArray.length ) ;
	elem = leArray[pos];
	array_delete_pos(leArray, pos);
	return elem;
}

function pigerUrneSansFond(urne, arrOriginal)
{
	var elem = pigerUrne(urne);
	if(urne.length==0)
	{
		for(var i=0;i<arrOriginal.length;i++)	array_push(urne, arrOriginal[i]);//urne.push(arrOriginal[i]);
	}
	return elem;
}

function array_randomize(leArray)
{
	var tempArray = array_duplicate(leArray);
	var randArray = new Array();
	while(tempArray.length>0)	array_push(randArray, pigerUrne(tempArray));//randArray.push(pigerUrne(tempArray));
	return randArray;
}

function uneFoisSur(combien)
{
	return(  (Math.random()*combien)<1  ) ;
}

function dbg(quelquechose)
{
	//return;						//livraison : décommenter ce return.
	if(window.winDebug==undefined || window.winDebug.closed)
	{
		window.winDebug = window.open('', '', 'height=240;width=320;scrollbars=yes;');
	}
	
	window.winDebug.document.writeln(quelquechose);
	window.winDebug.document.writeln("<br>");
}


function swapTexte(nomObj, texte)	//texte doit être en html (avec les &eacute; etc.)
{
	var leObj;
	if(leObj=MM_findObj(nomObj))	leObj.innerHTML = texte;
}



function swapImagesEnCascade() 		
{
	var dureeDelai = swapImagesEnCascade.arguments[0];
	var delai = dureeDelai;
	var args=swapImagesEnCascade.arguments;	

	for (i=1; i<(args.length-1); i+=2)
 	{
		var leID = args[i];
		var laSrc = args[i+1];

		var leCode = "MM_swapImage('"+leID+"','', '"+laSrc+"' ,1)" ;
		window.setTimeout(leCode, delai);
		delai += dureeDelai;
	}
}


function imageDuGroupeLoadee(img, arrGroupe, nomDivContenant)	// ajouter des noms de divs à la fin ....
{
	if( in_array(arrGroupe, img.name) ) array_delete_elem(arrGroupe, img.name);

	if(arrGroupe.length==0)	
	{
		var args = imageDuGroupeLoadee.arguments;
		var arrDivs = new Array();
		for(i=2;i<args.length;i++)
		{
			if(leDiv = MM_findObj(args[i])) leDiv.style.visibility='inherit';		
		}	
	}
}

function quandToutesLoadeesEval(img, arrGroupe, toEval)
{
	if( in_array(arrGroupe, img.name) ) array_delete_elem(arrGroupe, img.name);
	if(arrGroupe.length==0)	eval(toEval);	
}


function idObj(leID)
{
	return MM_findObj(leID);
}


function isDescendant(ancestor, descendant)
{
	var desc = ancestor.getElementsByTagName("*");
	for(var k=0;k<desc.length;k++)	if(desc[k]==descendant)return true;
	return false;
}
