function swapImg() {
	var a = swapImg.arguments;
	a[0].src=a[1];
	if (a[2])
		document.getElementById("arc").className = a[2];
	else
		document.getElementById("arc").className = "arc";
}

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;

	document.getElementById("arc").className = "";
}

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];}

	document.getElementById("arc").className = a[0];

}

function openWindow(url, w, h) {
	popupWin = window.open(url,'','width='+w+',height='+h+',toolbar=no,menubar=no,resizable=no,location=no,directories=no,status=no,scrollbars=yes,copyhistory=no');
}

function openBubble(idd,evt){
 
 var xfenetre,yfenetre,xpage,ypage,element=null;
 var offset= 20;           // decalage par defaut
 var bulleWidth=200;       // largeur par defaut 
 var hauteur=50;           // hauteur par defaut
 bulleStyle=null;
 
  if (document.layers) {
    bulleStyle=document.layers[idd];
    xpage = evt.pageX ; ypage  = evt.pageY;
    xfenetre = xpage ;yfenetre = ypage ;		
  } else if (document.all) {
    element=document.all[idd]
    xfenetre = evt.x ;yfenetre = evt.y ;
    xpage=xfenetre ; ypage=yfenetre	;	
    if (document.body.scrollLeft) xpage = xfenetre + document.body.scrollLeft ; 
    if (document.body.scrollTop) ypage = yfenetre + document.body.scrollTop;
  } else if (document.getElementById) {
	  element=document.getElementById(idd)
    xfenetre = evt.clientX ; yfenetre = evt.clientY ;
    xpage=xfenetre ; ypage=yfenetre	;	
    if(evt.pageX) xpage = evt.pageX ;
    if(evt.pageY) ypage  = evt.pageY ;
  }
    
  if(element)  bulleStyle=element.style;
		 	
  if(bulleStyle) {
   
     var yp0=ypage;
		 var yf0=yfenetre;
		 

     /* tests incongrus ? cause d'Opera5 */
     if(bulleStyle.width) bulleWidth = parseFloat(bulleStyle.width);
     if(bulleStyle.height) hauteur = parseFloat(bulleStyle.height);

		 
     /* on met la bulle ? gauche du pointeur (si c'est possible) 
        et en haut du pointeur si on est assez bas dans l'?cran */
				
     if (xfenetre > bulleWidth+offset) xpage=xpage-bulleWidth-offset;
     else {
         if (xfenetre >0.5*bulleWidth+offset) xpage=xpage-0.5*bulleWidth-offset;
				 else xpage=xpage+15;}
     if ( yfenetre > hauteur+offset ) ypage=ypage-hauteur-offset
		 else ypage=ypage+offset;
		 
		/* a cause des debilites d'Opera5 il faut rectifier 'ypage' pour eviter
		   que la bulle ne s'ouvre par-dessus la souris. La bulle s'ouvrira
			 TOUJOURS en bas avec Opera5. Derniere vacherie : il faut faire le test sur
			 bulleStyle.width pour se proteger des distraits qui n'auront pas
			 rempli bulleStyle.height */
			 
		 if (!bulleStyle.width)	ypage=yfenetre+offset;
		 if(typeof(bulleStyle.left)=='string') {
				 bulleStyle.left=xpage+'px'; bulleStyle.top=ypage+'px';  
		} else {
				bulleStyle.left=xpage     ; bulleStyle.top=ypage ; }
     bulleStyle.visibility="visible"; 
     bulleStyle.zIndex="99";}
}
 
function closeBubble(){
  if(bulleStyle)  bulleStyle.visibility="hidden";
}
function blinkArcButton(noArc, highlight, count) {
	var timer;
	if (count == 12) {
		document.getElementById("arc").className = "arc";
		document.getElementById("img_arc_"+noArc).src=jsContextPath + '/images/common/arc_0'+noArc+'_off.gif';
		return;
	}
	document.getElementById("img_arc_"+noArc).src=jsContextPath + '/images/common/arc_0'+noArc+'_'+highlight+'.gif';
	
	if (highlight == "off") {
		document.getElementById("arc").className = "arc";
		highlight = "on";
		timer = 400;
	} else {
		document.getElementById("arc").className = "arc"+noArc;
		highlight = "off";
		timer = 300;
	}
	setTimeout("blinkArcButton("+noArc+", '"+highlight+"', "+(++count)+")", timer);
}
function arcBlink(noArc, highlight, count) {
	var timer;
	if (count == 12) {
		document.getElementById("arc").className = "arc";
		for(var i=1 ; i<4 ; i++) {
			document.getElementById("img_arc_"+i).src=jsContextPath + '/images/common/arc_0'+i+'_off.gif';
		}
		return;
	}

	document.getElementById("img_arc_"+noArc).src=jsContextPath + '/images/common/arc_0'+noArc+'_'+highlight+'.gif';
	document.getElementById("arc").className = "arc"+noArc;
	
	if (highlight == "off") {
		noArc = (noArc == 3) ? 1 : noArc+1;
		highlight = "on";
		timer = 300;
	} else {
		highlight = "off";
		timer = 200;
	}
	setTimeout("arcBlink("+noArc+", '"+highlight+"', "+(++count)+")", timer);
}
function arcWait(noArc, highlight, isFirst) {
	if (arcBlinkable == false) {
		document.getElementById("arc").className = "arc";
		for(var i=1 ; i<4 ; i++) {
			document.getElementById("img_arc_"+i).src = jsContextPath + '/images/common/arc_0'+i+'_off.gif';
		}
		return;
	}
	if (isFirst == true) {
		document.getElementById("arc").className = "arcWait";
	}
	var timer;

	document.getElementById("img_arc_"+noArc).src = jsContextPath + '/images/common/arc_0'+noArc+'_'+highlight+'.gif';

	if (highlight == "off") {
		noArc = (noArc == 3) ? 1 : noArc+1;
		highlight = "on";
		timer = 300;
	} else {
		highlight = "off";
		timer = 200;
	}
	setTimeout("arcWait("+noArc+", '"+highlight+"', "+false+")", timer);
}
function stopArcWait() {
	arcBlinkable = false;
}
