/* Concu par Yanonix pour War-Evolution */
////////////////////////////////////////////////////// JS ENGINE //////////////////////////////////////////////////////
/* PROCESSUS LIST */
var ProcessusList={};

/* NAVIGATEURS */
var FF=navigator.appName.substring(0,3) == "Net";
var IE=navigator.appName.substring(0,3) == "Mic";
var Op=navigator.appName.substring(0,3) == "Ope"; 

/* BOUCLES */
function Boucle(Process,RepeatTime) {
	if(ProcessusList["Boucle_"+Process]===undefined)
		ProcessusList["Boucle_"+Process]=setInterval(Process,RepeatTime)
	window.eval(Process)
}
function StopBoucle(Process) {
	clearInterval(ProcessusList["Boucle_"+Process]);
	delete ProcessusList["Boucle_"+Process];
}


////////////////////////////////////////////////////// AJAX //////////////////////////////////////////////////////
var ChargementArray=new Array('','.',':',':.','::');

var Ajax=function(nom,url,methode,data_pour_post,destination,script_suppl)
{
	ProcessusList['Ajax_'+nom]=null;
    try { 
		ProcessusList['Ajax_'+nom] = new XMLHttpRequest(); 
	}            
    catch(e) {
		ProcessusList['Ajax_'+nom] = new ActiveXObject("Msxml2.XMLHTTP");
	} 
	if(ProcessusList['Ajax_'+nom]==null)
	{ 
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest / Ajax...\n Vous devez les supporter pour pouvoir jouer."); 
		return;
	}
	
	ProcessusList['Ajax_'+nom].onreadystatechange = function()
	{
		//~ document.getElementById('AjaxStatus').innerHTML='<img src="Images/wait.gif"/>'; //nom+' '+ChargementArray[ProcessusList['Ajax_'+nom].readyState];
		document.getElementById('AjaxStatus').style.opacity=1;
		if(ProcessusList['Ajax_'+nom].readyState == 4 && ProcessusList['Ajax_'+nom].status==200)
		{
			document.getElementById('AjaxStatus').style.opacity=0;
			if(destination)
			{
				destination.innerHTML=ProcessusList['Ajax_'+nom].responseText;
				ScriptAll = destination.getElementsByTagName('script');
				for(i=0;i<ScriptAll.length;i++)
				{
					if(window.execScript) // IE de *
						window.execScript(ScriptAll[i].text);
					else
						window.eval(ScriptAll[i].text);
				}
			} 
			else
			{
				if(window.execScript) // IE de *
					window.execScript(ProcessusList['Ajax_'+nom].responseText)
				else
					window.eval(ProcessusList['Ajax_'+nom].responseText)
			}
			if(script_suppl && window.execScript)  // IE de *
				window.execScript(script_suppl)
			else if(script_suppl)
				window.eval(script_suppl)
			
			delete ProcessusList['Ajax_'+nom]
		}
		else if(ProcessusList['Ajax_'+nom].readyState == 4)
			document.getElementById('ZoneChargement').style.opacity=0;
	} 

	if(methode=='GET' && data_pour_post!='')
		ProcessusList['Ajax_'+nom].open(methode, 'Moteur/'+url+'&'+data_pour_post, true); 
	else
		ProcessusList['Ajax_'+nom].open(methode, 'Moteur/'+url, true); 
	if(methode=='POST')
		ProcessusList['Ajax_'+nom].setRequestHeader('Content-type','application/x-www-form-urlencoded; charset=UTF-8'); // ;charset=ISO-8859-1
	ProcessusList['Ajax_'+nom].send(data_pour_post)
	return false;
}

////////////////////////////////////////////////////// PAGES //////////////////////////////////////////////////////
/* OUVRIR POPUP */
function Ouvrir(Url,Width,Height){
	if(IE)	Height+=30;
	window.open('Simple.php?p='+Url,'WarEvoBox','toolbar=0, location=0, directories=0, status=0, scrollbars=1, resizable=1, copyhistory=0, menuBar=0,  width='+(Width)+', height='+(Height))
}

/* CHARGEMENT PAGE */
var PageEnCour;
var PageEnCourLong;
var PagePrecedante;
function Page(Url, Post){
	
	if(Url==undefined)		Url=''
		
	if(Post==undefined)	Ajax('Ouverture de la page: '+Url,"AfficherPage.php?p="+Url,"GET","",				document.getElementById('Corps'))
	else				Ajax('Ouverture de la page: '+Url,"AfficherPage.php",		"POST","p="+Url+""+Post,document.getElementById('Corps'))
	
	PagePrecedante=PageEnCourLong;
	PageEnCourLong=Url
	
	if(Url.indexOf("&")!=-1)	PageEnCour=Url.substring(0,Url.indexOf("&"));
	else						PageEnCour=Url;
	
	document.location.hash="#"+Url;
	HashBack=document.location.hash;
	
	/*if(ModeTutoriel==1)
		Tutoriel(PageEnCour);*/
	
	if(document.getElementById('PubFooter'))	
		document.getElementById('PubFooter').innerHTML=document.getElementById('PubFooter').innerHTML // Refresh des pubs Google
}

/* PRECEDENT */
var HashBack=-1;
function Historique() {
	Hash=document.location.hash;
	if(Hash!=HashBack)
	{
		if(HashBack!=-1)
			Page(Hash.substring(1),'');
		HashBack=Hash;
	}
}
Boucle('Historique()',500);

/* ECHAPPEMENT */
function Esc(Str){
	return escape(Str).replace(new RegExp( "\\+", "g" ),"%2B")
}

/* ENVOI FORM (ou Comment réinventer la roue...) */
function Form(FormObj){		
	var RequettesForm='';
	
	// Générer la requette
	Nombre=FormObj.length
	for(i=0;i<Nombre;i++)
	{
		if(FormObj.elements[i].name!=undefined && FormObj.elements[i].type!=undefined)
		{
			if(FormObj.elements[i].type!="submit")
			{
				if(FormObj.elements[i].type=="select-multiple")
				{
					for(j=0;j<FormObj.elements[i].options.length;j++)
					{
						if(FormObj.elements[i].options[j].selected==true)
							RequettesForm+='&'+FormObj.elements[i].name+'='+Esc(FormObj.elements[i].options[j].value)
					}
				}
				else if(FormObj.elements[i].type=="checkbox" )
				{
					if(FormObj.elements[i].checked==true)
						RequettesForm+='&'+FormObj.elements[i].name+'='+Esc(FormObj.elements[i].value)
					else
						RequettesForm+='&'+FormObj.elements[i].name+'='
				}
				else if(FormObj.elements[i].type=="radio" )
				{
					if(FormObj.elements[i].checked==true)
						RequettesForm+='&'+FormObj.elements[i].name+'='+Esc(FormObj.elements[i].value)
				}
				else if(FormObj.elements[i].type!="button")
					RequettesForm+='&'+FormObj.elements[i].name+'='+Esc(FormObj.elements[i].value)
			}
		}
	}
	
	// Prendre en compte le submit validé
	/*if(SubmitAct!=undefined)
	{
		RequettesForm+='&'+SubmitAct.name+'='+Esc(SubmitAct.value);
		SubmitAct=undefined
	}*/
	
	return RequettesForm;
}


////////////////////////////////////////////////////// AFFICHAGE //////////////////////////////////////////////////////
/* CACHER / MONTRER */
function CacherMontrer(Obj, Force){
	if((document.getElementById(Obj).className.indexOf('Cacher')!=-1 || Force=='M') && Force!='C')
	{
		removeClass(document.getElementById(Obj),'Cacher')
		addClass(document.getElementById(Obj),'Montrer')
	}
	else
	{
		removeClass(document.getElementById(Obj),'Montrer')
		addClass(document.getElementById(Obj),'Cacher')
	}
}
function addClass(Object, Class) { 
    if(Object.className.indexOf(Class) != -1)
		return;
    if(Object.className != '' )
		Object.className += ' '+Class;
	else
		Object.className = Class;
} 
function removeClass(Object, Class) { 
    rxp = new RegExp( "\\s?\\b"+Class+"\\b", "g" ); 
	Object.className = Object.className.replace( rxp, '' ); 
} 
/* SLIDER */
function Slider(Racine, Obj){
	BaliseDiv=document.getElementsByTagName('div');
	Nombre=BaliseDiv.length
	for(i=0;i<Nombre;i++)
	{
		if((BaliseDiv[i].id).indexOf(Racine,0)>=0)
			BaliseDiv[i].className='CacherTransparent'
	}
	document.getElementById(Racine+'_'+Obj).className='MontrerTransparent'
}

////////////////////////////////////////////////////// BARRES //////////////////////////////////////////////////////
var Barre_Class = function(ID_Object,Width_Max,Sens,Temps_Max,Temps_Ecoule,Script_Fin){
// Attributs
	this.ID_Object=ID_Object;
	this.Temps_Max=Temps_Max;
	if(Temps_Ecoule!=undefined)
		this.Temps_Ecoule=Temps_Ecoule;
	else
		this.Temps_Ecoule=0;
	this.Sens=Sens;
	this.Script_Fin=Script_Fin;
	this.Vitesse=500;
	Width_Max=new String(Width_Max)
	
	if(Width_Max.charAt(Width_Max.length-1)=='%')
	{
		this.PXorPO='%';
		this.Width_Max=new Number(Width_Max.substr(0,Width_Max.length-1));
	}
	else
	{
		this.PXorPO='px';
		this.Width_Max=new Number(Width_Max);
	}

	this.Width_Incr=(this.Width_Max/this.Temps_Max);
	this.Width=0
// Methodes
	this.Actualiser = function()
	{
		if(document.getElementById(this.ID_Object)!==null && ProcessusList["Barre_"+this.ID_Object]!==null)
		{
			Pourcentage=Math.round(this.Width/this.Width_Max*100);
			if(Pourcentage>100)
				Pourcentage=100;
				
			if(this.Width>0 || FF) //Car Firefox c'est mieux ^^
			{
				if(this.Sens=='+')
				{
					document.getElementById(this.ID_Object).style.width=this.Width+''+this.PXorPO;
					document.getElementById(this.ID_Object).innerHTML=Pourcentage+'%'
				} else {
					document.getElementById(this.ID_Object).style.width=(this.Width_Max-this.Width)+''+this.PXorPO;
					document.getElementById(this.ID_Object).innerHTML=(100-Pourcentage)+'%'
				}
			}	
		}
		else
		{
			this.Fin(true);
		}
	}
	
	this.Incrementer = function() {
		if(this.Width <= this.Width_Max)
		{
			this.Date_Act=new Date();
			this.Width=this.Width_Incr*(this.Temps_Ecoule+this.Date_Act.getTime()-this.Date_Debut.getTime());
			this.Actualiser();
		}
		else
			this.Fin(false)
	}
	
	this.Fin = function(NoScript)
	{
		if(document.getElementById(this.ID_Object)!==null)
			CacherMontrer(this.ID_Object,'C')
		
		if(NoScript!=true && this.Script_Fin!="")
			window.eval(this.Script_Fin);
			
		StopBoucle("ProcessusList['Barre_"+this.ID_Object+"'].Incrementer()");
		delete ProcessusList["Barre_"+this.ID_Object]
	}
	
	this.Commencer = function()
	{
		CacherMontrer(this.ID_Object,'M')
		
		this.Date_Debut=new Date();

		Boucle("ProcessusList['Barre_"+this.ID_Object+"'].Incrementer()",this.Vitesse);
	}
}

function Barre(ID_Object,Width_Max,Sens,Temps_Max,Temps_Ecoule,Script_Fin){
	if(ProcessusList["Barre_"+ID_Object]!=undefined)	
		delete ProcessusList["Barre_"+ID_Object]
	ProcessusList["Barre_"+ID_Object]=new Barre_Class(ID_Object,Width_Max,Sens,Temps_Max,Temps_Ecoule,Script_Fin)
	ProcessusList["Barre_"+ID_Object].Commencer();
}


////////////////////////////////////////////////////// AUTRES //////////////////////////////////////////////////////
/* BALISES */
function Balise(id_champ, balise1, balise2) {
	if(balise2 == '') { balise1 = ' '+balise1+' '; }
	Doc=document.getElementById(id_champ)
	Start=Doc.selectionStart
	Fin=Doc.selectionEnd
	if(Start>Fin) {
		Midd=Fin
		Fin=Start
		Start=Midd
	}
	Encour=Doc.value
	Text=Encour.substr(0,Start);
	Text+=balise1
	Text+=Encour.substr(Start,Fin)
	Text+=balise2;
	Text+=Encour.substr(Fin,Encour.length);
	Doc.value = Text;
}

////////////////////////////////////////////////////// RESSOURCES //////////////////////////////////////////////////////
var Valeur=new Array();
var Vitesse=new Array();
var TimeDebut;
var AgePrecedent="-1";
function Ressources_Reset(){
	Taille=Vitesse.length
	DA=new Date()
	TimeDebut=DA.getTime()
	if(Age!=AgePrecedent)
	{
		if(AgePrecedent=="-1")
			AgePrecedent=Age
		else if(confirm('Un changement d\'âge est survenu: vous êtes maintenant à l\'age '+(Age+1)+', les ressources doivent se rafraichir.\nVoulez-vous le faire maintenant ? (Réactualise la page)\n(ce message vous est proposé pour ne pas perdre se que vous écrivez par exemple dans un MP en se moment)\n[Répétition toutes les 2 minutes]'))
			Reboot()
	}
	//document.getElementById('Puissance').innerHTML=Puis
	delete Loc;
	delete Puis;
}
function Ressources_Calcul(){
	DB=new Date()
	TimeFin=DB.getTime()
	LaspTime=TimeFin-TimeDebut
	if(Valeur[0]!=undefined)
	{
		for(iRessource2=0;iRessource2<Taille;iRessource2++)
		{
			document.getElementById('Ressource_'+iRessource2).innerHTML=FormatNumber(Valeur[iRessource2]+LaspTime*Vitesse[iRessource2])
		}
	}
}
function FormatNumber(x){
	if (x==0)
		return x;
	else 
	{
		//10.5 P=3
		var	str = x.toString(),	n = str.length, Point=str.indexOf('.');
		if(Point!=-1)
		{
			var Arrondi=Math.round(x*100); //1050
			str=new String(Arrondi);
			var add='.'+str.substr(Point,3); //3,3 5
			str=new String(Arrondi/100);
			str=str.substr(0,Point);
			n=Point;
		}
		else
			var add='.00'
		if(add=='.')
			add='.00'
			
		if (n < 4)
			return str+add;
		else
		{
		    return ((n % 3) ? str.substr(0, n % 3) + ' ' : '') + str.substr(n % 3).match(new RegExp('[0-9]{3}', 'g')).join(' ')+add;
					// X xxx xxx.xx							   + 				x XXX XXX XXX.xx							   + .xx
		}
	}
}

////////////////////////////////////////////////////// TRI TABLEAU //////////////////////////////////////////////////////
String.prototype.repeat = function(l){
	return new Array(l+1).join(this);
}
var TriTableauAvant=new Array();
var AntiAHref=new RegExp('<a href="([^\>]+)"([^\>]*)>', "gi"); //'<a href="([^\>]+)"([^\>]*)>(.+)</a>'
var AntiAHref2=new RegExp('</a>', "gi"); //'<a href="([^\>]+)"([^\>]*)>(.+)</a>'
//var ConvertNumber=new RegExp('[0-9]+\.?[0-9]*', "gi"); //'<a href="([^\>]+)"([^\>]*)>(.+)</a>'

function TrierCol(x1,x2,sens) {
	Str1=x1[ColoneTriId]['Valeur'].replace(AntiAHref,"").replace(AntiAHref2,"");
	Str2=x2[ColoneTriId]['Valeur'].replace(AntiAHref,"").replace(AntiAHref2,"");
	
	Str1=Str1.replace(' ','').toUpperCase()
	Str2=Str2.replace(' ','').toUpperCase()
	if(Str1==Str2 && TriTableauAvant[TableauTriId]!=undefined)
	{
		Str1=x1[TriTableauAvant[TableauTriId]]['Valeur'].replace(AntiAHref,"").replace(AntiAHref2,"");
		Str2=x2[TriTableauAvant[TableauTriId]]['Valeur'].replace(AntiAHref,"").replace(AntiAHref2,"");
		Str1=Str1.replace(' ','').toUpperCase()
		Str2=Str2.replace(' ','').toUpperCase()
	}
	
	if(new Number(Str1)!=NaN && new Number(Str2)!=NaN)
	{
		if(Str1.length>Str2.length)	NombreZero=Str1.length
		else						NombreZero=Str2.length
		Str1="0".repeat(NombreZero-Str1.length)+Str1;
		Str2="0".repeat(NombreZero-Str2.length)+Str2;
	}
	
	return (Str1 < Str2)? -1 : 1;
}
function Tri(Push,ColoneTri){
	ColoneTriId=ColoneTri;
	TableauTriId=Push;
	
	if(TriTableauAvant[Push]==ColoneTriId)
	{
		Ordre=1
		delete TriTableauAvant[Push];
	} else {
		Ordre=0
		TriTableauAvant[Push]=ColoneTriId;
	}
	
	var TableauTemp=new Array;
	var Tableau=document.getElementById(Push);
	if(Tableau.childNodes[1].tagName=="TBODY")
		Tableau=Tableau.childNodes[1]
		
	var NbrLigne=Tableau.childNodes.length;
	var inone=1;
	for (i=1; i<NbrLigne; i++)
	{
		if(Tableau.childNodes[i].nodeName=="TR")
		{
			TableauTemp[i-inone]=new Array;
			TableauTemp[i-inone]['Class']=Tableau.childNodes[i].className;
			
			var NbrColone=Tableau.childNodes[i].childNodes.length;
			var jnone=0;
			for (j=0; j<NbrColone; j++)
			{
				if(Tableau.childNodes[i].childNodes[j].nodeName=="TD")
				{
					TableauTemp[i-inone][j-jnone]=new Array;
					TableauTemp[i-inone][j-jnone]['ID']=Tableau.childNodes[i].childNodes[j].id;
					TableauTemp[i-inone][j-jnone]['Valeur']=Tableau.childNodes[i].childNodes[j].innerHTML;
					TableauTemp[i-inone][j-jnone]['Class']=Tableau.childNodes[i].childNodes[j].className;
				}
				else
					jnone++
			}
		} 
		else
			inone++
	}
	if(Ordre==0)
		TableauTemp.reverse(TrierCol)
	else
		TableauTemp.sort(TrierCol)
		
	inone=1;
	for (i=1; i<NbrLigne; i++)
	{
		if(Tableau.childNodes[i].nodeName=="TR")
		{
			Tableau.childNodes[i].className=TableauTemp[i-inone]['Class'];
			NbrColone=Tableau.childNodes[i].childNodes.length;
			jnone=0;
			for (j=0; j<NbrColone; j++)
			{
				if(Tableau.childNodes[i].childNodes[j].nodeName=="TD")
				{
					Tableau.childNodes[i].childNodes[j].id=TableauTemp[i-inone][j-jnone]['ID'];
					Tableau.childNodes[i].childNodes[j].innerHTML=TableauTemp[i-inone][j-jnone]['Valeur'];
					Tableau.childNodes[i].childNodes[j].className=TableauTemp[i-inone][j-jnone]['Class'];
				}
				else
					jnone++
			}
		} 
		else
			inone++
	}
	delete TableauTemp;
}

//////////////////////////////////////////////////// CHAT /////////////////////////////////////////////////////
var WEChat_IdMessage=0;
var WEChat_Etat=0;
var WEChat_NouveauMsg=0;
var NLtoBR=new RegExp("\n", "gi"); 
var Smiley=new Array(':)',':-$','*?','*dsl','*hein','*classe','*ah','*quoi',':&#039;(',':(','*cool',':D','*oh',':d','*eh',':[','*on va voir',';)',':@','*ok',':|','lol','*ooo',':p',':!',':}','xP',':P',';/',':&gt;',';(',':x','*nul','*bien','*warning','*attention','*bravo','*armata1','*armata2','*all','*char1','*char2','*feu01','*feu02','*feu03','*feu04','feu05','*feu06','*feu07','*feu08','*feu09','*feu10','*feu11','*feu12','*feu13','*feu14','*feu15','*arrow','*sourir','*confus','*lunettes','*snif','*Oo','*demon pas content','*!!','*ouin','*cling idee','*ahahah','*grrhrhr','*mrgreen','*o.','*??','*:-P','*rougi','*exoarmure','*#_#','*:-(','*:-)','*:-o','*demon content','*;-))','*char3','*vehicule1','*vehicule2','*flagaz','*vehiculeplein','*vehiculevide','*char4','*camp','*armata3','*armatachar','*armata4','*armatavehicule','*armatatank');
var SmileyCount=Smiley.length
function WEChat_Reception(Flag,Joueur,Couleur,Header,Message,Heure){
	Avant=document.getElementById('WEChat_Messages').innerHTML
	if(Header=='null')
		Header=''
	if(Flag==1)
		CouleurFond='red';
	else if(Flag==2)
		CouleurFond='lime';
	else
		CouleurFond='white';
	
	Message=' '+Message+' ';
	Message=Message.replace('<', '&lt;');
	Message=Message.replace('>', '&gt;');
	Message=Message.replace(NLtoBR, '<br>');
	WEChat_IdMessage++
	//Support=document.createElement('fieldset');
	Smil=0;
	while(Smil++<=SmileyCount)
	{
		Message=Message.replace(' '+Smiley[Smil-1]+' ', ' <img src="http://www.war-evo.com/Images/Simleys/S ('+(Smil)+').gif" alt="'+Smiley[Smil-1]+'"> ');
	}

	MessageFinal='<fieldset id="WEChat_ID_'+WEChat_IdMessage+'"><legend><a href="javascript:WEChat_ParlerA(\''+Joueur+'\')" style="color:#'+Couleur+'">'+Joueur+'</a> <span class="WEChat_Messages_Header">'+Header+'</span> <span class="WEChat_Time">'+Heure+'</span></legend><span class="WEChat_Message" style="color:'+CouleurFond+'">'+Message+'</span></fieldset>';
	document.getElementById('WEChat_Messages').innerHTML=MessageFinal+Avant
	FonduMessage=new Fondu('WEChat_ID_'+WEChat_IdMessage);
	FonduMessage.OpacIncrPlus=4;
	FonduMessage.Appa();
	
	
	// Suppression des anciens messages
	if(WEChat_IdMessage>50)
	{
		document.getElementById('WEChat_Messages').removeChild(document.getElementById('WEChat_ID_'+(WEChat_IdMessage-50-1)));
	}
	if(WEChat_Etat==0 && Joueur!='Serveur Engine' && Joueur!='Client')
	{
		WEChat_NouveauMsg++;
		document.getElementById('NouveauMsg').innerHTML="("+WEChat_NouveauMsg+")";
		document.getElementById('WEChat_Bouton').className="MenuSwitch WEChat_Alerte";
	}
	delete Avant;
	delete MessageFinal;
}
function WEChat_Envoyer(){
	Message=document.WEChat_Form.Message.value
	MessageNotEmpty=Message.replace(/^\s+/g,'').replace(/\s+$/g,'');
	if(MessageNotEmpty!="")
	{
		Message=document.WEChat_Form.Message.value
		Message=Message.replace('|', '&brvbar;');
		document.getElementById('EChat').EnvoyerMessage(Message)				
	}
	document.WEChat_Form.Message.value=""
}
function WEChat_Salon(Salon){
	document.getElementById('EChat').EnvoyerMessage('/salon '+Salon)				
}
function WEChat_ParlerA(Joueur){
	document.WEChat_Form.Message.value="/w "+Joueur+" "
	document.WEChat_Form.Message.focus()
}
WEChat_Etat=0
function WEChat_OnOff(start){
	CacherMontrer('WEChat');
	if(WEChat_Etat==1)
	{
		WEChat_Etat=0;
		document.getElementById('Corps').style.marginRight="0px";
		//document.getElementById('TutorielFieldset').style.marginRight="0px";
		if(!start)
			Ajax('Mode Chat',"Actions.php?Act=Chat_Afficher_Modifier&Etat=0","GET","","","")
	}
	else
	{
		WEChat_Etat=1;
		WEChat_NouveauMsg=0;
		document.getElementById('NouveauMsg').innerHTML="";
		document.getElementById('WEChat_Bouton').className="MenuSwitch";
		document.getElementById('Corps').style.marginRight="240px";
		//document.getElementById('TutorielFieldset').style.marginRight="243px";
		if(!start)
			Ajax('Mode Chat',"Actions.php?Act=Chat_Afficher_Modifier&Etat=1","GET","","","")
	}		
}

//////////////////////////////////////////////////// TUTORIEL /////////////////////////////////////////////////////
/*var ModeTutoriel=0;
function Tutoriel(Page){
	//Charger la page
	if(ModeTutoriel==1)
		Ajax('Page du Tutoriel',"Tutoriel.php5?Page="+Page,"GET","",document.getElementById('Tutoriel'))
}*/

//////////////////////////////////////////////////// DRAG/DROP ////////////////////////////////////////////////////
var Precedantism=-1;
function Drag(object){
	ProcessusList['DragDrop']=new Array();
	ProcessusList['DragDrop']['Object']=object;
	ProcessusList['DragDrop']['Group']=object.parentNode;
	
	//ProcessusList['DragDrop']['Object'].className="BlockDrag BlockSelect";
	document.onselectstart = function() { return false; };
	Precedantism=-1;
	SourisMouvement();
}
function SourisMouvement(evt){
	if(ProcessusList['DragDrop']!==undefined)
	{
		if (evt.pageY)
			Souris_Y=evt.pageY;
		else
		{
			evt = window.event;
			Souris_Y=evt.clientY+document.documentElement.scrollTop;
		}
		
		Souris_Y-=document.getElementById("Corps").parentNode.offsetTop

		NbrNodes=ProcessusList['DragDrop']['Group'].childNodes.length
		for(ism=0;ism<NbrNodes;ism++)
		{
			
			Taille=ProcessusList['DragDrop']['Group'].childNodes[ism].offsetTop+ProcessusList['DragDrop']['Object'].clientHeight;
			TailleAfter=ProcessusList['DragDrop']['Group'].childNodes[ism].offsetTop+ProcessusList['DragDrop']['Group'].childNodes[ism].clientHeight;
			
			if(Taille!==NaN && Souris_Y<Taille && Souris_Y<TailleAfter)
				break;
		}

		if(Precedantism!=ism)
		{
			ProcessusList['DragDrop']['Group'].removeChild(ProcessusList['DragDrop']['Object']);
			
			if(ism<NbrNodes-1) 	// Début et milieu de la liste
				ProcessusList['DragDrop']['Group'].insertBefore(ProcessusList['DragDrop']['Object'],ProcessusList['DragDrop']['Group'].childNodes[ism]);
			else 				// Fin de la liste
				ProcessusList['DragDrop']['Group'].appendChild(ProcessusList['DragDrop']['Object']);
			
			Precedantism=ism;
		}
	}
}
function SourisUp(evt){
	if(ProcessusList['DragDrop']!==undefined)
	{
		delete ProcessusList['DragDrop'];
		Stratégie_Générer();
		document.onselectstart = function() { return true; };
	}
}
document.onmousemove = SourisMouvement;
document.onmouseup   = SourisUp;

