 
 window.addEvent('domready', function() {	 
 	if(typeof(diaporamaId) != "undefined"){
 	init();
 	};
 	}) ;
 	
 	function init(){
 var diaporamaPanel = null;
var tabImage = new Array();
var viewActive = "viewB";
creer_structure(diaporamaId);
indexDiap = 0;
 	};
 	
 	
function creer_structure(p){
 // JSON request with data
	
    var jsonReq = new Request.JSON({
      url: '../php/diaporama.php',
      method: 'post',
      data: {
        json: 'yes'
      },  
      onComplete: function(r){
    // alert (listeDiapos[1].objets[1].id);
    // listeDiapos = R;
      //console.log (r[0].objets[0].id);
      
    	for(i=0;i<r.length;i++){
	var 	m = r[i].image;

		if(m != ""){
	precharger_image(m.replace('\/','/'))	;
		};
		for(z=0;z<r[i].objets.length;z++){	
			var m2 = r[i].objets[z].image;
			//	console.log (m2);
			
		if(m2 != ""){
	precharger_image(m2.replace('\/','/'))	;
		};
		};
		
		
	};  
      
  diaporamaPanel = $(p);
  suite(r);
      }
    });
    
	jsonReq.send();
	
	
	//console.log("structure..."+p);




//afficherContenuDiapos(0);*/

};

function suite(r){
	   listeDiapos=r;
	   
	   
	   diaporamaPanel.innerHTML =	'<div id="viewB" style="position:absolute;z-index:1" ><img id="loaderB" style="position:absolute" /><div id="modeleB" style="position:absolute"></div></div><div id="viewA" style="position:absolute; border:0px solid #FF0000 ; opacity:1;z-index:0" ><img id="loaderA" style="position:absolute"/><div id="modeleA" style="position:absolute"></div></div>';
	   
     diaporamaPanel.style.overflow = "hidden";
viewActive = "viewB";
loaderActif ="loaderB";
afficherContenuDiapos(0);
};
//changement de diapos	
	function changer2() {
//console.log(listeDiapos[indexDiap].dureeApparition);
//console.log(loaderActif);
$(loaderActif).setStyle("opacity", 0);
	var myEffect = new Fx.Morph(loaderActif, {
    duration:listeDiapos[indexDiap].dureeApparition*1000,
    transition: Fx.Transitions.Sine.easeOut
});
 
myEffect.start({
    'opacity': [0, 1]
    
});
	
		
	
	
var sw = swapDiv.delay(listeDiapos[indexDiap].dureeAffichage*1000);	


}	
	
	
	
	
	
		
	function afficherContenuDiapos(id){
var 	inner = "";
var im="";
for(i=0;i<listeDiapos[indexDiap].objets.length;i++){
inner += listeDiapos[indexDiap].objets[i].texte;
};	
//console.log(inner);

reg=new RegExp("(\/)", "g");
inner = inner.replace(reg,'/');

reg=new RegExp("(Myriad Pro)", "g");
inner = inner.replace(reg,'Arial');
	if(viewActive == "viewA"){
		//console.log("AAAAA");
	viewActive = "viewB";
	loaderActif ="loaderB";
			$("modeleB").set("html","");
		$("modeleB").set("html",inner);
			//console.log(		$("modeleB").get("html"));
		im =listeDiapos[indexDiap].image;
		im = im.replace('\/','/');
		$("loaderB").setProperty("src","."+im);
		$("viewB").setStyle("z-index",1);
$("viewA").setStyle("z-index",0);

	
}else
{	
		//console.log("BBBB");
viewActive = "viewA";
loaderActif ="loaderA";
			$("modeleA").set("html","");
	$("modeleA").set("html",inner);
			//console.log(		$("modeleA").get("html"));
			im =listeDiapos[indexDiap].image;
			reg=new RegExp("(\/)", "g");
		im = im.replace(reg,'/');
		$("loaderA").setProperty("src","."+im);
	
	$("viewA").setStyle("z-index",1);
$("viewB").setStyle("z-index",0);
	//console.log("ppp"+$("viewA").getStyle("z-index"));
	}	




changer2();	




//console.log("length"+listeDiapos[indexDiap].objets.length);
	for(i=0;i<listeDiapos[indexDiap].objets.length;i++){

var transition = Fx.Transitions.linear.easeOut;
var posX = listeDiapos[indexDiap].objets[i].posX;
var dureeApparition =listeDiapos[indexDiap].objets[i].dureeApparition;
var attenteApparition =listeDiapos[indexDiap].objets[i].attenteApparition*1000;
var effetApparition=listeDiapos[indexDiap].objets[i].effetApparition;
//console.log("length"+listeDiapos[indexDiap].objets[i].id);
var cible = $(listeDiapos[indexDiap].objets[i].id);
var w = listeDiapos[indexDiap].objets[i].width;

			switch (listeDiapos[indexDiap].objets[i].typeTransition) {
				case "Linéaire":
				transition = Fx.Transitions.linear.easeOut
				break;
				case "Rebond":
				transition = Fx.Transitions.Bounce.easeOut
				break;
				
				case "Décélération":
				transition = Fx.Transitions.Expo.easeOut
				break;
				
				case "Amorti":
				transition = Fx.Transitions.Sine.easeOut
				break;
				
				
				
			};

//alert(cible.id);
cible.setStyle("opacity", 0);
//cible.style.opacity = 0;

var m = makeTween.delay(attenteApparition, cible,[cible,dureeApparition,effetApparition,transition,posX,w]); 

}


};
function makeTween(cible,duree,effet,transition,posX,w){
	
	
cible.setStyle("opacity", 1);
var myEffect = new Fx.Morph(cible, {
    duration: duree*1000,
    transition: transition
});

		switch (effet) {
				case "Vers la droite":
			var n = (Number(w)  + 100);
			cible.style.left = "-"+n+"px";  
			myEffect.start({
    'left': [posX] // Morphs the height from the current to 100px.
});
			
				break;
			case "Vers la gauche":
		
			cible.style.left = "2000px";
		//console.log("vers la gauche2:"+cible.style.left+ posX);	
				//////console.log("tweenvaers la gauche2:"+cible.style.left+ posX);	
//myEffect.start({
  //  'left': [posX] // Morphs the height from the current to 100px.
//});
				break;
				case "Fondu":
			cible.setStyle("opacity", 0);
				myEffect.start({
    'opacity': [0,1] // Morphs the height from the current to 100px.
});
				break;
	
				
			};



};

function precharger_image(url)
{

    var img = new Image();
    img.src="."+url;
};


function removeAll(obj){
	
if ( obj.hasChildNodes() )
{
    while ( obj.childNodes.length >= 1 )
    {
       obj.removeChild( obj.firstChild );       
    } 
}	

}

function swapDiv() {
	if((indexDiap+1)<listeDiapos.length){
	indexDiap++;
	}else{
		indexDiap = 0;
	};
if(listeDiapos.length >1){
afficherContenuDiapos(0);
};
};
function swapDivyyyy() {
	if((indexDiap+1)<listeDiapos.length){
	indexDiap++;
	}else{
		indexDiap = 0;
	};
}

function dec2hex(i) 
{ 
  var result = "0000"; 
  if      (i >= 0    && i <= 15)    { result = "000" + i.toString(16); } 
  else if (i >= 16   && i <= 255)   { result = "00"  + i.toString(16); } 
  else if (i >= 256  && i <= 4095)  { result = "0"   + i.toString(16); } 
  else if (i >= 4096 && i <= 65535) { result =         i.toString(16); } 
  return result 
} 
	

	

