var actif = 0
var angle
var angle_boite = new Array(45,117,189,261,333,45,117,189,261,333);
var angle_boite_courant
var angle_courant = 0
var angle_corrige
var angle_depart
var boite = new Array();
var boite_deplacement = new Array(1,1,1,1,1);
var box
var clic = 0
var course
var course_180
//delta_x c'est pour poser le point d'accroche de la case....
var delta_x = -100
var delta_y = -20

var et51 = 0 
var et52 = 0



var hauteur
var i = 0
var j = 0
var k = 0
var l = 0
var nb_iteration
var nb_iteration_t
var numero_boite
var numero_boite_memoire
var pas = 4
var pas_courant
var pi=3.14159265

var decalage_vertical = 50
var hauteur_fenetre = 600
var largeur_fenetre = 590
var avance




var rayon=80
var rayon_max=200
var speed
var t1 = 0
var t2 = 0
var x_centre=300
var y_centre=100
var x_boite

var y_boite_hauteur
var x_boite_translation
var y_boite
var y_boite_translation
var et51 = 0 
var et52 = 0
var et53 = 0


function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function reconstruction(){	
	hauteur = (navigator.appName != "Microsoft Internet Explorer")? window.innerHeight : document.body.offsetHeight;
	largeur = (navigator.appName != "Microsoft Internet Explorer")? window.innerWidth : document.body.offsetWidth;
	decalage_haut = ((hauteur-600)/2)-5;
	decalage_gauche = ((largeur-955)/2)-5;
	if(decalage_gauche<5){decalage_gauche=5};
	if(decalage_haut<5){decalage_haut=5};
	document.getElementById('conteneur').style.top = decalage_haut+"px";
	document.getElementById('conteneur').style.left = decalage_gauche+"px";	
}


function init(){
	
	hauteur = (navigator.appName != "Microsoft Internet Explorer")? window.innerHeight : document.body.offsetHeight;
	largeur = (navigator.appName != "Microsoft Internet Explorer")? window.innerWidth : document.body.offsetWidth;
	decalage_haut = ((hauteur-600)/2)-5;
	decalage_gauche = ((largeur-955)/2)-5;
	if(decalage_gauche<5){decalage_gauche=5};
	if(decalage_haut<5){decalage_haut=5};
	document.getElementById('conteneur').style.top = decalage_haut+"px";
	document.getElementById('conteneur').style.left = decalage_gauche+"px";

	
	
	
	boite[0]=document.getElementById('boite0');
	boite[1]=document.getElementById('boite1');
	boite[2]=document.getElementById('boite2');
	boite[3]=document.getElementById('boite3');
	boite[4]=document.getElementById('boite4');
	boite[5]=document.getElementById('cadre0');
	boite[6]=document.getElementById('cadre1');
	boite[7]=document.getElementById('cadre2');
	boite[8]=document.getElementById('cadre3');
	boite[9]=document.getElementById('cadre4');
	
	for(j=0; j<10; j++){placer(angle_boite[j])};	
	return}



// etape 10-11-12-13-14 définition du numéro de boite a placer en bas
function etape10(){
if(actif==0){numero_boite_memoire = 0;etape00();return}
else{return}
}

function etape11(){
if(actif==0){numero_boite_memoire = 1;etape00();return}
else{return}
}

function etape12(){
if(actif==0){numero_boite_memoire = 2;etape00();return}
else{return}
}

function etape13(){
if(actif==0){numero_boite_memoire = 3;etape00();return}
else{return}
}

function etape14(){
if(actif==0){numero_boite_memoire = 4;etape00();return}
else{return}
}


function etape00(){
actif=10;
if(clic>0){etape50();return}
else{numero_boite = numero_boite_memoire;etape20();return}
}

//Etape 20 : calcul de la course
function etape20(){
clic=1;

angle_boite_courant = angle_courant+angle_boite[numero_boite];
if(angle_boite_courant>=360){angle_boite_courant-=360};
if(angle_boite_courant<0){angle_boite_courant+=360};
course = 180-angle_boite_courant;
if (course<0){course+=360};
nb_iteration = Math.abs(Math.round(course/pas));
pas_courant = course/nb_iteration;
angle_depart = angle_courant
i = 0;
etape21();
return
}

//Etape 21 rotation de la course
function etape21(){
if(i==nb_iteration){angle_courant += course;
if(angle_courant>=360){angle_courant-=360};
if(angle_courant<0){angle_courant+=360};
etape22();
return};
i++;
angle_corrige = angle_courant+(course*0.5)-(course*0.5*Math.cos(i*pi/nb_iteration));
for(j=0; j<10; j++){if(boite_deplacement[j]=1){placer(angle_corrige+angle_boite[j])}};
setTimeout('etape21()',10)
}

//etape 22 transition
function etape22(){
i=0;
nb_iteration_t = 20;
etape23();
return
}


//Etape 23 décalage verticale de la boite
function etape23(){
if(i==nb_iteration_t){etape24();return}
i++;
avance = (1-Math.cos(i*pi/nb_iteration_t))*0.5;
y_boite_translation = y_centre+rayon+decalage_vertical*avance;
boite[numero_boite].style.top = y_boite_translation+delta_y+"px";

setTimeout('etape23()',10)
}

//etape 24 transition calcul course
function etape24(){
//alert(24);
course = 360-angle_courant;
nb_iteration = Math.abs(Math.round(course/pas));
pas_courant = course/nb_iteration;
i = 0;
l = 0;
nb_iteration_t = 40;
etape25();
etape26();
return}


//Etape 25 ouverture de la boite
function etape25(){
if(l==nb_iteration_t){etape27();return}
l++;
avance = (1-Math.cos(l*pi/nb_iteration_t))*0.5;
x_boite_translation = x_centre-((largeur_fenetre*0.5+delta_x)*avance);
x_boite_largeur = -2*delta_x+(largeur_fenetre+2*delta_x)*avance;
y_boite_hauteur = -2*delta_y+(hauteur_fenetre+2*delta_y)*avance;
boite[numero_boite].style.left = x_boite_translation+delta_x+"px";
boite[numero_boite].style.width = x_boite_largeur+"px";
boite[numero_boite].style.height = y_boite_hauteur+"px";
setTimeout('etape25()',10)
}

//Etape26 rotation retour position ini
function etape26(){
if(i==nb_iteration){angle_courant += course;
if(angle_courant>=360){angle_courant-=360};
if(angle_courant<0){angle_courant+=360};
etape27();
return};
i++;
angle_corrige = angle_courant+(course*0.5)-(course*0.5*Math.cos(i*pi/nb_iteration));
for(j=0; j<10; j++){if(j!=numero_boite){placer(angle_corrige+angle_boite[j])}};
setTimeout('etape26()',10)
}

//transition
function etape27(){
t2++;
if(t2!=2){return}
else{t2 = 0;actif = 0;return}
}


//calcul de la course de recuperation
function etape50(){y_boite_translation = 600;
course = 360-course;
nb_iteration = Math.abs(Math.round(course/pas));
nb_iteration_t = 40;
l=0
i=0;
etape51();
etape52();
return
}
//fermeture fenetre
function etape51(){
if(l==nb_iteration_t){etape53();return}
l++;

avance = (1-Math.cos(l*pi/nb_iteration_t))*0.5;
x_boite_translation = x_centre-largeur_fenetre*0.5-delta_x+((largeur_fenetre*0.5+delta_x)*avance);
//x_centre-((largeur_fenetre*0.5+delta_x)*avance);
x_boite_largeur = -2*delta_x+(largeur_fenetre+2*delta_x)-(largeur_fenetre+2*delta_x)*avance;
y_boite_hauteur = -2*delta_y+(hauteur_fenetre+2*delta_y)-(hauteur_fenetre+2*delta_y)*avance;

boite[numero_boite].style.left = x_boite_translation+delta_x+"px";
boite[numero_boite].style.width = x_boite_largeur+"px";
boite[numero_boite].style.height = y_boite_hauteur+"px";



//x_boite_translation = x_centre-(largeur_fenetre*Math.cos(l*pi/nb_iteration_t));
//x_boite_largeur = largeur_fenetre + (largeur_fenetre*Math.cos(l*pi/nb_iteration_t));
//y_boite_hauteur = hauteur_fenetre + (hauteur_fenetre*Math.cos(l*pi/nb_iteration_t));
//boite[numero_boite].style.left = y_boite_translation+delta_y+"px";
//boite[numero_boite].style.width = x_boite_hauteur+"px";
//boite[numero_boite].style.height = Y_boite_hauteur+"px";
setTimeout('etape51()',10)
}
//retour rotation
function etape52(){
if(i==nb_iteration){angle_courant += course;
if(angle_courant>=360){angle_courant-=360};
if(angle_courant<0){angle_courant+=360};
etape53();
return};
i++;
angle_corrige = angle_courant+(course*0.5)-(course*0.5*Math.cos(i*pi/nb_iteration));
for(j=0; j<10; j++){if(j!=numero_boite){placer(angle_corrige+angle_boite[j])}};
setTimeout('etape52()',10)
}

//transition
function etape53(){
t1++;
if(t1!=2){return}
else{t1 = 0;
l = 0;
nb_iteration_t = 20;
etape54();
return};
}

//retour vertical de la boite

function etape54(){
if(l==nb_iteration_t){etape55();return}
l++;
avance = (1-Math.cos(l*pi/nb_iteration_t))*0.5;
y_boite_translation = y_centre+rayon+decalage_vertical-(decalage_vertical*avance);
boite[numero_boite].style.top = y_boite_translation+delta_y+"px";
setTimeout('etape54()',10)
}

// on repart à l'etape 20
function etape55(){
numero_boite = numero_boite_memoire;
etape20();
return}

function placer(angle){
//alert(1);
x_boite = x_centre+(rayon_max/rayon)*(rayon*Math.sin(angle*pi/180));
y_boite = y_centre+rayon*(-Math.cos(angle*pi/180));

boite[j].style.left = x_boite+delta_x+"px";
boite[j].style.top = y_boite+delta_y+"px"}	

