var index=1;
var ptr=1;
var ptr_last;
var indefini;
var G_max, G_min;
var buffer_g = new Array();
var buffer_d = new Array();

var divX = new Array();
var divY = new Array();

function move_ens(num,x,y,z){
	var div_t;

	div_t = document.getElementById("b_"+num);
	div_t.style.left  = x + "px";
	div_t.style.top   = y + "px";
	div_t.style.zindex = 10;
}

function rand_ens(debut,fin){
	var div_p, img_t;
	var sizeX, sizeY;
	var newX, newY;
	var i;
	var defaultX;
	var correct=true;
	
	if(fin==indefini) fin=debut;
	
	for(i=debut;i<=fin;i++)	{
		img_t = document.getElementById("b_"+i);
		if(!img_t) alert(i);
		defaultX = parseInt(img_t.style.width);
		if(defaultX==0) defaultX=150;
		
		sizeX = divX[i%2] - (defaultX + 10);
		sizeY = divY[i%2] - parseInt(img_t.style.height);
		newX=Math.ceil(Math.random()*sizeX);
		newY=Math.ceil(Math.random()*sizeY);
	
		move_ens(i,newX,newY,index);
		}
	return true;
}
/*
function zindex_ens(max,debut){
	var i;
	var num=debut;
	
	for(i=1;i<=max;i++){
		document.getElementById("b_"+num).style.zIndex = max-i;
		num--;
		if(num<=0) num=max;
		}
}

function rotate_ens(max)
{
	var div_t; // Le bloc à traiter
	var div_t_last;
	var i;
	
	ptr = (ptr%max)+1;
	ptr_last = (ptr_last%max)+1;

	cacher(ptr_last);
	i=0;
	do i++; while((i<20) && (!rand_ens(ptr)))
	afficher(ptr);
	zindex_ens(max,ptr);
}
*/
function buff_test(buff,obj){
	var u = Math.floor( parseInt(obj.style.left) /10);
	var u1 = Math.ceil( (parseInt(obj.style.left)+ parseInt(obj.style.width)) /10);
	var v = Math.floor( parseInt(obj.style.top) /10);
	var v1 = Math.ceil( (parseInt(obj.style.top)+ parseInt(obj.style.height)) /10);
	var i,j;
	var bool=true;	

	for(i=u;i<u1;i++){
//		if(!buff[i]) alert("erreur : "+i);
		for(j=v;j<v1;j++)
			if(buff[i][j]==1) bool=false;
	}
	
	return bool;
}

function buff_fill(buff,obj){
	var u = Math.floor( parseInt(obj.style.left) /10);
	var u1 = Math.ceil( (parseInt(obj.style.left)+ parseInt(obj.style.width)) /10);
	var v = Math.floor( parseInt(obj.style.top) /10);
	var v1 = Math.ceil( (parseInt(obj.style.top)+ parseInt(obj.style.height)) /10);
	var i,j;

	for(i=u;i<u1;i++)
		for(j=v;j<v1;j++)
			buff[i][j]=1;
}

function buff_del(buff,obj){
	var u = Math.floor( parseInt(obj.style.left) /10);
	var u1 = Math.ceil( (parseInt(obj.style.left)+ parseInt(obj.style.width)) /10);
	var v = Math.floor( parseInt(obj.style.top) /10);
	var v1 = Math.ceil( (parseInt(obj.style.top)+ parseInt(obj.style.height)) /10);
	var i,j;

	for(i=u;i<u1;i++)
		for(j=v;j<v1;j++)
			buff[i][j]=0;
}

function afficher(debut,fin)
{
	var i;
	var j=0;
	if(fin==indefini) fin=debut;
	for(i=debut;i<=fin;i++){
		if(i%2 == 0){
			do{
				rand_ens(i);	
				j++;
			}while( (!buff_test(buffer_g,document.getElementById("b_"+i))) && (j<20));
			if(j==20) return false;
			else{
				buff_fill(buffer_g,document.getElementById("b_"+i));
				document.getElementById("b_"+i).style.display = "block";
				return true;
			}
		}
		if(i%2 == 1){
			do{
				rand_ens(i);
				j++;
			}while( (!buff_test(buffer_d,document.getElementById("b_"+i))) && (j<20));
			if(j==20) return false;
			else{
				buff_fill(buffer_d,document.getElementById("b_"+i));
				document.getElementById("b_"+i).style.display = "block";
				return true;
			}
		}
	}
}

function cacher(debut,fin)
{
	var i;
	if(fin==indefini) fin=debut;
	for(i=debut;i<=fin;i++){
		document.getElementById("b_"+i).style.display = "none";
		if(i%2 == 0) buff_del(buffer_g,document.getElementById("b_"+i));
		if(i%2 == 1) buff_del(buffer_d,document.getElementById("b_"+i));
		}
}

function cote_recu(max)
{
	var i=0;

	cacher(ptr_last);
	while(afficher(ptr)){
		ptr= (ptr+1)%max;
		if(ptr==ptr_last){
			break;
			}
	}

	ptr_last = (ptr_last+1)%max;

//	debug.innerHTML = ptr_last + " => " + ptr + " : " + document.getElementById("copyright").style.zindex;
	window.setTimeout("cote_recu("+max+");",1000);
}

function init_buffer(buff,tX,tY)
{
	for(i=0;i<Math.ceil(tX/10);i++){
		buff[i]=new Array();
		for(j=0;j<Math.ceil(tY/10);j++)
			buff[i][j]=0;
		}
}

function go(max)
{
	divX[0] = document.getElementById("b_0").parentNode.offsetWidth;
	divX[1] = document.getElementById("b_1").parentNode.offsetWidth;
	divY[0] = document.getElementById("b_0").parentNode.offsetHeight ;//+ document.getElementById("copyright").offsetHeight;
	divY[1] = document.getElementById("b_1").parentNode.offsetHeight ;//+ document.getElementById("copyright").offsetHeight;
		
	init_buffer(buffer_g,divX[0],divY[0]);
	init_buffer(buffer_d,divX[1],divY[1]);
	while(afficher(ptr)){
		ptr=(ptr+1)%max;
		if(ptr==0) break;
		}
	cote_recu(max);
}

function cote_init(max)
{
	G_max = max;
	G_vis = max;
	ptr = 0;
	ptr_last = 0;
	//alert(navigator.appName);
	setTimeout("go("+max+");",200);
	/*
	if(navigator.appName.search("Microsoft") != -1)
		{
		
		setTimeout("go("+max+");",1000);
		}
	else*/
		
}
