var bandeauClass;
if (!bandeauClass) bandeauClass = function(fichier, bandeau) {

//contient le maximum d'images
var imgTotal;
var fichier = fichier;
var vBandeau = bandeau;
var vTiming = 4000;
var vValue = 10;
var vValueB = 0;

//Ecrit dans le bandeau 
var writediv_bandeau = function(texte)
     {
     document.getElementById(vBandeau).innerHTML = texte;
     }

//Charge le XML bandeau
this.file_bandeau = function()
     {
     var xhr=null;
		
		if (window.XMLHttpRequest) { 
			xhr = new XMLHttpRequest();
		}
		else if (window.ActiveXObject) 
		{
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
		}
		
		xhr.open("GET", fichier, true); 
		xhr.onreadystatechange = function() {
												put_bandeau_pict(xhr);
											}	
		xhr.send(null);
	}

var put_lnk = function() {
	this.lnk_l = document.createElement('a');
	this.lnk_l.setAttribute('class','lnk_l');
	this.lnk_l.setAttribute('href','javascript:return false;');
	this.lnk_r = document.createElement('a');
	this.lnk_r.setAttribute('class','lnk_r');
	this.lnk_r.setAttribute('href','javascript:return false;');
	
	this.lnk_l.onclick = function() {goLeft()};
	this.lnk_r.onclick = function() {goRight()};
	
	document.getElementById(vBandeau).appendChild(this.lnk_l);
	document.getElementById(vBandeau).appendChild(this.lnk_r);
	}

//mettre image dans bandeau
var put_bandeau_pict = function(xhr) {
	if (xhr.readyState==4 && xhr.status == 200) 
	{	
		response = xhr.responseXML;
		var images = response.getElementsByTagName("image");
		var html = '';
		var img = new Image();
		count = images.length;
		imgTotal = count;
		for (i=0;i<count;i++) {
			img.src = images[i].getElementsByTagName("url")[0].firstChild.nodeValue;
			var lnk=images[i].getElementsByTagName("lnk")[0];
			var lnkA='';
			var lnkB='';
			if (lnk.firstChild) {
				lnkA='<a href="'+lnk.firstChild.nodeValue+'" >';//TODO target="_blank"
				lnkB='</a>'
				}
			html += '<div id="bandeau_'+vBandeau+'_image_'+images[i].getElementsByTagName("order")[0].firstChild.nodeValue+'" class="bandeau_image">'+lnkA+'<img border="0" src="'+img.src+'" />'+lnkB+'</div>'
		}
		
		writediv_bandeau(html);
		fonduImage(imgTotal, vTiming);
		put_lnk();
	}
}


var compteur;

var fonduImage = function(imgTotal,time) {
	var nombreAlea;
	nombreAlea = Math.floor(Math.random() * imgTotal)+1;
	compteur = nombreAlea;
	waitPict(compteur,vValue,vValueB,imgTotal,time);
}

var vWait = 0;
var waitTime;

var waitPict = function(compteur,value,valueB,imgTotal,time) {	
	if (document.getElementById('bandeau_'+vBandeau+'_image_'+compteur).getElementsByTagName('img')[0].complete) {
		document.getElementById('bandeau_'+vBandeau+'_image_'+compteur).style.display='block';
		document.getElementById(vBandeau).style.backgroundImage='none';
		if (vWait==1) {
				vWait=0;
				clearTimeout(waitTime);				
			}		
		fade('bandeau_'+vBandeau+'_image_'+compteur,valueB);
		fonduOn('bandeau_'+vBandeau+'_image_'+compteur,valueB);
		document.getElementById('bandeau_'+vBandeau+'_image_'+compteur).style.width = 'auto';
		document.getElementById('bandeau_'+vBandeau+'_image_'+compteur).style.height = 'auto';
		if (imgTotal>1) {
			mvtTime = setTimeout(function() {mvt(compteur,value,valueB,imgTotal,time)},time);
			}		
		}
		else {
			vWait = 1;
			waitTime = setTimeout(function() {waitPict(compteur,value,valueB,imgTotal,time)},80);
			}
}

var mvt = function(vCompteur,value,valueB,maximum,time) {
	//var compteur=vCompteur;
	if (document.getElementById('bandeau_'+vBandeau+'_image_'+compteur).getElementsByTagName('img')[0].complete) {
		document.getElementById(vBandeau).style.backgroundImage='none';
		if ((compteur)<maximum) {
			fonduOff('bandeau_'+vBandeau+'_image_'+compteur,value);
			compteur++;
			fonduOn('bandeau_'+vBandeau+'_image_'+compteur,valueB);
		}
		else if ((compteur)>=maximum) {
			compteur=1;
			fonduOff('bandeau_'+vBandeau+'_image_'+maximum,value);
			fonduOn('bandeau_'+vBandeau+'_image_'+compteur,valueB);
		}
	}
	else {
			document.getElementById(vBandeau).style.backgroundImage='url(../images/waiting.gif)';
		}
	
	mvtTime = setTimeout(function() {mvt(compteur,value,valueB,maximum,time)},time);
}

var fonduFlag = 0;
var fadeOnTime;
var fadeOffTime;
var fonduOn = function(id,value) {
	document.getElementById(id).style.display='block';
	if (value<=10) {
		fonduFlag = 1;
		document.getElementById(id).style.width = 'auto';
		document.getElementById(id).style.height = 'auto';
		fade(id,value);
		value++;
		fadeOnTime=setTimeout(function() {fonduOn(id,value)},80);
	}
	else {
		fonduFlag = 0;
	}
}

var fonduOff = function(id,value) {
	if (value>=0) {
		fonduFlag = 1;
		fade(id,value);
		value--;
		fadeOffTime=setTimeout(function() {fonduOff(id,value)},80);
	}
	else {
		fonduFlag = 0;
		document.getElementById(id).style.width = '0px';
		document.getElementById(id).style.height = '0px';
		document.getElementById(id).style.display='none';
	}
}

var fade = function(vid,value) {
obj = document.getElementById(vid);
	
// IE
obj.style.filter = 'alpha(opacity=' + value*10 + ')';
// Safari<1.2, Konqueror
obj.style.KHTMLOpacity = value/10;
// Mozilla and Firefox
obj.style.MozOpacity = value/10; 
// Safari 1.2, newer Firefox and Mozilla, CSS3
obj.style.opacity = value/10;
}

//taille de la fenêtre
var returnSize = function() {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
  var result = new Array(myWidth,myHeight);
  return result;
}

var clear = function() {
	clearTimeout(mvtTime);
	clearTimeout(fadeOnTime);
	clearTimeout(fadeOffTime);
	compteur--;	
	if (((compteur)<imgTotal)&&((compteur)>0)) {
		fade('bandeau_'+vBandeau+'_image_'+compteur,0);
		compteur++;
		fade('bandeau_'+vBandeau+'_image_'+compteur,10);
		}
	else if (((compteur)>=imgTotal)&&((compteur)<0))  {
		fade('bandeau_'+vBandeau+'_image_'+imgTotal,0);
		fade('bandeau_'+vBandeau+'_image_'+compteur,10);
		}
	};

var goLeft = function() {
	
	};
var goRight = function() {
	clear();
	mvt(compteur,vValue,vValueB,imgTotal,vTiming);
	};

return this.file_bandeau();

}
