/* Fonctions communes Doors fred brunet js */
/*UpdateDdec2008*/
/*Tcharge*/
/*ElargirBack */
/*RéduireBack */
/*ExpendBack */
/*InflatBack  */
/*ClipInsideDoor */
/*animation */
/*pos*/
/*show*/
/*hide*/
/*left*/
/*top*/
/*moveTo*/
/*step*/
/*animate*/
/*slideBy*/
/*slideTo*/
/*circle*/
/*OpenDoor*/
/*CloseDoor*/
/*OpenBack*/

function Tcharge()
	{
	var titre="Ressources/Music/"+TSong[currentsong]+".mp3";
	alert(titre);
	if (TSongTLCHRG[currentsong]!=1)
		{
		UserAlert(2);
		}
	else
		{
		location.href=titre;
		}
	document.getElementById('FYS').src = FACTORY1.src;
  	
	}
function ElargirBack(RIG, LEF)
	{
		if (RIG < varElB_maxRIG) 
			{
			ClipInsideDoor("Doorback", 0, RIG, varElB_Bottom, LEF);
			RIG++;
			RIG++;
			LEF--;
			LEF--;
			timer = setTimeout("ElargirBack("+RIG+", "+LEF+")",1);
			}
		else 	{
			clearTimeout(timer);
			flagaction=0;
			}
	}
function RéduireBack(RIG, LEF)
	{
		if (RIG > varRéB_minRIG) 
			{
			ClipInsideDoor("Doorback", 0, RIG, varRéB_Bottom, LEF);
			RIG--;
			RIG--;
			LEF++;
			LEF++;
			timer = setTimeout("RéduireBack("+RIG+", "+LEF+")",1);
			}
		else 	{
			
			clearTimeout(timer);
			flagaction=0;
			}
	}

function ExpendBack()
	{
		var RIG = varExB_RIG;
		var LEF = varExB_LEF;
		ElargirBack(RIG, LEF);
	}
function InflatBack()
	{
		var RIG = varInB_RIG;
		var LEF = varInB_LEF;
		RéduireBack(RIG, LEF);
	}
function ClipInsideDoor(RefID, clipTop, clipWidth, clipBottom, clipLeft)
	{
	if (document.getElementById)
		{
		clipWidth++;
		clipLeft--;
		clipstring = "rect("+clipTop+", "+clipWidth+", "+clipBottom+", "+clipLeft+")";
		document.getElementById(RefID).style.clip = clipstring;
		//Doorback//
		document.getElementById(RefID).style.visibility = "visible";
		}
	}

function animation(id) 
	{
  //this.element = document.all[id].style;
  this.element = document.getElementById(id).style;
  this.active = 0;
  this.timer = null;
  this.path = null;
  this.num = null;

  this.name = id + "Var";
  eval(this.name + " = this");

  this.animate = animate;
  this.step = step;
  this.show = show;
  this.hide = hide;
  this.left = left;
  this.top = top;
  this.moveTo = moveTo;
  this.slideBy = slideBy;
  this.slideTo = slideTo;
  this.circle = circle;
}
function pos(x, y) 
{
  this.x = Math.round(x);
  this.y = Math.round(y);
}
function show() 
{
  this.element.visibility = "visible";
}

function hide() 
{
  this.element.visibility = (NS4) ? "hide" : "hidden";
}

function left() 
{
  return parseInt(this.element.left);
}

function top() 
{
  return parseInt(this.element.top);
}

function moveTo(x, y) 
{
  
  this.element.left = x;
  this.element.top = y;
}

function step() 
{
  this.moveTo(this.path[this.num].x, this.path[this.num].y);
  if (this.num >= this.path.length - 1) {
    clearInterval(this.timer);
    //if (this.name==varLastStep && flagopendoor==1)
    if (this.name=="songkey"+varMax_Song+"Var" && flagopendoor==1)
    alert
    	{
    	document.getElementById("flecheG").style.visibility = "visible";
    	document.getElementById("flecheD").style.visibility = "visible";
    	OpenBack(currentsong);
    	flagaction=0;
   	}
    this.active = 0;
    if (this.statement)
      eval(this.statement);
  } else {
    this.num++;
  }
}
function animate(interval) 
{
  
  if (this.active) return;
  this.num = 0;
  this.active = 1;
  this.timer = setInterval(this.name + ".step()", interval);
}
function slideBy(dx, dy, steps, interval, statement) 
{
  var fx = this.left();
  var fy = this.top();
  var tx = fx + dx;
  var ty = fy + dy;
  this.slideTo(tx, ty, steps, interval, statement);
}
function slideTo(tx, ty, steps, interval, statement) 
{
  var fx = this.left();
  var fy = this.top();
  var dx = tx - fx;
  var dy = ty - fy;
  var sx = dx / steps;
  var sy = dy / steps;

  var ar = new Array();
  for (var i = 0; i < steps; i++) {
    fx += sx;
    fy += sy;
    ar[i] = new pos(fx, fy);
  }
  this.path = ar;

  this.statement = (statement) ? statement : null;
  this.animate(interval);
}
function circle(radius, angle0, angle1, steps, interval, statement) 
{
  
  var dangle = angle1 - angle0;
  var sangle = dangle / steps;
  var x = this.left();
  var y = this.top();
  var cx = x - radius * Math.cos(angle0 * Math.PI / 180);
  var cy = y + radius * Math.sin(angle0 * Math.PI / 180);

  var ar = new Array();
  for (var i = 0; i < steps; i++) {
    angle0 += sangle;
    x = cx + radius * Math.cos(angle0 * Math.PI / 180);
    y = cy - radius * Math.sin(angle0 * Math.PI / 180);
    ar[i] = new pos(x, y);
  }
  this.path = ar;

  this.statement = (statement) ? statement : null;
  this.animate(interval);
}
//-----------------------------------------------------------------------------------------//

function OpenDoor()
	{
		
	if (flagaction!=0)
		 {
		 return;
		 }
	if (flagopendoor!=0)
		 {
		 return;
		 }
	flagopendoor=1;
	flagaction=1;
	
	if (document.getElementById)
		{
		document.getElementById('CloseTheDoor').style.visibility = "visible";
		document.getElementById('OpenTheDoor').style.visibility = "hidden";
		document.getElementById('CTDBack').style.visibility = "hidden";
		document.getElementById('OTDBack').style.visibility = "visible";

		document.getElementById('flecheG').style.visibility = "visible";
		document.getElementById('flecheD').style.visibility = "visible";

		for (ind=1; ind<(varMax_Song + 1); ind++)
			{
			Sng = "Song"+ind;
			document.getElementById(Sng).style.visibility = "visible";
			}
		
		document.getElementById("Doorback").src=imgBack[0].src
		
		ExpendBack();
		
		rePosition("songkey0", 386, 432);
		
		for (ind=1; ind<(varMax_Song + 1); ind++)
			{
			SngK = "songkey"+ind;
			rePosition(SngK, 386, 433);
			}
		
		for (ind=0; ind<(varMax_Song + 1); ind++)
			{
			SngK = "songkey"+ind;
			document.getElementById(SngK).style.visibility = "visible";
			}
	

		PARAM_open();
  		
  		document.getElementById('FYS').src = FACTORY1.src;

  		currentsong=0;
		}
	}
function CloseDoor()
	{
	if (flagaction!=0)
		 {
		 return;
		 }
	if (flagopendoor!=1)
		 {
		 return;
		 }
	flagopendoor=0;
	flagaction=1;
	
	if (document.getElementById)
		{
		document.getElementById('CloseTheDoor').style.visibility = "hidden";
		document.getElementById('OpenTheDoor').style.visibility = "visible";
		document.getElementById('CTDBack').style.visibility = "visible";
		document.getElementById('OTDBack').style.visibility = "hidden";

		document.getElementById('flecheG').style.visibility = "hidden";
		document.getElementById('flecheD').style.visibility = "hidden";

		for (ind=1; ind<(varMax_Song + 1); ind++)
			{
			Sng = "Song"+ind;
			document.getElementById(Sng).style.visibility = "hidden";
			}
		
		document.getElementById("actvbck").style.visibility = "hidden";    	
		
		var content ="";
    		document.getElementById('CONSOLE').innerHTML = content;		
    		
		document.getElementById("SongTour").style.visibility = "hidden";

		InflatBack();
		
		for (var ind = 0; ind < (varMax_Song + 1); ind++) 
  			{
			TSongNpos[ind]=-90;
			}
		
		PARAM_close();
		
  		document.getElementById('FYS').src = FACTORY0.src
  		
  		currentsong=0;
  		flagfirstmove=0;
		}
	}
	
function OpenBack(Song)
{
	if (currentsong==0) return;

	document.getElementById("actvbck").src=imgBack[currentsong].src;
	document.getElementById("actvbck").style.visibility = "visible";
	document.getElementById('SongTour').style.visibility = "visible";

	rePositionR('SongTour', ((Song-1)*30)-5, -22);
	
	var songname = "Song"+Song;

	var indPart =1;
	var Part = "";
	var PartNull = "";
	var Console = "";

	var content ="";

	while (indPart < 4)
		{   	
		Part="Part"+indPart;
		Console="Console"+indPart;
		Cons="Cons"+indPart;
		if (indPart <= TSongPart[Song])
			{
			content +='<li><a id="Part1" class="Part'+indPart+'" name="TouchTheSound" title="TouchTheSound"  ><span>Touch the sound !</span>';
			content +='<object name="Console1" id="Console1" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="200" height="20" align="middle" >';
			content +='<param name="allowScriptAccess" value="sameDomain" >';
			content +='<param name="movie" value="Ressources/Music/dewplayer.swf?mp3=Ressources/Music/';
			content +=TShortName[Song]+'_'+indPart;
			content +='.mp3" ><param name="quality" value="high" >';
			content +='<param name="bgcolor" value="#00000" >';
			content +='<embed class="Console'+indPart+'" name="Console'+indPart+'" src="Ressources/Music/dewplayer.swf?mp3=Ressources/Music/';
			content +=TShortName[Song]+'_'+indPart;
			content +='.mp3" quality="high" bgcolor="#000000" width="200" height="20" enablejavascript="true" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" alt="player" >';
			content +='</embed>';
			content +='</object></a></li>';
			
			}
		indPart++;	
		}
	
    	document.getElementById('CONSOLE').innerHTML = content;
	
}	


